├── .github ├── ISSUE_TEMPLATE │ ├── ---bug-report.md │ ├── feature_request.md │ └── question.md ├── release.yml ├── scripts │ └── check_edge_version.py └── workflows │ ├── check-configuration-files.yml │ ├── check-edge-proto-version.yml │ └── license-header-format.yml ├── .gitignore ├── LICENSE ├── README.md ├── add_new_edge_version.py ├── application ├── .gitignore ├── pom.xml └── src │ ├── main │ ├── conf │ │ ├── logback.xml │ │ └── tb-edge.conf │ ├── data │ │ ├── certs │ │ │ └── azure │ │ │ │ └── DigiCertGlobalRootG2.crt.pem │ │ ├── json │ │ │ ├── demo │ │ │ │ └── dashboards │ │ │ │ │ ├── firmware.json │ │ │ │ │ ├── rule_engine_statistics.json │ │ │ │ │ ├── software.json │ │ │ │ │ └── thermostats.json │ │ │ ├── edge │ │ │ │ ├── instructions │ │ │ │ │ ├── install │ │ │ │ │ │ ├── centos │ │ │ │ │ │ │ └── instructions.md │ │ │ │ │ │ ├── docker │ │ │ │ │ │ │ └── instructions.md │ │ │ │ │ │ └── ubuntu │ │ │ │ │ │ │ └── instructions.md │ │ │ │ │ └── upgrade │ │ │ │ │ │ ├── centos │ │ │ │ │ │ └── instructions.md │ │ │ │ │ │ ├── docker │ │ │ │ │ │ ├── instructions.md │ │ │ │ │ │ ├── start_service.md │ │ │ │ │ │ ├── upgrade_db.md │ │ │ │ │ │ └── upgrade_preparing.md │ │ │ │ │ │ ├── start_service.md │ │ │ │ │ │ ├── ubuntu │ │ │ │ │ │ └── instructions.md │ │ │ │ │ │ ├── upgrade_db.md │ │ │ │ │ │ └── upgrade_preparing.md │ │ │ │ └── rule_chains │ │ │ │ │ └── edge_root_rule_chain.json │ │ │ ├── system │ │ │ │ ├── oauth2_config_templates │ │ │ │ │ ├── apple_config.json │ │ │ │ │ ├── facebook_config.json │ │ │ │ │ ├── github_config.json │ │ │ │ │ └── google_config.json │ │ │ │ ├── scada_symbols │ │ │ │ │ ├── 3-phase-voltage-relay-hp.svg │ │ │ │ │ ├── apartments-hp.svg │ │ │ │ │ ├── battery-hp.svg │ │ │ │ │ ├── bottom-flow-meter.svg │ │ │ │ │ ├── bottom-light-bulb-hp.svg │ │ │ │ │ ├── bottom-right-elbow-connector-hp.svg │ │ │ │ │ ├── bottom-right-elbow-pipe.svg │ │ │ │ │ ├── bottom-tee-connector-hp.svg │ │ │ │ │ ├── bottom-tee-pipe.svg │ │ │ │ │ ├── centrifugal-pump.svg │ │ │ │ │ ├── conical-tank.svg │ │ │ │ │ ├── consumers-hp.svg │ │ │ │ │ ├── control-panel-hp.svg │ │ │ │ │ ├── crane-hp.svg │ │ │ │ │ ├── cross-connector-hp.svg │ │ │ │ │ ├── cross-pipe.svg │ │ │ │ │ ├── curcuit-breaker-hp.svg │ │ │ │ │ ├── cylindrical-tank.svg │ │ │ │ │ ├── drawwork-hp.svg │ │ │ │ │ ├── drill-hp.svg │ │ │ │ │ ├── drilling-line-hp.svg │ │ │ │ │ ├── drilling-rig-hp.svg │ │ │ │ │ ├── dynamic-horizontal-scale-hp.svg │ │ │ │ │ ├── dynamic-vertical-scale-hp.svg │ │ │ │ │ ├── electrical-distribution-board-hp.svg │ │ │ │ │ ├── electrical-engine-hp.svg │ │ │ │ │ ├── elevated-tank.svg │ │ │ │ │ ├── energy-meter-hp.svg │ │ │ │ │ ├── extra-long-horizontal-pipe.svg │ │ │ │ │ ├── extra-long-vertical-pipe.svg │ │ │ │ │ ├── filter-hp.svg │ │ │ │ │ ├── four-rate-energy-meter-hp.svg │ │ │ │ │ ├── fuel-generator-hp.svg │ │ │ │ │ ├── gas-preventer-hp.svg │ │ │ │ │ ├── gas-wellhead-hp.svg │ │ │ │ │ ├── heat-exchanger-hp.svg │ │ │ │ │ ├── heat-pump-hp.svg │ │ │ │ │ ├── high-voltage-tower-hp.svg │ │ │ │ │ ├── hook-hp.svg │ │ │ │ │ ├── horizontal-ball-valve.svg │ │ │ │ │ ├── horizontal-broken-pipe.svg │ │ │ │ │ ├── horizontal-connector-hp.svg │ │ │ │ │ ├── horizontal-curcuit-breaker-hp.svg │ │ │ │ │ ├── horizontal-energy-system-controller-hp.svg │ │ │ │ │ ├── horizontal-inline-flow-meter.svg │ │ │ │ │ ├── horizontal-pipe.svg │ │ │ │ │ ├── horizontal-tank-hp.svg │ │ │ │ │ ├── horizontal-tank.svg │ │ │ │ │ ├── horizontal-valve-hp.svg │ │ │ │ │ ├── horizontal-wheel-valve.svg │ │ │ │ │ ├── house-hp.svg │ │ │ │ │ ├── industrial-fuel-generator-hp.svg │ │ │ │ │ ├── inverter-hp.svg │ │ │ │ │ ├── large-conical-tank.svg │ │ │ │ │ ├── large-cylindrical-tank.svg │ │ │ │ │ ├── large-horizontal-separator-connector-hp.svg │ │ │ │ │ ├── large-horizontal-separator-hp.svg │ │ │ │ │ ├── large-inverter-hp.svg │ │ │ │ │ ├── large-stand-cylindrical-tank.svg │ │ │ │ │ ├── large-stand-vertical-tank.svg │ │ │ │ │ ├── large-vertical-separator-connector-hp.svg │ │ │ │ │ ├── large-vertical-separator-hp.svg │ │ │ │ │ ├── large-vertical-tank.svg │ │ │ │ │ ├── leak-sensor.svg │ │ │ │ │ ├── left-analog-water-level-meter.svg │ │ │ │ │ ├── left-bottom-elbow-connector-hp.svg │ │ │ │ │ ├── left-bottom-elbow-pipe.svg │ │ │ │ │ ├── left-drain-pipe.svg │ │ │ │ │ ├── left-elbow-drain-pipe.svg │ │ │ │ │ ├── left-flow-meter.svg │ │ │ │ │ ├── left-heat-pump.svg │ │ │ │ │ ├── left-motor-pump.svg │ │ │ │ │ ├── left-tee-connector-hp.svg │ │ │ │ │ ├── left-tee-pipe.svg │ │ │ │ │ ├── left-top-elbow-connector-hp.svg │ │ │ │ │ ├── left-top-elbow-pipe.svg │ │ │ │ │ ├── long-bottom-filter.svg │ │ │ │ │ ├── long-horizontal-broken-pipe.svg │ │ │ │ │ ├── long-horizontal-connector-hp.svg │ │ │ │ │ ├── long-horizontal-pipe.svg │ │ │ │ │ ├── long-top-filter.svg │ │ │ │ │ ├── long-vertical-broken-pipe.svg │ │ │ │ │ ├── long-vertical-connector-hp.svg │ │ │ │ │ ├── long-vertical-pipe.svg │ │ │ │ │ ├── low-voltage-tower-hp.svg │ │ │ │ │ ├── low-voltage-transformer-tower-hp.svg │ │ │ │ │ ├── manufacture-hp.svg │ │ │ │ │ ├── meter.svg │ │ │ │ │ ├── oil-pump-hp.svg │ │ │ │ │ ├── platform-hp.svg │ │ │ │ │ ├── pool-hp.svg │ │ │ │ │ ├── pool.svg │ │ │ │ │ ├── power-socket-hp.svg │ │ │ │ │ ├── power-transformer-hp.svg │ │ │ │ │ ├── preventer-hp.svg │ │ │ │ │ ├── pump-hp.svg │ │ │ │ │ ├── right-analog-water-level-meter.svg │ │ │ │ │ ├── right-drain-pipe.svg │ │ │ │ │ ├── right-elbow-drain-pipe.svg │ │ │ │ │ ├── right-flow-meter.svg │ │ │ │ │ ├── right-heat-pump.svg │ │ │ │ │ ├── right-motor-pump.svg │ │ │ │ │ ├── right-tee-connector-hp.svg │ │ │ │ │ ├── right-tee-pipe.svg │ │ │ │ │ ├── rotor-hp.svg │ │ │ │ │ ├── sand-filter-hp.svg │ │ │ │ │ ├── sand-filter.svg │ │ │ │ │ ├── short-bottom-filter.svg │ │ │ │ │ ├── short-left-drain-pipe.svg │ │ │ │ │ ├── short-right-drain-pipe.svg │ │ │ │ │ ├── short-top-filter.svg │ │ │ │ │ ├── short-vertical-tank-hp.svg │ │ │ │ │ ├── simple-horizontal-scale-hp.svg │ │ │ │ │ ├── simple-vertical-scale-hp.svg │ │ │ │ │ ├── single-key-switch-hp.svg │ │ │ │ │ ├── small-cylindrical-tank.svg │ │ │ │ │ ├── small-horizontal-separator-connector-hp.svg │ │ │ │ │ ├── small-horizontal-separator-hp.svg │ │ │ │ │ ├── small-left-meter.svg │ │ │ │ │ ├── small-left-motor-pump.svg │ │ │ │ │ ├── small-meter.svg │ │ │ │ │ ├── small-power-transformer-hp.svg │ │ │ │ │ ├── small-right-center.svg │ │ │ │ │ ├── small-right-motor-pump.svg │ │ │ │ │ ├── small-spherical-tank.svg │ │ │ │ │ ├── small-vertical-separator-connector-hp.svg │ │ │ │ │ ├── small-vertical-separator-hp.svg │ │ │ │ │ ├── solar-panel-hp.svg │ │ │ │ │ ├── spherical-tank.svg │ │ │ │ │ ├── stand-cylindrical-tank.svg │ │ │ │ │ ├── stand-horizontal-tank.svg │ │ │ │ │ ├── stand-solar-panel-hp.svg │ │ │ │ │ ├── stand-vertical-short-tank.svg │ │ │ │ │ ├── stand-vertical-tank.svg │ │ │ │ │ ├── three-rate-energy-meter-hp.svg │ │ │ │ │ ├── top-flow-meter.svg │ │ │ │ │ ├── top-light-bulb-hp.svg │ │ │ │ │ ├── top-right-elbow-connector-hp.svg │ │ │ │ │ ├── top-right-elbow-pipe.svg │ │ │ │ │ ├── top-tee-connector-hp.svg │ │ │ │ │ ├── top-tee-pipe.svg │ │ │ │ │ ├── turbine-hp.svg │ │ │ │ │ ├── two-key-switch-hp.svg │ │ │ │ │ ├── two-rate-energy-meter-hp.svg │ │ │ │ │ ├── vertical-ball-valve.svg │ │ │ │ │ ├── vertical-broken-pipe.svg │ │ │ │ │ ├── vertical-connector-hp.svg │ │ │ │ │ ├── vertical-energy-system-controller-hp.svg │ │ │ │ │ ├── vertical-inline-flow-meter.svg │ │ │ │ │ ├── vertical-pipe.svg │ │ │ │ │ ├── vertical-short-tank.svg │ │ │ │ │ ├── vertical-tank-hp.svg │ │ │ │ │ ├── vertical-tank.svg │ │ │ │ │ ├── vertical-valve-hp.svg │ │ │ │ │ ├── vertical-wheel-valve.svg │ │ │ │ │ ├── voltage-relay-hp.svg │ │ │ │ │ ├── voltage-stabilizer-hp.svg │ │ │ │ │ ├── waterstop.svg │ │ │ │ │ ├── wind-turbine-cluster-hp.svg │ │ │ │ │ └── wind-turbine-hp.svg │ │ │ │ ├── widget_bundles │ │ │ │ │ ├── air_quality.json │ │ │ │ │ ├── alarm_widgets.json │ │ │ │ │ ├── analogue_gauges.json │ │ │ │ │ ├── buttons.json │ │ │ │ │ ├── cards.json │ │ │ │ │ ├── charts.json │ │ │ │ │ ├── control_widgets.json │ │ │ │ │ ├── count_widgets.json │ │ │ │ │ ├── date.json │ │ │ │ │ ├── digital_gauges.json │ │ │ │ │ ├── edge_widgets.json │ │ │ │ │ ├── entity_admin_widgets.json │ │ │ │ │ ├── entity_widgets.json │ │ │ │ │ ├── gateway_widgets.json │ │ │ │ │ ├── general_high_performance_scada_symbols.json │ │ │ │ │ ├── gpio_widgets.json │ │ │ │ │ ├── high_performance_scada_energy_system.json │ │ │ │ │ ├── high_performance_scada_fluid_system.json │ │ │ │ │ ├── high_performance_scada_oil_gas.json │ │ │ │ │ ├── home_page_widgets.json │ │ │ │ │ ├── html_widgets.json │ │ │ │ │ ├── indoor_environment.json │ │ │ │ │ ├── industial_widgets.json │ │ │ │ │ ├── input_widgets.json │ │ │ │ │ ├── liquid_level_tanks.json │ │ │ │ │ ├── maps.json │ │ │ │ │ ├── navigation_widgets.json │ │ │ │ │ ├── outdoor_environment.json │ │ │ │ │ ├── scada_fluid_system.json │ │ │ │ │ ├── scada_symbols.json │ │ │ │ │ ├── status_indicators.json │ │ │ │ │ └── tables.json │ │ │ │ └── widget_types │ │ │ │ │ ├── action_button.json │ │ │ │ │ ├── air_quality_index_card.json │ │ │ │ │ ├── air_quality_index_card_with_background.json │ │ │ │ │ ├── air_quality_index_chart_card.json │ │ │ │ │ ├── air_quality_index_chart_card_with_background.json │ │ │ │ │ ├── alarm_count.json │ │ │ │ │ ├── alarms_table.json │ │ │ │ │ ├── api_usage.json │ │ │ │ │ ├── asset_admin_table.json │ │ │ │ │ ├── attributes_card.json │ │ │ │ │ ├── bar_chart.json │ │ │ │ │ ├── bar_chart_with_labels.json │ │ │ │ │ ├── bars.json │ │ │ │ │ ├── bars_deprecated.json │ │ │ │ │ ├── basic_gpio_control.json │ │ │ │ │ ├── basic_gpio_panel.json │ │ │ │ │ ├── battery_level.json │ │ │ │ │ ├── carbon_monoxide__co__card.json │ │ │ │ │ ├── carbon_monoxide__co__card_with_background.json │ │ │ │ │ ├── carbon_monoxide__co__chart_card.json │ │ │ │ │ ├── carbon_monoxide__co__chart_card_with_background.json │ │ │ │ │ ├── co2_card.json │ │ │ │ │ ├── co2_card_with_background.json │ │ │ │ │ ├── co2_chart_card.json │ │ │ │ │ ├── co2_chart_card_with_background.json │ │ │ │ │ ├── command_button.json │ │ │ │ │ ├── compass.json │ │ │ │ │ ├── dashboard_state_widget.json │ │ │ │ │ ├── dashboards.json │ │ │ │ │ ├── date_range_navigator.json │ │ │ │ │ ├── device_admin_table.json │ │ │ │ │ ├── device_claiming_widget.json │ │ │ │ │ ├── digital_horizontal_bar.json │ │ │ │ │ ├── digital_speedometer.json │ │ │ │ │ ├── digital_thermometer.json │ │ │ │ │ ├── digital_vertical_bar.json │ │ │ │ │ ├── documentation_links.json │ │ │ │ │ ├── doughnut.json │ │ │ │ │ ├── doughnut_deprecated.json │ │ │ │ │ ├── edge_quick_overview.json │ │ │ │ │ ├── efficiency_card.json │ │ │ │ │ ├── efficiency_card_with_background.json │ │ │ │ │ ├── efficiency_chart_card.json │ │ │ │ │ ├── efficiency_chart_card_with_background.json │ │ │ │ │ ├── efficiency_progress_bar.json │ │ │ │ │ ├── efficiency_progress_bar_with_background.json │ │ │ │ │ ├── efficiency_range_chart.json │ │ │ │ │ ├── efficiency_range_chart_with_background.json │ │ │ │ │ ├── entities_hierarchy.json │ │ │ │ │ ├── entities_table.json │ │ │ │ │ ├── entity_count.json │ │ │ │ │ ├── flooding_level_card.json │ │ │ │ │ ├── flooding_level_card_with_background.json │ │ │ │ │ ├── flooding_level_chart_card.json │ │ │ │ │ ├── flooding_level_chart_card_with_background.json │ │ │ │ │ ├── flooding_level_progress_bar.json │ │ │ │ │ ├── flooding_level_progress_bar_with_background.json │ │ │ │ │ ├── flow_rate_card.json │ │ │ │ │ ├── flow_rate_card_with_background.json │ │ │ │ │ ├── flow_rate_chart_card.json │ │ │ │ │ ├── flow_rate_chart_card_with_background.json │ │ │ │ │ ├── flow_rate_gauge.json │ │ │ │ │ ├── flow_rate_progress_bar.json │ │ │ │ │ ├── flow_rate_progress_bar_with_background.json │ │ │ │ │ ├── flow_rate_range_chart.json │ │ │ │ │ ├── flow_rate_range_chart_with_background.json │ │ │ │ │ ├── fluid_pressure_card.json │ │ │ │ │ ├── fluid_pressure_card_with_background.json │ │ │ │ │ ├── fluid_pressure_chart_card.json │ │ │ │ │ ├── fluid_pressure_chart_card_with_background.json │ │ │ │ │ ├── fluid_pressure_gauge.json │ │ │ │ │ ├── fluid_pressure_progress_bar.json │ │ │ │ │ ├── fluid_pressure_progress_bar_with_background.json │ │ │ │ │ ├── fluid_pressure_range_chart.json │ │ │ │ │ ├── fluid_pressure_range_chart_with_background.json │ │ │ │ │ ├── gateway_configuration.json │ │ │ │ │ ├── gateway_configuration__single_device_.json │ │ │ │ │ ├── gateway_connectors.json │ │ │ │ │ ├── gateway_custom_statistics.json │ │ │ │ │ ├── gateway_events.json │ │ │ │ │ ├── gateway_general_chart_statistics.json │ │ │ │ │ ├── gateway_general_configuration.json │ │ │ │ │ ├── gateway_logs.json │ │ │ │ │ ├── gateway_status.json │ │ │ │ │ ├── gauge.json │ │ │ │ │ ├── getting_started.json │ │ │ │ │ ├── google_map.json │ │ │ │ │ ├── ground_temperature_card.json │ │ │ │ │ ├── ground_temperature_card_with_background.json │ │ │ │ │ ├── ground_temperature_chart_card.json │ │ │ │ │ ├── ground_temperature_chart_card_with_background.json │ │ │ │ │ ├── here_map.json │ │ │ │ │ ├── horizontal_2_1_elliptical_tank.json │ │ │ │ │ ├── horizontal_air_quality_index_card.json │ │ │ │ │ ├── horizontal_air_quality_index_card_with_background.json │ │ │ │ │ ├── horizontal_bar.json │ │ │ │ │ ├── horizontal_capsule_tank.json │ │ │ │ │ ├── horizontal_carbon_monoxide__co__card.json │ │ │ │ │ ├── horizontal_carbon_monoxide__co__card_with_background.json │ │ │ │ │ ├── horizontal_co2_card.json │ │ │ │ │ ├── horizontal_co2_card_with_background.json │ │ │ │ │ ├── horizontal_cylinder_tank.json │ │ │ │ │ ├── horizontal_dish_ends_tank.json │ │ │ │ │ ├── horizontal_doughnut.json │ │ │ │ │ ├── horizontal_efficiency_card.json │ │ │ │ │ ├── horizontal_efficiency_card_with_background.json │ │ │ │ │ ├── horizontal_ellipse_tank.json │ │ │ │ │ ├── horizontal_flooding_level_card.json │ │ │ │ │ ├── horizontal_flooding_level_card_with_background.json │ │ │ │ │ ├── horizontal_flow_rate_card.json │ │ │ │ │ ├── horizontal_flow_rate_card_with_background.json │ │ │ │ │ ├── horizontal_fluid_pressure_card.json │ │ │ │ │ ├── horizontal_fluid_pressure_card_with_background.json │ │ │ │ │ ├── horizontal_ground_temperature_card.json │ │ │ │ │ ├── horizontal_ground_temperature_card_with_background.json │ │ │ │ │ ├── horizontal_humidity_card.json │ │ │ │ │ ├── horizontal_humidity_card_with_background.json │ │ │ │ │ ├── horizontal_illuminance_card.json │ │ │ │ │ ├── horizontal_illuminance_card_with_background.json │ │ │ │ │ ├── horizontal_individual_allergy_index__iai__card.json │ │ │ │ │ ├── horizontal_individual_allergy_index__iai__card_with_background.json │ │ │ │ │ ├── horizontal_leaf_wetness_card.json │ │ │ │ │ ├── horizontal_leaf_wetness_card_with_background.json │ │ │ │ │ ├── horizontal_nitrogen_dioxide__no2__card.json │ │ │ │ │ ├── horizontal_nitrogen_dioxide__no2__card_with_background.json │ │ │ │ │ ├── horizontal_noise_level_card.json │ │ │ │ │ ├── horizontal_noise_level_card_with_background.json │ │ │ │ │ ├── horizontal_oval_tank.json │ │ │ │ │ ├── horizontal_ozone__o3__card.json │ │ │ │ │ ├── horizontal_ozone__o3__card_with_background.json │ │ │ │ │ ├── horizontal_pm10_card.json │ │ │ │ │ ├── horizontal_pm10_card_with_background.json │ │ │ │ │ ├── horizontal_pm2_5_card.json │ │ │ │ │ ├── horizontal_pm2_5_card_with_background.json │ │ │ │ │ ├── horizontal_power_consumption_card.json │ │ │ │ │ ├── horizontal_power_consumption_card_with_background.json │ │ │ │ │ ├── horizontal_pressure_card.json │ │ │ │ │ ├── horizontal_pressure_card_with_background.json │ │ │ │ │ ├── horizontal_pump_vibration_card.json │ │ │ │ │ ├── horizontal_pump_vibration_card_with_background.json │ │ │ │ │ ├── horizontal_radon_level_card.json │ │ │ │ │ ├── horizontal_radon_level_card_with_background.json │ │ │ │ │ ├── horizontal_rainfall_card.json │ │ │ │ │ ├── horizontal_rainfall_card_with_background.json │ │ │ │ │ ├── horizontal_rotational_speed_card.json │ │ │ │ │ ├── horizontal_rotational_speed_card_with_background.json │ │ │ │ │ ├── horizontal_snow_depth_card.json │ │ │ │ │ ├── horizontal_snow_depth_card_with_background.json │ │ │ │ │ ├── horizontal_soil_moisture_card.json │ │ │ │ │ ├── horizontal_soil_moisture_card_with_background.json │ │ │ │ │ ├── horizontal_solar_radiation_card.json │ │ │ │ │ ├── horizontal_solar_radiation_card_with_background.json │ │ │ │ │ ├── horizontal_sulfur_dioxide__so2__card.json │ │ │ │ │ ├── horizontal_sulfur_dioxide__so2__card_with_background.json │ │ │ │ │ ├── horizontal_temperature_card.json │ │ │ │ │ ├── horizontal_temperature_card_with_background.json │ │ │ │ │ ├── horizontal_uv_index_card.json │ │ │ │ │ ├── horizontal_uv_index_card_with_background.json │ │ │ │ │ ├── horizontal_value_card.json │ │ │ │ │ ├── horizontal_vibration_card.json │ │ │ │ │ ├── horizontal_vibration_card_with_background.json │ │ │ │ │ ├── horizontal_visibility_card.json │ │ │ │ │ ├── horizontal_visibility_card_with_background.json │ │ │ │ │ ├── horizontal_volatile_organic_compounds_card.json │ │ │ │ │ ├── horizontal_volatile_organic_compounds_card_with_background.json │ │ │ │ │ ├── horizontal_wind_speed_card.json │ │ │ │ │ ├── horizontal_wind_speed_card_with_background.json │ │ │ │ │ ├── html_card.json │ │ │ │ │ ├── html_value_card.json │ │ │ │ │ ├── humidity_card.json │ │ │ │ │ ├── humidity_card_with_background.json │ │ │ │ │ ├── humidity_chart_card.json │ │ │ │ │ ├── humidity_chart_card_with_background.json │ │ │ │ │ ├── humidity_progress_bar.json │ │ │ │ │ ├── humidity_progress_bar_with_background.json │ │ │ │ │ ├── illuminance_card.json │ │ │ │ │ ├── illuminance_card_with_background.json │ │ │ │ │ ├── illuminance_chart_card.json │ │ │ │ │ ├── illuminance_chart_card_with_background.json │ │ │ │ │ ├── illuminance_progress_bar.json │ │ │ │ │ ├── illuminance_progress_bar_with_background.json │ │ │ │ │ ├── image_map.json │ │ │ │ │ ├── image_map_deprecated.json │ │ │ │ │ ├── individual_allergy_index__iai__card.json │ │ │ │ │ ├── individual_allergy_index__iai__card_with_background.json │ │ │ │ │ ├── individual_allergy_index__iai__chart_card.json │ │ │ │ │ ├── individual_allergy_index__iai__chart_card_with_background.json │ │ │ │ │ ├── indoor_co2_card.json │ │ │ │ │ ├── indoor_co2_card_with_background.json │ │ │ │ │ ├── indoor_co2_chart_card.json │ │ │ │ │ ├── indoor_co2_chart_card_with_background.json │ │ │ │ │ ├── indoor_horizontal_co2_card.json │ │ │ │ │ ├── indoor_horizontal_co2_card_with_background.json │ │ │ │ │ ├── indoor_horizontal_humidity_card.json │ │ │ │ │ ├── indoor_horizontal_humidity_card_with_background.json │ │ │ │ │ ├── indoor_horizontal_illuminance_card.json │ │ │ │ │ ├── indoor_horizontal_illuminance_card_with_background.json │ │ │ │ │ ├── indoor_horizontal_pm10_card.json │ │ │ │ │ ├── indoor_horizontal_pm10_card_with_background.json │ │ │ │ │ ├── indoor_horizontal_pm2_5_card.json │ │ │ │ │ ├── indoor_horizontal_pm2_5_card_with_background.json │ │ │ │ │ ├── indoor_horizontal_temperature_card.json │ │ │ │ │ ├── indoor_horizontal_temperature_card_with_background.json │ │ │ │ │ ├── indoor_humidity_card.json │ │ │ │ │ ├── indoor_humidity_card_with_background.json │ │ │ │ │ ├── indoor_humidity_chart_card.json │ │ │ │ │ ├── indoor_humidity_chart_card_with_background.json │ │ │ │ │ ├── indoor_humidity_progress_bar.json │ │ │ │ │ ├── indoor_humidity_progress_bar_with_background.json │ │ │ │ │ ├── indoor_illuminance_card.json │ │ │ │ │ ├── indoor_illuminance_card_with_background.json │ │ │ │ │ ├── indoor_illuminance_chart_card.json │ │ │ │ │ ├── indoor_illuminance_chart_card_with_background.json │ │ │ │ │ ├── indoor_illuminance_progress_bar.json │ │ │ │ │ ├── indoor_illuminance_progress_bar_with_background.json │ │ │ │ │ ├── indoor_pm10_card.json │ │ │ │ │ ├── indoor_pm10_card_with_background.json │ │ │ │ │ ├── indoor_pm10_chart_card.json │ │ │ │ │ ├── indoor_pm10_chart_card_with_background.json │ │ │ │ │ ├── indoor_pm2_5_card.json │ │ │ │ │ ├── indoor_pm2_5_card_with_background.json │ │ │ │ │ ├── indoor_pm2_5_chart_card.json │ │ │ │ │ ├── indoor_pm2_5_chart_card_with_background.json │ │ │ │ │ ├── indoor_simple_co2_chart_card.json │ │ │ │ │ ├── indoor_simple_co2_chart_card_with_background.json │ │ │ │ │ ├── indoor_simple_humidity_chart_card.json │ │ │ │ │ ├── indoor_simple_humidity_chart_card_with_background.json │ │ │ │ │ ├── indoor_simple_illuminance_chart_card.json │ │ │ │ │ ├── indoor_simple_illuminance_chart_card_with_background.json │ │ │ │ │ ├── indoor_simple_pm10_chart_card.json │ │ │ │ │ ├── indoor_simple_pm10_chart_card_with_background.json │ │ │ │ │ ├── indoor_simple_pm2_5_chart_card.json │ │ │ │ │ ├── indoor_simple_pm2_5_chart_card_with_background.json │ │ │ │ │ ├── indoor_simple_temperature_chart_card.json │ │ │ │ │ ├── indoor_simple_temperature_chart_card_with_background.json │ │ │ │ │ ├── indoor_temperature_card.json │ │ │ │ │ ├── indoor_temperature_card_with_background.json │ │ │ │ │ ├── indoor_temperature_chart_card.json │ │ │ │ │ ├── indoor_temperature_chart_card_with_background.json │ │ │ │ │ ├── indoor_temperature_gauge.json │ │ │ │ │ ├── indoor_temperature_progress_bar.json │ │ │ │ │ ├── indoor_temperature_progress_bar_with_background.json │ │ │ │ │ ├── indoor_temperature_range_chart.json │ │ │ │ │ ├── indoor_temperature_range_chart_with_background.json │ │ │ │ │ ├── knob_control.json │ │ │ │ │ ├── label___value_card.json │ │ │ │ │ ├── label_card.json │ │ │ │ │ ├── label_widget.json │ │ │ │ │ ├── lcd_bar_gauge.json │ │ │ │ │ ├── lcd_gauge.json │ │ │ │ │ ├── leaf_wetness_card.json │ │ │ │ │ ├── leaf_wetness_card_with_background.json │ │ │ │ │ ├── leaf_wetness_chart_card.json │ │ │ │ │ ├── leaf_wetness_chart_card_with_background.json │ │ │ │ │ ├── leaf_wetness_progress_bar.json │ │ │ │ │ ├── leaf_wetness_progress_bar_with_background.json │ │ │ │ │ ├── led_indicator.json │ │ │ │ │ ├── line_chart.json │ │ │ │ │ ├── map.json │ │ │ │ │ ├── markdown_html_card.json │ │ │ │ │ ├── markers_placement___google_maps.json │ │ │ │ │ ├── markers_placement___image_map.json │ │ │ │ │ ├── markers_placement___openstreetmap.json │ │ │ │ │ ├── mini_gauge.json │ │ │ │ │ ├── mobile_app_qr_code.json │ │ │ │ │ ├── navigation_card.json │ │ │ │ │ ├── navigation_cards.json │ │ │ │ │ ├── neon_gauge.json │ │ │ │ │ ├── nitrogen_dioxide__no2__card.json │ │ │ │ │ ├── nitrogen_dioxide__no2__card_with_background.json │ │ │ │ │ ├── nitrogen_dioxide__no2__chart_card.json │ │ │ │ │ ├── nitrogen_dioxide__no2__chart_card_with_background.json │ │ │ │ │ ├── noise_level_card.json │ │ │ │ │ ├── noise_level_card_with_background.json │ │ │ │ │ ├── noise_level_chart_card.json │ │ │ │ │ ├── noise_level_chart_card_with_background.json │ │ │ │ │ ├── openstreet_map.json │ │ │ │ │ ├── ozone__o3__card.json │ │ │ │ │ ├── ozone__o3__card_with_background.json │ │ │ │ │ ├── ozone__o3__chart_card.json │ │ │ │ │ ├── ozone__o3__chart_card_with_background.json │ │ │ │ │ ├── persistent_rpc_table.json │ │ │ │ │ ├── photo_camera_input.json │ │ │ │ │ ├── pie.json │ │ │ │ │ ├── pie___chart_js.json │ │ │ │ │ ├── pie___flot.json │ │ │ │ │ ├── pm10_card.json │ │ │ │ │ ├── pm10_card_with_background.json │ │ │ │ │ ├── pm10_chart_card.json │ │ │ │ │ ├── pm10_chart_card_with_background.json │ │ │ │ │ ├── pm2_5_card.json │ │ │ │ │ ├── pm2_5_card_with_background.json │ │ │ │ │ ├── pm2_5_chart_card.json │ │ │ │ │ ├── pm2_5_chart_card_with_background.json │ │ │ │ │ ├── point_chart.json │ │ │ │ │ ├── polar_area.json │ │ │ │ │ ├── polar_area_deprecated.json │ │ │ │ │ ├── power_button.json │ │ │ │ │ ├── power_consumption_card.json │ │ │ │ │ ├── power_consumption_card_with_background.json │ │ │ │ │ ├── power_consumption_chart_card.json │ │ │ │ │ ├── power_consumption_chart_card_with_background.json │ │ │ │ │ ├── power_consumption_range_chart.json │ │ │ │ │ ├── power_consumption_range_chart_with_background.json │ │ │ │ │ ├── pressure_card.json │ │ │ │ │ ├── pressure_card_with_background.json │ │ │ │ │ ├── pressure_chart_card.json │ │ │ │ │ ├── pressure_chart_card_with_background.json │ │ │ │ │ ├── pressure_progress_bar.json │ │ │ │ │ ├── pressure_progress_bar_with_background.json │ │ │ │ │ ├── progress_bar.json │ │ │ │ │ ├── pump_vibration_card.json │ │ │ │ │ ├── pump_vibration_card_with_background.json │ │ │ │ │ ├── pump_vibration_chart_card.json │ │ │ │ │ ├── pump_vibration_chart_card_with_background.json │ │ │ │ │ ├── pump_vibration_range_chart.json │ │ │ │ │ ├── pump_vibration_range_chart_with_background.json │ │ │ │ │ ├── qr_code.json │ │ │ │ │ ├── quick_links.json │ │ │ │ │ ├── radar.json │ │ │ │ │ ├── radar_deprecated.json │ │ │ │ │ ├── radial_gauge.json │ │ │ │ │ ├── radon_level_card.json │ │ │ │ │ ├── radon_level_card_with_background.json │ │ │ │ │ ├── radon_level_chart_card.json │ │ │ │ │ ├── radon_level_chart_card_with_background.json │ │ │ │ │ ├── rainfall_card.json │ │ │ │ │ ├── rainfall_card_with_background.json │ │ │ │ │ ├── rainfall_chart_card.json │ │ │ │ │ ├── rainfall_chart_card_with_background.json │ │ │ │ │ ├── range_chart.json │ │ │ │ │ ├── raspberry_pi_gpio_control.json │ │ │ │ │ ├── raspberry_pi_gpio_panel.json │ │ │ │ │ ├── rectangle_tank.json │ │ │ │ │ ├── rotational_speed_card.json │ │ │ │ │ ├── rotational_speed_card_with_background.json │ │ │ │ │ ├── rotational_speed_chart_card.json │ │ │ │ │ ├── rotational_speed_chart_card_with_background.json │ │ │ │ │ ├── rotational_speed_gauge.json │ │ │ │ │ ├── rotational_speed_progress_bar.json │ │ │ │ │ ├── rotational_speed_progress_bar_with_background.json │ │ │ │ │ ├── rotational_speed_range_chart.json │ │ │ │ │ ├── rotational_speed_range_chart_with_background.json │ │ │ │ │ ├── round_switch.json │ │ │ │ │ ├── route_map.json │ │ │ │ │ ├── route_map___google.json │ │ │ │ │ ├── route_map___openstreet.json │ │ │ │ │ ├── route_map___tencent.json │ │ │ │ │ ├── rpc_button.json │ │ │ │ │ ├── rpc_debug_terminal.json │ │ │ │ │ ├── rpc_remote_shell.json │ │ │ │ │ ├── scada_symbol.json │ │ │ │ │ ├── service_rpc.json │ │ │ │ │ ├── signal_strength.json │ │ │ │ │ ├── simple_air_quality_index_chart_card.json │ │ │ │ │ ├── simple_air_quality_index_chart_card_with_background.json │ │ │ │ │ ├── simple_carbon_monoxide__co__chart_card.json │ │ │ │ │ ├── simple_carbon_monoxide__co__chart_card_with_background.json │ │ │ │ │ ├── simple_card.json │ │ │ │ │ ├── simple_co2_chart_card.json │ │ │ │ │ ├── simple_co2_chart_card_with_background.json │ │ │ │ │ ├── simple_efficiency_chart_card.json │ │ │ │ │ ├── simple_efficiency_chart_card_with_background.json │ │ │ │ │ ├── simple_flooding_level_chart_card.json │ │ │ │ │ ├── simple_flooding_level_chart_card_with_background.json │ │ │ │ │ ├── simple_flow_rate_chart_card.json │ │ │ │ │ ├── simple_flow_rate_chart_card_with_background.json │ │ │ │ │ ├── simple_fluid_pressure_chart_card.json │ │ │ │ │ ├── simple_fluid_pressure_chart_card_with_background.json │ │ │ │ │ ├── simple_gauge.json │ │ │ │ │ ├── simple_ground_temperature_chart_card.json │ │ │ │ │ ├── simple_ground_temperature_chart_card_with_background.json │ │ │ │ │ ├── simple_humidity_chart_card.json │ │ │ │ │ ├── simple_humidity_chart_card_with_background.json │ │ │ │ │ ├── simple_illuminance_chart_card.json │ │ │ │ │ ├── simple_illuminance_chart_card_with_background.json │ │ │ │ │ ├── simple_individual_allergy_index__iai__chart_card.json │ │ │ │ │ ├── simple_individual_allergy_index__iai__chart_card_with_background.json │ │ │ │ │ ├── simple_leaf_wetness_chart_card.json │ │ │ │ │ ├── simple_leaf_wetness_chart_card_with_background.json │ │ │ │ │ ├── simple_neon_gauge.json │ │ │ │ │ ├── simple_nitrogen_dioxide__no2__chart_card.json │ │ │ │ │ ├── simple_nitrogen_dioxide__no2__chart_card_with_background.json │ │ │ │ │ ├── simple_noise_level_chart_card.json │ │ │ │ │ ├── simple_noise_level_chart_card_with_background.json │ │ │ │ │ ├── simple_ozone__o3__chart_card.json │ │ │ │ │ ├── simple_ozone__o3__chart_card_with_background.json │ │ │ │ │ ├── simple_pm10_chart_card.json │ │ │ │ │ ├── simple_pm10_chart_card_with_background.json │ │ │ │ │ ├── simple_pm2_5_chart_card.json │ │ │ │ │ ├── simple_pm2_5_chart_card_with_background.json │ │ │ │ │ ├── simple_power_consumption_chart_card.json │ │ │ │ │ ├── simple_power_consumption_chart_card_with_background.json │ │ │ │ │ ├── simple_pressure_chart_card.json │ │ │ │ │ ├── simple_pressure_chart_card_with_background.json │ │ │ │ │ ├── simple_pump_vibration_chart_card.json │ │ │ │ │ ├── simple_pump_vibration_chart_card_with_background.json │ │ │ │ │ ├── simple_radon_level_chart_card.json │ │ │ │ │ ├── simple_radon_level_chart_card_with_background.json │ │ │ │ │ ├── simple_rainfall_chart_card.json │ │ │ │ │ ├── simple_rainfall_chart_card_with_background.json │ │ │ │ │ ├── simple_rotational_speed_chart_card.json │ │ │ │ │ ├── simple_rotational_speed_chart_card_with_background.json │ │ │ │ │ ├── simple_snow_depth_chart_card.json │ │ │ │ │ ├── simple_snow_depth_chart_card_with_background.json │ │ │ │ │ ├── simple_soil_moisture_chart_card.json │ │ │ │ │ ├── simple_soil_moisture_chart_card_with_background.json │ │ │ │ │ ├── simple_solar_radiation_chart_card.json │ │ │ │ │ ├── simple_solar_radiation_chart_card_with_background.json │ │ │ │ │ ├── simple_sulfur_dioxide__so2__chart_card.json │ │ │ │ │ ├── simple_sulfur_dioxide__so2__chart_card_with_background.json │ │ │ │ │ ├── simple_temperature_chart_card.json │ │ │ │ │ ├── simple_temperature_chart_card_with_background.json │ │ │ │ │ ├── simple_uv_index_chart_card.json │ │ │ │ │ ├── simple_uv_index_chart_card_with_background.json │ │ │ │ │ ├── simple_value_and_chart_card.json │ │ │ │ │ ├── simple_vibration_chart_card.json │ │ │ │ │ ├── simple_vibration_chart_card_with_background.json │ │ │ │ │ ├── simple_visibility_chart_card.json │ │ │ │ │ ├── simple_visibility_chart_card_with_background.json │ │ │ │ │ ├── simple_volatile_organic_compounds_chart_card.json │ │ │ │ │ ├── simple_volatile_organic_compounds_chart_card_with_background.json │ │ │ │ │ ├── simple_wind_speed_chart_card.json │ │ │ │ │ ├── simple_wind_speed_chart_card_with_background.json │ │ │ │ │ ├── single_switch.json │ │ │ │ │ ├── slide_toggle_control.json │ │ │ │ │ ├── slider.json │ │ │ │ │ ├── snow_depth_card.json │ │ │ │ │ ├── snow_depth_card_with_background.json │ │ │ │ │ ├── snow_depth_chart_card.json │ │ │ │ │ ├── snow_depth_chart_card_with_background.json │ │ │ │ │ ├── soil_moisture_card.json │ │ │ │ │ ├── soil_moisture_card_with_background.json │ │ │ │ │ ├── soil_moisture_chart_card.json │ │ │ │ │ ├── soil_moisture_chart_card_with_background.json │ │ │ │ │ ├── soil_moisture_progress_bar.json │ │ │ │ │ ├── soil_moisture_progress_bar_with_background.json │ │ │ │ │ ├── solar_radiation_card.json │ │ │ │ │ ├── solar_radiation_card_with_background.json │ │ │ │ │ ├── solar_radiation_chart_card.json │ │ │ │ │ ├── solar_radiation_chart_card_with_background.json │ │ │ │ │ ├── speed_gauge.json │ │ │ │ │ ├── state_chart.json │ │ │ │ │ ├── state_chart_deprecated.json │ │ │ │ │ ├── status_widget.json │ │ │ │ │ ├── sulfur_dioxide__so2__card.json │ │ │ │ │ ├── sulfur_dioxide__so2__card_with_background.json │ │ │ │ │ ├── sulfur_dioxide__so2__chart_card.json │ │ │ │ │ ├── sulfur_dioxide__so2__chart_card_with_background.json │ │ │ │ │ ├── switch_control.json │ │ │ │ │ ├── temperature_card.json │ │ │ │ │ ├── temperature_card_with_background.json │ │ │ │ │ ├── temperature_chart_card.json │ │ │ │ │ ├── temperature_chart_card_with_background.json │ │ │ │ │ ├── temperature_gauge.json │ │ │ │ │ ├── temperature_radial_gauge.json │ │ │ │ │ ├── temperature_range_chart.json │ │ │ │ │ ├── temperature_range_chart_with_background.json │ │ │ │ │ ├── tencent_map.json │ │ │ │ │ ├── thermometer_scale.json │ │ │ │ │ ├── time_series_chart.json │ │ │ │ │ ├── timeseries_bar_chart.json │ │ │ │ │ ├── timeseries_line_chart.json │ │ │ │ │ ├── timeseries_table.json │ │ │ │ │ ├── toggle_button.json │ │ │ │ │ ├── trip_animation.json │ │ │ │ │ ├── trip_map.json │ │ │ │ │ ├── two_segment_button.json │ │ │ │ │ ├── unread_notifications.json │ │ │ │ │ ├── update_boolean_timeseries.json │ │ │ │ │ ├── update_device_attribute.json │ │ │ │ │ ├── update_double_timeseries.json │ │ │ │ │ ├── update_integer_timeseries.json │ │ │ │ │ ├── update_json_attribute.json │ │ │ │ │ ├── update_location_timeseries.json │ │ │ │ │ ├── update_multiple_attributes.json │ │ │ │ │ ├── update_server_boolean_attribute.json │ │ │ │ │ ├── update_server_date_attribute.json │ │ │ │ │ ├── update_server_double_attribute.json │ │ │ │ │ ├── update_server_image_attribute.json │ │ │ │ │ ├── update_server_integer_attribute.json │ │ │ │ │ ├── update_server_location_attribute.json │ │ │ │ │ ├── update_server_string_attribute.json │ │ │ │ │ ├── update_shared_boolean_attribute.json │ │ │ │ │ ├── update_shared_date_attribute.json │ │ │ │ │ ├── update_shared_double_attribute.json │ │ │ │ │ ├── update_shared_image_attribute.json │ │ │ │ │ ├── update_shared_integer_attribute.json │ │ │ │ │ ├── update_shared_location_attribute.json │ │ │ │ │ ├── update_shared_string_attribute.json │ │ │ │ │ ├── update_string_timeseries.json │ │ │ │ │ ├── usage_info.json │ │ │ │ │ ├── uv_index_card.json │ │ │ │ │ ├── uv_index_card_with_background.json │ │ │ │ │ ├── uv_index_chart_card.json │ │ │ │ │ ├── uv_index_chart_card_with_background.json │ │ │ │ │ ├── value_and_chart_card.json │ │ │ │ │ ├── value_card.json │ │ │ │ │ ├── value_stepper.json │ │ │ │ │ ├── vertical_bar.json │ │ │ │ │ ├── vertical_capsule_tank.json │ │ │ │ │ ├── vertical_cylinder_tank.json │ │ │ │ │ ├── vertical_oval_tank.json │ │ │ │ │ ├── vibration_card.json │ │ │ │ │ ├── vibration_card_with_background.json │ │ │ │ │ ├── vibration_chart_card.json │ │ │ │ │ ├── vibration_chart_card_with_background.json │ │ │ │ │ ├── visibility_card.json │ │ │ │ │ ├── visibility_card_with_background.json │ │ │ │ │ ├── visibility_chart_card.json │ │ │ │ │ ├── visibility_chart_card_with_background.json │ │ │ │ │ ├── volatile_organic_compounds_card.json │ │ │ │ │ ├── volatile_organic_compounds_card_with_background.json │ │ │ │ │ ├── volatile_organic_compounds_chart_card.json │ │ │ │ │ ├── volatile_organic_compounds_chart_card_with_background.json │ │ │ │ │ ├── wind_speed_and_direction.json │ │ │ │ │ ├── wind_speed_and_direction_with_background.json │ │ │ │ │ ├── wind_speed_card.json │ │ │ │ │ ├── wind_speed_card_with_background.json │ │ │ │ │ ├── wind_speed_chart_card.json │ │ │ │ │ └── wind_speed_chart_card_with_background.json │ │ │ └── tenant │ │ │ │ ├── device_profile │ │ │ │ └── rule_chain_template.json │ │ │ │ └── rule_chains │ │ │ │ └── root_rule_chain.json │ │ ├── lwm2m-registry │ │ │ ├── 0.xml │ │ │ ├── 1.xml │ │ │ ├── 10.xml │ │ │ ├── 10241.xml │ │ │ ├── 10242.xml │ │ │ ├── 10243.xml │ │ │ ├── 10244.xml │ │ │ ├── 10245.xml │ │ │ ├── 10246.xml │ │ │ ├── 10247.xml │ │ │ ├── 10248.xml │ │ │ ├── 10249.xml │ │ │ ├── 10250.xml │ │ │ ├── 10251.xml │ │ │ ├── 10252.xml │ │ │ ├── 10253.xml │ │ │ ├── 10254.xml │ │ │ ├── 10255.xml │ │ │ ├── 10256.xml │ │ │ ├── 10257.xml │ │ │ ├── 10258.xml │ │ │ ├── 10259.xml │ │ │ ├── 10260.xml │ │ │ ├── 10262.xml │ │ │ ├── 10263.xml │ │ │ ├── 10264.xml │ │ │ ├── 10265.xml │ │ │ ├── 10266.xml │ │ │ ├── 10267.xml │ │ │ ├── 10268.xml │ │ │ ├── 10269.xml │ │ │ ├── 10270.xml │ │ │ ├── 10271.xml │ │ │ ├── 10272.xml │ │ │ ├── 10273.xml │ │ │ ├── 10274.xml │ │ │ ├── 10275.xml │ │ │ ├── 10276.xml │ │ │ ├── 10277.xml │ │ │ ├── 10278.xml │ │ │ ├── 10279.xml │ │ │ ├── 10280.xml │ │ │ ├── 10281.xml │ │ │ ├── 10282.xml │ │ │ ├── 10283.xml │ │ │ ├── 10284.xml │ │ │ ├── 10286.xml │ │ │ ├── 10290.xml │ │ │ ├── 10291.xml │ │ │ ├── 10292.xml │ │ │ ├── 10299.xml │ │ │ ├── 10300.xml │ │ │ ├── 10308.xml │ │ │ ├── 10309.xml │ │ │ ├── 10311.xml │ │ │ ├── 10313.xml │ │ │ ├── 10314.xml │ │ │ ├── 10315.xml │ │ │ ├── 10316.xml │ │ │ ├── 10318.xml │ │ │ ├── 10319.xml │ │ │ ├── 10320.xml │ │ │ ├── 10322.xml │ │ │ ├── 10323.xml │ │ │ ├── 10324.xml │ │ │ ├── 10326.xml │ │ │ ├── 10327.xml │ │ │ ├── 10328.xml │ │ │ ├── 10329.xml │ │ │ ├── 10330.xml │ │ │ ├── 10331.xml │ │ │ ├── 10332.xml │ │ │ ├── 10333.xml │ │ │ ├── 10334.xml │ │ │ ├── 10335.xml │ │ │ ├── 10336.xml │ │ │ ├── 10337.xml │ │ │ ├── 10338.xml │ │ │ ├── 10339.xml │ │ │ ├── 10340.xml │ │ │ ├── 10341.xml │ │ │ ├── 10342.xml │ │ │ ├── 10343.xml │ │ │ ├── 10344.xml │ │ │ ├── 10345.xml │ │ │ ├── 10346.xml │ │ │ ├── 10347.xml │ │ │ ├── 10348.xml │ │ │ ├── 10349.xml │ │ │ ├── 10350.xml │ │ │ ├── 10351.xml │ │ │ ├── 10352.xml │ │ │ ├── 10353.xml │ │ │ ├── 10354.xml │ │ │ ├── 10355.xml │ │ │ ├── 10356.xml │ │ │ ├── 10357.xml │ │ │ ├── 10358.xml │ │ │ ├── 10359.xml │ │ │ ├── 10360.xml │ │ │ ├── 10361.xml │ │ │ ├── 10362.xml │ │ │ ├── 10363.xml │ │ │ ├── 10364.xml │ │ │ ├── 10365.xml │ │ │ ├── 10366.xml │ │ │ ├── 10368.xml │ │ │ ├── 10369.xml │ │ │ ├── 10371.xml │ │ │ ├── 10374.xml │ │ │ ├── 10375.xml │ │ │ ├── 10376.xml │ │ │ ├── 10377.xml │ │ │ ├── 10378.xml │ │ │ ├── 11.xml │ │ │ ├── 12.xml │ │ │ ├── 13.xml │ │ │ ├── 14.xml │ │ │ ├── 15.xml │ │ │ ├── 16.xml │ │ │ ├── 18830.xml │ │ │ ├── 18831.xml │ │ │ ├── 19.xml │ │ │ ├── 2.xml │ │ │ ├── 20.xml │ │ │ ├── 2048.xml │ │ │ ├── 2049.xml │ │ │ ├── 2050.xml │ │ │ ├── 2051.xml │ │ │ ├── 2052.xml │ │ │ ├── 2053.xml │ │ │ ├── 2054.xml │ │ │ ├── 2055.xml │ │ │ ├── 2056.xml │ │ │ ├── 2057.xml │ │ │ ├── 21.xml │ │ │ ├── 22.xml │ │ │ ├── 23.xml │ │ │ ├── 24.xml │ │ │ ├── 25.xml │ │ │ ├── 26.xml │ │ │ ├── 27.xml │ │ │ ├── 28.xml │ │ │ ├── 3.xml │ │ │ ├── 3200.xml │ │ │ ├── 3201.xml │ │ │ ├── 3202.xml │ │ │ ├── 3203.xml │ │ │ ├── 3300.xml │ │ │ ├── 3301.xml │ │ │ ├── 3302.xml │ │ │ ├── 3303.xml │ │ │ ├── 3304.xml │ │ │ ├── 3305.xml │ │ │ ├── 3306.xml │ │ │ ├── 3308.xml │ │ │ ├── 3310.xml │ │ │ ├── 3311.xml │ │ │ ├── 3312.xml │ │ │ ├── 3313.xml │ │ │ ├── 3314.xml │ │ │ ├── 3315.xml │ │ │ ├── 3316.xml │ │ │ ├── 3317.xml │ │ │ ├── 3318.xml │ │ │ ├── 3319.xml │ │ │ ├── 3320.xml │ │ │ ├── 3321.xml │ │ │ ├── 3322.xml │ │ │ ├── 3323.xml │ │ │ ├── 3324.xml │ │ │ ├── 3325.xml │ │ │ ├── 3326.xml │ │ │ ├── 3327.xml │ │ │ ├── 3328.xml │ │ │ ├── 3329.xml │ │ │ ├── 3330.xml │ │ │ ├── 3331.xml │ │ │ ├── 3332.xml │ │ │ ├── 3333.xml │ │ │ ├── 3334.xml │ │ │ ├── 3335.xml │ │ │ ├── 3336.xml │ │ │ ├── 3337.xml │ │ │ ├── 3338.xml │ │ │ ├── 3339.xml │ │ │ ├── 3340.xml │ │ │ ├── 3341.xml │ │ │ ├── 3342.xml │ │ │ ├── 3343.xml │ │ │ ├── 3344.xml │ │ │ ├── 3345.xml │ │ │ ├── 3346.xml │ │ │ ├── 3347.xml │ │ │ ├── 3348.xml │ │ │ ├── 3349.xml │ │ │ ├── 3350.xml │ │ │ ├── 3351.xml │ │ │ ├── 3352.xml │ │ │ ├── 3353.xml │ │ │ ├── 3354.xml │ │ │ ├── 3355.xml │ │ │ ├── 3356.xml │ │ │ ├── 3357.xml │ │ │ ├── 3358.xml │ │ │ ├── 3359.xml │ │ │ ├── 3360.xml │ │ │ ├── 3361.xml │ │ │ ├── 3362.xml │ │ │ ├── 3363.xml │ │ │ ├── 3364.xml │ │ │ ├── 3365.xml │ │ │ ├── 3366.xml │ │ │ ├── 3367.xml │ │ │ ├── 3368.xml │ │ │ ├── 3369.xml │ │ │ ├── 3370.xml │ │ │ ├── 3371.xml │ │ │ ├── 3372.xml │ │ │ ├── 3373.xml │ │ │ ├── 3374.xml │ │ │ ├── 3375.xml │ │ │ ├── 3376.xml │ │ │ ├── 3377.xml │ │ │ ├── 3378.xml │ │ │ ├── 3379.xml │ │ │ ├── 3380.xml │ │ │ ├── 3381.xml │ │ │ ├── 3382.xml │ │ │ ├── 3383.xml │ │ │ ├── 3384.xml │ │ │ ├── 3385.xml │ │ │ ├── 3386.xml │ │ │ ├── 3387.xml │ │ │ ├── 3388.xml │ │ │ ├── 3389.xml │ │ │ ├── 3390.xml │ │ │ ├── 3391.xml │ │ │ ├── 3392.xml │ │ │ ├── 3393.xml │ │ │ ├── 3394.xml │ │ │ ├── 3395.xml │ │ │ ├── 3396.xml │ │ │ ├── 3397.xml │ │ │ ├── 3398.xml │ │ │ ├── 3399.xml │ │ │ ├── 3400.xml │ │ │ ├── 3401.xml │ │ │ ├── 3402.xml │ │ │ ├── 3403.xml │ │ │ ├── 3404.xml │ │ │ ├── 3405.xml │ │ │ ├── 3406.xml │ │ │ ├── 3407.xml │ │ │ ├── 3408.xml │ │ │ ├── 3410.xml │ │ │ ├── 3411.xml │ │ │ ├── 3412.xml │ │ │ ├── 3413.xml │ │ │ ├── 3414.xml │ │ │ ├── 3415.xml │ │ │ ├── 3416.xml │ │ │ ├── 3417.xml │ │ │ ├── 3418.xml │ │ │ ├── 3419.xml │ │ │ ├── 3420.xml │ │ │ ├── 3421.xml │ │ │ ├── 3423.xml │ │ │ ├── 3424.xml │ │ │ ├── 3425.xml │ │ │ ├── 3426.xml │ │ │ ├── 3427.xml │ │ │ ├── 3428.xml │ │ │ ├── 3429.xml │ │ │ ├── 3430.xml │ │ │ ├── 3431.xml │ │ │ ├── 3432.xml │ │ │ ├── 3433.xml │ │ │ ├── 3434.xml │ │ │ ├── 3435.xml │ │ │ ├── 3436.xml │ │ │ ├── 3437.xml │ │ │ ├── 3438.xml │ │ │ ├── 3439.xml │ │ │ ├── 3441.xml │ │ │ ├── 3442.xml │ │ │ ├── 4.xml │ │ │ ├── 5.xml │ │ │ ├── 500.xml │ │ │ ├── 501.xml │ │ │ ├── 502.xml │ │ │ ├── 503.xml │ │ │ ├── 504.xml │ │ │ ├── 505.xml │ │ │ ├── 507.xml │ │ │ ├── 508.xml │ │ │ ├── 509.xml │ │ │ ├── 510.xml │ │ │ ├── 6.xml │ │ │ ├── 7.xml │ │ │ ├── 8.xml │ │ │ └── 9.xml │ │ ├── resources │ │ │ ├── dashboards │ │ │ │ └── gateways_dashboard.json │ │ │ ├── images │ │ │ │ └── gateway-dashboard.png │ │ │ └── js_modules │ │ │ │ └── gateway-management-extension.js │ │ └── upgrade │ │ │ └── basic │ │ │ └── schema_update.sql │ ├── java │ │ └── org │ │ │ ├── apache │ │ │ └── kafka │ │ │ │ └── common │ │ │ │ └── network │ │ │ │ └── NetworkReceive.java │ │ │ ├── springframework │ │ │ └── http │ │ │ │ └── converter │ │ │ │ └── xml │ │ │ │ └── MappingJackson2XmlHttpMessageConverter.java │ │ │ └── thingsboard │ │ │ └── server │ │ │ ├── TbEdgeApplication.java │ │ │ ├── TbEdgeInstallApplication.java │ │ │ ├── actors │ │ │ ├── ActorSystemContext.java │ │ │ ├── TbEntityTypeActorIdPredicate.java │ │ │ ├── app │ │ │ │ ├── AppActor.java │ │ │ │ └── AppInitMsg.java │ │ │ ├── calculatedField │ │ │ │ ├── AbstractCalculatedFieldActor.java │ │ │ │ ├── CalculatedFieldAlarmActionMsg.java │ │ │ │ ├── CalculatedFieldArgumentResetMsg.java │ │ │ │ ├── CalculatedFieldEntityActionEventMsg.java │ │ │ │ ├── CalculatedFieldEntityActor.java │ │ │ │ ├── CalculatedFieldEntityActorCreator.java │ │ │ │ ├── CalculatedFieldEntityDeleteMsg.java │ │ │ │ ├── CalculatedFieldEntityMessageProcessor.java │ │ │ │ ├── CalculatedFieldException.java │ │ │ │ ├── CalculatedFieldLinkedTelemetryMsg.java │ │ │ │ ├── CalculatedFieldManagerActor.java │ │ │ │ ├── CalculatedFieldManagerActorCreator.java │ │ │ │ ├── CalculatedFieldManagerMessageProcessor.java │ │ │ │ ├── CalculatedFieldReevaluateMsg.java │ │ │ │ ├── CalculatedFieldRelationActionMsg.java │ │ │ │ ├── CalculatedFieldStateRestoreMsg.java │ │ │ │ ├── CalculatedFieldTelemetryMsg.java │ │ │ │ ├── EntityCalculatedFieldLinkedTelemetryMsg.java │ │ │ │ ├── EntityCalculatedFieldTelemetryMsg.java │ │ │ │ ├── EntityInitCalculatedFieldMsg.java │ │ │ │ └── MultipleTbCallback.java │ │ │ ├── device │ │ │ │ ├── DeviceActor.java │ │ │ │ ├── DeviceActorCreator.java │ │ │ │ ├── DeviceActorMessageProcessor.java │ │ │ │ ├── SessionInfo.java │ │ │ │ ├── SessionInfoMetaData.java │ │ │ │ ├── SessionTimeoutCheckMsg.java │ │ │ │ ├── ToDeviceRpcRequestMetadata.java │ │ │ │ ├── ToServerRpcRequestMetadata.java │ │ │ │ └── TransportSessionCloseReason.java │ │ │ ├── ruleChain │ │ │ │ ├── DefaultTbContext.java │ │ │ │ ├── RuleChainActor.java │ │ │ │ ├── RuleChainActorMessageProcessor.java │ │ │ │ ├── RuleChainInputMsg.java │ │ │ │ ├── RuleChainManagerActor.java │ │ │ │ ├── RuleChainOutputMsg.java │ │ │ │ ├── RuleChainToRuleChainMsg.java │ │ │ │ ├── RuleChainToRuleNodeMsg.java │ │ │ │ ├── RuleEngineComponentActor.java │ │ │ │ ├── RuleNodeActor.java │ │ │ │ ├── RuleNodeActorMessageProcessor.java │ │ │ │ ├── RuleNodeCtx.java │ │ │ │ ├── RuleNodeRelation.java │ │ │ │ ├── RuleNodeToRuleChainTellNextMsg.java │ │ │ │ ├── RuleNodeToSelfMsg.java │ │ │ │ ├── TbToRuleChainActorMsg.java │ │ │ │ └── TbToRuleNodeActorMsg.java │ │ │ ├── service │ │ │ │ ├── ActorService.java │ │ │ │ ├── ComponentActor.java │ │ │ │ ├── ContextAwareActor.java │ │ │ │ ├── ContextBasedCreator.java │ │ │ │ └── DefaultActorService.java │ │ │ ├── shared │ │ │ │ ├── AbstractContextAwareMsgProcessor.java │ │ │ │ ├── ActorTerminationMsg.java │ │ │ │ ├── ComponentMsgProcessor.java │ │ │ │ └── RuleChainErrorActor.java │ │ │ ├── stats │ │ │ │ ├── StatsActor.java │ │ │ │ ├── StatsPersistMsg.java │ │ │ │ └── StatsPersistTick.java │ │ │ └── tenant │ │ │ │ ├── DebugTbRateLimits.java │ │ │ │ └── TenantActor.java │ │ │ ├── config │ │ │ ├── CryptoConfig.java │ │ │ ├── CustomOAuth2AuthorizationRequestResolver.java │ │ │ ├── MvcCorsProperties.java │ │ │ ├── RateLimitProcessingFilter.java │ │ │ ├── SchedulingConfiguration.java │ │ │ ├── SwaggerConfiguration.java │ │ │ ├── TbRuleEngineSecurityConfiguration.java │ │ │ ├── ThingsboardMessageConfiguration.java │ │ │ ├── ThingsboardSecurityConfiguration.java │ │ │ ├── WebConfig.java │ │ │ ├── WebSocketConfiguration.java │ │ │ ├── annotations │ │ │ │ └── ApiOperation.java │ │ │ └── mqtt │ │ │ │ ├── MqttClientRetransmissionSettingsComponent.java │ │ │ │ └── MqttClientSettingsComponent.java │ │ │ ├── controller │ │ │ ├── AbstractRpcController.java │ │ │ ├── AdminController.java │ │ │ ├── AiModelController.java │ │ │ ├── AlarmCommentController.java │ │ │ ├── AlarmController.java │ │ │ ├── ApiKeyController.java │ │ │ ├── AssetController.java │ │ │ ├── AssetProfileController.java │ │ │ ├── AuditLogController.java │ │ │ ├── AuthController.java │ │ │ ├── AutoCommitController.java │ │ │ ├── BaseController.java │ │ │ ├── CalculatedFieldController.java │ │ │ ├── ComponentDescriptorController.java │ │ │ ├── ControllerConstants.java │ │ │ ├── CustomerController.java │ │ │ ├── DashboardController.java │ │ │ ├── DeviceConnectivityController.java │ │ │ ├── DeviceController.java │ │ │ ├── DeviceProfileController.java │ │ │ ├── DomainController.java │ │ │ ├── EdgeController.java │ │ │ ├── EdgeEventController.java │ │ │ ├── EntitiesVersionControlController.java │ │ │ ├── EntityQueryController.java │ │ │ ├── EntityRelationController.java │ │ │ ├── EntityViewController.java │ │ │ ├── EventController.java │ │ │ ├── HttpValidationCallback.java │ │ │ ├── ImageController.java │ │ │ ├── JobController.java │ │ │ ├── Lwm2mController.java │ │ │ ├── MailConfigTemplateController.java │ │ │ ├── MobileAppBundleController.java │ │ │ ├── MobileAppController.java │ │ │ ├── NotificationController.java │ │ │ ├── NotificationRuleController.java │ │ │ ├── NotificationTargetController.java │ │ │ ├── NotificationTemplateController.java │ │ │ ├── OAuth2ConfigTemplateController.java │ │ │ ├── OAuth2Controller.java │ │ │ ├── OtaPackageController.java │ │ │ ├── QrCodeSettingsController.java │ │ │ ├── QueueController.java │ │ │ ├── QueueStatsController.java │ │ │ ├── RpcV1Controller.java │ │ │ ├── RpcV2Controller.java │ │ │ ├── RuleChainController.java │ │ │ ├── RuleEngineController.java │ │ │ ├── SystemInfoController.java │ │ │ ├── TbResourceController.java │ │ │ ├── TbUrlConstants.java │ │ │ ├── TelemetryController.java │ │ │ ├── TenantController.java │ │ │ ├── TenantProfileController.java │ │ │ ├── TrendzController.java │ │ │ ├── TwoFactorAuthConfigController.java │ │ │ ├── TwoFactorAuthController.java │ │ │ ├── UiSettingsController.java │ │ │ ├── UsageInfoController.java │ │ │ ├── UserController.java │ │ │ ├── WidgetTypeController.java │ │ │ ├── WidgetsBundleController.java │ │ │ └── plugin │ │ │ │ ├── TbWebSocketHandler.java │ │ │ │ ├── TbWebSocketMsg.java │ │ │ │ ├── TbWebSocketMsgType.java │ │ │ │ ├── TbWebSocketPingMsg.java │ │ │ │ └── TbWebSocketTextMsg.java │ │ │ ├── exception │ │ │ ├── AccessDeniedException.java │ │ │ ├── CalculatedFieldStateException.java │ │ │ ├── EntityNotFoundException.java │ │ │ ├── InternalErrorException.java │ │ │ ├── InvalidParametersException.java │ │ │ ├── ThingsboardCredentialsExpiredResponse.java │ │ │ ├── ThingsboardCredentialsViolationResponse.java │ │ │ ├── ThingsboardErrorResponse.java │ │ │ ├── ThingsboardErrorResponseHandler.java │ │ │ ├── ToErrorResponseEntity.java │ │ │ ├── UnauthorizedException.java │ │ │ └── UncheckedApiException.java │ │ │ ├── install │ │ │ ├── ThingsboardInstallConfiguration.java │ │ │ ├── ThingsboardInstallException.java │ │ │ └── ThingsboardInstallService.java │ │ │ ├── service │ │ │ ├── action │ │ │ │ └── EntityActionService.java │ │ │ ├── ai │ │ │ │ ├── AiChatModelService.java │ │ │ │ ├── AiChatModelServiceImpl.java │ │ │ │ ├── AiRequestsExecutor.java │ │ │ │ ├── DefaultAiRequestsExecutor.java │ │ │ │ └── Langchain4jChatModelConfigurerImpl.java │ │ │ ├── apiusage │ │ │ │ ├── BaseApiUsageState.java │ │ │ │ ├── CustomerApiUsageState.java │ │ │ │ ├── DefaultTbApiUsageStateService.java │ │ │ │ ├── TbApiUsageStateService.java │ │ │ │ └── TenantApiUsageState.java │ │ │ ├── asset │ │ │ │ └── AssetBulkImportService.java │ │ │ ├── cf │ │ │ │ ├── AbstractCalculatedFieldProcessingService.java │ │ │ │ ├── AbstractCalculatedFieldStateService.java │ │ │ │ ├── AlarmCalculatedFieldResult.java │ │ │ │ ├── CalculatedFieldCache.java │ │ │ │ ├── CalculatedFieldProcessingService.java │ │ │ │ ├── CalculatedFieldQueueService.java │ │ │ │ ├── CalculatedFieldResult.java │ │ │ │ ├── CalculatedFieldStateService.java │ │ │ │ ├── CfRocksDb.java │ │ │ │ ├── DefaultCalculatedFieldCache.java │ │ │ │ ├── DefaultCalculatedFieldProcessingService.java │ │ │ │ ├── DefaultCalculatedFieldQueueService.java │ │ │ │ ├── OwnerService.java │ │ │ │ ├── PropagationCalculatedFieldResult.java │ │ │ │ ├── TelemetryCalculatedFieldResult.java │ │ │ │ ├── cache │ │ │ │ │ └── TenantEntityProfileCache.java │ │ │ │ └── ctx │ │ │ │ │ ├── CalculatedFieldEntityCtx.java │ │ │ │ │ ├── CalculatedFieldEntityCtxId.java │ │ │ │ │ └── state │ │ │ │ │ ├── ArgumentEntry.java │ │ │ │ │ ├── ArgumentEntryType.java │ │ │ │ │ ├── BaseCalculatedFieldState.java │ │ │ │ │ ├── CalculatedFieldCtx.java │ │ │ │ │ ├── CalculatedFieldScriptEngine.java │ │ │ │ │ ├── CalculatedFieldState.java │ │ │ │ │ ├── CalculatedFieldTbelScriptEngine.java │ │ │ │ │ ├── KafkaCalculatedFieldStateService.java │ │ │ │ │ ├── RocksDBCalculatedFieldStateService.java │ │ │ │ │ ├── ScriptCalculatedFieldState.java │ │ │ │ │ ├── SimpleCalculatedFieldState.java │ │ │ │ │ ├── SingleValueArgumentEntry.java │ │ │ │ │ ├── TsRollingArgumentEntry.java │ │ │ │ │ ├── aggregation │ │ │ │ │ ├── RelatedEntitiesAggregationCalculatedFieldState.java │ │ │ │ │ ├── RelatedEntitiesArgumentEntry.java │ │ │ │ │ ├── function │ │ │ │ │ │ ├── AggEntry.java │ │ │ │ │ │ ├── AvgAggEntry.java │ │ │ │ │ │ ├── BaseAggEntry.java │ │ │ │ │ │ ├── CountAggEntry.java │ │ │ │ │ │ ├── CountUniqueAggEntry.java │ │ │ │ │ │ ├── MaxAggEntry.java │ │ │ │ │ │ ├── MinAggEntry.java │ │ │ │ │ │ └── SumAggEntry.java │ │ │ │ │ └── single │ │ │ │ │ │ ├── AggIntervalEntry.java │ │ │ │ │ │ ├── AggIntervalEntryStatus.java │ │ │ │ │ │ ├── EntityAggregationArgumentEntry.java │ │ │ │ │ │ └── EntityAggregationCalculatedFieldState.java │ │ │ │ │ ├── alarm │ │ │ │ │ ├── AlarmCalculatedFieldState.java │ │ │ │ │ ├── AlarmEvalResult.java │ │ │ │ │ └── AlarmRuleState.java │ │ │ │ │ ├── geofencing │ │ │ │ │ ├── GeofencingArgumentEntry.java │ │ │ │ │ ├── GeofencingCalculatedFieldState.java │ │ │ │ │ ├── GeofencingEvalResult.java │ │ │ │ │ └── GeofencingZoneState.java │ │ │ │ │ └── propagation │ │ │ │ │ ├── PropagationArgumentEntry.java │ │ │ │ │ └── PropagationCalculatedFieldState.java │ │ │ ├── cloud │ │ │ │ ├── BaseCloudManagerService.java │ │ │ │ ├── CloudContextComponent.java │ │ │ │ ├── CloudEventMigrationService.java │ │ │ │ ├── CloudEventSourcingListener.java │ │ │ │ ├── CloudNotificationService.java │ │ │ │ ├── DefaultCloudNotificationService.java │ │ │ │ ├── DefaultDownlinkMessageService.java │ │ │ │ ├── DownlinkMessageService.java │ │ │ │ ├── KafkaCloudEventMigrationService.java │ │ │ │ ├── KafkaCloudEventService.java │ │ │ │ ├── KafkaCloudManagerService.java │ │ │ │ ├── PostgresCloudEventService.java │ │ │ │ ├── PostgresCloudManagerService.java │ │ │ │ └── rpc │ │ │ │ │ ├── CloudEventStorageSettings.java │ │ │ │ │ └── processor │ │ │ │ │ ├── AdminSettingsCloudProcessor.java │ │ │ │ │ ├── AlarmCloudProcessor.java │ │ │ │ │ ├── AlarmCommentCloudProcessor.java │ │ │ │ │ ├── AssetCloudProcessor.java │ │ │ │ │ ├── AssetProfileCloudProcessor.java │ │ │ │ │ ├── CalculatedFieldCloudProcessor.java │ │ │ │ │ ├── CustomerCloudProcessor.java │ │ │ │ │ ├── DashboardCloudProcessor.java │ │ │ │ │ ├── DeviceCloudProcessor.java │ │ │ │ │ ├── DeviceProfileCloudProcessor.java │ │ │ │ │ ├── EdgeCloudProcessor.java │ │ │ │ │ ├── EntityViewCloudProcessor.java │ │ │ │ │ ├── NotificationCloudProcessor.java │ │ │ │ │ ├── OAuth2CloudProcessor.java │ │ │ │ │ ├── OtaPackageCloudProcessor.java │ │ │ │ │ ├── QueueCloudProcessor.java │ │ │ │ │ ├── RelationCloudProcessor.java │ │ │ │ │ ├── ResourceCloudProcessor.java │ │ │ │ │ ├── RuleChainCloudProcessor.java │ │ │ │ │ ├── TelemetryCloudProcessor.java │ │ │ │ │ ├── TenantCloudProcessor.java │ │ │ │ │ ├── TenantProfileCloudProcessor.java │ │ │ │ │ ├── UserCloudProcessor.java │ │ │ │ │ ├── WidgetBundleCloudProcessor.java │ │ │ │ │ └── WidgetTypeCloudProcessor.java │ │ │ ├── component │ │ │ │ ├── AnnotationComponentDiscoveryService.java │ │ │ │ ├── ComponentDiscoveryService.java │ │ │ │ └── RuleNodeClassInfo.java │ │ │ ├── device │ │ │ │ ├── ClaimDevicesServiceImpl.java │ │ │ │ ├── DeviceBulkImportService.java │ │ │ │ └── DeviceProvisionServiceImpl.java │ │ │ ├── edge │ │ │ │ ├── EdgeBulkImportService.java │ │ │ │ ├── EdgeContextComponent.java │ │ │ │ ├── EdgeEventSourcingListener.java │ │ │ │ ├── EdgeMsgConstructorUtils.java │ │ │ │ ├── RelatedEdgesSourcingListener.java │ │ │ │ ├── instructions │ │ │ │ │ ├── BaseEdgeInstallUpgradeInstructionsService.java │ │ │ │ │ ├── DefaultEdgeInstallInstructionsService.java │ │ │ │ │ ├── DefaultEdgeUpgradeInstructionsService.java │ │ │ │ │ ├── EdgeInstallInstructionsService.java │ │ │ │ │ └── EdgeUpgradeInstructionsService.java │ │ │ │ ├── rpc │ │ │ │ │ ├── EdgeEventStorageSettings.java │ │ │ │ │ ├── EdgeGrpcService.java │ │ │ │ │ ├── EdgeGrpcSession.java │ │ │ │ │ ├── EdgeRpcService.java │ │ │ │ │ ├── EdgeSessionState.java │ │ │ │ │ ├── EdgeSyncCursor.java │ │ │ │ │ ├── KafkaEdgeEventService.java │ │ │ │ │ ├── KafkaEdgeGrpcSession.java │ │ │ │ │ ├── PostgresEdgeGrpcSession.java │ │ │ │ │ ├── fetch │ │ │ │ │ │ ├── AdminSettingsEdgeEventFetcher.java │ │ │ │ │ │ ├── AssetProfilesEdgeEventFetcher.java │ │ │ │ │ │ ├── AssetsEdgeEventFetcher.java │ │ │ │ │ │ ├── BasePageableEdgeEventFetcher.java │ │ │ │ │ │ ├── BaseUsersEdgeEventFetcher.java │ │ │ │ │ │ ├── BaseWidgetTypesEdgeEventFetcher.java │ │ │ │ │ │ ├── BaseWidgetsBundlesEdgeEventFetcher.java │ │ │ │ │ │ ├── CustomerEdgeEventFetcher.java │ │ │ │ │ │ ├── CustomerUsersEdgeEventFetcher.java │ │ │ │ │ │ ├── DashboardsEdgeEventFetcher.java │ │ │ │ │ │ ├── DefaultProfilesEdgeEventFetcher.java │ │ │ │ │ │ ├── DeviceProfilesEdgeEventFetcher.java │ │ │ │ │ │ ├── DevicesEdgeEventFetcher.java │ │ │ │ │ │ ├── EdgeEventFetcher.java │ │ │ │ │ │ ├── EntityViewsEdgeEventFetcher.java │ │ │ │ │ │ ├── GeneralEdgeEventFetcher.java │ │ │ │ │ │ ├── NotificationRuleEdgeEventFetcher.java │ │ │ │ │ │ ├── NotificationTargetEdgeEventFetcher.java │ │ │ │ │ │ ├── NotificationTemplateEdgeEventFetcher.java │ │ │ │ │ │ ├── OAuth2EdgeEventFetcher.java │ │ │ │ │ │ ├── OtaPackagesEdgeEventFetcher.java │ │ │ │ │ │ ├── QueuesEdgeEventFetcher.java │ │ │ │ │ │ ├── RuleChainsEdgeEventFetcher.java │ │ │ │ │ │ ├── SystemWidgetTypesEdgeEventFetcher.java │ │ │ │ │ │ ├── SystemWidgetsBundlesEdgeEventFetcher.java │ │ │ │ │ │ ├── TenantAdminUsersEdgeEventFetcher.java │ │ │ │ │ │ ├── TenantEdgeEventFetcher.java │ │ │ │ │ │ ├── TenantResourcesEdgeEventFetcher.java │ │ │ │ │ │ ├── TenantWidgetTypesEdgeEventFetcher.java │ │ │ │ │ │ └── TenantWidgetsBundlesEdgeEventFetcher.java │ │ │ │ │ ├── processor │ │ │ │ │ │ ├── BaseEdgeProcessor.java │ │ │ │ │ │ ├── EdgeProcessor.java │ │ │ │ │ │ ├── ai │ │ │ │ │ │ │ ├── AiModelEdgeProcessor.java │ │ │ │ │ │ │ ├── AiModelProcessor.java │ │ │ │ │ │ │ └── BaseAiModelProcessor.java │ │ │ │ │ │ ├── alarm │ │ │ │ │ │ │ ├── AlarmEdgeProcessor.java │ │ │ │ │ │ │ ├── AlarmProcessor.java │ │ │ │ │ │ │ ├── BaseAlarmProcessor.java │ │ │ │ │ │ │ └── comment │ │ │ │ │ │ │ │ ├── AlarmCommentEdgeProcessor.java │ │ │ │ │ │ │ │ └── AlarmCommentProcessor.java │ │ │ │ │ │ ├── asset │ │ │ │ │ │ │ ├── AssetEdgeProcessor.java │ │ │ │ │ │ │ ├── AssetProcessor.java │ │ │ │ │ │ │ ├── BaseAssetProcessor.java │ │ │ │ │ │ │ └── profile │ │ │ │ │ │ │ │ ├── AssetProfileEdgeProcessor.java │ │ │ │ │ │ │ │ ├── AssetProfileProcessor.java │ │ │ │ │ │ │ │ └── BaseAssetProfileProcessor.java │ │ │ │ │ │ ├── cf │ │ │ │ │ │ │ ├── BaseCalculatedFieldProcessor.java │ │ │ │ │ │ │ ├── CalculatedFieldEdgeProcessor.java │ │ │ │ │ │ │ └── CalculatedFieldProcessor.java │ │ │ │ │ │ ├── customer │ │ │ │ │ │ │ └── CustomerEdgeProcessor.java │ │ │ │ │ │ ├── dashboard │ │ │ │ │ │ │ ├── BaseDashboardProcessor.java │ │ │ │ │ │ │ ├── DashboardEdgeProcessor.java │ │ │ │ │ │ │ └── DashboardProcessor.java │ │ │ │ │ │ ├── device │ │ │ │ │ │ │ ├── BaseDeviceProcessor.java │ │ │ │ │ │ │ ├── DeviceEdgeProcessor.java │ │ │ │ │ │ │ ├── DeviceProcessor.java │ │ │ │ │ │ │ └── profile │ │ │ │ │ │ │ │ ├── BaseDeviceProfileProcessor.java │ │ │ │ │ │ │ │ ├── DeviceProfileEdgeProcessor.java │ │ │ │ │ │ │ │ └── DeviceProfileProcessor.java │ │ │ │ │ │ ├── edge │ │ │ │ │ │ │ └── EdgeEntityProcessor.java │ │ │ │ │ │ ├── entityview │ │ │ │ │ │ │ ├── BaseEntityViewProcessor.java │ │ │ │ │ │ │ ├── EntityViewEdgeProcessor.java │ │ │ │ │ │ │ └── EntityViewProcessor.java │ │ │ │ │ │ ├── notification │ │ │ │ │ │ │ ├── NotificationRuleEdgeProcessor.java │ │ │ │ │ │ │ ├── NotificationTargetEdgeProcessor.java │ │ │ │ │ │ │ └── NotificationTemplateEdgeProcessor.java │ │ │ │ │ │ ├── oauth2 │ │ │ │ │ │ │ ├── DomainEdgeProcessor.java │ │ │ │ │ │ │ └── OAuth2ClientEdgeProcessor.java │ │ │ │ │ │ ├── ota │ │ │ │ │ │ │ └── OtaPackageEdgeProcessor.java │ │ │ │ │ │ ├── queue │ │ │ │ │ │ │ └── QueueEdgeProcessor.java │ │ │ │ │ │ ├── relation │ │ │ │ │ │ │ ├── BaseRelationProcessor.java │ │ │ │ │ │ │ ├── RelationEdgeProcessor.java │ │ │ │ │ │ │ └── RelationProcessor.java │ │ │ │ │ │ ├── resource │ │ │ │ │ │ │ ├── BaseResourceProcessor.java │ │ │ │ │ │ │ ├── ResourceEdgeProcessor.java │ │ │ │ │ │ │ └── ResourceProcessor.java │ │ │ │ │ │ ├── rule │ │ │ │ │ │ │ ├── BaseRuleChainProcessor.java │ │ │ │ │ │ │ ├── RuleChainEdgeProcessor.java │ │ │ │ │ │ │ └── RuleChainMetadataEdgeProcessor.java │ │ │ │ │ │ ├── settings │ │ │ │ │ │ │ └── AdminSettingsEdgeProcessor.java │ │ │ │ │ │ ├── telemetry │ │ │ │ │ │ │ ├── BaseTelemetryProcessor.java │ │ │ │ │ │ │ └── TelemetryEdgeProcessor.java │ │ │ │ │ │ ├── tenant │ │ │ │ │ │ │ ├── TenantEdgeProcessor.java │ │ │ │ │ │ │ └── TenantProfileEdgeProcessor.java │ │ │ │ │ │ ├── user │ │ │ │ │ │ │ ├── BaseUserProcessor.java │ │ │ │ │ │ │ ├── UserEdgeProcessor.java │ │ │ │ │ │ │ └── UserProcessor.java │ │ │ │ │ │ └── widget │ │ │ │ │ │ │ ├── WidgetBundleEdgeProcessor.java │ │ │ │ │ │ │ └── WidgetTypeEdgeProcessor.java │ │ │ │ │ ├── sync │ │ │ │ │ │ ├── DefaultEdgeRequestsService.java │ │ │ │ │ │ └── EdgeRequestsService.java │ │ │ │ │ └── utils │ │ │ │ │ │ └── EdgeVersionUtils.java │ │ │ │ └── stats │ │ │ │ │ ├── CloudStatsService.java │ │ │ │ │ └── EdgeStatsService.java │ │ │ ├── edqs │ │ │ │ ├── DefaultEdqsApiService.java │ │ │ │ ├── DefaultEdqsService.java │ │ │ │ ├── EdqsListener.java │ │ │ │ ├── EdqsSyncService.java │ │ │ │ ├── KafkaEdqsSyncService.java │ │ │ │ └── LocalEdqsSyncService.java │ │ │ ├── entitiy │ │ │ │ ├── AbstractTbEntityService.java │ │ │ │ ├── DefaultTbLogEntityActionService.java │ │ │ │ ├── EntityStateSourcingListener.java │ │ │ │ ├── SimpleTbEntityService.java │ │ │ │ ├── TbLogEntityActionService.java │ │ │ │ ├── ai │ │ │ │ │ ├── DefaultTbAiModelService.java │ │ │ │ │ └── TbAiModelService.java │ │ │ │ ├── alarm │ │ │ │ │ ├── DefaultTbAlarmCommentService.java │ │ │ │ │ ├── DefaultTbAlarmService.java │ │ │ │ │ ├── TbAlarmCommentService.java │ │ │ │ │ └── TbAlarmService.java │ │ │ │ ├── asset │ │ │ │ │ ├── DefaultTbAssetService.java │ │ │ │ │ ├── TbAssetService.java │ │ │ │ │ └── profile │ │ │ │ │ │ ├── DefaultTbAssetProfileService.java │ │ │ │ │ │ └── TbAssetProfileService.java │ │ │ │ ├── cf │ │ │ │ │ ├── DefaultTbCalculatedFieldService.java │ │ │ │ │ └── TbCalculatedFieldService.java │ │ │ │ ├── customer │ │ │ │ │ ├── DefaultTbCustomerService.java │ │ │ │ │ └── TbCustomerService.java │ │ │ │ ├── dashboard │ │ │ │ │ ├── DashboardSyncService.java │ │ │ │ │ ├── DefaultTbDashboardService.java │ │ │ │ │ └── TbDashboardService.java │ │ │ │ ├── device │ │ │ │ │ ├── DefaultTbDeviceService.java │ │ │ │ │ ├── TbDeviceService.java │ │ │ │ │ └── profile │ │ │ │ │ │ ├── DefaultTbDeviceProfileService.java │ │ │ │ │ │ └── TbDeviceProfileService.java │ │ │ │ ├── domain │ │ │ │ │ ├── DefaultTbDomainService.java │ │ │ │ │ └── TbDomainService.java │ │ │ │ ├── edge │ │ │ │ │ ├── DefaultTbEdgeService.java │ │ │ │ │ └── TbEdgeService.java │ │ │ │ ├── entity │ │ │ │ │ └── relation │ │ │ │ │ │ ├── DefaultTbEntityRelationService.java │ │ │ │ │ │ └── TbEntityRelationService.java │ │ │ │ ├── entityview │ │ │ │ │ ├── DefaultTbEntityViewService.java │ │ │ │ │ └── TbEntityViewService.java │ │ │ │ ├── mobile │ │ │ │ │ ├── DefaultTbMobileAppBundleService.java │ │ │ │ │ ├── DefaultTbMobileAppService.java │ │ │ │ │ ├── TbMobileAppBundleService.java │ │ │ │ │ └── TbMobileAppService.java │ │ │ │ ├── oauth2client │ │ │ │ │ ├── DefaultTbOauth2ClientService.java │ │ │ │ │ └── TbOauth2ClientService.java │ │ │ │ ├── ota │ │ │ │ │ ├── DefaultTbOtaPackageService.java │ │ │ │ │ └── TbOtaPackageService.java │ │ │ │ ├── queue │ │ │ │ │ ├── DefaultTbQueueService.java │ │ │ │ │ └── TbQueueService.java │ │ │ │ ├── tenant │ │ │ │ │ ├── DefaultTbTenantService.java │ │ │ │ │ ├── TbTenantService.java │ │ │ │ │ └── profile │ │ │ │ │ │ ├── DefaultTbTenantProfileService.java │ │ │ │ │ │ └── TbTenantProfileService.java │ │ │ │ ├── user │ │ │ │ │ ├── DefaultTbUserSettingsService.java │ │ │ │ │ ├── DefaultUserService.java │ │ │ │ │ ├── TbUserService.java │ │ │ │ │ └── TbUserSettingsService.java │ │ │ │ └── widgets │ │ │ │ │ ├── bundle │ │ │ │ │ ├── DefaultWidgetsBundleService.java │ │ │ │ │ └── TbWidgetsBundleService.java │ │ │ │ │ └── type │ │ │ │ │ ├── DefaultWidgetTypeService.java │ │ │ │ │ └── TbWidgetTypeService.java │ │ │ ├── executors │ │ │ │ ├── DbCallbackExecutorService.java │ │ │ │ ├── ExternalCallExecutorService.java │ │ │ │ ├── GrpcCallbackExecutorService.java │ │ │ │ ├── NotificationExecutorService.java │ │ │ │ ├── PubSubRuleNodeExecutorProvider.java │ │ │ │ ├── SharedEventLoopGroupService.java │ │ │ │ └── VersionControlExecutor.java │ │ │ ├── gateway_device │ │ │ │ ├── DefaultGatewayNotificationsService.java │ │ │ │ └── GatewayNotificationsService.java │ │ │ ├── housekeeper │ │ │ │ ├── HousekeeperReprocessingService.java │ │ │ │ ├── HousekeeperService.java │ │ │ │ ├── processor │ │ │ │ │ ├── AlarmsDeletionTaskProcessor.java │ │ │ │ │ ├── AlarmsUnassignTaskProcessor.java │ │ │ │ │ ├── AttributesDeletionTaskProcessor.java │ │ │ │ │ ├── CalculatedFieldsDeletionTaskProcessor.java │ │ │ │ │ ├── EntitiesDeletionTaskProcessor.java │ │ │ │ │ ├── EventsDeletionTaskProcessor.java │ │ │ │ │ ├── HousekeeperTaskProcessor.java │ │ │ │ │ ├── JobsDeletionTaskProcessor.java │ │ │ │ │ ├── LatestTsDeletionTaskProcessor.java │ │ │ │ │ ├── TelemetryDeletionTaskProcessor.java │ │ │ │ │ ├── TenantEntitiesDeletionTaskProcessor.java │ │ │ │ │ └── TsHistoryDeletionTaskProcessor.java │ │ │ │ └── stats │ │ │ │ │ └── HousekeeperStatsService.java │ │ │ ├── install │ │ │ │ ├── AbstractCassandraDatabaseUpgradeService.java │ │ │ │ ├── CassandraAbstractDatabaseSchemaService.java │ │ │ │ ├── CassandraKeyspaceService.java │ │ │ │ ├── CassandraTsDatabaseSchemaService.java │ │ │ │ ├── CassandraTsLatestDatabaseSchemaService.java │ │ │ │ ├── DatabaseEntitiesUpgradeService.java │ │ │ │ ├── DatabaseSchemaService.java │ │ │ │ ├── DatabaseSchemaSettingsService.java │ │ │ │ ├── DbUpgradeExecutorService.java │ │ │ │ ├── DefaultDatabaseSchemaSettingsService.java │ │ │ │ ├── DefaultSystemDataLoaderService.java │ │ │ │ ├── EntityDatabaseSchemaService.java │ │ │ │ ├── InstallScripts.java │ │ │ │ ├── NoSqlKeyspaceService.java │ │ │ │ ├── ProjectInfo.java │ │ │ │ ├── SqlAbstractDatabaseSchemaService.java │ │ │ │ ├── SqlDatabaseUpgradeService.java │ │ │ │ ├── SqlEntityDatabaseSchemaService.java │ │ │ │ ├── SqlTsDatabaseSchemaService.java │ │ │ │ ├── SystemDataLoaderService.java │ │ │ │ ├── TimescaleTsDatabaseSchemaService.java │ │ │ │ ├── TsDatabaseSchemaService.java │ │ │ │ ├── TsLatestDatabaseSchemaService.java │ │ │ │ ├── cql │ │ │ │ │ └── CQLStatementsParser.java │ │ │ │ ├── migrate │ │ │ │ │ ├── CassandraToSqlColumn.java │ │ │ │ │ ├── CassandraToSqlColumnData.java │ │ │ │ │ ├── CassandraToSqlColumnType.java │ │ │ │ │ ├── CassandraToSqlTable.java │ │ │ │ │ ├── CassandraTsLatestToSqlMigrateService.java │ │ │ │ │ └── TsLatestMigrateService.java │ │ │ │ └── update │ │ │ │ │ ├── CacheCleanupService.java │ │ │ │ │ ├── DataUpdateService.java │ │ │ │ │ ├── DefaultCacheCleanupService.java │ │ │ │ │ ├── DefaultDataUpdateService.java │ │ │ │ │ ├── PaginatedUpdater.java │ │ │ │ │ └── ResourcesUpdater.java │ │ │ ├── job │ │ │ │ ├── DefaultJobManager.java │ │ │ │ ├── DummyJobProcessor.java │ │ │ │ ├── JobProcessor.java │ │ │ │ ├── JobStatsProcessor.java │ │ │ │ └── task │ │ │ │ │ └── DummyTaskProcessor.java │ │ │ ├── lwm2m │ │ │ │ ├── LwM2MService.java │ │ │ │ └── LwM2MServiceImpl.java │ │ │ ├── mail │ │ │ │ ├── DefaultMailService.java │ │ │ │ ├── DefaultTbMailConfigTemplateService.java │ │ │ │ ├── MailExecutorService.java │ │ │ │ ├── MailSenderInternalExecutorService.java │ │ │ │ ├── PasswordResetExecutorService.java │ │ │ │ ├── RefreshTokenExpCheckService.java │ │ │ │ ├── TbMailConfigTemplateService.java │ │ │ │ ├── TbMailContextComponent.java │ │ │ │ └── TbMailSender.java │ │ │ ├── mobile │ │ │ │ └── secret │ │ │ │ │ ├── MobileAppSecretService.java │ │ │ │ │ ├── MobileAppSecretServiceImpl.java │ │ │ │ │ ├── MobileSecretCaffeineCache.java │ │ │ │ │ ├── MobileSecretEvictEvent.java │ │ │ │ │ └── MobileSecretRedisCache.java │ │ │ ├── notification │ │ │ │ ├── DefaultNotificationCenter.java │ │ │ │ ├── DefaultNotificationSchedulerService.java │ │ │ │ ├── NotificationProcessingContext.java │ │ │ │ ├── NotificationSchedulerService.java │ │ │ │ ├── channels │ │ │ │ │ ├── EmailNotificationChannel.java │ │ │ │ │ ├── MicrosoftTeamsNotificationChannel.java │ │ │ │ │ ├── MobileAppNotificationChannel.java │ │ │ │ │ ├── NotificationChannel.java │ │ │ │ │ ├── SlackNotificationChannel.java │ │ │ │ │ ├── SmsNotificationChannel.java │ │ │ │ │ ├── TeamsAdaptiveCard.java │ │ │ │ │ └── TeamsMessageCard.java │ │ │ │ ├── provider │ │ │ │ │ ├── DefaultFirebaseService.java │ │ │ │ │ └── DefaultSlackService.java │ │ │ │ └── rule │ │ │ │ │ ├── DefaultNotificationRuleProcessor.java │ │ │ │ │ ├── cache │ │ │ │ │ ├── DefaultNotificationRulesCache.java │ │ │ │ │ └── NotificationRulesCache.java │ │ │ │ │ └── trigger │ │ │ │ │ ├── AlarmAssignmentTriggerProcessor.java │ │ │ │ │ ├── AlarmCommentTriggerProcessor.java │ │ │ │ │ ├── AlarmTriggerProcessor.java │ │ │ │ │ ├── ApiUsageLimitTriggerProcessor.java │ │ │ │ │ ├── DeviceActivityTriggerProcessor.java │ │ │ │ │ ├── EdgeCommunicationFailureTriggerProcessor.java │ │ │ │ │ ├── EdgeConnectionTriggerProcessor.java │ │ │ │ │ ├── EntitiesLimitTriggerProcessor.java │ │ │ │ │ ├── EntityActionTriggerProcessor.java │ │ │ │ │ ├── NewPlatformVersionTriggerProcessor.java │ │ │ │ │ ├── NotificationRuleTriggerProcessor.java │ │ │ │ │ ├── RateLimitsTriggerProcessor.java │ │ │ │ │ ├── ResourcesShortageTriggerProcessor.java │ │ │ │ │ ├── RuleEngineComponentLifecycleEventTriggerProcessor.java │ │ │ │ │ └── TaskProcessingFailureTriggerProcessor.java │ │ │ ├── ota │ │ │ │ ├── DefaultOtaPackageStateService.java │ │ │ │ └── OtaPackageStateService.java │ │ │ ├── partition │ │ │ │ ├── AbstractPartitionBasedService.java │ │ │ │ └── TbCoreStartupService.java │ │ │ ├── profile │ │ │ │ ├── DefaultTbAssetProfileCache.java │ │ │ │ ├── DefaultTbDeviceProfileCache.java │ │ │ │ ├── TbAssetProfileCache.java │ │ │ │ └── TbDeviceProfileCache.java │ │ │ ├── query │ │ │ │ ├── DefaultEntityQueryService.java │ │ │ │ └── EntityQueryService.java │ │ │ ├── queue │ │ │ │ ├── DefaultQueueRoutingInfoService.java │ │ │ │ ├── DefaultTbCalculatedFieldConsumerService.java │ │ │ │ ├── DefaultTbClusterService.java │ │ │ │ ├── DefaultTbCoreConsumerService.java │ │ │ │ ├── DefaultTbEdgeConsumerService.java │ │ │ │ ├── DefaultTbRuleEngineConsumerService.java │ │ │ │ ├── DefaultTenantRoutingInfoService.java │ │ │ │ ├── EdgeConsumerStats.java │ │ │ │ ├── PendingMsgHolder.java │ │ │ │ ├── TbCalculatedFieldConsumerService.java │ │ │ │ ├── TbCoreConsumerService.java │ │ │ │ ├── TbCoreConsumerStats.java │ │ │ │ ├── TbEdgeConsumerService.java │ │ │ │ ├── TbMsgPackCallback.java │ │ │ │ ├── TbMsgPackProcessingContext.java │ │ │ │ ├── TbMsgProfilerInfo.java │ │ │ │ ├── TbPackCallback.java │ │ │ │ ├── TbPackProcessingContext.java │ │ │ │ ├── TbRuleEngineConsumerService.java │ │ │ │ ├── TbRuleEngineConsumerStats.java │ │ │ │ ├── TbRuleNodeProfilerInfo.java │ │ │ │ ├── TbTenantRuleEngineStats.java │ │ │ │ ├── TbTopicWithConsumerPerPartition.java │ │ │ │ ├── processing │ │ │ │ │ ├── AbstractConsumerService.java │ │ │ │ │ ├── AbstractPartitionBasedConsumerService.java │ │ │ │ │ ├── AbstractTbRuleEngineSubmitStrategy.java │ │ │ │ │ ├── BatchTbRuleEngineSubmitStrategy.java │ │ │ │ │ ├── BurstTbRuleEngineSubmitStrategy.java │ │ │ │ │ ├── IdMsgPair.java │ │ │ │ │ ├── SequentialByEntityIdTbRuleEngineSubmitStrategy.java │ │ │ │ │ ├── SequentialByOriginatorIdTbRuleEngineSubmitStrategy.java │ │ │ │ │ ├── SequentialByTenantIdTbRuleEngineSubmitStrategy.java │ │ │ │ │ ├── SequentialTbRuleEngineSubmitStrategy.java │ │ │ │ │ ├── TbRuleEngineProcessingDecision.java │ │ │ │ │ ├── TbRuleEngineProcessingResult.java │ │ │ │ │ ├── TbRuleEngineProcessingStrategy.java │ │ │ │ │ ├── TbRuleEngineProcessingStrategyFactory.java │ │ │ │ │ ├── TbRuleEngineSubmitStrategy.java │ │ │ │ │ └── TbRuleEngineSubmitStrategyFactory.java │ │ │ │ └── ruleengine │ │ │ │ │ ├── TbRuleEngineConsumerContext.java │ │ │ │ │ └── TbRuleEngineQueueConsumerManager.java │ │ │ ├── resource │ │ │ │ ├── DefaultTbImageService.java │ │ │ │ ├── DefaultTbResourceService.java │ │ │ │ ├── TbImageService.java │ │ │ │ └── TbResourceService.java │ │ │ ├── rpc │ │ │ │ ├── DefaultTbCoreDeviceRpcService.java │ │ │ │ ├── DefaultTbRuleEngineRpcService.java │ │ │ │ ├── LocalRequestMetaData.java │ │ │ │ ├── RpcSubmitStrategy.java │ │ │ │ ├── TbCoreDeviceRpcService.java │ │ │ │ ├── TbRpcService.java │ │ │ │ └── TbRuleEngineDeviceRpcService.java │ │ │ ├── rule │ │ │ │ ├── DefaultTbRuleChainService.java │ │ │ │ └── TbRuleChainService.java │ │ │ ├── ruleengine │ │ │ │ ├── DefaultRuleEngineCallService.java │ │ │ │ └── RuleEngineCallService.java │ │ │ ├── script │ │ │ │ ├── RuleNodeJsScriptEngine.java │ │ │ │ ├── RuleNodeScriptEngine.java │ │ │ │ └── RuleNodeTbelScriptEngine.java │ │ │ ├── security │ │ │ │ ├── AccessValidator.java │ │ │ │ ├── ValidationCallback.java │ │ │ │ ├── ValidationResult.java │ │ │ │ ├── ValidationResultCode.java │ │ │ │ ├── auth │ │ │ │ │ ├── AbstractAuthenticationProvider.java │ │ │ │ │ ├── AbstractJwtAuthenticationToken.java │ │ │ │ │ ├── AuthExceptionHandler.java │ │ │ │ │ ├── DefaultTokenOutdatingService.java │ │ │ │ │ ├── JwtAuthenticationToken.java │ │ │ │ │ ├── MfaAuthenticationToken.java │ │ │ │ │ ├── MfaConfigurationToken.java │ │ │ │ │ ├── RefreshAuthenticationToken.java │ │ │ │ │ ├── TokenOutdatingService.java │ │ │ │ │ ├── extractor │ │ │ │ │ │ ├── AbstractHeaderTokenExtractor.java │ │ │ │ │ │ ├── ApiKeyHeaderTokenExtractor.java │ │ │ │ │ │ ├── JwtHeaderTokenExtractor.java │ │ │ │ │ │ ├── JwtQueryTokenExtractor.java │ │ │ │ │ │ └── TokenExtractor.java │ │ │ │ │ ├── jwt │ │ │ │ │ │ ├── JwtAuthenticationProvider.java │ │ │ │ │ │ ├── JwtTokenAuthenticationProcessingFilter.java │ │ │ │ │ │ ├── RefreshTokenAuthenticationProvider.java │ │ │ │ │ │ ├── RefreshTokenProcessingFilter.java │ │ │ │ │ │ ├── RefreshTokenRequest.java │ │ │ │ │ │ ├── SkipPathRequestMatcher.java │ │ │ │ │ │ └── settings │ │ │ │ │ │ │ ├── DefaultJwtSettingsService.java │ │ │ │ │ │ │ ├── DefaultJwtSettingsValidator.java │ │ │ │ │ │ │ ├── InstallJwtSettingsValidator.java │ │ │ │ │ │ │ ├── JwtSettingsService.java │ │ │ │ │ │ │ └── JwtSettingsValidator.java │ │ │ │ │ ├── mfa │ │ │ │ │ │ ├── DefaultTwoFactorAuthService.java │ │ │ │ │ │ ├── TwoFactorAuthService.java │ │ │ │ │ │ ├── config │ │ │ │ │ │ │ ├── DefaultTwoFaConfigManager.java │ │ │ │ │ │ │ └── TwoFaConfigManager.java │ │ │ │ │ │ └── provider │ │ │ │ │ │ │ ├── TwoFaProvider.java │ │ │ │ │ │ │ └── impl │ │ │ │ │ │ │ ├── BackupCodeTwoFaProvider.java │ │ │ │ │ │ │ ├── EmailTwoFaProvider.java │ │ │ │ │ │ │ ├── OtpBasedTwoFaProvider.java │ │ │ │ │ │ │ ├── SmsTwoFaProvider.java │ │ │ │ │ │ │ └── TotpTwoFaProvider.java │ │ │ │ │ ├── oauth2 │ │ │ │ │ │ ├── AbstractOAuth2ClientMapper.java │ │ │ │ │ │ ├── AppleOAuth2ClientMapper.java │ │ │ │ │ │ ├── BasicMapperUtils.java │ │ │ │ │ │ ├── BasicOAuth2ClientMapper.java │ │ │ │ │ │ ├── CookieUtils.java │ │ │ │ │ │ ├── CustomOAuth2ClientMapper.java │ │ │ │ │ │ ├── GithubOAuth2ClientMapper.java │ │ │ │ │ │ ├── HttpCookieOAuth2AuthorizationRequestRepository.java │ │ │ │ │ │ ├── OAuth2ClientMapper.java │ │ │ │ │ │ ├── OAuth2ClientMapperProvider.java │ │ │ │ │ │ ├── Oauth2AuthenticationFailureHandler.java │ │ │ │ │ │ ├── Oauth2AuthenticationSuccessHandler.java │ │ │ │ │ │ └── TbOAuth2ParameterNames.java │ │ │ │ │ ├── pat │ │ │ │ │ │ ├── ApiKeyAuthenticationProvider.java │ │ │ │ │ │ ├── ApiKeyAuthenticationToken.java │ │ │ │ │ │ └── ApiKeyTokenAuthenticationProcessingFilter.java │ │ │ │ │ └── rest │ │ │ │ │ │ ├── LoginRequest.java │ │ │ │ │ │ ├── LoginResponse.java │ │ │ │ │ │ ├── PublicLoginRequest.java │ │ │ │ │ │ ├── RestAuthenticationDetails.java │ │ │ │ │ │ ├── RestAuthenticationDetailsSource.java │ │ │ │ │ │ ├── RestAuthenticationProvider.java │ │ │ │ │ │ ├── RestAwareAuthenticationFailureHandler.java │ │ │ │ │ │ ├── RestAwareAuthenticationSuccessHandler.java │ │ │ │ │ │ ├── RestLoginProcessingFilter.java │ │ │ │ │ │ └── RestPublicLoginProcessingFilter.java │ │ │ │ ├── device │ │ │ │ │ └── DefaultDeviceAuthService.java │ │ │ │ ├── exception │ │ │ │ │ ├── AuthMethodNotSupportedException.java │ │ │ │ │ ├── JwtExpiredTokenException.java │ │ │ │ │ ├── UserPasswordExpiredException.java │ │ │ │ │ └── UserPasswordNotValidException.java │ │ │ │ ├── model │ │ │ │ │ ├── ActivateUserRequest.java │ │ │ │ │ ├── ChangePasswordRequest.java │ │ │ │ │ ├── ResetPasswordEmailRequest.java │ │ │ │ │ ├── ResetPasswordRequest.java │ │ │ │ │ ├── SecurityUser.java │ │ │ │ │ ├── UserPrincipal.java │ │ │ │ │ └── token │ │ │ │ │ │ ├── AccessJwtToken.java │ │ │ │ │ │ ├── ApiKeyAuthRequest.java │ │ │ │ │ │ ├── JwtTokenFactory.java │ │ │ │ │ │ ├── OAuth2AppTokenFactory.java │ │ │ │ │ │ └── RawAccessJwtToken.java │ │ │ │ ├── permission │ │ │ │ │ ├── AbstractPermissions.java │ │ │ │ │ ├── AccessControlService.java │ │ │ │ │ ├── CustomerUserPermissions.java │ │ │ │ │ ├── DefaultAccessControlService.java │ │ │ │ │ ├── MfaConfigurationPermissions.java │ │ │ │ │ ├── Operation.java │ │ │ │ │ ├── PermissionChecker.java │ │ │ │ │ ├── Permissions.java │ │ │ │ │ ├── Resource.java │ │ │ │ │ ├── SysAdminPermissions.java │ │ │ │ │ └── TenantAdminPermissions.java │ │ │ │ └── system │ │ │ │ │ ├── DefaultSystemSecurityService.java │ │ │ │ │ └── SystemSecurityService.java │ │ │ ├── session │ │ │ │ ├── DefaultDeviceSessionCacheService.java │ │ │ │ ├── DeviceSessionCacheService.java │ │ │ │ ├── SessionCaffeineCache.java │ │ │ │ └── SessionRedisCache.java │ │ │ ├── sms │ │ │ │ ├── AbstractSmsSender.java │ │ │ │ ├── DefaultSmsSenderFactory.java │ │ │ │ ├── DefaultSmsService.java │ │ │ │ ├── SmsExecutorService.java │ │ │ │ ├── aws │ │ │ │ │ └── AwsSmsSender.java │ │ │ │ ├── smpp │ │ │ │ │ └── SmppSmsSender.java │ │ │ │ └── twilio │ │ │ │ │ └── TwilioSmsSender.java │ │ │ ├── state │ │ │ │ ├── DefaultDeviceStateManager.java │ │ │ │ ├── DefaultDeviceStateService.java │ │ │ │ ├── DeviceState.java │ │ │ │ ├── DeviceStateData.java │ │ │ │ └── DeviceStateService.java │ │ │ ├── stats │ │ │ │ ├── DefaultRuleEngineStatisticsService.java │ │ │ │ └── RuleEngineStatisticsService.java │ │ │ ├── subscription │ │ │ │ ├── DefaultSubscriptionManagerService.java │ │ │ │ ├── DefaultTbEntityDataSubscriptionService.java │ │ │ │ ├── DefaultTbLocalSubscriptionService.java │ │ │ │ ├── ReadTsKvQueryInfo.java │ │ │ │ ├── SubscriptionErrorCode.java │ │ │ │ ├── SubscriptionManagerService.java │ │ │ │ ├── SubscriptionModificationResult.java │ │ │ │ ├── SubscriptionSchedulerComponent.java │ │ │ │ ├── SubscriptionServiceStatistics.java │ │ │ │ ├── TbAbstractDataSubCtx.java │ │ │ │ ├── TbAbstractEntityQuerySubCtx.java │ │ │ │ ├── TbAbstractSubCtx.java │ │ │ │ ├── TbAlarmCountSubCtx.java │ │ │ │ ├── TbAlarmDataSubCtx.java │ │ │ │ ├── TbAlarmStatusSubCtx.java │ │ │ │ ├── TbAlarmStatusSubscription.java │ │ │ │ ├── TbAlarmsSubscription.java │ │ │ │ ├── TbAttributeSubscription.java │ │ │ │ ├── TbAttributeSubscriptionScope.java │ │ │ │ ├── TbEntityCountSubCtx.java │ │ │ │ ├── TbEntityDataSubCtx.java │ │ │ │ ├── TbEntityDataSubscriptionService.java │ │ │ │ ├── TbEntityLocalSubsInfo.java │ │ │ │ ├── TbEntityRemoteSubsInfo.java │ │ │ │ ├── TbEntitySubEvent.java │ │ │ │ ├── TbEntityUpdatesInfo.java │ │ │ │ ├── TbLocalSubscriptionService.java │ │ │ │ ├── TbSubscription.java │ │ │ │ ├── TbSubscriptionType.java │ │ │ │ ├── TbSubscriptionUtils.java │ │ │ │ ├── TbSubscriptionsInfo.java │ │ │ │ └── TbTimeSeriesSubscription.java │ │ │ ├── sync │ │ │ │ ├── ie │ │ │ │ │ ├── DefaultEntitiesExportImportService.java │ │ │ │ │ ├── EntitiesExportImportService.java │ │ │ │ │ ├── exporting │ │ │ │ │ │ ├── DefaultExportableEntitiesService.java │ │ │ │ │ │ ├── EntityExportService.java │ │ │ │ │ │ ├── ExportableEntitiesService.java │ │ │ │ │ │ └── impl │ │ │ │ │ │ │ ├── AiModelExportService.java │ │ │ │ │ │ │ ├── AssetExportService.java │ │ │ │ │ │ │ ├── AssetProfileExportService.java │ │ │ │ │ │ │ ├── BaseEntityExportService.java │ │ │ │ │ │ │ ├── DashboardExportService.java │ │ │ │ │ │ │ ├── DefaultEntityExportService.java │ │ │ │ │ │ │ ├── DeviceExportService.java │ │ │ │ │ │ │ ├── DeviceProfileExportService.java │ │ │ │ │ │ │ ├── EntityViewExportService.java │ │ │ │ │ │ │ ├── NotificationRuleExportService.java │ │ │ │ │ │ │ ├── NotificationTargetExportService.java │ │ │ │ │ │ │ ├── NotificationTemplateExportService.java │ │ │ │ │ │ │ ├── OtaPackageExportService.java │ │ │ │ │ │ │ ├── ResourceExportService.java │ │ │ │ │ │ │ ├── RuleChainExportService.java │ │ │ │ │ │ │ ├── WidgetTypeExportService.java │ │ │ │ │ │ │ └── WidgetsBundleExportService.java │ │ │ │ │ └── importing │ │ │ │ │ │ ├── EntityImportService.java │ │ │ │ │ │ ├── csv │ │ │ │ │ │ ├── AbstractBulkImportService.java │ │ │ │ │ │ └── ImportedEntityInfo.java │ │ │ │ │ │ └── impl │ │ │ │ │ │ ├── AiModelImportService.java │ │ │ │ │ │ ├── AssetImportService.java │ │ │ │ │ │ ├── AssetProfileImportService.java │ │ │ │ │ │ ├── BaseEntityImportService.java │ │ │ │ │ │ ├── CustomerImportService.java │ │ │ │ │ │ ├── DashboardImportService.java │ │ │ │ │ │ ├── DeviceImportService.java │ │ │ │ │ │ ├── DeviceProfileImportService.java │ │ │ │ │ │ ├── EntityViewImportService.java │ │ │ │ │ │ ├── ImportServiceException.java │ │ │ │ │ │ ├── MissingEntityException.java │ │ │ │ │ │ ├── NotificationRuleImportService.java │ │ │ │ │ │ ├── NotificationTargetImportService.java │ │ │ │ │ │ ├── NotificationTemplateImportService.java │ │ │ │ │ │ ├── OtaPackageImportService.java │ │ │ │ │ │ ├── ResourceImportService.java │ │ │ │ │ │ ├── RuleChainImportService.java │ │ │ │ │ │ ├── WidgetTypeImportService.java │ │ │ │ │ │ └── WidgetsBundleImportService.java │ │ │ │ └── vc │ │ │ │ │ ├── DefaultEntitiesVersionControlService.java │ │ │ │ │ ├── DefaultGitVersionControlQueueService.java │ │ │ │ │ ├── EntitiesVersionControlService.java │ │ │ │ │ ├── GitVersionControlQueueService.java │ │ │ │ │ ├── LoadEntityException.java │ │ │ │ │ ├── TbAbstractVersionControlSettingsService.java │ │ │ │ │ ├── VersionControlTaskCacheEntry.java │ │ │ │ │ ├── VersionControlTaskCaffeineCache.java │ │ │ │ │ ├── VersionControlTaskRedisCache.java │ │ │ │ │ ├── autocommit │ │ │ │ │ ├── AutoCommitSettingsCaffeineCache.java │ │ │ │ │ ├── AutoCommitSettingsRedisCache.java │ │ │ │ │ ├── DefaultTbAutoCommitSettingsService.java │ │ │ │ │ └── TbAutoCommitSettingsService.java │ │ │ │ │ ├── data │ │ │ │ │ ├── ClearRepositoryGitRequest.java │ │ │ │ │ ├── CommitGitRequest.java │ │ │ │ │ ├── ComplexEntitiesExportCtx.java │ │ │ │ │ ├── ContentsDiffGitRequest.java │ │ │ │ │ ├── EntitiesContentGitRequest.java │ │ │ │ │ ├── EntitiesExportCtx.java │ │ │ │ │ ├── EntitiesImportCtx.java │ │ │ │ │ ├── EntityContentGitRequest.java │ │ │ │ │ ├── EntityTypeExportCtx.java │ │ │ │ │ ├── ListBranchesGitRequest.java │ │ │ │ │ ├── ListEntitiesGitRequest.java │ │ │ │ │ ├── ListVersionsGitRequest.java │ │ │ │ │ ├── PendingGitRequest.java │ │ │ │ │ ├── ReimportTask.java │ │ │ │ │ ├── SimpleEntitiesExportCtx.java │ │ │ │ │ ├── VersionsDiffGitRequest.java │ │ │ │ │ └── VoidGitRequest.java │ │ │ │ │ └── repository │ │ │ │ │ ├── DefaultTbRepositorySettingsService.java │ │ │ │ │ ├── RepositorySettingsCaffeineCache.java │ │ │ │ │ ├── RepositorySettingsRedisCache.java │ │ │ │ │ └── TbRepositorySettingsService.java │ │ │ ├── system │ │ │ │ ├── DefaultSystemInfoService.java │ │ │ │ ├── SystemInfoService.java │ │ │ │ └── SystemPatchApplier.java │ │ │ ├── telemetry │ │ │ │ ├── AbstractSubscriptionService.java │ │ │ │ ├── AlarmSubscriptionService.java │ │ │ │ ├── AttributeData.java │ │ │ │ ├── DefaultAlarmSubscriptionService.java │ │ │ │ ├── DefaultTbTelemetryService.java │ │ │ │ ├── DefaultTelemetrySubscriptionService.java │ │ │ │ ├── InternalTelemetryService.java │ │ │ │ ├── TbTelemetryService.java │ │ │ │ ├── TelemetrySubscriptionService.java │ │ │ │ └── TsData.java │ │ │ ├── transport │ │ │ │ ├── BasicCredentialsValidationResult.java │ │ │ │ ├── DefaultTbCoreToTransportService.java │ │ │ │ ├── DefaultTransportApiService.java │ │ │ │ ├── TbCoreToTransportService.java │ │ │ │ ├── TbCoreTransportApiService.java │ │ │ │ ├── TransportApiService.java │ │ │ │ └── msg │ │ │ │ │ └── TransportToDeviceActorMsgWrapper.java │ │ │ ├── ttl │ │ │ │ ├── AbstractCleanUpService.java │ │ │ │ ├── AlarmsCleanUpService.java │ │ │ │ ├── ApiKeysCleanUpService.java │ │ │ │ ├── AuditLogsCleanUpService.java │ │ │ │ ├── EdgeEventsCleanUpService.java │ │ │ │ ├── EventsCleanUpService.java │ │ │ │ ├── KafkaEdgeTopicsCleanUpService.java │ │ │ │ ├── NotificationsCleanUpService.java │ │ │ │ ├── TimeseriesCleanUpService.java │ │ │ │ ├── cloud │ │ │ │ │ └── CloudEventsCleanUpService.java │ │ │ │ └── rpc │ │ │ │ │ └── RpcCleanUpService.java │ │ │ ├── update │ │ │ │ ├── DefaultUpdateService.java │ │ │ │ └── UpdateService.java │ │ │ ├── user │ │ │ │ └── cache │ │ │ │ │ ├── DefaultUserAuthDetailsCache.java │ │ │ │ │ └── UserAuthDetailsCache.java │ │ │ └── ws │ │ │ │ ├── AuthCmd.java │ │ │ │ ├── DefaultWebSocketService.java │ │ │ │ ├── SessionEvent.java │ │ │ │ ├── WebSocketMsgEndpoint.java │ │ │ │ ├── WebSocketService.java │ │ │ │ ├── WebSocketSessionRef.java │ │ │ │ ├── WebSocketSessionType.java │ │ │ │ ├── WsCmd.java │ │ │ │ ├── WsCmdType.java │ │ │ │ ├── WsCommandsWrapper.java │ │ │ │ ├── WsSessionMetaData.java │ │ │ │ ├── notification │ │ │ │ ├── DefaultNotificationCommandsHandler.java │ │ │ │ ├── NotificationCommandsHandler.java │ │ │ │ ├── cmd │ │ │ │ │ ├── MarkAllNotificationsAsReadCmd.java │ │ │ │ │ ├── MarkNotificationsAsReadCmd.java │ │ │ │ │ ├── NotificationCmdsWrapper.java │ │ │ │ │ ├── NotificationsCountSubCmd.java │ │ │ │ │ ├── NotificationsSubCmd.java │ │ │ │ │ ├── NotificationsUnsubCmd.java │ │ │ │ │ ├── UnreadNotificationsCountUpdate.java │ │ │ │ │ └── UnreadNotificationsUpdate.java │ │ │ │ └── sub │ │ │ │ │ ├── AbstractNotificationSubscription.java │ │ │ │ │ ├── NotificationRequestUpdate.java │ │ │ │ │ ├── NotificationUpdate.java │ │ │ │ │ ├── NotificationsCountSubscription.java │ │ │ │ │ ├── NotificationsSubscription.java │ │ │ │ │ └── NotificationsSubscriptionUpdate.java │ │ │ │ └── telemetry │ │ │ │ ├── TelemetryFeature.java │ │ │ │ ├── TelemetryWebSocketTextMsg.java │ │ │ │ ├── cmd │ │ │ │ ├── TelemetryCmdsWrapper.java │ │ │ │ ├── v1 │ │ │ │ │ ├── AttributesSubscriptionCmd.java │ │ │ │ │ ├── GetHistoryCmd.java │ │ │ │ │ ├── SubscriptionCmd.java │ │ │ │ │ ├── TelemetryPluginCmd.java │ │ │ │ │ └── TimeseriesSubscriptionCmd.java │ │ │ │ └── v2 │ │ │ │ │ ├── AggHistoryCmd.java │ │ │ │ │ ├── AggKey.java │ │ │ │ │ ├── AggTimeSeriesCmd.java │ │ │ │ │ ├── AlarmCountCmd.java │ │ │ │ │ ├── AlarmCountUnsubscribeCmd.java │ │ │ │ │ ├── AlarmCountUpdate.java │ │ │ │ │ ├── AlarmDataCmd.java │ │ │ │ │ ├── AlarmDataUnsubscribeCmd.java │ │ │ │ │ ├── AlarmDataUpdate.java │ │ │ │ │ ├── AlarmStatusCmd.java │ │ │ │ │ ├── AlarmStatusUnsubscribeCmd.java │ │ │ │ │ ├── AlarmStatusUpdate.java │ │ │ │ │ ├── CmdUpdate.java │ │ │ │ │ ├── CmdUpdateType.java │ │ │ │ │ ├── DataCmd.java │ │ │ │ │ ├── DataUpdate.java │ │ │ │ │ ├── EntityCountCmd.java │ │ │ │ │ ├── EntityCountUnsubscribeCmd.java │ │ │ │ │ ├── EntityCountUpdate.java │ │ │ │ │ ├── EntityDataCmd.java │ │ │ │ │ ├── EntityDataUnsubscribeCmd.java │ │ │ │ │ ├── EntityDataUpdate.java │ │ │ │ │ ├── EntityHistoryCmd.java │ │ │ │ │ ├── GetTsCmd.java │ │ │ │ │ ├── LatestValueCmd.java │ │ │ │ │ ├── TimeSeriesCmd.java │ │ │ │ │ └── UnsubscribeCmd.java │ │ │ │ └── sub │ │ │ │ ├── AlarmSubscriptionUpdate.java │ │ │ │ ├── SubscriptionState.java │ │ │ │ └── TelemetrySubscriptionUpdate.java │ │ │ └── utils │ │ │ ├── CalculatedFieldArgumentUtils.java │ │ │ ├── CalculatedFieldUtils.java │ │ │ ├── CsvUtils.java │ │ │ ├── DebugModeRateLimitsConfig.java │ │ │ ├── LwM2mObjectModelUtils.java │ │ │ ├── MiscUtils.java │ │ │ └── TbNodeUpgradeUtils.java │ └── resources │ │ ├── banner.txt │ │ ├── i18n │ │ └── messages.properties │ │ ├── logback.xml │ │ ├── tb-edge.yml │ │ └── templates │ │ ├── 2fa.verification.code.ftl │ │ ├── account.activated.ftl │ │ ├── account.lockout.ftl │ │ ├── activation.ftl │ │ ├── mail_config_templates.json │ │ ├── password.was.reset.ftl │ │ ├── reset.password.ftl │ │ ├── state.disabled.ftl │ │ ├── state.enabled.ftl │ │ ├── state.warning.ftl │ │ └── test.ftl │ └── test │ ├── java │ └── org │ │ └── thingsboard │ │ └── server │ │ ├── actors │ │ ├── device │ │ │ └── DeviceActorMessageProcessorTest.java │ │ ├── rule │ │ │ └── DefaultTbContextTest.java │ │ ├── service │ │ │ └── ComponentActorTest.java │ │ ├── stats │ │ │ ├── StatsActorTest.java │ │ │ └── StatsPersistMsgTest.java │ │ └── tenant │ │ │ └── TenantActorTest.java │ │ ├── cache │ │ └── CaffeineCacheDefaultConfigurationTest.java │ │ ├── cf │ │ ├── AlarmRulesTest.java │ │ ├── CalculatedFieldCurrentOwnerTest.java │ │ ├── CalculatedFieldIntegrationTest.java │ │ ├── EntityAggregationCalculatedFieldTest.java │ │ └── RelatedEntitiesAggregationCalculatedFieldTest.java │ │ ├── controller │ │ ├── AbstractControllerTest.java │ │ ├── AbstractInMemoryStorageTest.java │ │ ├── AbstractNotifyEntityTest.java │ │ ├── AbstractRuleEngineControllerTest.java │ │ ├── AbstractWebTest.java │ │ ├── AdminControllerTest.java │ │ ├── AiModelControllerTest.java │ │ ├── AlarmCommentControllerTest.java │ │ ├── AlarmControllerTest.java │ │ ├── ApiKeyControllerTest.java │ │ ├── AssetControllerTest.java │ │ ├── AssetProfileControllerTest.java │ │ ├── AuditLogControllerTest.java │ │ ├── AuditLogControllerTest_DedicatedEventsDataSource.java │ │ ├── AuthControllerTest.java │ │ ├── BaseQueueControllerTest.java │ │ ├── CalculatedFieldControllerTest.java │ │ ├── CloudEventControllerTest.java │ │ ├── ComponentDescriptorControllerTest.java │ │ ├── CustomerControllerTest.java │ │ ├── DashboardControllerTest.java │ │ ├── DeviceConnectivityControllerTest.java │ │ ├── DeviceControllerTest.java │ │ ├── DeviceProfileControllerTest.java │ │ ├── DomainControllerTest.java │ │ ├── EdgeControllerTest.java │ │ ├── EdgeEventControllerTest.java │ │ ├── EdqsControllerTest.java │ │ ├── EdqsEntityQueryControllerTest.java │ │ ├── EntityQueryControllerTest.java │ │ ├── EntityRelationControllerTest.java │ │ ├── EntityViewControllerTest.java │ │ ├── HomePageApiTest.java │ │ ├── ImageControllerTest.java │ │ ├── MobileAppBundleControllerTest.java │ │ ├── MobileAppControllerTest.java │ │ ├── Oauth2ClientControllerTest.java │ │ ├── OtaPackageControllerTest.java │ │ ├── QrCodeSettingsControllerTest.java │ │ ├── RepositorySettingsTest.java │ │ ├── RpcControllerTest.java │ │ ├── RuleChainControllerTest.java │ │ ├── RuleEngineControllerTest.java │ │ ├── TbResourceControllerTest.java │ │ ├── TbTestWebSocketClient.java │ │ ├── TelemetryControllerTest.java │ │ ├── TenantControllerTest.java │ │ ├── TenantProfileControllerTest.java │ │ ├── TrendzControllerTest.java │ │ ├── TwoFactorAuthConfigTest.java │ │ ├── TwoFactorAuthTest.java │ │ ├── UserControllerTest.java │ │ ├── WebsocketApiTest.java │ │ ├── WidgetTypeControllerTest.java │ │ ├── WidgetsBundleControllerTest.java │ │ └── plugin │ │ │ └── TbWebSocketHandlerTest.java │ │ ├── edge │ │ ├── AbstractEdgeTest.java │ │ ├── AiModelEdgeTest.java │ │ ├── AlarmEdgeTest.java │ │ ├── AssetEdgeTest.java │ │ ├── AssetProfileEdgeTest.java │ │ ├── CalculatedFieldEdgeTest.java │ │ ├── CustomerEdgeTest.java │ │ ├── DashboardEdgeTest.java │ │ ├── DeviceEdgeTest.java │ │ ├── DeviceProfileEdgeTest.java │ │ ├── EdgeTest.java │ │ ├── EntityViewEdgeTest.java │ │ ├── NotificationEdgeTest.java │ │ ├── OAuth2EdgeTest.java │ │ ├── OtaPackageEdgeTest.java │ │ ├── QueueEdgeTest.java │ │ ├── RelationEdgeTest.java │ │ ├── ResourceEdgeTest.java │ │ ├── RuleChainEdgeTest.java │ │ ├── TelemetryEdgeTest.java │ │ ├── TenantEdgeTest.java │ │ ├── TenantProfileEdgeTest.java │ │ ├── UserEdgeTest.java │ │ ├── WidgetEdgeTest.java │ │ └── imitator │ │ │ └── EdgeImitator.java │ │ ├── queue │ │ └── discovery │ │ │ └── HashPartitionServiceTest.java │ │ ├── rules │ │ ├── flow │ │ │ ├── AbstractRuleEngineFlowIntegrationTest.java │ │ │ └── sql │ │ │ │ └── RuleEngineFlowSqlIntegrationTest.java │ │ └── lifecycle │ │ │ ├── AbstractRuleEngineLifecycleIntegrationTest.java │ │ │ └── sql │ │ │ └── RuleEngineLifecycleSqlIntegrationTest.java │ │ ├── service │ │ ├── apiusage │ │ │ ├── ApiUsageTest.java │ │ │ └── DefaultTbApiUsageStateServiceTest.java │ │ ├── cf │ │ │ └── ctx │ │ │ │ └── state │ │ │ │ ├── GeofencingCalculatedFieldStateTest.java │ │ │ │ ├── GeofencingValueArgumentEntryTest.java │ │ │ │ ├── GeofencingZoneStateTest.java │ │ │ │ ├── PropagationArgumentEntryTest.java │ │ │ │ ├── PropagationCalculatedFieldStateTest.java │ │ │ │ ├── RelatedEntitiesAggregationCalculatedFieldStateTest.java │ │ │ │ ├── RelatedEntitiesArgumentEntryTest.java │ │ │ │ ├── ScriptCalculatedFieldStateTest.java │ │ │ │ ├── SimpleCalculatedFieldStateTest.java │ │ │ │ ├── SingleValueArgumentEntryTest.java │ │ │ │ └── TsRollingArgumentEntryTest.java │ │ ├── device │ │ │ └── provision │ │ │ │ └── DeviceProvisionServiceTest.java │ │ ├── edge │ │ │ ├── EdgeMsgConstructorUtilsTest.java │ │ │ └── EdgeStatsTest.java │ │ ├── entitiy │ │ │ ├── EdqsEntityServiceTest.java │ │ │ ├── EntityServiceTest.java │ │ │ ├── ai │ │ │ │ └── DefaultTbAiModelServiceTest.java │ │ │ ├── alarm │ │ │ │ └── DefaultTbAlarmServiceTest.java │ │ │ ├── alarmComment │ │ │ │ └── DefaultTbAlarmCommentServiceTest.java │ │ │ ├── dashboard │ │ │ │ └── DashboardSyncServiceTest.java │ │ │ └── entityview │ │ │ │ └── DefaultTbEntityViewServiceTest.java │ │ ├── housekeeper │ │ │ └── HousekeeperServiceTest.java │ │ ├── install │ │ │ ├── InstallScriptsTest.java │ │ │ └── SqlEntityDatabaseSchemaServiceTest.java │ │ ├── job │ │ │ ├── JobManagerTest.java │ │ │ ├── JobManagerTest_EntityPartitioningStrategy.java │ │ │ └── TestTaskProcessor.java │ │ ├── limits │ │ │ └── RateLimitServiceTest.java │ │ ├── mail │ │ │ └── TbMailSenderTest.java │ │ ├── notification │ │ │ ├── AbstractNotificationApiTest.java │ │ │ ├── NotificationApiTest.java │ │ │ ├── NotificationApiWsClient.java │ │ │ ├── NotificationRuleApiTest.java │ │ │ ├── NotificationTargetApiTest.java │ │ │ ├── NotificationTemplateApiTest.java │ │ │ └── TestNotificationSettingsService.java │ │ ├── queue │ │ │ ├── DefaultTbClusterServiceTest.java │ │ │ ├── DefaultTbCoreConsumerServiceTest.java │ │ │ ├── TbMsgPackCallbackTest.java │ │ │ ├── TbMsgPackProcessingContextTest.java │ │ │ └── ruleengine │ │ │ │ ├── TbRuleEngineQueueConsumerManagerTest.java │ │ │ │ └── TbRuleEngineStrategyTest.java │ │ ├── resource │ │ │ ├── DefaultResourceDataCacheTest.java │ │ │ └── sql │ │ │ │ └── BaseTbResourceServiceTest.java │ │ ├── rpc │ │ │ ├── DefaultTbRuleEngineRpcServiceTest.java │ │ │ └── RpcSubmitStrategyTest.java │ │ ├── ruleengine │ │ │ └── DefaultRuleEngineCallServiceTest.java │ │ ├── script │ │ │ ├── AbstractTbelInvokeTest.java │ │ │ ├── MockJsInvokeService.java │ │ │ ├── NashornJsInvokeServiceTest.java │ │ │ ├── RemoteJsInvokeServiceTest.java │ │ │ ├── TbelInvokeDocsIoTest.java │ │ │ └── TbelInvokeServiceTest.java │ │ ├── security │ │ │ └── auth │ │ │ │ ├── JwtTokenFactoryTest.java │ │ │ │ ├── TokenOutdatingTest.java │ │ │ │ ├── oauth2 │ │ │ │ ├── CookieUtilsTest.java │ │ │ │ └── Oauth2AuthenticationSuccessHandlerTest.java │ │ │ │ └── pat │ │ │ │ └── ApiKeyAuthenticationProviderTest.java │ │ ├── sms │ │ │ ├── DefaultSmsServiceTest.java │ │ │ └── smpp │ │ │ │ └── SmppSmsSenderTest.java │ │ ├── sql │ │ │ └── SequentialTimeseriesPersistenceTest.java │ │ ├── state │ │ │ ├── DefaultDeviceStateManagerTest.java │ │ │ └── DefaultDeviceStateServiceTest.java │ │ ├── stats │ │ │ └── DevicesStatisticsTest.java │ │ ├── subscription │ │ │ ├── DefaultTbLocalSubscriptionServiceTest.java │ │ │ ├── TbEntityDataSubCtxTest.java │ │ │ └── TbEntityLocalSubsInfoTest.java │ │ ├── sync │ │ │ ├── ie │ │ │ │ └── ExportImportServiceSqlTest.java │ │ │ └── vc │ │ │ │ └── VersionControlTest.java │ │ ├── telemetry │ │ │ └── DefaultTelemetrySubscriptionServiceTest.java │ │ ├── transport │ │ │ └── DefaultTransportApiServiceTest.java │ │ └── ttl │ │ │ ├── AlarmsCleanUpServiceTest.java │ │ │ └── EventsCleanUpServiceTest.java │ │ ├── system │ │ ├── BaseHttpDeviceApiTest.java │ │ ├── BaseRestApiLimitsTest.java │ │ ├── RestTemplateConvertersTest.java │ │ ├── SystemPatchApplierTest.java │ │ └── sql │ │ │ ├── DeviceApiSqlTest.java │ │ │ └── RestApiLimitsSqlTest.java │ │ ├── transport │ │ ├── AbstractTransportIntegrationTest.java │ │ ├── TransportNoSqlTestSuite.java │ │ ├── coap │ │ │ ├── AbstractCoapIntegrationTest.java │ │ │ ├── CoapTestCallback.java │ │ │ ├── CoapTestClient.java │ │ │ ├── CoapTestConfigProperties.java │ │ │ ├── attributes │ │ │ │ ├── AbstractCoapAttributesIntegrationTest.java │ │ │ │ ├── request │ │ │ │ │ ├── CoapAttributesRequestIntegrationTest.java │ │ │ │ │ ├── CoapAttributesRequestJsonIntegrationTest.java │ │ │ │ │ └── CoapAttributesRequestProtoIntegrationTest.java │ │ │ │ └── updates │ │ │ │ │ ├── CoapAttributesUpdatesIntegrationTest.java │ │ │ │ │ ├── CoapAttributesUpdatesJsonIntegrationTest.java │ │ │ │ │ └── CoapAttributesUpdatesProtoIntegrationTest.java │ │ │ ├── claim │ │ │ │ ├── CoapClaimDeviceTest.java │ │ │ │ ├── CoapClaimJsonDeviceTest.java │ │ │ │ └── CoapClaimProtoDeviceTest.java │ │ │ ├── client │ │ │ │ └── CoapClientIntegrationTest.java │ │ │ ├── provision │ │ │ │ ├── CoapProvisionJsonDeviceTest.java │ │ │ │ └── CoapProvisionProtoDeviceTest.java │ │ │ ├── rpc │ │ │ │ ├── AbstractCoapServerSideRpcIntegrationTest.java │ │ │ │ ├── CoapServerSideRpcDefaultIntegrationTest.java │ │ │ │ ├── CoapServerSideRpcJsonIntegrationTest.java │ │ │ │ └── CoapServerSideRpcProtoIntegrationTest.java │ │ │ ├── security │ │ │ │ ├── AbstractCoapSecurityIntegrationTest.java │ │ │ │ └── sql │ │ │ │ │ ├── CoapClientX509SecurityJksIntegrationTest.java │ │ │ │ │ └── CoapClientX509SecurityPemIntegrationTest.java │ │ │ ├── telemetry │ │ │ │ ├── attributes │ │ │ │ │ ├── CoapAttributesIntegrationTest.java │ │ │ │ │ ├── CoapAttributesJsonIntegrationTest.java │ │ │ │ │ └── CoapAttributesProtoIntegrationTest.java │ │ │ │ └── timeseries │ │ │ │ │ ├── AbstractCoapTimeseriesIntegrationTest.java │ │ │ │ │ ├── AbstractCoapTimeseriesJsonIntegrationTest.java │ │ │ │ │ ├── AbstractCoapTimeseriesProtoIntegrationTest.java │ │ │ │ │ ├── nosql │ │ │ │ │ ├── CoapTimeseriesNoSqlIntegrationTest.java │ │ │ │ │ ├── CoapTimeseriesNoSqlJsonIntegrationTest.java │ │ │ │ │ └── CoapTimeseriesNoSqlProtoIntegrationTest.java │ │ │ │ │ └── sql │ │ │ │ │ ├── CoapTimeseriesSqlIntegrationTest.java │ │ │ │ │ ├── CoapTimeseriesSqlJsonIntegrationTest.java │ │ │ │ │ └── CoapTimeseriesSqlProtoIntegrationTest.java │ │ │ └── x509 │ │ │ │ ├── CertPrivateKey.java │ │ │ │ ├── CoapClientX509Test.java │ │ │ │ └── TbAdvancedCertificateVerifier.java │ │ ├── lwm2m │ │ │ ├── AbstractLwM2MIntegrationTest.java │ │ │ ├── Lwm2mTestHelper.java │ │ │ ├── attributes │ │ │ │ ├── DefaultLwM2mAttributeParserTest.java │ │ │ │ ├── DefaultLwM2mLinkParserTest.java │ │ │ │ └── LwM2mAttributesTest.java │ │ │ ├── client │ │ │ │ ├── DtlsSessionLogger.java │ │ │ │ ├── FwLwM2MDevice.java │ │ │ │ ├── LwM2MLocationParams.java │ │ │ │ ├── LwM2MTestClient.java │ │ │ │ ├── LwM2mBinaryAppDataContainer.java │ │ │ │ ├── LwM2mLocation.java │ │ │ │ ├── LwM2mTemperatureSensor.java │ │ │ │ ├── Lwm2mServer.java │ │ │ │ ├── SimpleLwM2MDevice.java │ │ │ │ └── SwLwM2MDevice.java │ │ │ ├── ota │ │ │ │ ├── AbstractOtaLwM2MIntegrationTest.java │ │ │ │ └── sql │ │ │ │ │ ├── Ota5LwM2MIntegrationTest.java │ │ │ │ │ └── Ota9LwM2MIntegrationTest.java │ │ │ ├── rpc │ │ │ │ ├── AbstractRpcLwM2MIntegrationObserve_Ver_1_0_Test.java │ │ │ │ ├── AbstractRpcLwM2MIntegrationObserve_Ver_1_1_Test.java │ │ │ │ ├── AbstractRpcLwM2MIntegrationObserve_Ver_1_2_Test.java │ │ │ │ ├── AbstractRpcLwM2MIntegrationTest.java │ │ │ │ └── sql │ │ │ │ │ ├── RpcLwm2MIntegrationObserveCompositeTest.java │ │ │ │ │ ├── RpcLwm2mIntegrationCreateTest.java │ │ │ │ │ ├── RpcLwm2mIntegrationDataReceivedFromClientTest.java │ │ │ │ │ ├── RpcLwm2mIntegrationDeleteTest.java │ │ │ │ │ ├── RpcLwm2mIntegrationDiscoverTest.java │ │ │ │ │ ├── RpcLwm2mIntegrationDiscoverWriteAttributesTest.java │ │ │ │ │ ├── RpcLwm2mIntegrationExecuteTest.java │ │ │ │ │ ├── RpcLwm2mIntegrationInitReadCompositeAllTest.java │ │ │ │ │ ├── RpcLwm2mIntegrationInitReadCompositeByObjectTest.java │ │ │ │ │ ├── RpcLwm2mIntegrationObserveTest.java │ │ │ │ │ ├── RpcLwm2mIntegrationObserveVer10Test.java │ │ │ │ │ ├── RpcLwm2mIntegrationObserveVer11Test.java │ │ │ │ │ ├── RpcLwm2mIntegrationObserveVer12Test.java │ │ │ │ │ ├── RpcLwm2mIntegrationReadCollectedValueTest.java │ │ │ │ │ ├── RpcLwm2mIntegrationReadTest.java │ │ │ │ │ ├── RpcLwm2mIntegrationWriteCborTest.java │ │ │ │ │ └── RpcLwm2mIntegrationWriteTest.java │ │ │ ├── security │ │ │ │ ├── AbstractSecurityLwM2MIntegrationTest.java │ │ │ │ ├── cid │ │ │ │ │ ├── AbstractSecurityLwM2MIntegrationDtlsCidLength0Test.java │ │ │ │ │ ├── AbstractSecurityLwM2MIntegrationDtlsCidLength16Test.java │ │ │ │ │ ├── AbstractSecurityLwM2MIntegrationDtlsCidLength1Test.java │ │ │ │ │ ├── AbstractSecurityLwM2MIntegrationDtlsCidLength2Test.java │ │ │ │ │ ├── AbstractSecurityLwM2MIntegrationDtlsCidLength4Test.java │ │ │ │ │ ├── AbstractSecurityLwM2MIntegrationDtlsCidLengthNullTest.java │ │ │ │ │ ├── AbstractSecurityLwM2MIntegrationDtlsCidLengthTest.java │ │ │ │ │ ├── serverDtlsCidLength_0 │ │ │ │ │ │ ├── NoSecLwM2MIntegrationDtlsCidLengthTest.java │ │ │ │ │ │ └── PskLwm2mIntegrationDtlsCidLengthTest.java │ │ │ │ │ ├── serverDtlsCidLength_1 │ │ │ │ │ │ └── PskLwm2mIntegrationDtlsCidLengthTest.java │ │ │ │ │ ├── serverDtlsCidLength_16 │ │ │ │ │ │ ├── NoSecLwM2MIntegrationDtlsCidLengthTest.java │ │ │ │ │ │ └── PskLwm2mIntegrationDtlsCidLengthTest.java │ │ │ │ │ ├── serverDtlsCidLength_2 │ │ │ │ │ │ └── PskLwm2mIntegrationDtlsCidLengthTest.java │ │ │ │ │ ├── serverDtlsCidLength_4 │ │ │ │ │ │ └── PskLwm2mIntegrationDtlsCidLengthTest.java │ │ │ │ │ └── serverDtlsCidLength_null │ │ │ │ │ │ ├── NoSecLwM2MIntegrationDtlsCidLengthTest.java │ │ │ │ │ │ └── PskLwm2mIntegrationDtlsCidLengthTest.java │ │ │ │ ├── diffPort │ │ │ │ │ ├── AbstractLwM2MIntegrationDiffPortTest.java │ │ │ │ │ └── LwM2MIntegrationDiffPortTest.java │ │ │ │ └── sql │ │ │ │ │ ├── NoSecLwM2MIntegrationBS3SectionTriggerTest.java │ │ │ │ │ ├── NoSecLwM2MIntegrationBSLwm2mOnlyNoneTriggerOneSectionTest.java │ │ │ │ │ ├── NoSecLwM2MIntegrationBSNoTriggerTest.java │ │ │ │ │ ├── NoSecLwM2MIntegrationBSOnlyTriggerOneSectionTest.java │ │ │ │ │ ├── NoSecLwM2MIntegrationBSTriggerTest.java │ │ │ │ │ ├── NoSecLwM2MIntegrationTest.java │ │ │ │ │ ├── PskLwm2mIntegrationTest.java │ │ │ │ │ ├── RpkLwM2MIntegrationTest.java │ │ │ │ │ ├── X509_NoTrustLwM2MIntegrationTest.java │ │ │ │ │ └── X509_TrustLwM2MIntegrationTest.java │ │ │ ├── server │ │ │ │ └── LwM2mTransportServerHelperTest.java │ │ │ └── transportConfiguration │ │ │ │ ├── ObserveStrategyTransportConfigurationTest.java │ │ │ │ └── ObserveStrategyWithNoSecQueueModeConnectTest.java │ │ └── mqtt │ │ │ ├── AbstractMqttIntegrationTest.java │ │ │ ├── MqttGatewayRateLimitsTest.java │ │ │ ├── MqttTestConfigProperties.java │ │ │ ├── mqttv3 │ │ │ ├── MqttTestCallback.java │ │ │ ├── MqttTestClient.java │ │ │ ├── MqttTestSubscribeOnTopicCallback.java │ │ │ ├── attributes │ │ │ │ ├── AbstractMqttAttributesIntegrationTest.java │ │ │ │ ├── request │ │ │ │ │ ├── MqttAttributesRequestBackwardCompatibilityIntegrationTest.java │ │ │ │ │ ├── MqttAttributesRequestIntegrationTest.java │ │ │ │ │ ├── MqttAttributesRequestJsonIntegrationTest.java │ │ │ │ │ └── MqttAttributesRequestProtoIntegrationTest.java │ │ │ │ └── updates │ │ │ │ │ ├── MqttAttributesUpdatesBackwardCompatibilityIntegrationTest.java │ │ │ │ │ ├── MqttAttributesUpdatesIntegrationTest.java │ │ │ │ │ ├── MqttAttributesUpdatesJsonIntegrationTest.java │ │ │ │ │ └── MqttAttributesUpdatesProtoIntegrationTest.java │ │ │ ├── claim │ │ │ │ ├── MqttClaimBackwardCompatibilityDeviceTest.java │ │ │ │ ├── MqttClaimDeviceTest.java │ │ │ │ ├── MqttClaimJsonDeviceTest.java │ │ │ │ └── MqttClaimProtoDeviceTest.java │ │ │ ├── client │ │ │ │ ├── AbstractMqttClientConnectionTest.java │ │ │ │ └── MqttClientConnectionTest.java │ │ │ ├── credentials │ │ │ │ └── BasicMqttCredentialsTest.java │ │ │ ├── provision │ │ │ │ ├── MqttProvisionJsonDeviceTest.java │ │ │ │ └── MqttProvisionProtoDeviceTest.java │ │ │ ├── rpc │ │ │ │ ├── AbstractMqttServerSideRpcIntegrationTest.java │ │ │ │ ├── MqttClientSideRpcIntegrationTest.java │ │ │ │ ├── MqttServerSideRpcBackwardCompatibilityIntegrationTest.java │ │ │ │ ├── MqttServerSideRpcDefaultIntegrationTest.java │ │ │ │ ├── MqttServerSideRpcJsonIntegrationTest.java │ │ │ │ ├── MqttServerSideRpcProtoIntegrationTest.java │ │ │ │ ├── MqttServerSideRpcSequenceOnAckIntegrationTest.java │ │ │ │ └── MqttServerSideRpcSequenceOnResponseIntegrationTest.java │ │ │ └── telemetry │ │ │ │ ├── attributes │ │ │ │ ├── MqttAttributesIntegrationTest.java │ │ │ │ ├── MqttAttributesJsonIntegrationTest.java │ │ │ │ └── MqttAttributesProtoIntegrationTest.java │ │ │ │ └── timeseries │ │ │ │ ├── AbstractMqttTimeseriesIntegrationTest.java │ │ │ │ ├── AbstractMqttTimeseriesJsonIntegrationTest.java │ │ │ │ ├── AbstractMqttTimeseriesProtoIntegrationTest.java │ │ │ │ ├── nosql │ │ │ │ ├── MqttTimeseriesNoSqlIntegrationTest.java │ │ │ │ ├── MqttTimeseriesNoSqlJsonIntegrationTest.java │ │ │ │ └── MqttTimeseriesNoSqlProtoIntegrationTest.java │ │ │ │ └── sql │ │ │ │ ├── MqttTimeseriesSqlIntegrationTest.java │ │ │ │ ├── MqttTimeseriesSqlJsonIntegrationTest.java │ │ │ │ └── MqttTimeseriesSqlProtoIntegrationTest.java │ │ │ ├── mqttv5 │ │ │ ├── AbstractMqttV5Test.java │ │ │ ├── MqttV5TestCallback.java │ │ │ ├── MqttV5TestClient.java │ │ │ ├── attributes │ │ │ │ ├── AbstractAttributesMqttV5Test.java │ │ │ │ ├── updates │ │ │ │ │ └── AttributesUpdatesTest.java │ │ │ │ └── upload │ │ │ │ │ └── AttributesPublishTest.java │ │ │ ├── claim │ │ │ │ ├── AbstractMqttV5ClaimTest.java │ │ │ │ └── MqttV5ClaimTest.java │ │ │ ├── client │ │ │ │ ├── connection │ │ │ │ │ ├── AbstractMqttV5ClientConnectionTest.java │ │ │ │ │ └── MqttV5ClientConnectionTest.java │ │ │ │ ├── publish │ │ │ │ │ ├── AbstractMqttV5ClientPublishTest.java │ │ │ │ │ └── MqttV5ClientPublishTest.java │ │ │ │ ├── subscribe │ │ │ │ │ ├── AbstractMqttV5ClientSubscriptionTest.java │ │ │ │ │ └── MqttV5ClientSubscriptionTest.java │ │ │ │ └── unsubscribe │ │ │ │ │ ├── AbstractMqttV5ClientUnsubscribeTest.java │ │ │ │ │ └── MqttV5ClientUnsubscribeTest.java │ │ │ ├── provision │ │ │ │ └── MqttV5ProvisionDeviceTest.java │ │ │ ├── rpc │ │ │ │ ├── AbstractMqttV5RpcTest.java │ │ │ │ ├── MqttV5CloseTransportSessionOnRpcDeliveryTimeoutIntegrationTest.java │ │ │ │ └── MqttV5RpcTest.java │ │ │ └── timeseries │ │ │ │ ├── AbstractMqttV5TimeseriesTest.java │ │ │ │ └── MqttV5TimeseriesTest.java │ │ │ └── sparkplug │ │ │ ├── AbstractMqttV5ClientSparkplugTest.java │ │ │ ├── attributes │ │ │ ├── AbstractMqttV5ClientSparkplugAttributesTest.java │ │ │ ├── MqttV5ClientSparkplugBAttributesInProfileTest.java │ │ │ └── MqttV5ClientSparkplugBAttributesTest.java │ │ │ ├── connection │ │ │ ├── AbstractMqttV5ClientSparkplugConnectionTest.java │ │ │ └── MqttV5ClientSparkplugBConnectionTest.java │ │ │ ├── rpc │ │ │ ├── AbstractMqttV5RpcSparkplugTest.java │ │ │ └── MqttV5RpcSparkplugTest.java │ │ │ └── timeseries │ │ │ ├── AbstractMqttV5ClientSparkplugTelemetryTest.java │ │ │ └── MqttV5ClientSparkplugBTelemetryTest.java │ │ └── utils │ │ ├── CalculatedFieldUtilsTest.java │ │ └── TbNodeUpgradeUtilsTest.java │ └── resources │ ├── application-test.properties │ ├── coap │ └── credentials │ │ ├── client │ │ ├── cert.pem │ │ ├── cert_01.pem │ │ ├── key.pem │ │ └── key_01.pem │ │ ├── coapclientTest.jks │ │ ├── coapserverTest.jks │ │ └── server │ │ └── cert.pem │ ├── logback-test.xml │ ├── lwm2m │ ├── 0.xml │ ├── 1.xml │ ├── 19.xml │ ├── 2.xml │ ├── 3-1_0.xml │ ├── 3-1_1.xml │ ├── 3-1_2.xml │ ├── 3303.xml │ ├── 5.xml │ ├── 6.xml │ ├── 9.xml │ └── credentials │ │ ├── lwm2mclient.jks │ │ ├── lwm2mserver.jks │ │ └── lwm2mtruststorechain.jks │ ├── mockito-extensions │ └── org.mockito.plugins.MockMaker │ ├── provision │ └── x509ChainProvisionTest.pem │ └── update │ └── 330 │ ├── README.md │ ├── device_profile_001_in.json │ └── device_profile_001_out.json ├── common ├── actor │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── actors │ │ │ ├── AbstractTbActor.java │ │ │ ├── DefaultTbActorSystem.java │ │ │ ├── Dispatcher.java │ │ │ ├── InitFailureStrategy.java │ │ │ ├── ProcessFailureStrategy.java │ │ │ ├── TbActor.java │ │ │ ├── TbActorCreator.java │ │ │ ├── TbActorCtx.java │ │ │ ├── TbActorException.java │ │ │ ├── TbActorId.java │ │ │ ├── TbActorMailbox.java │ │ │ ├── TbActorNotRegisteredException.java │ │ │ ├── TbActorRef.java │ │ │ ├── TbActorSystem.java │ │ │ ├── TbActorSystemSettings.java │ │ │ ├── TbCalculatedFieldEntityActorId.java │ │ │ ├── TbEntityActorId.java │ │ │ ├── TbRuleNodeUpdateException.java │ │ │ └── TbStringActorId.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── actors │ │ │ ├── ActorSystemTest.java │ │ │ ├── ActorTestCtx.java │ │ │ ├── FailedToInitActor.java │ │ │ ├── IntTbActorMsg.java │ │ │ ├── SlowCreateActor.java │ │ │ ├── SlowInitActor.java │ │ │ └── TestRootActor.java │ │ └── resources │ │ ├── junit-platform.properties │ │ └── logback-test.xml ├── cache │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── cache │ │ │ ├── CacheSpecs.java │ │ │ ├── CacheSpecsMap.java │ │ │ ├── CaffeineTbCacheTransaction.java │ │ │ ├── CaffeineTbTransactionalCache.java │ │ │ ├── RedisSslCredentials.java │ │ │ ├── RedisTbCacheTransaction.java │ │ │ ├── RedisTbTransactionalCache.java │ │ │ ├── SimpleTbCacheValueWrapper.java │ │ │ ├── TBRedisCacheConfiguration.java │ │ │ ├── TBRedisClusterConfiguration.java │ │ │ ├── TBRedisSentinelConfiguration.java │ │ │ ├── TBRedisStandaloneConfiguration.java │ │ │ ├── TbCacheTransaction.java │ │ │ ├── TbCacheValueWrapper.java │ │ │ ├── TbCaffeineCacheConfiguration.java │ │ │ ├── TbJavaRedisSerializer.java │ │ │ ├── TbJsonRedisSerializer.java │ │ │ ├── TbRedisSerializer.java │ │ │ ├── TbTransactionalCache.java │ │ │ ├── TbTypedJsonRedisSerializer.java │ │ │ ├── VersionedCacheKey.java │ │ │ ├── VersionedCaffeineTbCache.java │ │ │ ├── VersionedRedisTbCache.java │ │ │ ├── VersionedTbCache.java │ │ │ ├── customer │ │ │ ├── CustomerCacheEvictEvent.java │ │ │ ├── CustomerCacheKey.java │ │ │ ├── CustomerCaffeineCache.java │ │ │ └── CustomerRedisCache.java │ │ │ ├── device │ │ │ ├── DeviceCacheEvictEvent.java │ │ │ ├── DeviceCacheKey.java │ │ │ ├── DeviceCaffeineCache.java │ │ │ └── DeviceRedisCache.java │ │ │ ├── edge │ │ │ ├── EdgeCacheEvictEvent.java │ │ │ ├── EdgeCacheKey.java │ │ │ ├── EdgeCaffeineCache.java │ │ │ ├── EdgeRedisCache.java │ │ │ ├── RelatedEdgesCacheKey.java │ │ │ ├── RelatedEdgesCacheValue.java │ │ │ ├── RelatedEdgesCaffeineCache.java │ │ │ ├── RelatedEdgesEvictEvent.java │ │ │ └── RelatedEdgesRedisCache.java │ │ │ ├── limits │ │ │ ├── DefaultRateLimitService.java │ │ │ ├── RateLimitService.java │ │ │ └── TenantProfileProvider.java │ │ │ ├── ota │ │ │ ├── CaffeineOtaPackageCache.java │ │ │ ├── OtaPackageDataCache.java │ │ │ └── RedisOtaPackageDataCache.java │ │ │ ├── resourceInfo │ │ │ ├── ResourceInfoCacheKey.java │ │ │ ├── ResourceInfoCaffeineCache.java │ │ │ ├── ResourceInfoEvictEvent.java │ │ │ └── ResourceInfoRedisCache.java │ │ │ ├── user │ │ │ ├── UserCacheEvictEvent.java │ │ │ ├── UserCacheKey.java │ │ │ ├── UserCaffeineCache.java │ │ │ └── UserRedisCache.java │ │ │ └── usersUpdateTime │ │ │ ├── UsersSessionInvalidationCaffeineCache.java │ │ │ └── UsersSessionInvalidationRedisCache.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── cache │ │ │ ├── CacheSpecsMapTest.java │ │ │ └── TsLatestRedisCacheTest.java │ │ └── resources │ │ ├── junit-platform.properties │ │ └── logback-test.xml ├── cluster-api │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── thingsboard │ │ └── server │ │ ├── cluster │ │ └── TbClusterService.java │ │ └── queue │ │ ├── TbEdgeQueueAdmin.java │ │ ├── TbQueueAdmin.java │ │ ├── TbQueueCallback.java │ │ ├── TbQueueClusterService.java │ │ ├── TbQueueConsumer.java │ │ ├── TbQueueHandler.java │ │ ├── TbQueueMsg.java │ │ ├── TbQueueMsgDecoder.java │ │ ├── TbQueueMsgHeaders.java │ │ ├── TbQueueMsgMetadata.java │ │ ├── TbQueueProducer.java │ │ ├── TbQueueRequestTemplate.java │ │ └── TbQueueResponseTemplate.java ├── coap-server │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── coapserver │ │ │ ├── CoapServerContext.java │ │ │ ├── CoapServerService.java │ │ │ ├── DefaultCoapServerService.java │ │ │ ├── TbCoapDtlsCertificateVerifier.java │ │ │ ├── TbCoapDtlsSessionInMemoryStorage.java │ │ │ ├── TbCoapDtlsSessionInfo.java │ │ │ ├── TbCoapDtlsSessionKey.java │ │ │ ├── TbCoapDtlsSettings.java │ │ │ ├── TbCoapServerComponent.java │ │ │ ├── TbCoapServerMessageDeliverer.java │ │ │ └── TbCoapTransportComponent.java │ │ └── test │ │ └── java │ │ └── org │ │ └── thingsboard │ │ └── server │ │ └── coapserver │ │ └── TbCoapDtlsSettingsTest.java ├── dao-api │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── thingsboard │ │ └── server │ │ └── dao │ │ ├── ai │ │ └── AiModelService.java │ │ ├── alarm │ │ ├── AlarmCommentService.java │ │ └── AlarmService.java │ │ ├── asset │ │ ├── AssetProfileService.java │ │ └── AssetService.java │ │ ├── attributes │ │ └── AttributesService.java │ │ ├── audit │ │ └── AuditLogService.java │ │ ├── cassandra │ │ ├── AbstractCassandraCluster.java │ │ ├── CassandraCluster.java │ │ ├── CassandraDriverOptions.java │ │ ├── CassandraInstallCluster.java │ │ └── guava │ │ │ ├── DefaultGuavaSession.java │ │ │ ├── GuavaDriverContext.java │ │ │ ├── GuavaMultiPageResultSet.java │ │ │ ├── GuavaRequestAsyncProcessor.java │ │ │ ├── GuavaSession.java │ │ │ ├── GuavaSessionBuilder.java │ │ │ └── GuavaSessionUtils.java │ │ ├── cf │ │ └── CalculatedFieldService.java │ │ ├── cloud │ │ ├── CloudEventService.java │ │ ├── CloudSynchronizationManager.java │ │ └── EdgeSettingsService.java │ │ ├── component │ │ └── ComponentDescriptorService.java │ │ ├── customer │ │ └── CustomerService.java │ │ ├── dashboard │ │ └── DashboardService.java │ │ ├── device │ │ ├── ClaimDevicesService.java │ │ ├── DeviceConnectivityService.java │ │ ├── DeviceCredentialsService.java │ │ ├── DeviceProfileService.java │ │ ├── DeviceProvisionService.java │ │ ├── DeviceService.java │ │ ├── claim │ │ │ ├── ClaimData.java │ │ │ ├── ClaimResponse.java │ │ │ ├── ClaimResult.java │ │ │ └── ReclaimResult.java │ │ └── provision │ │ │ ├── ProvisionFailedException.java │ │ │ ├── ProvisionRequest.java │ │ │ ├── ProvisionResponse.java │ │ │ └── ProvisionResponseStatus.java │ │ ├── domain │ │ └── DomainService.java │ │ ├── edge │ │ ├── EdgeEventService.java │ │ ├── EdgeService.java │ │ ├── EdgeSynchronizationManager.java │ │ └── RelatedEdgesService.java │ │ ├── entity │ │ ├── EntityCountService.java │ │ ├── EntityDaoService.java │ │ ├── EntityService.java │ │ └── EntityServiceRegistry.java │ │ ├── entityview │ │ └── EntityViewService.java │ │ ├── event │ │ └── EventService.java │ │ ├── job │ │ └── JobService.java │ │ ├── mobile │ │ ├── MobileAppBundleService.java │ │ └── MobileAppService.java │ │ ├── nosql │ │ ├── CassandraStatementTask.java │ │ ├── TbResultSet.java │ │ └── TbResultSetFuture.java │ │ ├── notification │ │ ├── NotificationRequestService.java │ │ ├── NotificationRuleService.java │ │ ├── NotificationService.java │ │ ├── NotificationSettingsService.java │ │ ├── NotificationTargetService.java │ │ └── NotificationTemplateService.java │ │ ├── oauth2 │ │ ├── OAuth2ClientService.java │ │ ├── OAuth2ConfigTemplateService.java │ │ └── OAuth2User.java │ │ ├── ota │ │ └── OtaPackageService.java │ │ ├── pat │ │ └── ApiKeyService.java │ │ ├── queue │ │ ├── QueueService.java │ │ └── QueueStatsService.java │ │ ├── relation │ │ └── RelationService.java │ │ ├── resource │ │ ├── ImageService.java │ │ ├── ResourceService.java │ │ └── TbResourceDataCache.java │ │ ├── rpc │ │ └── RpcService.java │ │ ├── rule │ │ ├── RuleChainService.java │ │ └── RuleNodeStateService.java │ │ ├── settings │ │ └── AdminSettingsService.java │ │ ├── tenant │ │ ├── TbTenantProfileCache.java │ │ ├── TenantProfileService.java │ │ └── TenantService.java │ │ ├── timeseries │ │ └── TimeseriesService.java │ │ ├── trendz │ │ └── TrendzSettingsService.java │ │ ├── usage │ │ └── UsageInfoService.java │ │ ├── usagerecord │ │ ├── ApiLimitService.java │ │ └── ApiUsageStateService.java │ │ ├── user │ │ ├── UserService.java │ │ └── UserSettingsService.java │ │ ├── util │ │ ├── AsyncTask.java │ │ ├── DbTypeInfoComponent.java │ │ ├── DefaultDbTypeInfoComponent.java │ │ ├── NoSqlAnyDao.java │ │ ├── NoSqlAnyDaoNonCloud.java │ │ ├── NoSqlTsDao.java │ │ ├── NoSqlTsLatestDao.java │ │ ├── SqlDao.java │ │ ├── SqlTsDao.java │ │ ├── SqlTsLatestAnyDao.java │ │ ├── SqlTsLatestAnyDaoCachedRedis.java │ │ ├── SqlTsLatestDao.java │ │ ├── SqlTsOrTsLatestAnyDao.java │ │ ├── TbAutoConfiguration.java │ │ ├── TimescaleDBTsDao.java │ │ ├── TimescaleDBTsLatestDao.java │ │ └── TimescaleDBTsOrTsLatestDao.java │ │ └── widget │ │ ├── WidgetTypeService.java │ │ └── WidgetsBundleService.java ├── data │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── common │ │ │ └── data │ │ │ ├── AdminSettings.java │ │ │ ├── ApiFeature.java │ │ │ ├── ApiUsageRecordKey.java │ │ │ ├── ApiUsageRecordState.java │ │ │ ├── ApiUsageState.java │ │ │ ├── ApiUsageStateValue.java │ │ │ ├── AttributeScope.java │ │ │ ├── BaseData.java │ │ │ ├── BaseDataWithAdditionalInfo.java │ │ │ ├── CacheConstants.java │ │ │ ├── ClaimRequest.java │ │ │ ├── CloudUtils.java │ │ │ ├── CoapDeviceType.java │ │ │ ├── ContactBased.java │ │ │ ├── Customer.java │ │ │ ├── Dashboard.java │ │ │ ├── DashboardInfo.java │ │ │ ├── DataConstants.java │ │ │ ├── Device.java │ │ │ ├── DeviceIdInfo.java │ │ │ ├── DeviceInfo.java │ │ │ ├── DeviceInfoFilter.java │ │ │ ├── DeviceProfile.java │ │ │ ├── DeviceProfileInfo.java │ │ │ ├── DeviceProfileProvisionType.java │ │ │ ├── DeviceProfileType.java │ │ │ ├── DeviceTransportType.java │ │ │ ├── DynamicProtoUtils.java │ │ │ ├── EdgeUpgradeInfo.java │ │ │ ├── EdgeUpgradeMessage.java │ │ │ ├── EdgeUtils.java │ │ │ ├── EntityFieldsData.java │ │ │ ├── EntityInfo.java │ │ │ ├── EntitySubtype.java │ │ │ ├── EntityType.java │ │ │ ├── EntityView.java │ │ │ ├── EntityViewInfo.java │ │ │ ├── EventInfo.java │ │ │ ├── ExportableEntity.java │ │ │ ├── FeaturesInfo.java │ │ │ ├── FstStatsService.java │ │ │ ├── GeneralFileDescriptor.java │ │ │ ├── HasAdditionalInfo.java │ │ │ ├── HasCustomerId.java │ │ │ ├── HasDebugSettings.java │ │ │ ├── HasDefaultOption.java │ │ │ ├── HasEmail.java │ │ │ ├── HasImage.java │ │ │ ├── HasLabel.java │ │ │ ├── HasName.java │ │ │ ├── HasOtaPackage.java │ │ │ ├── HasRuleEngineProfile.java │ │ │ ├── HasTenantId.java │ │ │ ├── HasTitle.java │ │ │ ├── HasVersion.java │ │ │ ├── HomeDashboard.java │ │ │ ├── HomeDashboardInfo.java │ │ │ ├── ImageDescriptor.java │ │ │ ├── JavaSerDesUtil.java │ │ │ ├── NameConflictPolicy.java │ │ │ ├── NameConflictStrategy.java │ │ │ ├── ObjectType.java │ │ │ ├── OtaPackage.java │ │ │ ├── OtaPackageInfo.java │ │ │ ├── ProfileEntityIdInfo.java │ │ │ ├── ResourceExportData.java │ │ │ ├── ResourceSubType.java │ │ │ ├── ResourceType.java │ │ │ ├── ResourceUtils.java │ │ │ ├── SaveDeviceWithCredentialsRequest.java │ │ │ ├── SaveOtaPackageInfoRequest.java │ │ │ ├── ShortCustomerInfo.java │ │ │ ├── StringUtils.java │ │ │ ├── SystemInfo.java │ │ │ ├── SystemInfoData.java │ │ │ ├── SystemParams.java │ │ │ ├── TbImageDeleteResult.java │ │ │ ├── TbProperty.java │ │ │ ├── TbResource.java │ │ │ ├── TbResourceDataInfo.java │ │ │ ├── TbResourceDeleteResult.java │ │ │ ├── TbResourceInfo.java │ │ │ ├── TbResourceInfoFilter.java │ │ │ ├── TbTransportService.java │ │ │ ├── Tenant.java │ │ │ ├── TenantInfo.java │ │ │ ├── TenantProfile.java │ │ │ ├── TenantProfileType.java │ │ │ ├── TransportPayloadType.java │ │ │ ├── UUIDConverter.java │ │ │ ├── UniquifyStrategy.java │ │ │ ├── UpdateMessage.java │ │ │ ├── UsageInfo.java │ │ │ ├── User.java │ │ │ ├── UserActivationLink.java │ │ │ ├── UserAuthDetails.java │ │ │ ├── UserEmailInfo.java │ │ │ ├── Views.java │ │ │ ├── ai │ │ │ ├── AiModel.java │ │ │ ├── dto │ │ │ │ ├── TbChatRequest.java │ │ │ │ ├── TbChatResponse.java │ │ │ │ ├── TbContent.java │ │ │ │ └── TbUserMessage.java │ │ │ ├── model │ │ │ │ ├── AiModelConfig.java │ │ │ │ ├── AiModelType.java │ │ │ │ └── chat │ │ │ │ │ ├── AiChatModelConfig.java │ │ │ │ │ ├── AmazonBedrockChatModelConfig.java │ │ │ │ │ ├── AnthropicChatModelConfig.java │ │ │ │ │ ├── AzureOpenAiChatModelConfig.java │ │ │ │ │ ├── GitHubModelsChatModelConfig.java │ │ │ │ │ ├── GoogleAiGeminiChatModelConfig.java │ │ │ │ │ ├── GoogleVertexAiGeminiChatModelConfig.java │ │ │ │ │ ├── Langchain4jChatModelConfigurer.java │ │ │ │ │ ├── MistralAiChatModelConfig.java │ │ │ │ │ ├── OllamaChatModelConfig.java │ │ │ │ │ └── OpenAiChatModelConfig.java │ │ │ └── provider │ │ │ │ ├── AiProvider.java │ │ │ │ ├── AiProviderConfig.java │ │ │ │ ├── AmazonBedrockProviderConfig.java │ │ │ │ ├── AnthropicProviderConfig.java │ │ │ │ ├── AzureOpenAiProviderConfig.java │ │ │ │ ├── GitHubModelsProviderConfig.java │ │ │ │ ├── GoogleAiGeminiProviderConfig.java │ │ │ │ ├── GoogleVertexAiGeminiProviderConfig.java │ │ │ │ ├── MistralAiProviderConfig.java │ │ │ │ ├── OllamaProviderConfig.java │ │ │ │ └── OpenAiProviderConfig.java │ │ │ ├── alarm │ │ │ ├── Alarm.java │ │ │ ├── AlarmApiCallResult.java │ │ │ ├── AlarmAssignee.java │ │ │ ├── AlarmAssigneeUpdate.java │ │ │ ├── AlarmComment.java │ │ │ ├── AlarmCommentInfo.java │ │ │ ├── AlarmCommentSubType.java │ │ │ ├── AlarmCommentType.java │ │ │ ├── AlarmCreateOrUpdateActiveRequest.java │ │ │ ├── AlarmInfo.java │ │ │ ├── AlarmModificationRequest.java │ │ │ ├── AlarmPropagationInfo.java │ │ │ ├── AlarmQuery.java │ │ │ ├── AlarmQueryV2.java │ │ │ ├── AlarmSearchStatus.java │ │ │ ├── AlarmSeverity.java │ │ │ ├── AlarmStatus.java │ │ │ ├── AlarmStatusFilter.java │ │ │ ├── AlarmUpdateRequest.java │ │ │ ├── EntityAlarm.java │ │ │ └── rule │ │ │ │ ├── AlarmRule.java │ │ │ │ └── condition │ │ │ │ ├── AlarmCondition.java │ │ │ │ ├── AlarmConditionType.java │ │ │ │ ├── AlarmConditionValue.java │ │ │ │ ├── DurationAlarmCondition.java │ │ │ │ ├── RepeatingAlarmCondition.java │ │ │ │ ├── SimpleAlarmCondition.java │ │ │ │ ├── expression │ │ │ │ ├── AlarmConditionExpression.java │ │ │ │ ├── AlarmConditionExpressionType.java │ │ │ │ ├── AlarmConditionFilter.java │ │ │ │ ├── ComplexOperation.java │ │ │ │ ├── SimpleAlarmConditionExpression.java │ │ │ │ ├── TbelAlarmConditionExpression.java │ │ │ │ └── predicate │ │ │ │ │ ├── BooleanFilterPredicate.java │ │ │ │ │ ├── ComplexFilterPredicate.java │ │ │ │ │ ├── FilterPredicateType.java │ │ │ │ │ ├── KeyFilterPredicate.java │ │ │ │ │ ├── NumericFilterPredicate.java │ │ │ │ │ ├── SimpleKeyFilterPredicate.java │ │ │ │ │ └── StringFilterPredicate.java │ │ │ │ └── schedule │ │ │ │ ├── AlarmSchedule.java │ │ │ │ ├── AlarmScheduleType.java │ │ │ │ ├── AnyTimeSchedule.java │ │ │ │ ├── CustomTimeSchedule.java │ │ │ │ ├── CustomTimeScheduleItem.java │ │ │ │ └── SpecificTimeSchedule.java │ │ │ ├── asset │ │ │ ├── Asset.java │ │ │ ├── AssetInfo.java │ │ │ ├── AssetProfile.java │ │ │ ├── AssetProfileInfo.java │ │ │ └── AssetSearchQuery.java │ │ │ ├── audit │ │ │ ├── ActionStatus.java │ │ │ ├── ActionType.java │ │ │ └── AuditLog.java │ │ │ ├── cf │ │ │ ├── CalculatedField.java │ │ │ ├── CalculatedFieldFilter.java │ │ │ ├── CalculatedFieldInfo.java │ │ │ ├── CalculatedFieldLink.java │ │ │ ├── CalculatedFieldType.java │ │ │ └── configuration │ │ │ │ ├── AlarmCalculatedFieldConfiguration.java │ │ │ │ ├── Argument.java │ │ │ │ ├── ArgumentType.java │ │ │ │ ├── ArgumentsBasedCalculatedFieldConfiguration.java │ │ │ │ ├── AttributesImmediateOutputStrategy.java │ │ │ │ ├── AttributesOutput.java │ │ │ │ ├── AttributesOutputStrategy.java │ │ │ │ ├── AttributesRuleChainOutputStrategy.java │ │ │ │ ├── BaseCalculatedFieldConfiguration.java │ │ │ │ ├── CFArgumentDynamicSourceType.java │ │ │ │ ├── CalculatedFieldConfiguration.java │ │ │ │ ├── CfArgumentDynamicSourceConfiguration.java │ │ │ │ ├── CurrentOwnerDynamicSourceConfiguration.java │ │ │ │ ├── ExpressionBasedCalculatedFieldConfiguration.java │ │ │ │ ├── Output.java │ │ │ │ ├── OutputStrategy.java │ │ │ │ ├── OutputStrategyType.java │ │ │ │ ├── OutputType.java │ │ │ │ ├── PropagationCalculatedFieldConfiguration.java │ │ │ │ ├── ReferencedEntityKey.java │ │ │ │ ├── RelationPathQueryDynamicSourceConfiguration.java │ │ │ │ ├── ScheduledUpdateSupportedCalculatedFieldConfiguration.java │ │ │ │ ├── ScriptCalculatedFieldConfiguration.java │ │ │ │ ├── SimpleCalculatedFieldConfiguration.java │ │ │ │ ├── TimeSeriesImmediateOutputStrategy.java │ │ │ │ ├── TimeSeriesOutput.java │ │ │ │ ├── TimeSeriesOutputStrategy.java │ │ │ │ ├── TimeSeriesRuleChainOutputStrategy.java │ │ │ │ ├── aggregation │ │ │ │ ├── AggFunction.java │ │ │ │ ├── AggFunctionInput.java │ │ │ │ ├── AggInput.java │ │ │ │ ├── AggKeyInput.java │ │ │ │ ├── AggMetric.java │ │ │ │ ├── RelatedEntitiesAggregationCalculatedFieldConfiguration.java │ │ │ │ └── single │ │ │ │ │ ├── EntityAggregationCalculatedFieldConfiguration.java │ │ │ │ │ └── interval │ │ │ │ │ ├── AggInterval.java │ │ │ │ │ ├── AggIntervalType.java │ │ │ │ │ ├── BaseAggInterval.java │ │ │ │ │ ├── CustomInterval.java │ │ │ │ │ ├── DayInterval.java │ │ │ │ │ ├── HourInterval.java │ │ │ │ │ ├── MonthInterval.java │ │ │ │ │ ├── QuarterInterval.java │ │ │ │ │ ├── Watermark.java │ │ │ │ │ ├── WeekInterval.java │ │ │ │ │ ├── WeekSunSatInterval.java │ │ │ │ │ └── YearInterval.java │ │ │ │ └── geofencing │ │ │ │ ├── EntityCoordinates.java │ │ │ │ ├── GeofencingCalculatedFieldConfiguration.java │ │ │ │ ├── GeofencingEvent.java │ │ │ │ ├── GeofencingPresenceStatus.java │ │ │ │ ├── GeofencingReportStrategy.java │ │ │ │ ├── GeofencingTransitionEvent.java │ │ │ │ └── ZoneGroupConfiguration.java │ │ │ ├── cloud │ │ │ ├── CloudEvent.java │ │ │ └── CloudEventType.java │ │ │ ├── debug │ │ │ └── DebugSettings.java │ │ │ ├── device │ │ │ ├── DeviceSearchQuery.java │ │ │ ├── credentials │ │ │ │ ├── BasicMqttCredentials.java │ │ │ │ ├── ProvisionDeviceCredentialsData.java │ │ │ │ └── lwm2m │ │ │ │ │ ├── AbstractLwM2MBootstrapClientCredentialWithKeys.java │ │ │ │ │ ├── AbstractLwM2MClientCredential.java │ │ │ │ │ ├── AbstractLwM2MClientSecurityCredential.java │ │ │ │ │ ├── LwM2MBootstrapClientCredential.java │ │ │ │ │ ├── LwM2MBootstrapClientCredentials.java │ │ │ │ │ ├── LwM2MClientCredential.java │ │ │ │ │ ├── LwM2MDeviceCredentials.java │ │ │ │ │ ├── LwM2MSecurityMode.java │ │ │ │ │ ├── Lwm2mServerIdentifier.java │ │ │ │ │ ├── NoSecBootstrapClientCredential.java │ │ │ │ │ ├── NoSecClientCredential.java │ │ │ │ │ ├── PSKBootstrapClientCredential.java │ │ │ │ │ ├── PSKClientCredential.java │ │ │ │ │ ├── RPKBootstrapClientCredential.java │ │ │ │ │ ├── RPKClientCredential.java │ │ │ │ │ ├── X509BootstrapClientCredential.java │ │ │ │ │ └── X509ClientCredential.java │ │ │ ├── data │ │ │ │ ├── CoapDeviceTransportConfiguration.java │ │ │ │ ├── DefaultDeviceConfiguration.java │ │ │ │ ├── DefaultDeviceTransportConfiguration.java │ │ │ │ ├── DeviceConfiguration.java │ │ │ │ ├── DeviceData.java │ │ │ │ ├── DeviceTransportConfiguration.java │ │ │ │ ├── Lwm2mDeviceTransportConfiguration.java │ │ │ │ ├── MqttDeviceTransportConfiguration.java │ │ │ │ ├── PowerMode.java │ │ │ │ ├── PowerSavingConfiguration.java │ │ │ │ └── SnmpDeviceTransportConfiguration.java │ │ │ └── profile │ │ │ │ ├── AlarmCondition.java │ │ │ │ ├── AlarmConditionFilter.java │ │ │ │ ├── AlarmConditionFilterKey.java │ │ │ │ ├── AlarmConditionKeyType.java │ │ │ │ ├── AlarmConditionSpec.java │ │ │ │ ├── AlarmConditionSpecType.java │ │ │ │ ├── AlarmRule.java │ │ │ │ ├── AlarmSchedule.java │ │ │ │ ├── AlarmScheduleType.java │ │ │ │ ├── AllowCreateNewDevicesDeviceProfileProvisionConfiguration.java │ │ │ │ ├── AnyTimeSchedule.java │ │ │ │ ├── CheckPreProvisionedDevicesDeviceProfileProvisionConfiguration.java │ │ │ │ ├── CoapDeviceProfileTransportConfiguration.java │ │ │ │ ├── CoapDeviceTypeConfiguration.java │ │ │ │ ├── CustomTimeSchedule.java │ │ │ │ ├── CustomTimeScheduleItem.java │ │ │ │ ├── DefaultCoapDeviceTypeConfiguration.java │ │ │ │ ├── DefaultDeviceProfileConfiguration.java │ │ │ │ ├── DefaultDeviceProfileTransportConfiguration.java │ │ │ │ ├── DeviceProfileAlarm.java │ │ │ │ ├── DeviceProfileConfiguration.java │ │ │ │ ├── DeviceProfileData.java │ │ │ │ ├── DeviceProfileProvisionConfiguration.java │ │ │ │ ├── DeviceProfileTransportConfiguration.java │ │ │ │ ├── DisabledDeviceProfileProvisionConfiguration.java │ │ │ │ ├── DurationAlarmConditionSpec.java │ │ │ │ ├── EfentoCoapDeviceTypeConfiguration.java │ │ │ │ ├── JsonTransportPayloadConfiguration.java │ │ │ │ ├── Lwm2mDeviceProfileTransportConfiguration.java │ │ │ │ ├── MqttDeviceProfileTransportConfiguration.java │ │ │ │ ├── MqttTopics.java │ │ │ │ ├── ProtoTransportPayloadConfiguration.java │ │ │ │ ├── ProvisionDeviceProfileCredentials.java │ │ │ │ ├── RepeatingAlarmConditionSpec.java │ │ │ │ ├── SimpleAlarmConditionSpec.java │ │ │ │ ├── SnmpDeviceProfileTransportConfiguration.java │ │ │ │ ├── SpecificTimeSchedule.java │ │ │ │ ├── TransportPayloadTypeConfiguration.java │ │ │ │ ├── X509CertificateChainProvisionConfiguration.java │ │ │ │ └── lwm2m │ │ │ │ ├── ObjectAttributes.java │ │ │ │ ├── OtherConfiguration.java │ │ │ │ ├── TelemetryMappingConfiguration.java │ │ │ │ ├── TelemetryObserveStrategy.java │ │ │ │ └── bootstrap │ │ │ │ ├── AbstractLwM2MBootstrapServerCredential.java │ │ │ │ ├── LwM2MBootstrapServerCredential.java │ │ │ │ ├── LwM2MServerSecurityConfig.java │ │ │ │ ├── LwM2MServerSecurityConfigDefault.java │ │ │ │ ├── NoSecLwM2MBootstrapServerCredential.java │ │ │ │ ├── PSKLwM2MBootstrapServerCredential.java │ │ │ │ ├── RPKLwM2MBootstrapServerCredential.java │ │ │ │ └── X509LwM2MBootstrapServerCredential.java │ │ │ ├── domain │ │ │ ├── Domain.java │ │ │ ├── DomainInfo.java │ │ │ └── DomainOauth2Client.java │ │ │ ├── edge │ │ │ ├── Edge.java │ │ │ ├── EdgeEvent.java │ │ │ ├── EdgeEventActionType.java │ │ │ ├── EdgeEventType.java │ │ │ ├── EdgeInfo.java │ │ │ ├── EdgeInstructions.java │ │ │ ├── EdgeSearchQuery.java │ │ │ └── EdgeSettings.java │ │ │ ├── edqs │ │ │ ├── AttributeKv.java │ │ │ ├── DataPoint.java │ │ │ ├── EdqsEvent.java │ │ │ ├── EdqsEventType.java │ │ │ ├── EdqsObject.java │ │ │ ├── EdqsObjectKey.java │ │ │ ├── EdqsState.java │ │ │ ├── EdqsSyncRequest.java │ │ │ ├── Entity.java │ │ │ ├── LatestTsKv.java │ │ │ ├── ToCoreEdqsMsg.java │ │ │ ├── ToCoreEdqsRequest.java │ │ │ ├── fields │ │ │ │ ├── AbstractEntityFields.java │ │ │ │ ├── ApiUsageStateFields.java │ │ │ │ ├── AssetFields.java │ │ │ │ ├── AssetProfileFields.java │ │ │ │ ├── CustomerFields.java │ │ │ │ ├── DashboardFields.java │ │ │ │ ├── DeviceFields.java │ │ │ │ ├── DeviceProfileFields.java │ │ │ │ ├── EdgeFields.java │ │ │ │ ├── EntityFields.java │ │ │ │ ├── EntityIdFields.java │ │ │ │ ├── EntityViewFields.java │ │ │ │ ├── FieldsUtil.java │ │ │ │ ├── GenericFields.java │ │ │ │ ├── ProfileAwareFields.java │ │ │ │ ├── QueueStatsFields.java │ │ │ │ ├── RuleChainFields.java │ │ │ │ ├── RuleNodeFields.java │ │ │ │ ├── TenantFields.java │ │ │ │ ├── TenantProfileFields.java │ │ │ │ ├── UserFields.java │ │ │ │ ├── WidgetTypeFields.java │ │ │ │ └── WidgetsBundleFields.java │ │ │ └── query │ │ │ │ ├── EdqsRequest.java │ │ │ │ ├── EdqsResponse.java │ │ │ │ └── QueryResult.java │ │ │ ├── entityview │ │ │ └── EntityViewSearchQuery.java │ │ │ ├── event │ │ │ ├── CalculatedFieldDebugEvent.java │ │ │ ├── CalculatedFieldDebugEventFilter.java │ │ │ ├── DebugEventFilter.java │ │ │ ├── ErrorEvent.java │ │ │ ├── ErrorEventFilter.java │ │ │ ├── Event.java │ │ │ ├── EventFilter.java │ │ │ ├── EventType.java │ │ │ ├── LifeCycleEventFilter.java │ │ │ ├── LifecycleEvent.java │ │ │ ├── RuleChainDebugEvent.java │ │ │ ├── RuleChainDebugEventFilter.java │ │ │ ├── RuleNodeDebugEvent.java │ │ │ ├── RuleNodeDebugEventFilter.java │ │ │ ├── StatisticsEvent.java │ │ │ └── StatisticsEventFilter.java │ │ │ ├── exception │ │ │ ├── AbstractRateLimitException.java │ │ │ ├── ApiUsageLimitsExceededException.java │ │ │ ├── EntityVersionMismatchException.java │ │ │ ├── RateLimitExceededException.java │ │ │ ├── TenantNotFoundException.java │ │ │ ├── TenantProfileNotFoundException.java │ │ │ ├── ThingsboardErrorCode.java │ │ │ ├── ThingsboardException.java │ │ │ └── ThingsboardKafkaClientError.java │ │ │ ├── housekeeper │ │ │ ├── AlarmsDeletionHousekeeperTask.java │ │ │ ├── AlarmsUnassignHousekeeperTask.java │ │ │ ├── EntitiesDeletionHousekeeperTask.java │ │ │ ├── HousekeeperTask.java │ │ │ ├── HousekeeperTaskType.java │ │ │ ├── LatestTsDeletionHousekeeperTask.java │ │ │ ├── TenantEntitiesDeletionHousekeeperTask.java │ │ │ └── TsHistoryDeletionHousekeeperTask.java │ │ │ ├── id │ │ │ ├── AdminSettingsId.java │ │ │ ├── AiModelId.java │ │ │ ├── AlarmCommentId.java │ │ │ ├── AlarmId.java │ │ │ ├── ApiKeyId.java │ │ │ ├── ApiUsageStateId.java │ │ │ ├── AssetId.java │ │ │ ├── AssetProfileId.java │ │ │ ├── AuditLogId.java │ │ │ ├── CalculatedFieldId.java │ │ │ ├── CloudEventId.java │ │ │ ├── ComponentDescriptorId.java │ │ │ ├── CustomerId.java │ │ │ ├── DashboardId.java │ │ │ ├── DeviceCredentialsId.java │ │ │ ├── DeviceId.java │ │ │ ├── DeviceProfileId.java │ │ │ ├── DomainId.java │ │ │ ├── EdgeEventId.java │ │ │ ├── EdgeId.java │ │ │ ├── EntityId.java │ │ │ ├── EntityIdDeserializer.java │ │ │ ├── EntityIdFactory.java │ │ │ ├── EntityIdSerializer.java │ │ │ ├── EntityViewId.java │ │ │ ├── EventId.java │ │ │ ├── HasId.java │ │ │ ├── HasUUID.java │ │ │ ├── IdBased.java │ │ │ ├── JobId.java │ │ │ ├── MobileAppBundleId.java │ │ │ ├── MobileAppId.java │ │ │ ├── NameLabelAndCustomerDetails.java │ │ │ ├── NodeId.java │ │ │ ├── NotificationId.java │ │ │ ├── NotificationRequestId.java │ │ │ ├── NotificationRuleId.java │ │ │ ├── NotificationTargetId.java │ │ │ ├── NotificationTemplateId.java │ │ │ ├── OAuth2ClientId.java │ │ │ ├── OAuth2ClientRegistrationTemplateId.java │ │ │ ├── OAuth2ParamsId.java │ │ │ ├── OtaPackageId.java │ │ │ ├── QrCodeSettingsId.java │ │ │ ├── QueueId.java │ │ │ ├── QueueStatsId.java │ │ │ ├── RpcId.java │ │ │ ├── RuleChainId.java │ │ │ ├── RuleNodeId.java │ │ │ ├── RuleNodeStateId.java │ │ │ ├── TbResourceId.java │ │ │ ├── TenantId.java │ │ │ ├── TenantProfileId.java │ │ │ ├── UUIDBased.java │ │ │ ├── UserAuthSettingsId.java │ │ │ ├── UserCredentialsId.java │ │ │ ├── UserId.java │ │ │ ├── WidgetTypeId.java │ │ │ └── WidgetsBundleId.java │ │ │ ├── job │ │ │ ├── DummyJobConfiguration.java │ │ │ ├── DummyJobResult.java │ │ │ ├── Job.java │ │ │ ├── JobConfiguration.java │ │ │ ├── JobFilter.java │ │ │ ├── JobResult.java │ │ │ ├── JobStats.java │ │ │ ├── JobStatus.java │ │ │ ├── JobType.java │ │ │ └── task │ │ │ │ ├── DummyTask.java │ │ │ │ ├── DummyTaskResult.java │ │ │ │ ├── Task.java │ │ │ │ ├── TaskFailure.java │ │ │ │ └── TaskResult.java │ │ │ ├── kv │ │ │ ├── AggTsKvEntry.java │ │ │ ├── Aggregation.java │ │ │ ├── AggregationParams.java │ │ │ ├── AttributeKey.java │ │ │ ├── AttributeKvEntry.java │ │ │ ├── AttributesSaveResult.java │ │ │ ├── BaseAttributeKvEntry.java │ │ │ ├── BaseDeleteTsKvQuery.java │ │ │ ├── BaseReadTsKvQuery.java │ │ │ ├── BaseTsKvQuery.java │ │ │ ├── BasicKvEntry.java │ │ │ ├── BasicTsKvEntry.java │ │ │ ├── BooleanDataEntry.java │ │ │ ├── DataType.java │ │ │ ├── DeleteTsKvQuery.java │ │ │ ├── DoubleDataEntry.java │ │ │ ├── IntervalType.java │ │ │ ├── JsonDataEntry.java │ │ │ ├── KvEntry.java │ │ │ ├── LongDataEntry.java │ │ │ ├── ReadTsKvQuery.java │ │ │ ├── ReadTsKvQueryResult.java │ │ │ ├── StringDataEntry.java │ │ │ ├── TimeseriesSaveResult.java │ │ │ ├── TsKvEntry.java │ │ │ ├── TsKvEntryAggWrapper.java │ │ │ ├── TsKvLatestRemovingResult.java │ │ │ └── TsKvQuery.java │ │ │ ├── limit │ │ │ ├── LimitedApi.java │ │ │ ├── RateLimitEntry.java │ │ │ └── RateLimitUtil.java │ │ │ ├── lwm2m │ │ │ ├── LwM2mConstants.java │ │ │ ├── LwM2mInstance.java │ │ │ ├── LwM2mObject.java │ │ │ └── LwM2mResourceObserve.java │ │ │ ├── mail │ │ │ └── MailOauth2Provider.java │ │ │ ├── mobile │ │ │ ├── LoginMobileInfo.java │ │ │ ├── MobileSessionInfo.java │ │ │ ├── UserMobileInfo.java │ │ │ ├── UserMobileSessionInfo.java │ │ │ ├── app │ │ │ │ ├── MobileApp.java │ │ │ │ ├── MobileAppStatus.java │ │ │ │ ├── MobileAppVersionInfo.java │ │ │ │ └── StoreInfo.java │ │ │ ├── bundle │ │ │ │ ├── MobileAppBundle.java │ │ │ │ ├── MobileAppBundleInfo.java │ │ │ │ └── MobileAppBundleOauth2Client.java │ │ │ ├── layout │ │ │ │ ├── AbstractMobilePage.java │ │ │ │ ├── CustomMobilePage.java │ │ │ │ ├── DashboardPage.java │ │ │ │ ├── DefaultMobilePage.java │ │ │ │ ├── DefaultPageId.java │ │ │ │ ├── MobileLayoutConfig.java │ │ │ │ ├── MobilePage.java │ │ │ │ ├── MobilePageType.java │ │ │ │ └── WebViewPage.java │ │ │ └── qrCodeSettings │ │ │ │ ├── BadgePosition.java │ │ │ │ ├── QRCodeConfig.java │ │ │ │ └── QrCodeSettings.java │ │ │ ├── msg │ │ │ ├── TbMsgType.java │ │ │ └── TbNodeConnectionType.java │ │ │ ├── notification │ │ │ ├── AlreadySentException.java │ │ │ ├── Notification.java │ │ │ ├── NotificationDeliveryMethod.java │ │ │ ├── NotificationRequest.java │ │ │ ├── NotificationRequestConfig.java │ │ │ ├── NotificationRequestInfo.java │ │ │ ├── NotificationRequestPreview.java │ │ │ ├── NotificationRequestStats.java │ │ │ ├── NotificationRequestStatus.java │ │ │ ├── NotificationStatus.java │ │ │ ├── NotificationType.java │ │ │ ├── info │ │ │ │ ├── AlarmAssignmentNotificationInfo.java │ │ │ │ ├── AlarmCommentNotificationInfo.java │ │ │ │ ├── AlarmNotificationInfo.java │ │ │ │ ├── ApiUsageLimitNotificationInfo.java │ │ │ │ ├── DeviceActivityNotificationInfo.java │ │ │ │ ├── EdgeCommunicationFailureNotificationInfo.java │ │ │ │ ├── EdgeConnectionNotificationInfo.java │ │ │ │ ├── EntitiesLimitNotificationInfo.java │ │ │ │ ├── EntityActionNotificationInfo.java │ │ │ │ ├── GeneralNotificationInfo.java │ │ │ │ ├── NewPlatformVersionNotificationInfo.java │ │ │ │ ├── NotificationInfo.java │ │ │ │ ├── RateLimitsNotificationInfo.java │ │ │ │ ├── ResourcesShortageNotificationInfo.java │ │ │ │ ├── RuleEngineComponentLifecycleEventNotificationInfo.java │ │ │ │ ├── RuleEngineOriginatedNotificationInfo.java │ │ │ │ ├── RuleOriginatedNotificationInfo.java │ │ │ │ └── TaskProcessingFailureNotificationInfo.java │ │ │ ├── rule │ │ │ │ ├── DefaultNotificationRuleRecipientsConfig.java │ │ │ │ ├── EscalatedNotificationRuleRecipientsConfig.java │ │ │ │ ├── NotificationRule.java │ │ │ │ ├── NotificationRuleConfig.java │ │ │ │ ├── NotificationRuleInfo.java │ │ │ │ ├── NotificationRuleRecipientsConfig.java │ │ │ │ └── trigger │ │ │ │ │ ├── AlarmAssignmentTrigger.java │ │ │ │ │ ├── AlarmCommentTrigger.java │ │ │ │ │ ├── AlarmTrigger.java │ │ │ │ │ ├── ApiUsageLimitTrigger.java │ │ │ │ │ ├── DeviceActivityTrigger.java │ │ │ │ │ ├── EdgeCommunicationFailureTrigger.java │ │ │ │ │ ├── EdgeConnectionTrigger.java │ │ │ │ │ ├── EntitiesLimitTrigger.java │ │ │ │ │ ├── EntityActionTrigger.java │ │ │ │ │ ├── NewPlatformVersionTrigger.java │ │ │ │ │ ├── NotificationRuleTrigger.java │ │ │ │ │ ├── RateLimitsTrigger.java │ │ │ │ │ ├── ResourcesShortageTrigger.java │ │ │ │ │ ├── RuleEngineComponentLifecycleEventTrigger.java │ │ │ │ │ ├── TaskProcessingFailureTrigger.java │ │ │ │ │ └── config │ │ │ │ │ ├── AlarmAssignmentNotificationRuleTriggerConfig.java │ │ │ │ │ ├── AlarmCommentNotificationRuleTriggerConfig.java │ │ │ │ │ ├── AlarmNotificationRuleTriggerConfig.java │ │ │ │ │ ├── ApiUsageLimitNotificationRuleTriggerConfig.java │ │ │ │ │ ├── DeviceActivityNotificationRuleTriggerConfig.java │ │ │ │ │ ├── EdgeCommunicationFailureNotificationRuleTriggerConfig.java │ │ │ │ │ ├── EdgeConnectionNotificationRuleTriggerConfig.java │ │ │ │ │ ├── EntitiesLimitNotificationRuleTriggerConfig.java │ │ │ │ │ ├── EntityActionNotificationRuleTriggerConfig.java │ │ │ │ │ ├── NewPlatformVersionNotificationRuleTriggerConfig.java │ │ │ │ │ ├── NotificationRuleTriggerConfig.java │ │ │ │ │ ├── NotificationRuleTriggerType.java │ │ │ │ │ ├── RateLimitsNotificationRuleTriggerConfig.java │ │ │ │ │ ├── ResourcesShortageNotificationRuleTriggerConfig.java │ │ │ │ │ ├── RuleEngineComponentLifecycleEventNotificationRuleTriggerConfig.java │ │ │ │ │ └── TaskProcessingFailureNotificationRuleTriggerConfig.java │ │ │ ├── settings │ │ │ │ ├── AccountNotificationSettings.java │ │ │ │ ├── MobileAppNotificationDeliveryMethodConfig.java │ │ │ │ ├── NotificationDeliveryMethodConfig.java │ │ │ │ ├── NotificationSettings.java │ │ │ │ ├── SlackNotificationDeliveryMethodConfig.java │ │ │ │ └── UserNotificationSettings.java │ │ │ ├── targets │ │ │ │ ├── MicrosoftTeamsNotificationTargetConfig.java │ │ │ │ ├── NotificationRecipient.java │ │ │ │ ├── NotificationTarget.java │ │ │ │ ├── NotificationTargetConfig.java │ │ │ │ ├── NotificationTargetType.java │ │ │ │ ├── platform │ │ │ │ │ ├── AffectedTenantAdministratorsFilter.java │ │ │ │ │ ├── AffectedUserFilter.java │ │ │ │ │ ├── AllUsersFilter.java │ │ │ │ │ ├── CustomerUsersFilter.java │ │ │ │ │ ├── OriginatorEntityOwnerUsersFilter.java │ │ │ │ │ ├── PlatformUsersNotificationTargetConfig.java │ │ │ │ │ ├── SystemAdministratorsFilter.java │ │ │ │ │ ├── SystemLevelUsersFilter.java │ │ │ │ │ ├── TenantAdministratorsFilter.java │ │ │ │ │ ├── UserListFilter.java │ │ │ │ │ ├── UsersFilter.java │ │ │ │ │ └── UsersFilterType.java │ │ │ │ └── slack │ │ │ │ │ ├── SlackConversation.java │ │ │ │ │ ├── SlackConversationType.java │ │ │ │ │ ├── SlackFile.java │ │ │ │ │ └── SlackNotificationTargetConfig.java │ │ │ └── template │ │ │ │ ├── DeliveryMethodNotificationTemplate.java │ │ │ │ ├── EmailDeliveryMethodNotificationTemplate.java │ │ │ │ ├── HasSubject.java │ │ │ │ ├── MicrosoftTeamsDeliveryMethodNotificationTemplate.java │ │ │ │ ├── MobileAppDeliveryMethodNotificationTemplate.java │ │ │ │ ├── NotificationTemplate.java │ │ │ │ ├── NotificationTemplateConfig.java │ │ │ │ ├── SlackDeliveryMethodNotificationTemplate.java │ │ │ │ ├── SmsDeliveryMethodNotificationTemplate.java │ │ │ │ ├── TemplatableValue.java │ │ │ │ └── WebDeliveryMethodNotificationTemplate.java │ │ │ ├── oauth2 │ │ │ ├── MapperType.java │ │ │ ├── OAuth2BasicMapperConfig.java │ │ │ ├── OAuth2Client.java │ │ │ ├── OAuth2ClientInfo.java │ │ │ ├── OAuth2ClientLoginInfo.java │ │ │ ├── OAuth2ClientRegistrationTemplate.java │ │ │ ├── OAuth2CustomMapperConfig.java │ │ │ ├── OAuth2MapperConfig.java │ │ │ ├── OAuth2Params.java │ │ │ ├── PlatformType.java │ │ │ ├── SchemeType.java │ │ │ └── TenantNameStrategyType.java │ │ │ ├── objects │ │ │ ├── AttributesEntityView.java │ │ │ └── TelemetryEntityView.java │ │ │ ├── ota │ │ │ ├── ChecksumAlgorithm.java │ │ │ ├── OtaPackageKey.java │ │ │ ├── OtaPackageType.java │ │ │ ├── OtaPackageUpdateStatus.java │ │ │ └── OtaPackageUtil.java │ │ │ ├── page │ │ │ ├── BasePageDataIterable.java │ │ │ ├── PageData.java │ │ │ ├── PageDataIterable.java │ │ │ ├── PageDataIterableByTenant.java │ │ │ ├── PageDataIterableByTenantIdEntityId.java │ │ │ ├── PageLink.java │ │ │ ├── SortOrder.java │ │ │ └── TimePageLink.java │ │ │ ├── pat │ │ │ ├── ApiKey.java │ │ │ └── ApiKeyInfo.java │ │ │ ├── permission │ │ │ └── QueryContext.java │ │ │ ├── plugin │ │ │ ├── ComponentClusteringMode.java │ │ │ ├── ComponentDescriptor.java │ │ │ ├── ComponentLifecycleEvent.java │ │ │ ├── ComponentLifecycleState.java │ │ │ ├── ComponentScope.java │ │ │ └── ComponentType.java │ │ │ ├── query │ │ │ ├── AbstractDataQuery.java │ │ │ ├── AlarmCountQuery.java │ │ │ ├── AlarmData.java │ │ │ ├── AlarmDataPageLink.java │ │ │ ├── AlarmDataQuery.java │ │ │ ├── AliasEntityId.java │ │ │ ├── AliasEntityIdDeserializer.java │ │ │ ├── AliasEntityIdImpl.java │ │ │ ├── AliasEntityIdSerializer.java │ │ │ ├── AliasEntityType.java │ │ │ ├── ApiUsageStateFilter.java │ │ │ ├── AssetSearchQueryFilter.java │ │ │ ├── AssetTypeFilter.java │ │ │ ├── BooleanFilterPredicate.java │ │ │ ├── ComparisonTsValue.java │ │ │ ├── ComplexFilterPredicate.java │ │ │ ├── DeviceSearchQueryFilter.java │ │ │ ├── DeviceTypeFilter.java │ │ │ ├── DynamicValue.java │ │ │ ├── DynamicValueSourceType.java │ │ │ ├── EdgeSearchQueryFilter.java │ │ │ ├── EdgeTypeFilter.java │ │ │ ├── EntityCountQuery.java │ │ │ ├── EntityData.java │ │ │ ├── EntityDataPageLink.java │ │ │ ├── EntityDataQuery.java │ │ │ ├── EntityDataSortOrder.java │ │ │ ├── EntityFilter.java │ │ │ ├── EntityFilterType.java │ │ │ ├── EntityKey.java │ │ │ ├── EntityKeyType.java │ │ │ ├── EntityKeyValueType.java │ │ │ ├── EntityListFilter.java │ │ │ ├── EntityNameFilter.java │ │ │ ├── EntitySearchQueryFilter.java │ │ │ ├── EntityTypeFilter.java │ │ │ ├── EntityViewSearchQueryFilter.java │ │ │ ├── EntityViewTypeFilter.java │ │ │ ├── FilterPredicateType.java │ │ │ ├── FilterPredicateValue.java │ │ │ ├── KeyFilter.java │ │ │ ├── KeyFilterPredicate.java │ │ │ ├── NumericFilterPredicate.java │ │ │ ├── OriginatorAlarmFilter.java │ │ │ ├── RelationsQueryFilter.java │ │ │ ├── SimpleKeyFilterPredicate.java │ │ │ ├── SingleEntityFilter.java │ │ │ ├── StringFilterPredicate.java │ │ │ └── TsValue.java │ │ │ ├── queue │ │ │ ├── ProcessingStrategy.java │ │ │ ├── ProcessingStrategyType.java │ │ │ ├── Queue.java │ │ │ ├── QueueConfig.java │ │ │ ├── QueueStats.java │ │ │ ├── SubmitStrategy.java │ │ │ └── SubmitStrategyType.java │ │ │ ├── relation │ │ │ ├── EntityRelation.java │ │ │ ├── EntityRelationInfo.java │ │ │ ├── EntityRelationPathQuery.java │ │ │ ├── EntityRelationsQuery.java │ │ │ ├── EntitySearchDirection.java │ │ │ ├── RelationEntityTypeFilter.java │ │ │ ├── RelationPathLevel.java │ │ │ ├── RelationTypeGroup.java │ │ │ └── RelationsSearchParameters.java │ │ │ ├── rpc │ │ │ ├── Rpc.java │ │ │ ├── RpcError.java │ │ │ ├── RpcStatus.java │ │ │ └── ToDeviceRpcRequestBody.java │ │ │ ├── rule │ │ │ ├── DefaultRuleChainCreateRequest.java │ │ │ ├── NodeConnectionInfo.java │ │ │ ├── RuleChain.java │ │ │ ├── RuleChainConnectionInfo.java │ │ │ ├── RuleChainData.java │ │ │ ├── RuleChainImportResult.java │ │ │ ├── RuleChainMetaData.java │ │ │ ├── RuleChainOutputLabelsUsage.java │ │ │ ├── RuleChainType.java │ │ │ ├── RuleChainUpdateResult.java │ │ │ ├── RuleNode.java │ │ │ ├── RuleNodeState.java │ │ │ ├── RuleNodeUpdateResult.java │ │ │ ├── RuleType.java │ │ │ └── Scope.java │ │ │ ├── script │ │ │ └── ScriptLanguage.java │ │ │ ├── security │ │ │ ├── Authority.java │ │ │ ├── DeviceCredentials.java │ │ │ ├── DeviceCredentialsFilter.java │ │ │ ├── DeviceCredentialsType.java │ │ │ ├── DeviceTokenCredentials.java │ │ │ ├── DeviceX509Credentials.java │ │ │ ├── UserAuthSettings.java │ │ │ ├── UserCredentials.java │ │ │ ├── event │ │ │ │ ├── UserAuthDataChangedEvent.java │ │ │ │ ├── UserCredentialsInvalidationEvent.java │ │ │ │ └── UserSessionInvalidationEvent.java │ │ │ └── model │ │ │ │ ├── JwtPair.java │ │ │ │ ├── JwtSettings.java │ │ │ │ ├── JwtToken.java │ │ │ │ ├── SecuritySettings.java │ │ │ │ ├── UserPasswordPolicy.java │ │ │ │ └── mfa │ │ │ │ ├── PlatformTwoFaSettings.java │ │ │ │ ├── account │ │ │ │ ├── AccountTwoFaSettings.java │ │ │ │ ├── BackupCodeTwoFaAccountConfig.java │ │ │ │ ├── EmailTwoFaAccountConfig.java │ │ │ │ ├── OtpBasedTwoFaAccountConfig.java │ │ │ │ ├── SmsTwoFaAccountConfig.java │ │ │ │ ├── TotpTwoFaAccountConfig.java │ │ │ │ └── TwoFaAccountConfig.java │ │ │ │ └── provider │ │ │ │ ├── BackupCodeTwoFaProviderConfig.java │ │ │ │ ├── EmailTwoFaProviderConfig.java │ │ │ │ ├── OtpBasedTwoFaProviderConfig.java │ │ │ │ ├── SmsTwoFaProviderConfig.java │ │ │ │ ├── TotpTwoFaProviderConfig.java │ │ │ │ ├── TwoFaProviderConfig.java │ │ │ │ └── TwoFaProviderType.java │ │ │ ├── settings │ │ │ ├── AbstractUserDashboardInfo.java │ │ │ ├── LastVisitedDashboardInfo.java │ │ │ ├── StarredDashboardInfo.java │ │ │ ├── UserDashboardAction.java │ │ │ ├── UserDashboardsInfo.java │ │ │ ├── UserSettings.java │ │ │ ├── UserSettingsCompositeKey.java │ │ │ └── UserSettingsType.java │ │ │ ├── sms │ │ │ └── config │ │ │ │ ├── AwsSnsSmsProviderConfiguration.java │ │ │ │ ├── SmppSmsProviderConfiguration.java │ │ │ │ ├── SmsProviderConfiguration.java │ │ │ │ ├── SmsProviderType.java │ │ │ │ ├── TestSmsRequest.java │ │ │ │ └── TwilioSmsProviderConfiguration.java │ │ │ ├── sync │ │ │ ├── JsonTbEntity.java │ │ │ ├── ie │ │ │ │ ├── AttributeExportData.java │ │ │ │ ├── DeviceExportData.java │ │ │ │ ├── EntityExportData.java │ │ │ │ ├── EntityExportSettings.java │ │ │ │ ├── EntityImportResult.java │ │ │ │ ├── EntityImportSettings.java │ │ │ │ ├── OtaPackageExportData.java │ │ │ │ ├── RuleChainExportData.java │ │ │ │ ├── WidgetTypeExportData.java │ │ │ │ ├── WidgetsBundleExportData.java │ │ │ │ └── importing │ │ │ │ │ └── csv │ │ │ │ │ ├── BulkImportColumnType.java │ │ │ │ │ ├── BulkImportRequest.java │ │ │ │ │ └── BulkImportResult.java │ │ │ └── vc │ │ │ │ ├── AutoCommitSettings.java │ │ │ │ ├── BranchInfo.java │ │ │ │ ├── EntityDataDiff.java │ │ │ │ ├── EntityDataInfo.java │ │ │ │ ├── EntityLoadError.java │ │ │ │ ├── EntityTypeLoadResult.java │ │ │ │ ├── EntityVersion.java │ │ │ │ ├── EntityVersionsDiff.java │ │ │ │ ├── RepositoryAuthMethod.java │ │ │ │ ├── RepositorySettings.java │ │ │ │ ├── RepositorySettingsInfo.java │ │ │ │ ├── VcUtils.java │ │ │ │ ├── VersionCreationResult.java │ │ │ │ ├── VersionLoadResult.java │ │ │ │ ├── VersionedEntityInfo.java │ │ │ │ └── request │ │ │ │ ├── create │ │ │ │ ├── AutoVersionCreateConfig.java │ │ │ │ ├── ComplexVersionCreateRequest.java │ │ │ │ ├── EntityTypeVersionCreateConfig.java │ │ │ │ ├── SingleEntityVersionCreateRequest.java │ │ │ │ ├── SyncStrategy.java │ │ │ │ ├── VersionCreateConfig.java │ │ │ │ ├── VersionCreateRequest.java │ │ │ │ └── VersionCreateRequestType.java │ │ │ │ └── load │ │ │ │ ├── EntityTypeVersionLoadConfig.java │ │ │ │ ├── EntityTypeVersionLoadRequest.java │ │ │ │ ├── SingleEntityVersionLoadRequest.java │ │ │ │ ├── VersionLoadConfig.java │ │ │ │ ├── VersionLoadRequest.java │ │ │ │ └── VersionLoadRequestType.java │ │ │ ├── tenant │ │ │ └── profile │ │ │ │ ├── DefaultTenantProfileConfiguration.java │ │ │ │ ├── TenantProfileConfiguration.java │ │ │ │ ├── TenantProfileData.java │ │ │ │ └── TenantProfileQueueConfiguration.java │ │ │ ├── transport │ │ │ ├── resource │ │ │ │ └── ResourceType.java │ │ │ └── snmp │ │ │ │ ├── AuthenticationProtocol.java │ │ │ │ ├── PrivacyProtocol.java │ │ │ │ ├── SnmpCommunicationSpec.java │ │ │ │ ├── SnmpMapping.java │ │ │ │ ├── SnmpMethod.java │ │ │ │ ├── SnmpProtocolVersion.java │ │ │ │ └── config │ │ │ │ ├── MultipleMappingsSnmpCommunicationConfig.java │ │ │ │ ├── RepeatingQueryingSnmpCommunicationConfig.java │ │ │ │ ├── SnmpCommunicationConfig.java │ │ │ │ ├── ToServerRpcRequestSnmpCommunicationConfig.java │ │ │ │ └── impl │ │ │ │ ├── ClientAttributesQueryingSnmpCommunicationConfig.java │ │ │ │ ├── SharedAttributesSettingSnmpCommunicationConfig.java │ │ │ │ ├── TelemetryQueryingSnmpCommunicationConfig.java │ │ │ │ └── ToDeviceRpcRequestSnmpCommunicationConfig.java │ │ │ ├── trendz │ │ │ └── TrendzSettings.java │ │ │ ├── util │ │ │ ├── CollectionsUtil.java │ │ │ ├── ReflectionUtils.java │ │ │ ├── TbDDFFileParser.java │ │ │ ├── TbDefaultDDFFileValidator.java │ │ │ ├── TbPair.java │ │ │ ├── TemplateUtils.java │ │ │ ├── ThrowingBiFunction.java │ │ │ ├── ThrowingRunnable.java │ │ │ ├── ThrowingSupplier.java │ │ │ └── TypeCastUtil.java │ │ │ ├── validation │ │ │ ├── Length.java │ │ │ ├── NoNullChar.java │ │ │ ├── NoXss.java │ │ │ ├── RateLimit.java │ │ │ └── ValidJsonSchema.java │ │ │ └── widget │ │ │ ├── BaseWidgetType.java │ │ │ ├── DeprecatedFilter.java │ │ │ ├── WidgetBundleInfo.java │ │ │ ├── WidgetType.java │ │ │ ├── WidgetTypeDetails.java │ │ │ ├── WidgetTypeFilter.java │ │ │ ├── WidgetTypeInfo.java │ │ │ ├── WidgetsBundle.java │ │ │ ├── WidgetsBundleFilter.java │ │ │ └── WidgetsBundleWidget.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── common │ │ │ └── data │ │ │ ├── DynamicProtoUtilsTest.java │ │ │ ├── EntityTypeTest.java │ │ │ ├── StringUtilsTest.java │ │ │ ├── UUIDConverterTest.java │ │ │ ├── audit │ │ │ └── ActionTypeTest.java │ │ │ ├── cf │ │ │ └── configuration │ │ │ │ ├── ArgumentTest.java │ │ │ │ ├── PropagationCalculatedFieldConfigurationTest.java │ │ │ │ ├── RelationPathQueryDynamicSourceConfigurationTest.java │ │ │ │ ├── ScheduledUpdateSupportedCalculatedFieldConfigurationTest.java │ │ │ │ ├── aggregation │ │ │ │ ├── RelatedEntitiesAggregationCalculatedFieldConfigurationTest.java │ │ │ │ └── single │ │ │ │ │ ├── EntityAggregationCalculatedFieldConfigurationTest.java │ │ │ │ │ └── interval │ │ │ │ │ └── AggIntervalTest.java │ │ │ │ └── geofencing │ │ │ │ ├── EntityCoordinatesTest.java │ │ │ │ ├── GeofencingCalculatedFieldConfigurationTest.java │ │ │ │ └── ZoneGroupConfigurationTest.java │ │ │ ├── id │ │ │ └── EntityIdTest.java │ │ │ ├── limit │ │ │ ├── LimitedApiTest.java │ │ │ └── RateLimitUtilTest.java │ │ │ ├── msg │ │ │ └── TbMsgTypeTest.java │ │ │ └── rpc │ │ │ └── RpcStatusTest.java │ │ └── resources │ │ ├── junit-platform.properties │ │ └── logback-test.xml ├── discovery-api │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── thingsboard │ │ └── server │ │ └── queue │ │ └── discovery │ │ └── TbServiceInfoProvider.java ├── edge-api │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── org │ │ │ └── thingsboard │ │ │ └── edge │ │ │ ├── exception │ │ │ └── EdgeConnectionException.java │ │ │ └── rpc │ │ │ ├── EdgeGrpcClient.java │ │ │ └── EdgeRpcClient.java │ │ └── proto │ │ └── edge.proto ├── edqs │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── thingsboard │ │ └── server │ │ └── edqs │ │ ├── data │ │ ├── ApiUsageStateData.java │ │ ├── AssetData.java │ │ ├── BaseEntityData.java │ │ ├── CustomerData.java │ │ ├── DeviceData.java │ │ ├── EntityData.java │ │ ├── EntityProfileData.java │ │ ├── GenericData.java │ │ ├── ProfileAwareData.java │ │ ├── RelationData.java │ │ ├── RelationInfo.java │ │ ├── RelationsRepo.java │ │ ├── TenantData.java │ │ └── dp │ │ │ ├── AbstractDataPoint.java │ │ │ ├── BoolDataPoint.java │ │ │ ├── CompressedJsonDataPoint.java │ │ │ ├── CompressedStringDataPoint.java │ │ │ ├── DoubleDataPoint.java │ │ │ ├── JsonDataPoint.java │ │ │ ├── LongDataPoint.java │ │ │ └── StringDataPoint.java │ │ ├── processor │ │ ├── EdqsProcessor.java │ │ └── EdqsProducer.java │ │ ├── query │ │ ├── DataKey.java │ │ ├── EdqsCountQuery.java │ │ ├── EdqsDataQuery.java │ │ ├── EdqsFilter.java │ │ ├── EdqsQuery.java │ │ ├── SortableEntityData.java │ │ └── processor │ │ │ ├── AbstractEntityProfileNameQueryProcessor.java │ │ │ ├── AbstractEntityProfileQueryProcessor.java │ │ │ ├── AbstractEntitySearchQueryProcessor.java │ │ │ ├── AbstractQueryProcessor.java │ │ │ ├── AbstractRelationQueryProcessor.java │ │ │ ├── AbstractSimpleQueryProcessor.java │ │ │ ├── AbstractSingleEntityTypeQueryProcessor.java │ │ │ ├── ApiUsageStateQueryProcessor.java │ │ │ ├── AssetSearchQueryProcessor.java │ │ │ ├── AssetTypeQueryProcessor.java │ │ │ ├── DeviceSearchQueryProcessor.java │ │ │ ├── DeviceTypeQueryProcessor.java │ │ │ ├── EdgeTypeQueryProcessor.java │ │ │ ├── EdgeTypeSearchQueryProcessor.java │ │ │ ├── EntityListQueryProcessor.java │ │ │ ├── EntityNameQueryProcessor.java │ │ │ ├── EntityQueryProcessor.java │ │ │ ├── EntityQueryProcessorFactory.java │ │ │ ├── EntityTypeQueryProcessor.java │ │ │ ├── EntityViewSearchQueryProcessor.java │ │ │ ├── EntityViewTypeQueryProcessor.java │ │ │ ├── RelationQueryProcessor.java │ │ │ └── SingleEntityQueryProcessor.java │ │ ├── repo │ │ ├── DefaultEdqsRepository.java │ │ ├── EdqsRepository.java │ │ ├── KeyDictionary.java │ │ └── TenantRepo.java │ │ ├── state │ │ ├── EdqsPartitionService.java │ │ ├── EdqsStateService.java │ │ ├── KafkaEdqsStateService.java │ │ └── LocalEdqsStateService.java │ │ ├── stats │ │ └── DefaultEdqsStatsService.java │ │ └── util │ │ ├── DefaultEdqsMapper.java │ │ ├── EdqsMapper.java │ │ ├── EdqsRocksDb.java │ │ ├── RepositoryUtils.java │ │ ├── TbRocksDb.java │ │ └── VersionsStore.java ├── message │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── thingsboard │ │ │ │ └── server │ │ │ │ └── common │ │ │ │ └── msg │ │ │ │ ├── CalculatedFieldStatePartitionRestoreMsg.java │ │ │ │ ├── EncryptionUtil.java │ │ │ │ ├── MsgType.java │ │ │ │ ├── TbActorMsg.java │ │ │ │ ├── TbActorStopReason.java │ │ │ │ ├── TbMsg.java │ │ │ │ ├── TbMsgDataType.java │ │ │ │ ├── TbMsgMetaData.java │ │ │ │ ├── TbMsgProcessingCtx.java │ │ │ │ ├── TbMsgProcessingStackItem.java │ │ │ │ ├── TbRuleEngineActorMsg.java │ │ │ │ ├── ToCalculatedFieldSystemMsg.java │ │ │ │ ├── ToDeviceActorNotificationMsg.java │ │ │ │ ├── aware │ │ │ │ ├── CustomerAwareMsg.java │ │ │ │ ├── DeviceAwareMsg.java │ │ │ │ ├── NodeAwareMsg.java │ │ │ │ ├── RuleChainAwareMsg.java │ │ │ │ └── TenantAwareMsg.java │ │ │ │ ├── cf │ │ │ │ ├── CalculatedFieldCacheInitMsg.java │ │ │ │ ├── CalculatedFieldEntityLifecycleMsg.java │ │ │ │ └── CalculatedFieldPartitionChangeMsg.java │ │ │ │ ├── cluster │ │ │ │ └── ToAllNodesMsg.java │ │ │ │ ├── edge │ │ │ │ ├── EdgeEventUpdateMsg.java │ │ │ │ ├── EdgeHighPriorityMsg.java │ │ │ │ ├── EdgeSessionMsg.java │ │ │ │ ├── FromEdgeSyncResponse.java │ │ │ │ └── ToEdgeSyncRequest.java │ │ │ │ ├── edqs │ │ │ │ ├── EdqsApiService.java │ │ │ │ └── EdqsService.java │ │ │ │ ├── gateway │ │ │ │ └── metrics │ │ │ │ │ └── GatewayMetadata.java │ │ │ │ ├── housekeeper │ │ │ │ └── HousekeeperClient.java │ │ │ │ ├── notification │ │ │ │ └── NotificationRuleProcessor.java │ │ │ │ ├── plugin │ │ │ │ ├── ComponentLifecycleListener.java │ │ │ │ ├── ComponentLifecycleMsg.java │ │ │ │ └── RuleNodeUpdatedMsg.java │ │ │ │ ├── queue │ │ │ │ ├── PartitionChangeMsg.java │ │ │ │ ├── QueueToRuleEngineMsg.java │ │ │ │ ├── RuleEngineException.java │ │ │ │ ├── RuleNodeException.java │ │ │ │ ├── RuleNodeInfo.java │ │ │ │ ├── ServiceType.java │ │ │ │ ├── TbCallback.java │ │ │ │ ├── TbMsgCallback.java │ │ │ │ └── TopicPartitionInfo.java │ │ │ │ ├── rpc │ │ │ │ ├── FromDeviceRpcResponse.java │ │ │ │ ├── FromDeviceRpcResponseActorMsg.java │ │ │ │ ├── RemoveRpcActorMsg.java │ │ │ │ ├── ToDeviceRpcRequest.java │ │ │ │ └── ToDeviceRpcRequestActorMsg.java │ │ │ │ ├── rule │ │ │ │ └── engine │ │ │ │ │ ├── DeviceAttributes.java │ │ │ │ │ ├── DeviceAttributesEventNotificationMsg.java │ │ │ │ │ ├── DeviceCredentialsUpdateNotificationMsg.java │ │ │ │ │ ├── DeviceDeleteMsg.java │ │ │ │ │ ├── DeviceEdgeUpdateMsg.java │ │ │ │ │ ├── DeviceMetaData.java │ │ │ │ │ └── DeviceNameOrTypeUpdateMsg.java │ │ │ │ ├── session │ │ │ │ ├── FeatureType.java │ │ │ │ ├── SessionMsgType.java │ │ │ │ └── ex │ │ │ │ │ ├── ProcessingTimeoutException.java │ │ │ │ │ ├── SessionAuthException.java │ │ │ │ │ └── SessionException.java │ │ │ │ ├── timeout │ │ │ │ ├── DeviceActorServerSideRpcTimeoutMsg.java │ │ │ │ └── TimeoutMsg.java │ │ │ │ └── tools │ │ │ │ ├── MaxPayloadSizeExceededException.java │ │ │ │ ├── SchedulerUtils.java │ │ │ │ ├── TbRateLimits.java │ │ │ │ └── TbRateLimitsException.java │ │ └── proto │ │ │ └── tbmsg.proto │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── common │ │ │ └── msg │ │ │ ├── EncryptionUtilTest.java │ │ │ ├── TbMsgMetaDataTest.java │ │ │ ├── TbMsgProcessingStackItemTest.java │ │ │ ├── queue │ │ │ └── TopicPartitionInfoTest.java │ │ │ └── tools │ │ │ └── TbRateLimitsTest.java │ │ └── resources │ │ ├── junit-platform.properties │ │ └── logback-test.xml ├── pom.xml ├── proto │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── thingsboard │ │ │ │ └── server │ │ │ │ └── common │ │ │ │ ├── adaptor │ │ │ │ ├── AdaptorException.java │ │ │ │ ├── JsonConverter.java │ │ │ │ ├── JsonConverterConfig.java │ │ │ │ └── ProtoConverter.java │ │ │ │ └── util │ │ │ │ ├── KvProtoUtil.java │ │ │ │ └── ProtoUtils.java │ │ └── proto │ │ │ ├── jsinvoke.proto │ │ │ ├── queue.proto │ │ │ └── transport.proto │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── common │ │ │ ├── adaptor │ │ │ └── JsonConverterTest.java │ │ │ └── util │ │ │ ├── KvProtoUtilTest.java │ │ │ └── ProtoUtilsTest.java │ │ └── resources │ │ ├── junit-platform.properties │ │ └── logback-test.xml ├── queue │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── queue │ │ │ ├── RuleEngineTbQueueAdminFactory.java │ │ │ ├── common │ │ │ ├── AbstractParallelTbQueueConsumerTemplate.java │ │ │ ├── AbstractTbQueueConsumerTemplate.java │ │ │ ├── AbstractTbQueueTemplate.java │ │ │ ├── AsyncCallbackTemplate.java │ │ │ ├── DefaultTbQueueMsg.java │ │ │ ├── DefaultTbQueueMsgHeaders.java │ │ │ ├── DefaultTbQueueRequestTemplate.java │ │ │ ├── DefaultTbQueueResponseTemplate.java │ │ │ ├── MultipleTbQueueCallbackWrapper.java │ │ │ ├── MultipleTbQueueTbMsgCallbackWrapper.java │ │ │ ├── PartitionedQueueResponseTemplate.java │ │ │ ├── SimpleTbQueueCallback.java │ │ │ ├── TbProtoJsQueueMsg.java │ │ │ ├── TbProtoQueueMsg.java │ │ │ ├── TbQueueTbMsgCallbackWrapper.java │ │ │ ├── TbRuleEngineProducerService.java │ │ │ ├── consumer │ │ │ │ ├── MainQueueConsumerManager.java │ │ │ │ ├── PartitionedQueueConsumerManager.java │ │ │ │ ├── QueueConsumerManager.java │ │ │ │ ├── QueueTaskType.java │ │ │ │ ├── TbQueueConsumerManagerTask.java │ │ │ │ └── TbQueueConsumerTask.java │ │ │ └── state │ │ │ │ ├── DefaultQueueStateService.java │ │ │ │ ├── KafkaQueueStateService.java │ │ │ │ └── QueueStateService.java │ │ │ ├── discovery │ │ │ ├── ConsistentHashCircle.java │ │ │ ├── DefaultTbServiceInfoProvider.java │ │ │ ├── DiscoveryService.java │ │ │ ├── DummyDiscoveryService.java │ │ │ ├── HashPartitionService.java │ │ │ ├── PartitionService.java │ │ │ ├── QueueKey.java │ │ │ ├── QueueRoutingInfo.java │ │ │ ├── QueueRoutingInfoService.java │ │ │ ├── TbApplicationEventListener.java │ │ │ ├── TenantRoutingInfo.java │ │ │ ├── TenantRoutingInfoService.java │ │ │ ├── TopicService.java │ │ │ ├── ZkDiscoveryService.java │ │ │ └── event │ │ │ │ ├── ClusterTopologyChangeEvent.java │ │ │ │ ├── OtherServiceShutdownEvent.java │ │ │ │ ├── PartitionChangeEvent.java │ │ │ │ ├── ServiceListChangedEvent.java │ │ │ │ └── TbApplicationEvent.java │ │ │ ├── edqs │ │ │ ├── EdqsComponent.java │ │ │ ├── EdqsConfig.java │ │ │ ├── EdqsExecutors.java │ │ │ ├── EdqsQueueFactory.java │ │ │ ├── InMemoryEdqsComponent.java │ │ │ ├── InMemoryEdqsQueueFactory.java │ │ │ ├── KafkaEdqsComponent.java │ │ │ └── KafkaEdqsQueueFactory.java │ │ │ ├── environment │ │ │ ├── DistributedLock.java │ │ │ ├── DistributedLockService.java │ │ │ ├── DummyDistributedLockService.java │ │ │ ├── EnvironmentLogService.java │ │ │ └── ZkDistributedLockService.java │ │ │ ├── housekeeper │ │ │ ├── DefaultHousekeeperClient.java │ │ │ └── HousekeeperConfig.java │ │ │ ├── kafka │ │ │ ├── KafkaAdmin.java │ │ │ ├── KafkaTbQueueMsg.java │ │ │ ├── KafkaTbQueueMsgMetadata.java │ │ │ ├── TbKafkaAdmin.java │ │ │ ├── TbKafkaConsumerStatisticConfig.java │ │ │ ├── TbKafkaConsumerStatsService.java │ │ │ ├── TbKafkaConsumerTemplate.java │ │ │ ├── TbKafkaDecoder.java │ │ │ ├── TbKafkaEncoder.java │ │ │ ├── TbKafkaProducerTemplate.java │ │ │ ├── TbKafkaSettings.java │ │ │ └── TbKafkaTopicConfigs.java │ │ │ ├── memory │ │ │ ├── DefaultInMemoryStorage.java │ │ │ ├── InMemoryStorage.java │ │ │ ├── InMemoryTbQueueConsumer.java │ │ │ └── InMemoryTbQueueProducer.java │ │ │ ├── notification │ │ │ ├── DefaultNotificationDeduplicationService.java │ │ │ ├── NotificationDeduplicationService.java │ │ │ └── RemoteNotificationRuleProcessor.java │ │ │ ├── provider │ │ │ ├── EdqsClientQueueFactory.java │ │ │ ├── HousekeeperClientQueueFactory.java │ │ │ ├── InMemoryMonolithQueueFactory.java │ │ │ ├── InMemoryTbTransportQueueFactory.java │ │ │ ├── KafkaMonolithQueueFactory.java │ │ │ ├── KafkaTbCoreQueueFactory.java │ │ │ ├── KafkaTbRuleEngineQueueFactory.java │ │ │ ├── KafkaTbTransportQueueFactory.java │ │ │ ├── KafkaTbVersionControlQueueFactory.java │ │ │ ├── TbCloudEventProvider.java │ │ │ ├── TbCloudEventQueueFactory.java │ │ │ ├── TbCoreCloudEventProvider.java │ │ │ ├── TbCoreQueueFactory.java │ │ │ ├── TbCoreQueueProducerProvider.java │ │ │ ├── TbQueueProducerProvider.java │ │ │ ├── TbRuleEngineProducerProvider.java │ │ │ ├── TbRuleEngineQueueFactory.java │ │ │ ├── TbTransportQueueFactory.java │ │ │ ├── TbTransportQueueProducerProvider.java │ │ │ ├── TbUsageStatsClientQueueFactory.java │ │ │ ├── TbVersionControlProducerProvider.java │ │ │ └── TbVersionControlQueueFactory.java │ │ │ ├── scheduler │ │ │ ├── DefaultSchedulerComponent.java │ │ │ └── SchedulerComponent.java │ │ │ ├── settings │ │ │ ├── TasksQueueConfig.java │ │ │ ├── TbQueueCalculatedFieldSettings.java │ │ │ ├── TbQueueCloudEventSettings.java │ │ │ ├── TbQueueCloudEventTSSettings.java │ │ │ ├── TbQueueCoreSettings.java │ │ │ ├── TbQueueEdgeSettings.java │ │ │ ├── TbQueueRemoteJsInvokeSettings.java │ │ │ ├── TbQueueRuleEngineSettings.java │ │ │ ├── TbQueueTransportApiSettings.java │ │ │ ├── TbQueueTransportNotificationSettings.java │ │ │ └── TbQueueVersionControlSettings.java │ │ │ ├── task │ │ │ ├── InMemoryTaskProcessorQueueFactory.java │ │ │ ├── InMemoryTaskProducerQueueFactory.java │ │ │ ├── JobStatsService.java │ │ │ ├── KafkaTaskProcessorQueueFactory.java │ │ │ ├── KafkaTaskProducerQueueFactory.java │ │ │ ├── TaskProcessor.java │ │ │ ├── TaskProcessorExecutors.java │ │ │ ├── TaskProcessorQueueFactory.java │ │ │ └── TaskProducerQueueFactory.java │ │ │ ├── usagestats │ │ │ └── DefaultTbApiUsageReportClient.java │ │ │ └── util │ │ │ ├── AfterContextReady.java │ │ │ ├── AfterStartUp.java │ │ │ ├── PropertyUtils.java │ │ │ ├── TbCoreComponent.java │ │ │ ├── TbKafkaComponent.java │ │ │ ├── TbLwM2mBootstrapTransportComponent.java │ │ │ ├── TbLwM2mTransportComponent.java │ │ │ ├── TbRuleEngineComponent.java │ │ │ ├── TbSnmpTransportComponent.java │ │ │ ├── TbTransportComponent.java │ │ │ └── TbVersionControlComponent.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── queue │ │ │ ├── common │ │ │ └── DefaultTbQueueRequestTemplateTest.java │ │ │ ├── discovery │ │ │ ├── QueueKeyTest.java │ │ │ └── ZkDiscoveryServiceTest.java │ │ │ ├── kafka │ │ │ ├── TbKafkaAdminTest.java │ │ │ ├── TbKafkaProducerTemplateTest.java │ │ │ └── TbKafkaSettingsTest.java │ │ │ ├── memory │ │ │ └── DefaultInMemoryStorageTest.java │ │ │ └── util │ │ │ └── PropertyUtilsTest.java │ │ └── resources │ │ ├── junit-platform.properties │ │ └── logback-test.xml ├── script │ ├── pom.xml │ ├── remote-js-client │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── service │ │ │ └── script │ │ │ ├── JsExecutorService.java │ │ │ ├── RemoteJsInvokeService.java │ │ │ ├── RemoteJsRequestEncoder.java │ │ │ └── RemoteJsResponseDecoder.java │ └── script-api │ │ ├── pom.xml │ │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── thingsboard │ │ │ └── script │ │ │ └── api │ │ │ ├── AbstractScriptInvokeService.java │ │ │ ├── BlockedScriptInfo.java │ │ │ ├── RuleNodeScriptFactory.java │ │ │ ├── ScriptInvokeService.java │ │ │ ├── ScriptStatCallback.java │ │ │ ├── ScriptType.java │ │ │ ├── TbScriptException.java │ │ │ ├── TbScriptExecutionTask.java │ │ │ ├── js │ │ │ ├── AbstractJsInvokeService.java │ │ │ ├── JsInvokeService.java │ │ │ ├── JsScriptExecutionTask.java │ │ │ ├── JsScriptInfo.java │ │ │ ├── JsValidator.java │ │ │ └── NashornJsInvokeService.java │ │ │ └── tbel │ │ │ ├── DateTimeFormatOptions.java │ │ │ ├── DefaultTbelInvokeService.java │ │ │ ├── TbDate.java │ │ │ ├── TbJson.java │ │ │ ├── TbTimeWindow.java │ │ │ ├── TbUtils.java │ │ │ ├── TbelCfArg.java │ │ │ ├── TbelCfCtx.java │ │ │ ├── TbelCfGeofencingArg.java │ │ │ ├── TbelCfObject.java │ │ │ ├── TbelCfPropagationArg.java │ │ │ ├── TbelCfRelatedEntitiesArgumentValue.java │ │ │ ├── TbelCfSingleValueArg.java │ │ │ ├── TbelCfTsDoubleVal.java │ │ │ ├── TbelCfTsMultiDoubleVal.java │ │ │ ├── TbelCfTsRollingArg.java │ │ │ ├── TbelCfTsRollingData.java │ │ │ ├── TbelInvokeService.java │ │ │ ├── TbelScript.java │ │ │ └── TbelScriptExecutionTask.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── thingsboard │ │ │ └── script │ │ │ └── api │ │ │ ├── AbstractScriptInvokeServiceTest.java │ │ │ ├── TbScriptExceptionTest.java │ │ │ ├── js │ │ │ ├── AbstractJsInvokeServiceTest.java │ │ │ └── JsValidatorTest.java │ │ │ └── tbel │ │ │ ├── TbDateConstructorTest.java │ │ │ ├── TbDateTest.java │ │ │ ├── TbDateTestEntity.java │ │ │ ├── TbUtilsTest.java │ │ │ └── TbelCfTsRollingArgTest.java │ │ └── resources │ │ ├── junit-platform.properties │ │ └── logback-test.xml ├── stats │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── thingsboard │ │ └── server │ │ └── common │ │ └── stats │ │ ├── DefaultCounter.java │ │ ├── DefaultMessagesStats.java │ │ ├── DefaultStatsFactory.java │ │ ├── DummyEdqsStatsService.java │ │ ├── EdqsStatsService.java │ │ ├── FstStatsServiceImpl.java │ │ ├── MessagesStats.java │ │ ├── StatsCounter.java │ │ ├── StatsFactory.java │ │ ├── StatsTimer.java │ │ ├── StatsType.java │ │ ├── TbApiUsageReportClient.java │ │ └── TbApiUsageStateClient.java ├── transport │ ├── coap │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── thingsboard │ │ │ │ │ └── server │ │ │ │ │ └── transport │ │ │ │ │ └── coap │ │ │ │ │ ├── AbstractCoapTransportResource.java │ │ │ │ │ ├── CoapSessionMsgType.java │ │ │ │ │ ├── CoapTransportContext.java │ │ │ │ │ ├── CoapTransportResource.java │ │ │ │ │ ├── CoapTransportService.java │ │ │ │ │ ├── OtaPackageTransportResource.java │ │ │ │ │ ├── TbCoapMessageObserver.java │ │ │ │ │ ├── TransportConfigurationContainer.java │ │ │ │ │ ├── adaptors │ │ │ │ │ ├── CoapAdaptorUtils.java │ │ │ │ │ ├── CoapTransportAdaptor.java │ │ │ │ │ ├── JsonCoapAdaptor.java │ │ │ │ │ └── ProtoCoapAdaptor.java │ │ │ │ │ ├── callback │ │ │ │ │ ├── AbstractSyncSessionCallback.java │ │ │ │ │ ├── CoapDeviceAuthCallback.java │ │ │ │ │ ├── CoapEfentoCallback.java │ │ │ │ │ ├── CoapNoOpCallback.java │ │ │ │ │ ├── CoapResponseCallback.java │ │ │ │ │ ├── CoapResponseCodeCallback.java │ │ │ │ │ ├── GetAttributesSyncSessionCallback.java │ │ │ │ │ └── ToServerRpcSyncSessionCallback.java │ │ │ │ │ ├── client │ │ │ │ │ ├── CoapClientContext.java │ │ │ │ │ ├── DefaultCoapClientContext.java │ │ │ │ │ ├── NoSecClient.java │ │ │ │ │ ├── NoSecObserveClient.java │ │ │ │ │ ├── SecureClientNoAuth.java │ │ │ │ │ ├── SecureClientX509.java │ │ │ │ │ ├── TbCoapClientState.java │ │ │ │ │ ├── TbCoapContentFormatUtil.java │ │ │ │ │ └── TbCoapObservationState.java │ │ │ │ │ └── efento │ │ │ │ │ ├── CoapEfentoTransportResource.java │ │ │ │ │ ├── adaptor │ │ │ │ │ └── EfentoCoapAdaptor.java │ │ │ │ │ └── utils │ │ │ │ │ ├── CoapEfentoUtils.java │ │ │ │ │ └── PulseCounterType.java │ │ │ └── proto │ │ │ │ └── efento │ │ │ │ ├── proto_config.proto │ │ │ │ ├── proto_device_info.proto │ │ │ │ ├── proto_measurement_types.proto │ │ │ │ ├── proto_measurements.proto │ │ │ │ └── proto_rule.proto │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── thingsboard │ │ │ │ └── server │ │ │ │ └── transport │ │ │ │ └── coap │ │ │ │ ├── CoapTransportResourceTest.java │ │ │ │ └── efento │ │ │ │ └── CoapEfentoTransportResourceTest.java │ │ │ └── resources │ │ │ ├── junit-platform.properties │ │ │ └── logback-test.xml │ ├── http │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── thingsboard │ │ │ │ └── server │ │ │ │ └── transport │ │ │ │ └── http │ │ │ │ ├── DeviceApiController.java │ │ │ │ ├── HttpTransportContext.java │ │ │ │ └── config │ │ │ │ ├── PayloadSizeFilter.java │ │ │ │ └── TransportSecurityConfiguration.java │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── thingsboard │ │ │ │ └── server │ │ │ │ └── transport │ │ │ │ └── http │ │ │ │ └── DeviceApiControllerTest.java │ │ │ └── resources │ │ │ ├── junit-platform.properties │ │ │ └── logback-test.xml │ ├── lwm2m │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── thingsboard │ │ │ │ └── server │ │ │ │ └── transport │ │ │ │ └── lwm2m │ │ │ │ ├── bootstrap │ │ │ │ ├── LwM2MTransportBootstrapService.java │ │ │ │ ├── secure │ │ │ │ │ ├── LwM2MBootstrapConfig.java │ │ │ │ │ ├── LwM2MBootstrapServers.java │ │ │ │ │ ├── LwM2MServerBootstrap.java │ │ │ │ │ ├── LwM2mDefaultBootstrapSessionManager.java │ │ │ │ │ └── TbLwM2MDtlsBootstrapCertificateVerifier.java │ │ │ │ └── store │ │ │ │ │ ├── LwM2MBootstrapClientInstanceIds.java │ │ │ │ │ ├── LwM2MBootstrapConfigStoreTaskProvider.java │ │ │ │ │ ├── LwM2MBootstrapSecurityStore.java │ │ │ │ │ ├── LwM2MBootstrapTaskProvider.java │ │ │ │ │ ├── LwM2MConfigurationChecker.java │ │ │ │ │ └── LwM2MInMemoryBootstrapConfigStore.java │ │ │ │ ├── config │ │ │ │ ├── LwM2MSecureServerConfig.java │ │ │ │ ├── LwM2MTransportBootstrapConfig.java │ │ │ │ ├── LwM2MTransportServerConfig.java │ │ │ │ └── TbLwM2mVersion.java │ │ │ │ ├── secure │ │ │ │ ├── LwM2mCredentialsSecurityInfoValidator.java │ │ │ │ ├── LwM2mRPkCredentials.java │ │ │ │ ├── TbLwM2MAuthorizer.java │ │ │ │ ├── TbLwM2MDtlsCertificateVerifier.java │ │ │ │ ├── TbLwM2MSecurityInfo.java │ │ │ │ ├── TbX509DtlsSessionInfo.java │ │ │ │ └── credentials │ │ │ │ │ └── LwM2MClientCredentials.java │ │ │ │ ├── server │ │ │ │ ├── AbstractLwM2mTransportResource.java │ │ │ │ ├── DefaultLwM2mTransportService.java │ │ │ │ ├── LwM2MNetworkConfig.java │ │ │ │ ├── LwM2MOperationType.java │ │ │ │ ├── LwM2MTransportService.java │ │ │ │ ├── LwM2mOtaConvert.java │ │ │ │ ├── LwM2mQueuedRequest.java │ │ │ │ ├── LwM2mServerListener.java │ │ │ │ ├── LwM2mSessionMsgListener.java │ │ │ │ ├── LwM2mTransportCoapResource.java │ │ │ │ ├── LwM2mTransportContext.java │ │ │ │ ├── LwM2mTransportServerHelper.java │ │ │ │ ├── LwM2mVersionedModelProvider.java │ │ │ │ ├── adaptors │ │ │ │ │ ├── LwM2MJsonAdaptor.java │ │ │ │ │ └── LwM2MTransportAdaptor.java │ │ │ │ ├── attributes │ │ │ │ │ ├── DefaultLwM2MAttributesService.java │ │ │ │ │ └── LwM2MAttributesService.java │ │ │ │ ├── client │ │ │ │ │ ├── LwM2MAuthException.java │ │ │ │ │ ├── LwM2MClientState.java │ │ │ │ │ ├── LwM2MClientStateException.java │ │ │ │ │ ├── LwM2mClient.java │ │ │ │ │ ├── LwM2mClientContext.java │ │ │ │ │ ├── LwM2mClientContextImpl.java │ │ │ │ │ ├── ModelObject.java │ │ │ │ │ ├── ResourceUpdateResult.java │ │ │ │ │ ├── ResourceValue.java │ │ │ │ │ └── ResultsAddKeyValueProto.java │ │ │ │ ├── common │ │ │ │ │ └── LwM2MExecutorAwareService.java │ │ │ │ ├── downlink │ │ │ │ │ ├── AbstractTbLwM2MRequestCallback.java │ │ │ │ │ ├── AbstractTbLwM2MTargetedDownlinkRequest.java │ │ │ │ │ ├── DefaultLwM2mDownlinkMsgHandler.java │ │ │ │ │ ├── DownlinkRequestCallback.java │ │ │ │ │ ├── HasContentFormat.java │ │ │ │ │ ├── HasVersionedId.java │ │ │ │ │ ├── HasVersionedIds.java │ │ │ │ │ ├── LwM2mDownlinkMsgHandler.java │ │ │ │ │ ├── TbLwM2MCancelAllObserveCallback.java │ │ │ │ │ ├── TbLwM2MCancelAllRequest.java │ │ │ │ │ ├── TbLwM2MCancelObserveCallback.java │ │ │ │ │ ├── TbLwM2MCancelObserveRequest.java │ │ │ │ │ ├── TbLwM2MCreateRequest.java │ │ │ │ │ ├── TbLwM2MCreateResponseCallback.java │ │ │ │ │ ├── TbLwM2MDeleteCallback.java │ │ │ │ │ ├── TbLwM2MDeleteRequest.java │ │ │ │ │ ├── TbLwM2MDiscoverAllRequest.java │ │ │ │ │ ├── TbLwM2MDiscoverCallback.java │ │ │ │ │ ├── TbLwM2MDiscoverRequest.java │ │ │ │ │ ├── TbLwM2MDownlinkRequest.java │ │ │ │ │ ├── TbLwM2MExecuteCallback.java │ │ │ │ │ ├── TbLwM2MExecuteRequest.java │ │ │ │ │ ├── TbLwM2MLatchCallback.java │ │ │ │ │ ├── TbLwM2MObserveAllRequest.java │ │ │ │ │ ├── TbLwM2MObserveCallback.java │ │ │ │ │ ├── TbLwM2MObserveRequest.java │ │ │ │ │ ├── TbLwM2MReadCallback.java │ │ │ │ │ ├── TbLwM2MReadRequest.java │ │ │ │ │ ├── TbLwM2MTargetedCallback.java │ │ │ │ │ ├── TbLwM2MUplinkTargetedCallback.java │ │ │ │ │ ├── TbLwM2MWriteAttributesCallback.java │ │ │ │ │ ├── TbLwM2MWriteAttributesRequest.java │ │ │ │ │ ├── TbLwM2MWriteReplaceRequest.java │ │ │ │ │ ├── TbLwM2MWriteResponseCallback.java │ │ │ │ │ ├── TbLwM2MWriteUpdateRequest.java │ │ │ │ │ └── composite │ │ │ │ │ │ ├── AbstractTbLwM2MTargetedDownlinkCompositeRequest.java │ │ │ │ │ │ ├── TbLwM2MCancelObserveCompositeCallback.java │ │ │ │ │ │ ├── TbLwM2MCancelObserveCompositeRequest.java │ │ │ │ │ │ ├── TbLwM2MObserveCompositeCallback.java │ │ │ │ │ │ ├── TbLwM2MObserveCompositeRequest.java │ │ │ │ │ │ ├── TbLwM2MReadCompositeCallback.java │ │ │ │ │ │ ├── TbLwM2MReadCompositeRequest.java │ │ │ │ │ │ ├── TbLwM2MWriteCompositeRequest.java │ │ │ │ │ │ └── TbLwM2MWriteResponseCompositeCallback.java │ │ │ │ ├── log │ │ │ │ │ ├── DefaultLwM2MTelemetryLogService.java │ │ │ │ │ └── LwM2MTelemetryLogService.java │ │ │ │ ├── model │ │ │ │ │ ├── LwM2MModelConfig.java │ │ │ │ │ ├── LwM2MModelConfigService.java │ │ │ │ │ ├── LwM2MModelConfigServiceImpl.java │ │ │ │ │ ├── ParametersAnalyzeResult.java │ │ │ │ │ ├── ParametersObserveAnalyzeResult.java │ │ │ │ │ └── ParametersUpdateAnalyzeResult.java │ │ │ │ ├── ota │ │ │ │ │ ├── DefaultLwM2MOtaUpdateService.java │ │ │ │ │ ├── LwM2MClientOtaInfo.java │ │ │ │ │ ├── LwM2MClientOtaState.java │ │ │ │ │ ├── LwM2MOtaUpdateService.java │ │ │ │ │ ├── firmware │ │ │ │ │ │ ├── FirmwareDeliveryMethod.java │ │ │ │ │ │ ├── FirmwareUpdateResult.java │ │ │ │ │ │ ├── FirmwareUpdateState.java │ │ │ │ │ │ ├── LwM2MClientFwOtaInfo.java │ │ │ │ │ │ └── LwM2MFirmwareUpdateStrategy.java │ │ │ │ │ └── software │ │ │ │ │ │ ├── LwM2MClientSwOtaInfo.java │ │ │ │ │ │ ├── LwM2MSoftwareUpdateStrategy.java │ │ │ │ │ │ ├── SoftwareUpdateResult.java │ │ │ │ │ │ └── SoftwareUpdateState.java │ │ │ │ ├── rpc │ │ │ │ │ ├── DefaultLwM2MRpcRequestHandler.java │ │ │ │ │ ├── LwM2MRpcRequestHandler.java │ │ │ │ │ ├── LwM2MRpcRequestHeader.java │ │ │ │ │ ├── LwM2MRpcResponseBody.java │ │ │ │ │ ├── RpcCancelAllObserveCallback.java │ │ │ │ │ ├── RpcCancelObserveCallback.java │ │ │ │ │ ├── RpcCreateRequest.java │ │ │ │ │ ├── RpcCreateResponseCallback.java │ │ │ │ │ ├── RpcDiscoverCallback.java │ │ │ │ │ ├── RpcDownlinkRequestCallbackProxy.java │ │ │ │ │ ├── RpcEmptyResponseCallback.java │ │ │ │ │ ├── RpcLinkSetCallback.java │ │ │ │ │ ├── RpcLwM2MDownlinkCallback.java │ │ │ │ │ ├── RpcReadResponseCallback.java │ │ │ │ │ ├── RpcWriteAttributesRequest.java │ │ │ │ │ ├── RpcWriteReplaceRequest.java │ │ │ │ │ ├── RpcWriteUpdateRequest.java │ │ │ │ │ └── composite │ │ │ │ │ │ ├── RpcCancelObserveCompositeCallback.java │ │ │ │ │ │ ├── RpcObserveResponseCompositeCallback.java │ │ │ │ │ │ ├── RpcReadCompositeRequest.java │ │ │ │ │ │ ├── RpcReadResponseCompositeCallback.java │ │ │ │ │ │ └── RpcWriteCompositeRequest.java │ │ │ │ ├── session │ │ │ │ │ ├── DefaultLwM2MSessionManager.java │ │ │ │ │ └── LwM2MSessionManager.java │ │ │ │ ├── store │ │ │ │ │ ├── TbDummyLwM2MClientOtaInfoStore.java │ │ │ │ │ ├── TbDummyLwM2MClientStore.java │ │ │ │ │ ├── TbDummyLwM2MModelConfigStore.java │ │ │ │ │ ├── TbEditableSecurityStore.java │ │ │ │ │ ├── TbInMemoryRegistrationStore.java │ │ │ │ │ ├── TbInMemorySecurityStore.java │ │ │ │ │ ├── TbL2M2MDtlsSessionInMemoryStore.java │ │ │ │ │ ├── TbLwM2MClientOtaInfoStore.java │ │ │ │ │ ├── TbLwM2MClientStore.java │ │ │ │ │ ├── TbLwM2MDtlsSessionRedisStore.java │ │ │ │ │ ├── TbLwM2MDtlsSessionStore.java │ │ │ │ │ ├── TbLwM2MModelConfigStore.java │ │ │ │ │ ├── TbLwM2mRedisClientOtaInfoStore.java │ │ │ │ │ ├── TbLwM2mRedisRegistrationStore.java │ │ │ │ │ ├── TbLwM2mRedisSecurityStore.java │ │ │ │ │ ├── TbLwM2mSecurityStore.java │ │ │ │ │ ├── TbLwM2mStoreFactory.java │ │ │ │ │ ├── TbMainSecurityStore.java │ │ │ │ │ ├── TbRedisLwM2MClientStore.java │ │ │ │ │ ├── TbRedisLwM2MModelConfigStore.java │ │ │ │ │ ├── TbSecurityStore.java │ │ │ │ │ └── util │ │ │ │ │ │ └── LwM2MClientSerDes.java │ │ │ │ └── uplink │ │ │ │ │ ├── DefaultLwM2mUplinkMsgHandler.java │ │ │ │ │ ├── LwM2mTypeServer.java │ │ │ │ │ └── LwM2mUplinkMsgHandler.java │ │ │ │ └── utils │ │ │ │ ├── LwM2MTransportUtil.java │ │ │ │ └── LwM2mValueConverterImpl.java │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── thingsboard │ │ │ │ └── server │ │ │ │ └── transport │ │ │ │ └── lwm2m │ │ │ │ └── server │ │ │ │ ├── client │ │ │ │ └── LwM2mClientTest.java │ │ │ │ ├── model │ │ │ │ └── LwM2MModelConfigServiceImplTest.java │ │ │ │ └── store │ │ │ │ └── util │ │ │ │ └── LwM2MClientSerDesTest.java │ │ │ └── resources │ │ │ ├── 15.xml │ │ │ ├── 17.xml │ │ │ ├── junit-platform.properties │ │ │ └── logback-test.xml │ ├── mqtt │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── thingsboard │ │ │ │ │ └── server │ │ │ │ │ └── transport │ │ │ │ │ └── mqtt │ │ │ │ │ ├── DefaultTransportMBeanConfiguration.java │ │ │ │ │ ├── HashMapObserver.java │ │ │ │ │ ├── HashMapObserverMBean.java │ │ │ │ │ ├── MqttSslHandlerProvider.java │ │ │ │ │ ├── MqttTransportContext.java │ │ │ │ │ ├── MqttTransportHandler.java │ │ │ │ │ ├── MqttTransportServerInitializer.java │ │ │ │ │ ├── MqttTransportService.java │ │ │ │ │ ├── TbMqttTransportComponent.java │ │ │ │ │ ├── TopicType.java │ │ │ │ │ ├── adaptors │ │ │ │ │ ├── BackwardCompatibilityAdaptor.java │ │ │ │ │ ├── JsonMqttAdaptor.java │ │ │ │ │ ├── MqttTransportAdaptor.java │ │ │ │ │ └── ProtoMqttAdaptor.java │ │ │ │ │ ├── gateway │ │ │ │ │ ├── GatewayMetricsService.java │ │ │ │ │ └── metrics │ │ │ │ │ │ └── GatewayMetricsState.java │ │ │ │ │ ├── limits │ │ │ │ │ ├── GatewaySessionLimits.java │ │ │ │ │ ├── IpFilter.java │ │ │ │ │ ├── ProxyIpFilter.java │ │ │ │ │ └── SessionLimits.java │ │ │ │ │ ├── session │ │ │ │ │ ├── AbstractGatewayDeviceSessionContext.java │ │ │ │ │ ├── AbstractGatewaySessionHandler.java │ │ │ │ │ ├── DeviceSessionCtx.java │ │ │ │ │ ├── GatewayDeviceSessionContext.java │ │ │ │ │ ├── GatewaySessionHandler.java │ │ │ │ │ ├── MqttDeviceAwareSessionContext.java │ │ │ │ │ ├── MqttTopicMatcher.java │ │ │ │ │ ├── SparkplugDeviceSessionContext.java │ │ │ │ │ └── SparkplugNodeSessionHandler.java │ │ │ │ │ └── util │ │ │ │ │ ├── AlwaysTrueTopicFilter.java │ │ │ │ │ ├── EqualsTopicFilter.java │ │ │ │ │ ├── MqttTopicFilter.java │ │ │ │ │ ├── MqttTopicFilterFactory.java │ │ │ │ │ ├── RegexTopicFilter.java │ │ │ │ │ ├── ReturnCodeResolver.java │ │ │ │ │ └── sparkplug │ │ │ │ │ ├── DeviceDescriptor.java │ │ │ │ │ ├── EdgeNodeDescriptor.java │ │ │ │ │ ├── MetricDataType.java │ │ │ │ │ ├── SparkplugConnectionState.java │ │ │ │ │ ├── SparkplugDescriptor.java │ │ │ │ │ ├── SparkplugMessageType.java │ │ │ │ │ ├── SparkplugMetricUtil.java │ │ │ │ │ ├── SparkplugRpcRequestHeader.java │ │ │ │ │ ├── SparkplugRpcResponseBody.java │ │ │ │ │ ├── SparkplugTopic.java │ │ │ │ │ ├── SparkplugTopicService.java │ │ │ │ │ └── SpecVersion.java │ │ │ └── proto │ │ │ │ └── sparkplug.proto │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── thingsboard │ │ │ │ └── server │ │ │ │ └── transport │ │ │ │ └── mqtt │ │ │ │ ├── MqttTransportHandlerTest.java │ │ │ │ ├── session │ │ │ │ └── GatewaySessionHandlerTest.java │ │ │ │ └── util │ │ │ │ └── MqttTopicFilterFactoryTest.java │ │ │ └── resources │ │ │ ├── junit-platform.properties │ │ │ └── logback-test.xml │ ├── pom.xml │ ├── snmp │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── thingsboard │ │ │ │ └── server │ │ │ │ └── transport │ │ │ │ └── snmp │ │ │ │ ├── SnmpTransportContext.java │ │ │ │ ├── event │ │ │ │ ├── ServiceListChangedEventListener.java │ │ │ │ ├── SnmpTransportListChangedEvent.java │ │ │ │ └── SnmpTransportListChangedEventListener.java │ │ │ │ ├── service │ │ │ │ ├── PduService.java │ │ │ │ ├── ProtoTransportEntityService.java │ │ │ │ ├── SnmpAuthService.java │ │ │ │ ├── SnmpTransportBalancingService.java │ │ │ │ └── SnmpTransportService.java │ │ │ │ └── session │ │ │ │ ├── DeviceSessionContext.java │ │ │ │ └── ScheduledTask.java │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── thingsboard │ │ │ │ └── server │ │ │ │ └── transport │ │ │ │ └── snmp │ │ │ │ ├── SnmpDeviceSimulatorV2.java │ │ │ │ ├── SnmpDeviceSimulatorV3.java │ │ │ │ ├── SnmpTestV2.java │ │ │ │ └── SnmpTestV3.java │ │ │ └── resources │ │ │ ├── junit-platform.properties │ │ │ ├── logback-test.xml │ │ │ └── snmp_device_profile.json │ └── transport-api │ │ ├── pom.xml │ │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── common │ │ │ └── transport │ │ │ ├── DeviceDeletedEvent.java │ │ │ ├── DeviceProfileUpdatedEvent.java │ │ │ ├── DeviceUpdatedEvent.java │ │ │ ├── SessionMsgListener.java │ │ │ ├── TransportAdaptor.java │ │ │ ├── TransportContext.java │ │ │ ├── TransportDeviceProfileCache.java │ │ │ ├── TransportResourceCache.java │ │ │ ├── TransportService.java │ │ │ ├── TransportServiceCallback.java │ │ │ ├── TransportTenantProfileCache.java │ │ │ ├── activity │ │ │ ├── AbstractActivityManager.java │ │ │ ├── ActivityManager.java │ │ │ ├── ActivityReportCallback.java │ │ │ ├── ActivityState.java │ │ │ └── strategy │ │ │ │ ├── ActivityStrategy.java │ │ │ │ ├── ActivityStrategyType.java │ │ │ │ ├── AllEventsActivityStrategy.java │ │ │ │ ├── FirstAndLastEventActivityStrategy.java │ │ │ │ ├── FirstEventActivityStrategy.java │ │ │ │ └── LastEventActivityStrategy.java │ │ │ ├── auth │ │ │ ├── DeviceAuthResult.java │ │ │ ├── DeviceAuthService.java │ │ │ ├── DeviceProfileAware.java │ │ │ ├── GetOrCreateDeviceFromGatewayResponse.java │ │ │ ├── SessionInfoCreator.java │ │ │ ├── TransportDeviceInfo.java │ │ │ └── ValidateDeviceCredentialsResponse.java │ │ │ ├── config │ │ │ └── ssl │ │ │ │ ├── AbstractSslCredentials.java │ │ │ │ ├── KeystoreSslCredentials.java │ │ │ │ ├── PemSslCredentials.java │ │ │ │ ├── SslCredentials.java │ │ │ │ ├── SslCredentialsConfig.java │ │ │ │ ├── SslCredentialsType.java │ │ │ │ └── SslCredentialsWebServerCustomizer.java │ │ │ ├── limits │ │ │ ├── DefaultEntityLimitsCache.java │ │ │ ├── DefaultTransportRateLimitService.java │ │ │ ├── DummyTransportRateLimit.java │ │ │ ├── EntityLimitKey.java │ │ │ ├── EntityLimitsCache.java │ │ │ ├── EntityTransportRateLimits.java │ │ │ ├── InetAddressRateLimitStats.java │ │ │ ├── SimpleTransportRateLimit.java │ │ │ ├── TransportLimitsType.java │ │ │ ├── TransportRateLimit.java │ │ │ └── TransportRateLimitService.java │ │ │ ├── profile │ │ │ └── TenantProfileUpdateResult.java │ │ │ ├── service │ │ │ ├── DefaultTransportDeviceProfileCache.java │ │ │ ├── DefaultTransportResourceCache.java │ │ │ ├── DefaultTransportService.java │ │ │ ├── DefaultTransportTenantProfileCache.java │ │ │ ├── RpcRequestMetadata.java │ │ │ ├── SessionMetaData.java │ │ │ ├── ToRuleEngineMsgEncoder.java │ │ │ ├── ToTransportMsgResponseDecoder.java │ │ │ ├── TransportActivityManager.java │ │ │ ├── TransportApiRequestEncoder.java │ │ │ ├── TransportApiResponseDecoder.java │ │ │ ├── TransportQueueRoutingInfoService.java │ │ │ └── TransportTenantRoutingInfoService.java │ │ │ ├── session │ │ │ ├── DeviceAwareSessionContext.java │ │ │ └── SessionContext.java │ │ │ └── util │ │ │ ├── JsonUtils.java │ │ │ └── SslUtil.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── common │ │ │ └── transport │ │ │ ├── activity │ │ │ └── strategy │ │ │ │ ├── ActivityStrategyTypeTest.java │ │ │ │ ├── AllEventsActivityStrategyTest.java │ │ │ │ ├── FirstAndLastEventActivityStrategyTest.java │ │ │ │ ├── FirstEventActivityStrategyTest.java │ │ │ │ └── LastEventActivityStrategyTest.java │ │ │ └── service │ │ │ └── TransportActivityManagerTest.java │ │ └── resources │ │ ├── junit-platform.properties │ │ └── logback-test.xml ├── util │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── thingsboard │ │ │ └── common │ │ │ └── util │ │ │ ├── AbstractListeningExecutor.java │ │ │ ├── AzureIotHubUtil.java │ │ │ ├── CachedValue.java │ │ │ ├── DebugModeUtil.java │ │ │ ├── DeduplicationUtil.java │ │ │ ├── DonAsynchron.java │ │ │ ├── ExceptionUtil.java │ │ │ ├── ExecutorProvider.java │ │ │ ├── ExpressionUtils.java │ │ │ ├── JacksonUtil.java │ │ │ ├── JsonSchemaUtils.java │ │ │ ├── KvUtil.java │ │ │ ├── LinkedHashMapRemoveEldest.java │ │ │ ├── ListeningExecutor.java │ │ │ ├── NoOpFutureCallback.java │ │ │ ├── RecoveryAware.java │ │ │ ├── RegexUtils.java │ │ │ ├── SetCache.java │ │ │ ├── SslUtil.java │ │ │ ├── SystemUtil.java │ │ │ ├── TbBytePool.java │ │ │ ├── TbStopWatch.java │ │ │ ├── TbStringPool.java │ │ │ ├── ThingsBoardExecutors.java │ │ │ ├── ThingsBoardForkJoinWorkerThreadFactory.java │ │ │ ├── ThingsBoardScheduledThreadPoolExecutor.java │ │ │ ├── ThingsBoardThreadFactory.java │ │ │ └── geo │ │ │ ├── CirclePerimeterDefinition.java │ │ │ ├── Coordinates.java │ │ │ ├── GeoUtil.java │ │ │ ├── Perimeter.java │ │ │ ├── PerimeterDefinition.java │ │ │ ├── PerimeterDefinitionDeserializer.java │ │ │ ├── PerimeterDefinitionSerializer.java │ │ │ ├── PerimeterType.java │ │ │ ├── PolygonPerimeterDefinition.java │ │ │ └── RangeUnit.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── thingsboard │ │ │ └── common │ │ │ └── util │ │ │ ├── ExceptionUtilTest.java │ │ │ ├── JacksonUtilTest.java │ │ │ ├── LinkedHashMapRemoveEldestTest.java │ │ │ ├── ThingsBoardScheduledThreadPoolExecutorTest.java │ │ │ └── geo │ │ │ ├── PerimeterDefinitionDeserializerTest.java │ │ │ └── PerimeterDefinitionSerializerTest.java │ │ └── resources │ │ ├── junit-platform.properties │ │ └── logback-test.xml └── version-control │ ├── pom.xml │ └── src │ └── main │ └── java │ └── org │ └── thingsboard │ └── server │ └── service │ └── sync │ ├── DefaultGitSyncService.java │ ├── GitSyncService.java │ └── vc │ ├── ClusterVersionControlService.java │ ├── DefaultClusterVersionControlService.java │ ├── DefaultGitRepositoryService.java │ ├── GitRepository.java │ ├── GitRepositoryService.java │ ├── PendingCommit.java │ └── VersionControlRequestCtx.java ├── dao ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── dao │ │ │ ├── AbstractVersionedInsertRepository.java │ │ │ ├── Dao.java │ │ │ ├── DaoUtil.java │ │ │ ├── ExportableEntityDao.java │ │ │ ├── ExportableEntityRepository.java │ │ │ ├── ImageContainerDao.java │ │ │ ├── ResourceContainerDao.java │ │ │ ├── TenantEntityDao.java │ │ │ ├── TenantEntityWithDataDao.java │ │ │ ├── ThingsboardPostgreSQLDialect.java │ │ │ ├── ai │ │ │ ├── AiModelCacheEvictEvent.java │ │ │ ├── AiModelCacheKey.java │ │ │ ├── AiModelCaffeineCache.java │ │ │ ├── AiModelDao.java │ │ │ ├── AiModelRedisCache.java │ │ │ └── AiModelServiceImpl.java │ │ │ ├── alarm │ │ │ ├── AlarmCommentDao.java │ │ │ ├── AlarmDao.java │ │ │ ├── AlarmTypesCacheEvictEvent.java │ │ │ ├── AlarmTypesCaffeineCache.java │ │ │ ├── AlarmTypesRedisCache.java │ │ │ ├── BaseAlarmCommentService.java │ │ │ └── BaseAlarmService.java │ │ │ ├── aspect │ │ │ ├── DbCallStats.java │ │ │ ├── DbCallStatsSnapshot.java │ │ │ ├── MethodCallStats.java │ │ │ ├── MethodCallStatsSnapshot.java │ │ │ └── SqlDaoCallsAspect.java │ │ │ ├── asset │ │ │ ├── AssetCacheEvictEvent.java │ │ │ ├── AssetCacheKey.java │ │ │ ├── AssetCaffeineCache.java │ │ │ ├── AssetDao.java │ │ │ ├── AssetProfileCacheKey.java │ │ │ ├── AssetProfileCaffeineCache.java │ │ │ ├── AssetProfileDao.java │ │ │ ├── AssetProfileEvictEvent.java │ │ │ ├── AssetProfileRedisCache.java │ │ │ ├── AssetProfileServiceImpl.java │ │ │ ├── AssetRedisCache.java │ │ │ ├── AssetTypeFilter.java │ │ │ └── BaseAssetService.java │ │ │ ├── attributes │ │ │ ├── AttributeCacheKey.java │ │ │ ├── AttributeCaffeineCache.java │ │ │ ├── AttributeRedisCache.java │ │ │ ├── AttributeUtils.java │ │ │ ├── AttributesDao.java │ │ │ ├── BaseAttributesService.java │ │ │ └── CachedAttributesService.java │ │ │ ├── audit │ │ │ ├── AuditLogDao.java │ │ │ ├── AuditLogLevelFilter.java │ │ │ ├── AuditLogLevelMask.java │ │ │ ├── AuditLogLevelProperties.java │ │ │ ├── AuditLogServiceImpl.java │ │ │ ├── DummyAuditLogServiceImpl.java │ │ │ └── sink │ │ │ │ ├── AuditLogSink.java │ │ │ │ ├── DummyAuditLogSink.java │ │ │ │ └── ElasticsearchAuditLogSink.java │ │ │ ├── cache │ │ │ └── CacheExecutorService.java │ │ │ ├── cf │ │ │ ├── BaseCalculatedFieldService.java │ │ │ └── CalculatedFieldDao.java │ │ │ ├── cloud │ │ │ ├── CloudEventDao.java │ │ │ ├── DefaultCloudSynchronizationManager.java │ │ │ ├── DefaultEdgeSettingsService.java │ │ │ └── TsKvCloudEventDao.java │ │ │ ├── component │ │ │ ├── BaseComponentDescriptorService.java │ │ │ └── ComponentDescriptorDao.java │ │ │ ├── config │ │ │ ├── DedicatedEventsDataSource.java │ │ │ ├── DedicatedEventsJpaDaoConfig.java │ │ │ ├── DefaultDataSource.java │ │ │ ├── DefaultDedicatedJpaDaoConfig.java │ │ │ ├── JpaDaoConfig.java │ │ │ ├── SqlTsDaoConfig.java │ │ │ ├── SqlTsLatestDaoConfig.java │ │ │ ├── TimescaleDaoConfig.java │ │ │ └── TimescaleTsLatestDaoConfig.java │ │ │ ├── customer │ │ │ ├── CustomerDao.java │ │ │ └── CustomerServiceImpl.java │ │ │ ├── dashboard │ │ │ ├── DashboardDao.java │ │ │ ├── DashboardInfoDao.java │ │ │ ├── DashboardServiceImpl.java │ │ │ ├── DashboardTitleEvictEvent.java │ │ │ ├── DashboardTitlesCaffeineCache.java │ │ │ └── DashboardTitlesRedisCache.java │ │ │ ├── device │ │ │ ├── ClaimDataInfo.java │ │ │ ├── DeviceConnectivityConfiguration.java │ │ │ ├── DeviceConnectivityInfo.java │ │ │ ├── DeviceConnectivityServiceImpl.java │ │ │ ├── DeviceCredentialsCaffeineCache.java │ │ │ ├── DeviceCredentialsDao.java │ │ │ ├── DeviceCredentialsEvictEvent.java │ │ │ ├── DeviceCredentialsRedisCache.java │ │ │ ├── DeviceCredentialsServiceImpl.java │ │ │ ├── DeviceDao.java │ │ │ ├── DeviceProfileCacheKey.java │ │ │ ├── DeviceProfileCaffeineCache.java │ │ │ ├── DeviceProfileDao.java │ │ │ ├── DeviceProfileEvictEvent.java │ │ │ ├── DeviceProfileRedisCache.java │ │ │ ├── DeviceProfileServiceImpl.java │ │ │ └── DeviceServiceImpl.java │ │ │ ├── dictionary │ │ │ └── KeyDictionaryDao.java │ │ │ ├── domain │ │ │ ├── DomainDao.java │ │ │ └── DomainServiceImpl.java │ │ │ ├── edge │ │ │ ├── BaseEdgeEventService.java │ │ │ ├── BaseRelatedEdgesService.java │ │ │ ├── DefaultEdgeSynchronizationManager.java │ │ │ ├── EdgeDao.java │ │ │ ├── EdgeEventDao.java │ │ │ ├── EdgeServiceImpl.java │ │ │ ├── EdgeSessionCaffeineCache.java │ │ │ ├── EdgeSessionRedisCache.java │ │ │ ├── PostgresEdgeEventService.java │ │ │ └── stats │ │ │ │ ├── CloudStatsCounterService.java │ │ │ │ ├── CloudStatsKey.java │ │ │ │ ├── EdgeStatsCounterService.java │ │ │ │ ├── EdgeStatsKey.java │ │ │ │ └── MsgCounters.java │ │ │ ├── entity │ │ │ ├── AbstractCachedEntityService.java │ │ │ ├── AbstractCachedService.java │ │ │ ├── AbstractEntityService.java │ │ │ ├── BaseEntityCountService.java │ │ │ ├── BaseEntityService.java │ │ │ ├── CachedVersionedEntityService.java │ │ │ ├── DefaultEntityServiceRegistry.java │ │ │ ├── EntityCountCacheEvictEvent.java │ │ │ ├── EntityCountCacheKey.java │ │ │ ├── EntityDaoRegistry.java │ │ │ ├── EntityQueryDao.java │ │ │ └── count │ │ │ │ ├── EntityCountCaffeineCache.java │ │ │ │ └── EntityCountRedisCache.java │ │ │ ├── entityview │ │ │ ├── EntityViewCacheKey.java │ │ │ ├── EntityViewCacheValue.java │ │ │ ├── EntityViewCaffeineCache.java │ │ │ ├── EntityViewDao.java │ │ │ ├── EntityViewEvictEvent.java │ │ │ ├── EntityViewRedisCache.java │ │ │ └── EntityViewServiceImpl.java │ │ │ ├── event │ │ │ ├── BaseEventService.java │ │ │ └── EventDao.java │ │ │ ├── eventsourcing │ │ │ ├── ActionCause.java │ │ │ ├── ActionEntityEvent.java │ │ │ ├── DeleteEntityEvent.java │ │ │ ├── RelationActionEvent.java │ │ │ └── SaveEntityEvent.java │ │ │ ├── exception │ │ │ ├── BufferLimitException.java │ │ │ ├── DataValidationException.java │ │ │ ├── DatabaseException.java │ │ │ ├── DeviceCredentialsValidationException.java │ │ │ ├── EntitiesLimitException.java │ │ │ └── IncorrectParameterException.java │ │ │ ├── housekeeper │ │ │ └── CleanUpService.java │ │ │ ├── job │ │ │ ├── DefaultJobService.java │ │ │ └── JobDao.java │ │ │ ├── mobile │ │ │ ├── MobileAppBundleDao.java │ │ │ ├── MobileAppBundleServiceImpl.java │ │ │ ├── MobileAppDao.java │ │ │ ├── MobileAppServiceImpl.java │ │ │ ├── QrCodeSettingService.java │ │ │ ├── QrCodeSettingServiceImpl.java │ │ │ ├── QrCodeSettingsCaffeineCache.java │ │ │ ├── QrCodeSettingsDao.java │ │ │ ├── QrCodeSettingsEvictEvent.java │ │ │ └── QrCodeSettingsRedisCache.java │ │ │ ├── model │ │ │ ├── BaseEntity.java │ │ │ ├── BaseSqlEntity.java │ │ │ ├── BaseVersionedEntity.java │ │ │ ├── ModelConstants.java │ │ │ ├── ToData.java │ │ │ ├── sql │ │ │ │ ├── AbstractAlarmCommentEntity.java │ │ │ │ ├── AbstractAlarmEntity.java │ │ │ │ ├── AbstractApiKeyInfoEntity.java │ │ │ │ ├── AbstractAssetEntity.java │ │ │ │ ├── AbstractCloudEventEntity.java │ │ │ │ ├── AbstractDeviceEntity.java │ │ │ │ ├── AbstractEdgeEntity.java │ │ │ │ ├── AbstractEntityViewEntity.java │ │ │ │ ├── AbstractMobileAppBundleEntity.java │ │ │ │ ├── AbstractTenantEntity.java │ │ │ │ ├── AbstractTsKvEntity.java │ │ │ │ ├── AbstractWidgetTypeEntity.java │ │ │ │ ├── AdminSettingsEntity.java │ │ │ │ ├── AiModelEntity.java │ │ │ │ ├── AlarmCommentEntity.java │ │ │ │ ├── AlarmCommentInfoEntity.java │ │ │ │ ├── AlarmEntity.java │ │ │ │ ├── AlarmInfoEntity.java │ │ │ │ ├── ApiKeyEntity.java │ │ │ │ ├── ApiKeyInfoEntity.java │ │ │ │ ├── ApiUsageStateEntity.java │ │ │ │ ├── AssetEntity.java │ │ │ │ ├── AssetInfoEntity.java │ │ │ │ ├── AssetProfileEntity.java │ │ │ │ ├── AttributeKvCompositeKey.java │ │ │ │ ├── AttributeKvEntity.java │ │ │ │ ├── AuditLogEntity.java │ │ │ │ ├── CalculatedFieldDebugEventEntity.java │ │ │ │ ├── CalculatedFieldEntity.java │ │ │ │ ├── CloudEventEntity.java │ │ │ │ ├── ComponentDescriptorEntity.java │ │ │ │ ├── CustomerEntity.java │ │ │ │ ├── DashboardEntity.java │ │ │ │ ├── DashboardInfoEntity.java │ │ │ │ ├── DeviceCredentialsEntity.java │ │ │ │ ├── DeviceEntity.java │ │ │ │ ├── DeviceInfoEntity.java │ │ │ │ ├── DeviceProfileEntity.java │ │ │ │ ├── DomainEntity.java │ │ │ │ ├── DomainOauth2ClientCompositeKey.java │ │ │ │ ├── DomainOauth2ClientEntity.java │ │ │ │ ├── EdgeEntity.java │ │ │ │ ├── EdgeEventEntity.java │ │ │ │ ├── EdgeInfoEntity.java │ │ │ │ ├── EntityAlarmCompositeKey.java │ │ │ │ ├── EntityAlarmEntity.java │ │ │ │ ├── EntityViewEntity.java │ │ │ │ ├── EntityViewInfoEntity.java │ │ │ │ ├── ErrorEventEntity.java │ │ │ │ ├── EventEntity.java │ │ │ │ ├── JobEntity.java │ │ │ │ ├── LifecycleEventEntity.java │ │ │ │ ├── MobileAppBundleEntity.java │ │ │ │ ├── MobileAppBundleInfoEntity.java │ │ │ │ ├── MobileAppBundleOauth2ClientEntity.java │ │ │ │ ├── MobileAppEntity.java │ │ │ │ ├── MobileAppOauth2ClientCompositeKey.java │ │ │ │ ├── NotificationEntity.java │ │ │ │ ├── NotificationRequestEntity.java │ │ │ │ ├── NotificationRequestInfoEntity.java │ │ │ │ ├── NotificationRuleEntity.java │ │ │ │ ├── NotificationRuleInfoEntity.java │ │ │ │ ├── NotificationTargetEntity.java │ │ │ │ ├── NotificationTemplateEntity.java │ │ │ │ ├── OAuth2ClientEntity.java │ │ │ │ ├── OAuth2ClientInfoEntity.java │ │ │ │ ├── OAuth2ClientRegistrationTemplateEntity.java │ │ │ │ ├── OtaPackageEntity.java │ │ │ │ ├── OtaPackageInfoEntity.java │ │ │ │ ├── QrCodeSettingsEntity.java │ │ │ │ ├── QueueEntity.java │ │ │ │ ├── QueueStatsEntity.java │ │ │ │ ├── RelationCompositeKey.java │ │ │ │ ├── RelationEntity.java │ │ │ │ ├── RpcEntity.java │ │ │ │ ├── RuleChainDebugEventEntity.java │ │ │ │ ├── RuleChainEntity.java │ │ │ │ ├── RuleNodeDebugEventEntity.java │ │ │ │ ├── RuleNodeEntity.java │ │ │ │ ├── RuleNodeStateEntity.java │ │ │ │ ├── StatisticsEventEntity.java │ │ │ │ ├── TbResourceEntity.java │ │ │ │ ├── TbResourceInfoEntity.java │ │ │ │ ├── TenantEntity.java │ │ │ │ ├── TenantInfoEntity.java │ │ │ │ ├── TenantProfileEntity.java │ │ │ │ ├── TsKvCloudEventEntity.java │ │ │ │ ├── UserAuthSettingsEntity.java │ │ │ │ ├── UserCredentialsEntity.java │ │ │ │ ├── UserEntity.java │ │ │ │ ├── UserSettingsEntity.java │ │ │ │ ├── WidgetTypeDetailsEntity.java │ │ │ │ ├── WidgetTypeEntity.java │ │ │ │ ├── WidgetTypeIdFqnEntity.java │ │ │ │ ├── WidgetTypeInfoEntity.java │ │ │ │ ├── WidgetsBundleEntity.java │ │ │ │ ├── WidgetsBundleWidgetCompositeKey.java │ │ │ │ └── WidgetsBundleWidgetEntity.java │ │ │ └── sqlts │ │ │ │ ├── dictionary │ │ │ │ ├── KeyDictionaryCompositeKey.java │ │ │ │ └── KeyDictionaryEntry.java │ │ │ │ ├── latest │ │ │ │ ├── TsKvLatestCompositeKey.java │ │ │ │ └── TsKvLatestEntity.java │ │ │ │ ├── timescale │ │ │ │ └── ts │ │ │ │ │ ├── TimescaleTsKvCompositeKey.java │ │ │ │ │ └── TimescaleTsKvEntity.java │ │ │ │ └── ts │ │ │ │ ├── TsKvCompositeKey.java │ │ │ │ └── TsKvEntity.java │ │ │ ├── nosql │ │ │ ├── CassandraAbstractAsyncDao.java │ │ │ ├── CassandraAbstractDao.java │ │ │ ├── CassandraBufferedRateReadExecutor.java │ │ │ └── CassandraBufferedRateWriteExecutor.java │ │ │ ├── notification │ │ │ ├── DefaultNotificationRequestService.java │ │ │ ├── DefaultNotificationRuleService.java │ │ │ ├── DefaultNotificationService.java │ │ │ ├── DefaultNotificationSettingsService.java │ │ │ ├── DefaultNotificationTargetService.java │ │ │ ├── DefaultNotificationTemplateService.java │ │ │ ├── DefaultNotifications.java │ │ │ ├── NotificationDao.java │ │ │ ├── NotificationRequestDao.java │ │ │ ├── NotificationRuleDao.java │ │ │ ├── NotificationTargetDao.java │ │ │ └── NotificationTemplateDao.java │ │ │ ├── oauth2 │ │ │ ├── HybridClientRegistrationRepository.java │ │ │ ├── OAuth2ClientDao.java │ │ │ ├── OAuth2ClientRegistrationTemplateDao.java │ │ │ ├── OAuth2ClientServiceImpl.java │ │ │ ├── OAuth2ConfigTemplateServiceImpl.java │ │ │ ├── OAuth2Configuration.java │ │ │ ├── OAuth2ParamsDao.java │ │ │ └── OAuth2Utils.java │ │ │ ├── ota │ │ │ ├── BaseOtaPackageService.java │ │ │ ├── OtaPackageCacheEvictEvent.java │ │ │ ├── OtaPackageCacheKey.java │ │ │ ├── OtaPackageCaffeineCache.java │ │ │ ├── OtaPackageDao.java │ │ │ ├── OtaPackageInfoDao.java │ │ │ └── OtaPackageRedisCache.java │ │ │ ├── pat │ │ │ ├── ApiKeyCacheKey.java │ │ │ ├── ApiKeyCaffeineCache.java │ │ │ ├── ApiKeyDao.java │ │ │ ├── ApiKeyEvictEvent.java │ │ │ ├── ApiKeyInfoDao.java │ │ │ ├── ApiKeyRedisCache.java │ │ │ └── ApiKeyServiceImpl.java │ │ │ ├── queue │ │ │ ├── BaseQueueService.java │ │ │ ├── BaseQueueStatsService.java │ │ │ ├── QueueDao.java │ │ │ └── QueueStatsDao.java │ │ │ ├── relation │ │ │ ├── BaseRelationService.java │ │ │ ├── EntityRelationEvent.java │ │ │ ├── RelationCacheKey.java │ │ │ ├── RelationCacheValue.java │ │ │ ├── RelationCaffeineCache.java │ │ │ ├── RelationDao.java │ │ │ └── RelationRedisCache.java │ │ │ ├── resource │ │ │ ├── BaseImageService.java │ │ │ ├── BaseResourceService.java │ │ │ ├── DefaultTbResourceDataCache.java │ │ │ ├── ImageCacheKey.java │ │ │ ├── TbResourceDao.java │ │ │ └── TbResourceInfoDao.java │ │ │ ├── rpc │ │ │ ├── BaseRpcService.java │ │ │ └── RpcDao.java │ │ │ ├── rule │ │ │ ├── BaseRuleChainService.java │ │ │ ├── BaseRuleNodeStateService.java │ │ │ ├── RuleChainDao.java │ │ │ ├── RuleNodeDao.java │ │ │ └── RuleNodeStateDao.java │ │ │ ├── service │ │ │ ├── ConstraintValidator.java │ │ │ ├── DataValidator.java │ │ │ ├── JsonSchemaValidator.java │ │ │ ├── NoNullCharValidator.java │ │ │ ├── NoXssValidator.java │ │ │ ├── PaginatedRemover.java │ │ │ ├── RateLimitValidator.java │ │ │ ├── StringLengthValidator.java │ │ │ ├── TimePaginatedRemover.java │ │ │ ├── Validator.java │ │ │ └── validator │ │ │ │ ├── AbstractHasOtaPackageValidator.java │ │ │ │ ├── AdminSettingsDataValidator.java │ │ │ │ ├── AiModelDataValidator.java │ │ │ │ ├── AlarmCommentDataValidator.java │ │ │ │ ├── AlarmDataValidator.java │ │ │ │ ├── ApiKeyDataValidator.java │ │ │ │ ├── ApiUsageDataValidator.java │ │ │ │ ├── AssetDataValidator.java │ │ │ │ ├── AssetProfileDataValidator.java │ │ │ │ ├── AuditLogDataValidator.java │ │ │ │ ├── BaseOtaPackageDataValidator.java │ │ │ │ ├── CalculatedFieldDataValidator.java │ │ │ │ ├── ClientRegistrationTemplateDataValidator.java │ │ │ │ ├── CloudEventDataValidator.java │ │ │ │ ├── ComponentDescriptorDataValidator.java │ │ │ │ ├── CustomerDataValidator.java │ │ │ │ ├── DashboardDataValidator.java │ │ │ │ ├── DeviceCredentialsDataValidator.java │ │ │ │ ├── DeviceDataValidator.java │ │ │ │ ├── DeviceProfileDataValidator.java │ │ │ │ ├── DomainDataValidator.java │ │ │ │ ├── EdgeDataValidator.java │ │ │ │ ├── EdgeEventDataValidator.java │ │ │ │ ├── EntityViewDataValidator.java │ │ │ │ ├── EventDataValidator.java │ │ │ │ ├── MobileAppBundleDataValidator.java │ │ │ │ ├── MobileAppDataValidator.java │ │ │ │ ├── Oauth2ClientDataValidator.java │ │ │ │ ├── OtaPackageDataValidator.java │ │ │ │ ├── OtaPackageInfoDataValidator.java │ │ │ │ ├── QrCodeSettingsDataValidator.java │ │ │ │ ├── QueueStatsDataValidator.java │ │ │ │ ├── QueueValidator.java │ │ │ │ ├── ResourceDataValidator.java │ │ │ │ ├── RuleChainDataValidator.java │ │ │ │ ├── TenantDataValidator.java │ │ │ │ ├── TenantProfileDataValidator.java │ │ │ │ ├── UserCredentialsDataValidator.java │ │ │ │ ├── UserDataValidator.java │ │ │ │ ├── WidgetTypeDataValidator.java │ │ │ │ └── WidgetsBundleDataValidator.java │ │ │ ├── settings │ │ │ ├── AdminSettingsDao.java │ │ │ ├── AdminSettingsServiceImpl.java │ │ │ ├── DefaultSecuritySettingsService.java │ │ │ └── SecuritySettingsService.java │ │ │ ├── sql │ │ │ ├── IdGenerator.java │ │ │ ├── JpaAbstractDao.java │ │ │ ├── JpaAbstractDaoListeningExecutorService.java │ │ │ ├── JpaExecutorService.java │ │ │ ├── JpaPartitionedAbstractDao.java │ │ │ ├── NamedParameterJdbcTemplateConfiguration.java │ │ │ ├── ScheduledLogExecutorComponent.java │ │ │ ├── TbSqlBlockingQueue.java │ │ │ ├── TbSqlBlockingQueueParams.java │ │ │ ├── TbSqlBlockingQueueWrapper.java │ │ │ ├── TbSqlQueue.java │ │ │ ├── TbSqlQueueElement.java │ │ │ ├── ai │ │ │ │ ├── AiModelRepository.java │ │ │ │ └── JpaAiModelDao.java │ │ │ ├── alarm │ │ │ │ ├── AlarmCommentRepository.java │ │ │ │ ├── AlarmRepository.java │ │ │ │ ├── EntityAlarmRepository.java │ │ │ │ ├── JpaAlarmCommentDao.java │ │ │ │ ├── JpaAlarmDao.java │ │ │ │ └── JpaEntityAlarmDao.java │ │ │ ├── asset │ │ │ │ ├── AssetProfileRepository.java │ │ │ │ ├── AssetRepository.java │ │ │ │ ├── JpaAssetDao.java │ │ │ │ └── JpaAssetProfileDao.java │ │ │ ├── attributes │ │ │ │ ├── AttributeKvInsertRepository.java │ │ │ │ ├── AttributeKvRepository.java │ │ │ │ └── JpaAttributeDao.java │ │ │ ├── audit │ │ │ │ ├── AuditLogRepository.java │ │ │ │ ├── DedicatedJpaAuditLogDao.java │ │ │ │ └── JpaAuditLogDao.java │ │ │ ├── cf │ │ │ │ ├── CalculatedFieldRepository.java │ │ │ │ ├── DefaultNativeCalculatedFieldRepository.java │ │ │ │ ├── JpaCalculatedFieldDao.java │ │ │ │ └── NativeCalculatedFieldRepository.java │ │ │ ├── cloud │ │ │ │ ├── AbstractJpaCloudEventDao.java │ │ │ │ ├── BaseCloudEventInsertRepository.java │ │ │ │ ├── BaseCloudEventRepository.java │ │ │ │ ├── CloudEventRepository.java │ │ │ │ ├── JpaBaseCloudEventDao.java │ │ │ │ ├── JpaBaseTsKvCloudEventDao.java │ │ │ │ └── TsKvCloudEventRepository.java │ │ │ ├── component │ │ │ │ ├── AbstractComponentDescriptorInsertRepository.java │ │ │ │ ├── ComponentDescriptorInsertRepository.java │ │ │ │ ├── ComponentDescriptorRepository.java │ │ │ │ ├── JpaBaseComponentDescriptorDao.java │ │ │ │ └── SqlComponentDescriptorInsertRepository.java │ │ │ ├── customer │ │ │ │ ├── CustomerRepository.java │ │ │ │ └── JpaCustomerDao.java │ │ │ ├── dashboard │ │ │ │ ├── DashboardInfoRepository.java │ │ │ │ ├── DashboardRepository.java │ │ │ │ ├── JpaDashboardDao.java │ │ │ │ └── JpaDashboardInfoDao.java │ │ │ ├── device │ │ │ │ ├── AbstractNativeRepository.java │ │ │ │ ├── DefaultNativeAssetRepository.java │ │ │ │ ├── DefaultNativeDeviceRepository.java │ │ │ │ ├── DeviceCredentialsRepository.java │ │ │ │ ├── DeviceProfileRepository.java │ │ │ │ ├── DeviceRepository.java │ │ │ │ ├── JpaDeviceCredentialsDao.java │ │ │ │ ├── JpaDeviceDao.java │ │ │ │ ├── JpaDeviceProfileDao.java │ │ │ │ ├── NativeAssetRepository.java │ │ │ │ ├── NativeDeviceRepository.java │ │ │ │ └── NativeProfileEntityRepository.java │ │ │ ├── domain │ │ │ │ ├── DomainOauth2ClientRepository.java │ │ │ │ ├── DomainRepository.java │ │ │ │ └── JpaDomainDao.java │ │ │ ├── edge │ │ │ │ ├── EdgeEventInsertRepository.java │ │ │ │ ├── EdgeEventRepository.java │ │ │ │ ├── EdgeRepository.java │ │ │ │ ├── JpaBaseEdgeEventDao.java │ │ │ │ └── JpaEdgeDao.java │ │ │ ├── entityview │ │ │ │ ├── EntityViewRepository.java │ │ │ │ └── JpaEntityViewDao.java │ │ │ ├── event │ │ │ │ ├── CalculatedFieldDebugEventRepository.java │ │ │ │ ├── DedicatedEventInsertRepository.java │ │ │ │ ├── DedicatedJpaEventDao.java │ │ │ │ ├── ErrorEventRepository.java │ │ │ │ ├── EventInsertRepository.java │ │ │ │ ├── EventPartitionConfiguration.java │ │ │ │ ├── EventRepository.java │ │ │ │ ├── JpaBaseEventDao.java │ │ │ │ ├── LifecycleEventRepository.java │ │ │ │ ├── RuleChainDebugEventRepository.java │ │ │ │ ├── RuleNodeDebugEventRepository.java │ │ │ │ └── StatisticsEventRepository.java │ │ │ ├── job │ │ │ │ ├── JobRepository.java │ │ │ │ └── JpaJobDao.java │ │ │ ├── mobile │ │ │ │ ├── JpaMobileAppBundleDao.java │ │ │ │ ├── JpaMobileAppDao.java │ │ │ │ ├── JpaQrCodeSettingsDao.java │ │ │ │ ├── MobileAppBundleOauth2ClientRepository.java │ │ │ │ ├── MobileAppBundleRepository.java │ │ │ │ ├── MobileAppRepository.java │ │ │ │ └── QrCodeSettingsRepository.java │ │ │ ├── notification │ │ │ │ ├── JpaNotificationDao.java │ │ │ │ ├── JpaNotificationRequestDao.java │ │ │ │ ├── JpaNotificationRuleDao.java │ │ │ │ ├── JpaNotificationTargetDao.java │ │ │ │ ├── JpaNotificationTemplateDao.java │ │ │ │ ├── NotificationRepository.java │ │ │ │ ├── NotificationRequestRepository.java │ │ │ │ ├── NotificationRuleRepository.java │ │ │ │ ├── NotificationTargetRepository.java │ │ │ │ └── NotificationTemplateRepository.java │ │ │ ├── oauth2 │ │ │ │ ├── JpaOAuth2ClientDao.java │ │ │ │ ├── JpaOAuth2ClientRegistrationTemplateDao.java │ │ │ │ ├── OAuth2ClientRegistrationTemplateRepository.java │ │ │ │ └── OAuth2ClientRepository.java │ │ │ ├── ota │ │ │ │ ├── JpaOtaPackageDao.java │ │ │ │ ├── JpaOtaPackageInfoDao.java │ │ │ │ ├── OtaPackageInfoRepository.java │ │ │ │ └── OtaPackageRepository.java │ │ │ ├── pat │ │ │ │ ├── ApiKeyInfoRepository.java │ │ │ │ ├── ApiKeyRepository.java │ │ │ │ ├── JpaApiKeyDao.java │ │ │ │ └── JpaApiKeyInfoDao.java │ │ │ ├── query │ │ │ │ ├── AlarmDataAdapter.java │ │ │ │ ├── AlarmQueryRepository.java │ │ │ │ ├── DefaultAlarmQueryRepository.java │ │ │ │ ├── DefaultEntityQueryRepository.java │ │ │ │ ├── DefaultQueryLogComponent.java │ │ │ │ ├── DummyEdqsApiService.java │ │ │ │ ├── DummyEdqsService.java │ │ │ │ ├── EntityDataAdapter.java │ │ │ │ ├── EntityKeyMapping.java │ │ │ │ ├── EntityQueryRepository.java │ │ │ │ ├── JpaEntityQueryDao.java │ │ │ │ ├── QueryLogComponent.java │ │ │ │ └── SqlQueryContext.java │ │ │ ├── queue │ │ │ │ ├── JpaQueueDao.java │ │ │ │ ├── JpaQueueStatsDao.java │ │ │ │ ├── QueueRepository.java │ │ │ │ └── QueueStatsRepository.java │ │ │ ├── relation │ │ │ │ ├── JpaRelationDao.java │ │ │ │ ├── JpaRelationQueryExecutorService.java │ │ │ │ ├── RelationInsertRepository.java │ │ │ │ ├── RelationRepository.java │ │ │ │ └── SqlRelationInsertRepository.java │ │ │ ├── resource │ │ │ │ ├── JpaTbResourceDao.java │ │ │ │ ├── JpaTbResourceInfoDao.java │ │ │ │ ├── TbResourceInfoRepository.java │ │ │ │ └── TbResourceRepository.java │ │ │ ├── rpc │ │ │ │ ├── JpaRpcDao.java │ │ │ │ └── RpcRepository.java │ │ │ ├── rule │ │ │ │ ├── JpaRuleChainDao.java │ │ │ │ ├── JpaRuleNodeDao.java │ │ │ │ ├── JpaRuleNodeStateDao.java │ │ │ │ ├── RuleChainRepository.java │ │ │ │ ├── RuleNodeRepository.java │ │ │ │ └── RuleNodeStateRepository.java │ │ │ ├── settings │ │ │ │ ├── AdminSettingsRepository.java │ │ │ │ └── JpaAdminSettingsDao.java │ │ │ ├── tenant │ │ │ │ ├── JpaTenantDao.java │ │ │ │ ├── JpaTenantProfileDao.java │ │ │ │ ├── TenantProfileRepository.java │ │ │ │ └── TenantRepository.java │ │ │ ├── usagerecord │ │ │ │ ├── ApiUsageStateRepository.java │ │ │ │ └── JpaApiUsageStateDao.java │ │ │ ├── user │ │ │ │ ├── JpaUserAuthSettingsDao.java │ │ │ │ ├── JpaUserCredentialsDao.java │ │ │ │ ├── JpaUserDao.java │ │ │ │ ├── JpaUserSettingsDao.java │ │ │ │ ├── UserAuthSettingsRepository.java │ │ │ │ ├── UserCredentialsRepository.java │ │ │ │ ├── UserRepository.java │ │ │ │ └── UserSettingsRepository.java │ │ │ └── widget │ │ │ │ ├── JpaWidgetTypeDao.java │ │ │ │ ├── JpaWidgetsBundleDao.java │ │ │ │ ├── WidgetTypeInfoRepository.java │ │ │ │ ├── WidgetTypeRepository.java │ │ │ │ ├── WidgetsBundleRepository.java │ │ │ │ └── WidgetsBundleWidgetRepository.java │ │ │ ├── sqlts │ │ │ ├── AbstractChunkedAggregationTimeseriesDao.java │ │ │ ├── AbstractSqlTimeseriesDao.java │ │ │ ├── AggregationTimeseriesDao.java │ │ │ ├── BaseAbstractSqlTimeseriesDao.java │ │ │ ├── CachedRedisSqlTimeseriesLatestDao.java │ │ │ ├── EntityContainer.java │ │ │ ├── SqlTimeseriesLatestDao.java │ │ │ ├── TsKey.java │ │ │ ├── dictionary │ │ │ │ ├── JpaKeyDictionaryDao.java │ │ │ │ └── KeyDictionaryRepository.java │ │ │ ├── insert │ │ │ │ ├── AbstractInsertRepository.java │ │ │ │ ├── InsertTsRepository.java │ │ │ │ ├── latest │ │ │ │ │ ├── InsertLatestTsRepository.java │ │ │ │ │ └── sql │ │ │ │ │ │ └── SqlLatestInsertTsRepository.java │ │ │ │ ├── sql │ │ │ │ │ ├── DedicatedEventsSqlPartitioningRepository.java │ │ │ │ │ ├── SqlInsertTsRepository.java │ │ │ │ │ └── SqlPartitioningRepository.java │ │ │ │ └── timescale │ │ │ │ │ └── TimescaleInsertTsRepository.java │ │ │ ├── latest │ │ │ │ ├── SearchTsKvLatestRepository.java │ │ │ │ └── TsKvLatestRepository.java │ │ │ ├── sql │ │ │ │ └── JpaSqlTimeseriesDao.java │ │ │ ├── timescale │ │ │ │ ├── AggregationRepository.java │ │ │ │ ├── TimescaleTimeseriesDao.java │ │ │ │ └── TsKvTimescaleRepository.java │ │ │ └── ts │ │ │ │ └── TsKvRepository.java │ │ │ ├── tenant │ │ │ ├── DefaultTbTenantProfileCache.java │ │ │ ├── TenantCaffeineCache.java │ │ │ ├── TenantDao.java │ │ │ ├── TenantEvictEvent.java │ │ │ ├── TenantExistsCaffeineCache.java │ │ │ ├── TenantExistsRedisCache.java │ │ │ ├── TenantProfileCacheKey.java │ │ │ ├── TenantProfileCaffeineCache.java │ │ │ ├── TenantProfileDao.java │ │ │ ├── TenantProfileEvictEvent.java │ │ │ ├── TenantProfileRedisCache.java │ │ │ ├── TenantProfileServiceImpl.java │ │ │ ├── TenantRedisCache.java │ │ │ └── TenantServiceImpl.java │ │ │ ├── timeseries │ │ │ ├── AbstractCassandraBaseTimeseriesDao.java │ │ │ ├── AggregatePartitionsFunction.java │ │ │ ├── BaseTimeseriesService.java │ │ │ ├── CassandraBaseTimeseriesDao.java │ │ │ ├── CassandraBaseTimeseriesLatestDao.java │ │ │ ├── CassandraPartitionCacheKey.java │ │ │ ├── CassandraTsPartitionsCache.java │ │ │ ├── NoSqlTsPartitionDate.java │ │ │ ├── QueryCursor.java │ │ │ ├── SimpleListenableFuture.java │ │ │ ├── SqlPartition.java │ │ │ ├── SqlTsPartitionDate.java │ │ │ ├── TimeseriesDao.java │ │ │ ├── TimeseriesLatestDao.java │ │ │ ├── TsInsertExecutorType.java │ │ │ ├── TsKvQueryCursor.java │ │ │ ├── TsLatestCacheKey.java │ │ │ └── TsLatestRedisCache.java │ │ │ ├── trendz │ │ │ └── DefaultTrendzSettingsService.java │ │ │ ├── usage │ │ │ └── BasicUsageInfoService.java │ │ │ ├── usagerecord │ │ │ ├── ApiUsageStateDao.java │ │ │ ├── ApiUsageStateServiceImpl.java │ │ │ └── DefaultApiLimitService.java │ │ │ ├── user │ │ │ ├── UserAuthSettingsDao.java │ │ │ ├── UserCredentialsDao.java │ │ │ ├── UserDao.java │ │ │ ├── UserServiceImpl.java │ │ │ ├── UserSettingsCaffeineCache.java │ │ │ ├── UserSettingsDao.java │ │ │ ├── UserSettingsEvictEvent.java │ │ │ ├── UserSettingsRedisCache.java │ │ │ └── UserSettingsServiceImpl.java │ │ │ ├── util │ │ │ ├── AbstractBufferedRateExecutor.java │ │ │ ├── AsyncRateLimiter.java │ │ │ ├── AsyncTaskContext.java │ │ │ ├── BufferedRateExecutor.java │ │ │ ├── BufferedRateExecutorStats.java │ │ │ ├── BufferedRateExecutorType.java │ │ │ ├── DeviceConnectivityUtil.java │ │ │ ├── ImageUtils.java │ │ │ ├── KvUtils.java │ │ │ ├── TimeUtils.java │ │ │ └── mapping │ │ │ │ └── JsonConverter.java │ │ │ └── widget │ │ │ ├── WidgetTypeDao.java │ │ │ ├── WidgetTypeServiceImpl.java │ │ │ ├── WidgetsBundleDao.java │ │ │ └── WidgetsBundleServiceImpl.java │ └── resources │ │ ├── cassandra │ │ ├── schema-keyspace.cql │ │ ├── schema-ts-latest.cql │ │ └── schema-ts.cql │ │ ├── sql │ │ ├── schema-entities-idx-psql-addon.sql │ │ ├── schema-entities-idx.sql │ │ ├── schema-entities.sql │ │ ├── schema-timescale.sql │ │ ├── schema-ts-latest-psql.sql │ │ ├── schema-ts-psql.sql │ │ └── schema-views-and-functions.sql │ │ └── xss-policy.xml │ └── test │ ├── java │ └── org │ │ └── thingsboard │ │ └── server │ │ └── dao │ │ ├── AbstractDaoServiceTest.java │ │ ├── AbstractJpaDaoTest.java │ │ ├── AbstractNoSqlContainer.java │ │ ├── AbstractRedisClusterContainer.java │ │ ├── AbstractRedisContainer.java │ │ ├── NoSqlDaoServiceTestSuite.java │ │ ├── PostgreSqlInitializer.java │ │ ├── RedisClusterSqlTestSuite.java │ │ ├── RedisJUnit5Test.java │ │ ├── RedisSqlTestSuite.java │ │ ├── TimescaleDaoServiceTestSuite.java │ │ ├── TimescaleSqlInitializer.java │ │ ├── audit │ │ └── AuditLogServiceImplTest.java │ │ ├── cache │ │ └── RedisTbTransactionalCacheTest.java │ │ ├── component │ │ └── BaseComponentDescriptorServiceTest.java │ │ ├── eventsourcing │ │ └── DeleteEntityEventTest.java │ │ ├── nosql │ │ └── CassandraPartitionsCacheTest.java │ │ ├── service │ │ ├── AbstractServiceTest.java │ │ ├── AdminSettingsServiceTest.java │ │ ├── AlarmCommentServiceTest.java │ │ ├── AlarmServiceTest.java │ │ ├── ApiKeyServiceTest.java │ │ ├── ApiUsageStateServiceTest.java │ │ ├── AssetProfileServiceTest.java │ │ ├── AssetServiceTest.java │ │ ├── CalculatedFieldServiceTest.java │ │ ├── ConstraintValidatorTest.java │ │ ├── CustomerServiceTest.java │ │ ├── DaoNoSqlTest.java │ │ ├── DaoSqlTest.java │ │ ├── DaoTimescaleTest.java │ │ ├── DashboardServiceTest.java │ │ ├── DataValidatorTest.java │ │ ├── DeviceCredentialsCacheTest.java │ │ ├── DeviceCredentialsServiceTest.java │ │ ├── DeviceProfileServiceTest.java │ │ ├── DeviceServiceTest.java │ │ ├── DomainServiceTest.java │ │ ├── EdgeEventServiceTest.java │ │ ├── EdgeServiceTest.java │ │ ├── EntityDaoRegistryTest.java │ │ ├── EntityServiceRegistryTest.java │ │ ├── MobileAppServiceTest.java │ │ ├── NoXssValidatorTest.java │ │ ├── OAuth2ClientServiceTest.java │ │ ├── OAuth2ConfigTemplateServiceTest.java │ │ ├── OtaPackageServiceTest.java │ │ ├── QueueServiceTest.java │ │ ├── QueueStatsServiceTest.java │ │ ├── RelationCacheTest.java │ │ ├── RelationServiceTest.java │ │ ├── RuleChainServiceTest.java │ │ ├── TbCacheSerializationTest.java │ │ ├── TenantProfileServiceTest.java │ │ ├── TenantServiceTest.java │ │ ├── UserServiceTest.java │ │ ├── ValidatorTest.java │ │ ├── WidgetTypeServiceTest.java │ │ ├── WidgetsBundleServiceTest.java │ │ ├── attributes │ │ │ ├── BaseAttributesServiceTest.java │ │ │ └── sql │ │ │ │ ├── AttributeCacheServiceSqlTest.java │ │ │ │ └── AttributesServiceSqlTest.java │ │ ├── event │ │ │ ├── BaseEventServiceTest.java │ │ │ └── sql │ │ │ │ ├── EventServiceSqlTest.java │ │ │ │ └── EventServiceSqlTest_DedicatedEventsDataSource.java │ │ ├── install │ │ │ └── sql │ │ │ │ └── EntitiesSchemaSqlTest.java │ │ ├── timeseries │ │ │ ├── BaseTimeseriesServiceTest.java │ │ │ ├── nosql │ │ │ │ ├── TimeseriesServiceNoSqlSetNullEnabledTest.java │ │ │ │ ├── TimeseriesServiceNoSqlTest.java │ │ │ │ └── TimeseriesServiceTimescaleTest.java │ │ │ └── sql │ │ │ │ ├── LatestTimeseriesPerformanceTest.java │ │ │ │ └── TimeseriesServiceSqlTest.java │ │ └── validator │ │ │ ├── AdminSettingsDataValidatorTest.java │ │ │ ├── AlarmDataValidatorTest.java │ │ │ ├── AssetDataValidatorTest.java │ │ │ ├── AssetProfileDataValidatorTest.java │ │ │ ├── BaseOtaPackageDataValidatorTest.java │ │ │ ├── CalculatedFieldDataValidatorTest.java │ │ │ ├── ComponentDescriptorDataValidatorTest.java │ │ │ ├── CustomerDataValidatorTest.java │ │ │ ├── DashboardDataValidatorTest.java │ │ │ ├── DeviceDataValidatorTest.java │ │ │ ├── DeviceProfileDataValidatorTest.java │ │ │ ├── EdgeDataValidatorTest.java │ │ │ ├── EntityViewDataValidatorTest.java │ │ │ ├── ResourceDataValidatorTest.java │ │ │ ├── RuleChainDataValidatorTest.java │ │ │ ├── TenantDataValidatorTest.java │ │ │ ├── TenantProfileDataValidatorTest.java │ │ │ ├── WidgetTypeDataValidatorTest.java │ │ │ └── WidgetsBundleDataValidatorTest.java │ │ ├── sql │ │ ├── JdbcTemplateTest.java │ │ ├── alarm │ │ │ ├── JpaAlarmCommentDaoTest.java │ │ │ └── JpaAlarmDaoTest.java │ │ ├── asset │ │ │ └── JpaAssetDaoTest.java │ │ ├── audit │ │ │ └── JpaAuditLogDaoTest.java │ │ ├── component │ │ │ └── JpaBaseComponentDescriptorDaoTest.java │ │ ├── customer │ │ │ └── JpaCustomerDaoTest.java │ │ ├── dashboard │ │ │ └── JpaDashboardInfoDaoTest.java │ │ ├── device │ │ │ ├── JpaDeviceCredentialsDaoTest.java │ │ │ └── JpaDeviceDaoTest.java │ │ ├── event │ │ │ └── JpaBaseEventDaoTest.java │ │ ├── query │ │ │ ├── DefaultEntityQueryRepositoryTest.java │ │ │ ├── DefaultQueryLogComponentTest.java │ │ │ ├── EntityDataAdapterTest.java │ │ │ └── EntityKeyMappingTest.java │ │ ├── rpc │ │ │ └── JpaRpcDaoTest.java │ │ ├── rule │ │ │ └── JpaRuleNodeDaoTest.java │ │ ├── tenant │ │ │ └── JpaTenantDaoTest.java │ │ ├── user │ │ │ ├── JpaUserCredentialsDaoTest.java │ │ │ ├── JpaUserDaoTest.java │ │ │ └── JpaUserSettingsDaoTest.java │ │ └── widget │ │ │ ├── JpaWidgetTypeDaoTest.java │ │ │ └── JpaWidgetsBundleDaoTest.java │ │ ├── sqlts │ │ ├── AbstractChunkedAggregationTimeseriesDaoTest.java │ │ └── SqlTimeseriesLatestDaoTest.java │ │ ├── timeseries │ │ ├── CassandraBaseTimeseriesDaoPartitioningDaysAlwaysExistsTest.java │ │ ├── CassandraBaseTimeseriesDaoPartitioningHoursAlwaysExistsTest.java │ │ ├── CassandraBaseTimeseriesDaoPartitioningIndefiniteAlwaysExistsTest.java │ │ ├── CassandraBaseTimeseriesDaoPartitioningMinutesAlwaysExistsTest.java │ │ ├── CassandraBaseTimeseriesDaoPartitioningMonthsAlwaysExistsTest.java │ │ ├── CassandraBaseTimeseriesDaoPartitioningYearsAlwaysExistsTest.java │ │ └── NoSqlTsPartitionDateTest.java │ │ └── util │ │ ├── DeviceConnectivityUtilTest.java │ │ └── TimeUtilsTest.java │ └── resources │ ├── TestJsonData.json │ ├── TestJsonDescriptor.json │ ├── application-test.properties │ ├── cassandra-test.properties │ ├── cassandra-test.yaml │ ├── logback-test.xml │ ├── nosql-test.properties │ ├── sql-test.properties │ ├── sql │ ├── psql │ │ └── drop-all-tables.sql │ ├── system-data.sql │ ├── system-test-psql.sql │ └── system-test.sql │ ├── timescale-test.properties │ └── xss-policy.xml ├── detect-old-version.sh ├── docker-edge ├── .env ├── .gitignore ├── README.md ├── cache-redis-cluster.env ├── cache-redis-sentinel.env ├── cache-redis.env ├── compose-utils.sh ├── docker-check-log-folders.sh ├── docker-compose.hybrid.yml ├── docker-compose.postgres.yml ├── docker-compose.prometheus-grafana.yml ├── docker-compose.redis-cluster.yml ├── docker-compose.redis-sentinel.yml ├── docker-compose.redis.yml ├── docker-compose.yml ├── docker-create-log-folders.sh ├── docker-install-tb.sh ├── docker-remove-services.sh ├── docker-start-services.sh ├── docker-stop-services.sh ├── docker-update-service.sh ├── docker-upgrade-tb.sh ├── haproxy │ └── config │ │ └── haproxy.cfg ├── kafka.env ├── monitoring │ ├── grafana │ │ └── config.monitoring │ └── prometheus │ │ └── prometheus.yml ├── tb-edge.env ├── tb-edge.hybrid.env ├── tb-edge.postgres.env └── tb-edge │ └── conf │ ├── logback.xml │ └── tb-edge.conf ├── docker ├── .env ├── .gitignore ├── README.md ├── cache-valkey-cluster.env ├── cache-valkey-sentinel.env ├── cache-valkey.env ├── compose-utils.sh ├── docker-check-log-folders.sh ├── docker-compose.cassandra.volumes.yml ├── docker-compose.confluent.yml ├── docker-compose.edqs.volumes.yml ├── docker-compose.edqs.yml ├── docker-compose.hybrid.yml ├── docker-compose.kafka.yml ├── docker-compose.postgres.volumes.yml ├── docker-compose.postgres.yml ├── docker-compose.prometheus-grafana.yml ├── docker-compose.valkey-cluster.volumes.yml ├── docker-compose.valkey-cluster.yml ├── docker-compose.valkey-sentinel.volumes.yml ├── docker-compose.valkey-sentinel.yml ├── docker-compose.valkey.volumes.yml ├── docker-compose.valkey.yml ├── docker-compose.volumes.yml ├── docker-compose.yml ├── docker-create-log-folders.sh ├── docker-install-tb.sh ├── docker-remove-services.sh ├── docker-start-services.sh ├── docker-stop-services.sh ├── docker-update-service.sh ├── docker-upgrade-tb.sh ├── haproxy │ └── config │ │ ├── blocklist.txt │ │ ├── haproxy.cfg │ │ └── trustlist.txt ├── kafka.env ├── monitoring │ ├── grafana │ │ ├── config.monitoring │ │ └── provisioning │ │ │ ├── dashboards │ │ │ ├── attributes_cache.json │ │ │ ├── core_js_tbel_metrics.json │ │ │ ├── dashboard.yml │ │ │ ├── db_metrics.json │ │ │ ├── edqs.json │ │ │ ├── hybrid_db_metrics.json │ │ │ ├── rule_engine_latency.json │ │ │ ├── rule_engine_metrics.json │ │ │ ├── single_service_metrics.json │ │ │ └── transport_metrics.json │ │ │ └── datasources │ │ │ └── datasource.yml │ └── prometheus │ │ └── prometheus.yml ├── queue-confluent.env ├── queue-kafka.env ├── tb-coap-transport.env ├── tb-core-edqs.env ├── tb-edqs.env ├── tb-edqs │ └── conf │ │ ├── logback.xml │ │ └── tb-edqs.conf ├── tb-http-transport.env ├── tb-js-executor.env ├── tb-lwm2m-transport.env ├── tb-mqtt-transport.env ├── tb-node.env ├── tb-node.hybrid.env ├── tb-node.postgres.env ├── tb-node │ └── conf │ │ ├── logback.xml │ │ └── thingsboard.conf ├── tb-rule-engine-edqs.env ├── tb-snmp-transport.env ├── tb-transports │ ├── coap │ │ └── conf │ │ │ ├── logback.xml │ │ │ └── tb-coap-transport.conf │ ├── http │ │ └── conf │ │ │ ├── logback.xml │ │ │ └── tb-http-transport.conf │ ├── lwm2m │ │ └── conf │ │ │ ├── logback.xml │ │ │ └── tb-lwm2m-transport.conf │ ├── mqtt │ │ └── conf │ │ │ ├── logback.xml │ │ │ └── tb-mqtt-transport.conf │ └── snmp │ │ └── conf │ │ ├── logback.xml │ │ └── tb-snmp-transport.conf ├── tb-vc-executor.env ├── tb-vc-executor │ └── conf │ │ ├── logback.xml │ │ └── tb-vc-executor.conf └── tb-web-ui.env ├── edqs ├── pom.xml └── src │ ├── main │ ├── conf │ │ ├── logback.xml │ │ └── tb-edqs.conf │ ├── java │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── edqs │ │ │ ├── EdqsController.java │ │ │ └── ThingsboardEdqsApplication.java │ └── resources │ │ ├── edqs.yml │ │ └── logback.xml │ └── test │ ├── java │ └── org │ │ └── thingsboard │ │ └── server │ │ └── edqs │ │ └── repo │ │ ├── AbstractEDQTest.java │ │ ├── ApiUsageStateFilterTest.java │ │ ├── AssetSearchQueryFilterTest.java │ │ ├── AssetTypeFilterTest.java │ │ ├── DeviceSearchQueryFilterTest.java │ │ ├── DeviceTypeFilterTest.java │ │ ├── EdgeSearchQueryFilterTest.java │ │ ├── EdgeTypeFilterTest.java │ │ ├── EntityListFilterTest.java │ │ ├── EntityNameFilterTest.java │ │ ├── EntityTypeFilterTest.java │ │ ├── EntityViewSearchQueryFilterTest.java │ │ ├── EntityViewTypeFilterTest.java │ │ ├── RelationsQueryFilterTest.java │ │ ├── RepositoryUtilsTest.java │ │ └── SingleEntityFilterTest.java │ └── resources │ └── edqs-test.properties ├── img ├── batch-update.png ├── dashboard.png ├── data-filtering.svg ├── local-alarms.svg ├── local-deployment.svg ├── logo.png └── thingsboard-e-icon.png ├── license-header-template.txt ├── lombok.config ├── monitoring ├── pom.xml └── src │ └── main │ ├── conf │ ├── logback.xml │ └── tb-monitoring.conf │ ├── java │ └── org │ │ └── thingsboard │ │ └── monitoring │ │ ├── ThingsboardMonitoringApplication.java │ │ ├── client │ │ ├── Lwm2mClient.java │ │ ├── TbClient.java │ │ ├── WsClient.java │ │ └── WsClientFactory.java │ │ ├── config │ │ ├── MonitoringConfig.java │ │ ├── MonitoringTarget.java │ │ └── transport │ │ │ ├── CoapTransportMonitoringConfig.java │ │ │ ├── DeviceConfig.java │ │ │ ├── HttpTransportMonitoringConfig.java │ │ │ ├── Lwm2mTransportMonitoringConfig.java │ │ │ ├── MqttTransportMonitoringConfig.java │ │ │ ├── TransportInfo.java │ │ │ ├── TransportMonitoringConfig.java │ │ │ ├── TransportMonitoringTarget.java │ │ │ └── TransportType.java │ │ ├── data │ │ ├── Latencies.java │ │ ├── Latency.java │ │ ├── MonitoredServiceKey.java │ │ ├── ServiceFailureException.java │ │ ├── cmd │ │ │ ├── CmdsWrapper.java │ │ │ ├── EntityDataCmd.java │ │ │ ├── EntityDataUpdate.java │ │ │ └── LatestValueCmd.java │ │ └── notification │ │ │ ├── HighLatencyNotification.java │ │ │ ├── Notification.java │ │ │ ├── ServiceFailureNotification.java │ │ │ └── ServiceRecoveryNotification.java │ │ ├── notification │ │ ├── NotificationService.java │ │ └── channels │ │ │ ├── NotificationChannel.java │ │ │ └── impl │ │ │ └── SlackNotificationChannel.java │ │ ├── service │ │ ├── BaseHealthChecker.java │ │ ├── BaseMonitoringService.java │ │ ├── MonitoringEntityService.java │ │ ├── MonitoringReporter.java │ │ └── transport │ │ │ ├── TransportHealthChecker.java │ │ │ ├── TransportsMonitoringService.java │ │ │ └── impl │ │ │ ├── CoapTransportHealthChecker.java │ │ │ ├── HttpTransportHealthChecker.java │ │ │ ├── Lwm2mTransportHealthChecker.java │ │ │ └── MqttTransportHealthChecker.java │ │ └── util │ │ ├── ResourceUtils.java │ │ └── TbStopWatch.java │ └── resources │ ├── logback.xml │ ├── lwm2m │ ├── device_profile.json │ ├── models │ │ ├── 0.xml │ │ ├── 1.xml │ │ ├── 2.xml │ │ └── test-model.xml │ └── resource.json │ ├── rule_chain.json │ └── tb-monitoring.yml ├── msa ├── black-box-tests │ ├── README.md │ ├── pom.xml │ └── src │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── msa │ │ │ ├── AbstractCoapClientTest.java │ │ │ ├── AbstractContainerTest.java │ │ │ ├── ContainerTestSuite.java │ │ │ ├── DisableUIListeners.java │ │ │ ├── DockerComposeExecutor.java │ │ │ ├── SeleniumRemoteWebDriverTest.java │ │ │ ├── TestListener.java │ │ │ ├── TestProperties.java │ │ │ ├── TestRestClient.java │ │ │ ├── TestUtils.java │ │ │ ├── ThingsBoardDbInstaller.java │ │ │ ├── WsClient.java │ │ │ ├── cf │ │ │ └── CalculatedFieldTest.java │ │ │ ├── connectivity │ │ │ ├── CoapClientTest.java │ │ │ ├── HttpClientTest.java │ │ │ ├── JavaRestClientTest.java │ │ │ ├── MqttClientTest.java │ │ │ ├── MqttGatewayClientTest.java │ │ │ └── lwm2m │ │ │ │ ├── AbstractLwm2mClientTest.java │ │ │ │ ├── Lwm2mDevicesForTest.java │ │ │ │ ├── client │ │ │ │ ├── FwLwM2MDevice.java │ │ │ │ ├── LwM2MTestClient.java │ │ │ │ ├── LwM2mBinaryAppDataContainer.java │ │ │ │ ├── LwM2mTemperatureSensor.java │ │ │ │ ├── LwM2mValueConverterImpl.java │ │ │ │ ├── Lwm2mTestHelper.java │ │ │ │ └── SimpleLwM2MDevice.java │ │ │ │ ├── rpc │ │ │ │ ├── Lwm2mObserveCompositeTest.java │ │ │ │ └── Lwm2mObserveTest.java │ │ │ │ └── security │ │ │ │ ├── Lwm2mClientNoSecTest.java │ │ │ │ └── Lwm2mClientPskTest.java │ │ │ ├── edqs │ │ │ └── EdqsEntityDataQueryTest.java │ │ │ ├── mapper │ │ │ ├── AttributesResponse.java │ │ │ └── WsTelemetryResponse.java │ │ │ ├── prototypes │ │ │ └── DevicePrototypes.java │ │ │ ├── rule │ │ │ └── node │ │ │ │ └── MqttNodeTest.java │ │ │ └── ui │ │ │ ├── base │ │ │ ├── AbstractBasePage.java │ │ │ └── AbstractDriverBaseTest.java │ │ │ ├── listeners │ │ │ ├── RetryAnalyzer.java │ │ │ └── RetryTestListener.java │ │ │ ├── pages │ │ │ ├── AlarmDetailsEntityTabElements.java │ │ │ ├── AlarmDetailsEntityTabHelper.java │ │ │ ├── AlarmDetailsViewElements.java │ │ │ ├── AlarmDetailsViewHelper.java │ │ │ ├── AlarmWidgetElements.java │ │ │ ├── AssetPageElements.java │ │ │ ├── AssetPageHelper.java │ │ │ ├── CreateWidgetPopupElements.java │ │ │ ├── CreateWidgetPopupHelper.java │ │ │ ├── CustomerPageElements.java │ │ │ ├── CustomerPageHelper.java │ │ │ ├── DashboardPageElements.java │ │ │ ├── DashboardPageHelper.java │ │ │ ├── DevicePageElements.java │ │ │ ├── DevicePageHelper.java │ │ │ ├── EntityViewPageElements.java │ │ │ ├── EntityViewPageHelper.java │ │ │ ├── LoginPageElements.java │ │ │ ├── LoginPageHelper.java │ │ │ ├── OpenRuleChainPageElements.java │ │ │ ├── OpenRuleChainPageHelper.java │ │ │ ├── OtherPageElements.java │ │ │ ├── OtherPageElementsHelper.java │ │ │ ├── ProfilesPageElements.java │ │ │ ├── ProfilesPageHelper.java │ │ │ ├── RuleChainsPageElements.java │ │ │ ├── RuleChainsPageHelper.java │ │ │ ├── SideBarMenuViewElements.java │ │ │ └── SideBarMenuViewHelper.java │ │ │ ├── tabs │ │ │ ├── AssignDeviceTabElements.java │ │ │ ├── AssignDeviceTabHelper.java │ │ │ ├── CreateDeviceTabElements.java │ │ │ └── CreateDeviceTabHelper.java │ │ │ ├── tests │ │ │ ├── alarmassignee │ │ │ │ ├── AbstractAssignTest.java │ │ │ │ ├── AssignDetailsTabAssignTest.java │ │ │ │ ├── AssignDetailsTabFromCustomerAssignTest.java │ │ │ │ └── AssignFromAlarmWidgetTest.java │ │ │ ├── assetProfileSmoke │ │ │ │ ├── AssetProfileEditMenuTest.java │ │ │ │ ├── CreateAssetProfileImportTest.java │ │ │ │ ├── CreateAssetProfileTest.java │ │ │ │ ├── DeleteAssetProfileTest.java │ │ │ │ ├── DeleteSeveralAssetProfilesTest.java │ │ │ │ ├── MakeAssetProfileDefaultTest.java │ │ │ │ ├── SearchAssetProfileTest.java │ │ │ │ └── SortByNameTest.java │ │ │ ├── customerSmoke │ │ │ │ ├── CreateCustomerTest.java │ │ │ │ ├── CustomerEditMenuTest.java │ │ │ │ ├── DeleteCustomerTest.java │ │ │ │ ├── DeleteSeveralCustomerTest.java │ │ │ │ ├── ManageCustomersAssetsTest.java │ │ │ │ ├── ManageCustomersDashboardsTest.java │ │ │ │ ├── ManageCustomersDevicesTest.java │ │ │ │ ├── ManageCustomersEdgesTest.java │ │ │ │ ├── ManageCustomersUsersTest.java │ │ │ │ ├── SearchCustomerTest.java │ │ │ │ └── SortByNameTest.java │ │ │ ├── deviceProfileSmoke │ │ │ │ ├── CreateDeviceProfileImportTest.java │ │ │ │ ├── CreateDeviceProfileTest.java │ │ │ │ ├── DeleteDeviceProfileTest.java │ │ │ │ ├── DeleteSeveralDeviceProfilesTest.java │ │ │ │ ├── DeviceProfileEditMenuTest.java │ │ │ │ ├── MakeDeviceProfileDefaultTest.java │ │ │ │ ├── SearchDeviceProfileTest.java │ │ │ │ └── SortByNameTest.java │ │ │ ├── devicessmoke │ │ │ │ ├── AbstractDeviceTest.java │ │ │ │ ├── AssignToCustomerTest.java │ │ │ │ ├── CreateDeviceTest.java │ │ │ │ ├── DeleteDeviceTest.java │ │ │ │ ├── DeleteSeveralDevicesTest.java │ │ │ │ ├── DeviceFilterTest.java │ │ │ │ ├── EditDeviceTest.java │ │ │ │ ├── MakeDevicePrivateTest.java │ │ │ │ └── MakeDevicePublicTest.java │ │ │ └── rulechainssmoke │ │ │ │ ├── AbstractRuleChainTest.java │ │ │ │ ├── CreateRuleChainImportTest.java │ │ │ │ ├── CreateRuleChainTest.java │ │ │ │ ├── DeleteRuleChainTest.java │ │ │ │ ├── DeleteSeveralRuleChainsTest.java │ │ │ │ ├── MakeRuleChainRootTest.java │ │ │ │ ├── OpenRuleChainTest.java │ │ │ │ ├── RuleChainEditMenuTest.java │ │ │ │ ├── SearchRuleChainTest.java │ │ │ │ ├── SortByNameTest.java │ │ │ │ └── SortByTimeTest.java │ │ │ └── utils │ │ │ ├── Const.java │ │ │ ├── DataProviderCredential.java │ │ │ └── EntityPrototypes.java │ │ └── resources │ │ ├── MqttRuleNodeTestMetadata.json │ │ ├── RpcResponseRuleChainMetadata.json │ │ ├── alarmAssignee.xml │ │ ├── all.xml │ │ ├── allure.properties │ │ ├── assetProfileForImport.json │ │ ├── connectivity.xml │ │ ├── deviceProfileForImport.json │ │ ├── docker-compose.hybrid-test-extras.yml │ │ ├── docker-compose.mosquitto.yml │ │ ├── docker-compose.postgres-test-extras.yml │ │ ├── docker-compose.rabbitmq-server.yml │ │ ├── docker-compose.valkey-ssl.volumes.yml │ │ ├── docker-compose.valkey-ssl.yml │ │ ├── docker-selenium.yml │ │ ├── forImport.txt │ │ ├── logback.xml │ │ ├── lwm2m-registry │ │ ├── 0.xml │ │ ├── 1.xml │ │ ├── 19.xml │ │ ├── 2.xml │ │ ├── 3.xml │ │ ├── 3303.xml │ │ └── 5.xml │ │ ├── mosquitto │ │ └── mosquitto.conf │ │ ├── ruleChainForImport.json │ │ ├── smokeDevices.xml │ │ ├── smokesCustomer.xml │ │ ├── smokesProfiles.xml │ │ ├── smokesRuleChain.xml │ │ ├── tb-node │ │ └── conf │ │ │ └── logback.xml │ │ ├── tb-transports │ │ ├── coap │ │ │ └── conf │ │ │ │ └── logback.xml │ │ ├── http │ │ │ └── conf │ │ │ │ └── logback.xml │ │ ├── lwm2m │ │ │ └── conf │ │ │ │ └── logback.xml │ │ └── mqtt │ │ │ └── conf │ │ │ └── logback.xml │ │ ├── uiTests.xml │ │ └── valkey-certs │ │ ├── valkey.crt │ │ ├── valkey.key │ │ └── valkeyCA.crt ├── edqs │ ├── docker │ │ ├── Dockerfile │ │ └── start-tb-edqs.sh │ └── pom.xml ├── js-executor │ ├── .gitignore │ ├── api │ │ ├── httpServer.ts │ │ ├── jsExecutor.models.ts │ │ ├── jsExecutor.ts │ │ ├── jsInvokeMessageProcessor.ts │ │ └── utils.ts │ ├── config │ │ ├── custom-environment-variables.yml │ │ ├── default.yml │ │ ├── logger.ts │ │ └── tb-js-executor.conf │ ├── docker │ │ ├── Dockerfile │ │ └── start-js-executor.sh │ ├── install.js │ ├── package.json │ ├── pom.xml │ ├── queue │ │ ├── kafkaTemplate.ts │ │ └── queue.models.ts │ ├── server.ts │ ├── tsconfig.json │ └── yarn.lock ├── monitoring │ ├── docker │ │ ├── Dockerfile │ │ └── start-tb-monitoring.sh │ └── pom.xml ├── pom.xml ├── tb-edge-node │ ├── docker │ │ ├── Dockerfile │ │ └── start-tb-edge-node.sh │ └── pom.xml ├── tb-edge │ ├── docker-tb-edge │ │ └── Dockerfile │ ├── docker │ │ ├── install-tb-edge.sh │ │ ├── logback.xml │ │ ├── start-tb-edge.sh │ │ ├── tb-edge.conf │ │ └── upgrade-tb-edge.sh │ └── pom.xml ├── tb-node │ ├── docker │ │ ├── Dockerfile │ │ ├── logback.xml │ │ └── start-tb-node.sh │ └── pom.xml ├── tb │ ├── README.md │ ├── docker-cassandra │ │ ├── Dockerfile │ │ ├── start-db.sh │ │ └── stop-db.sh │ ├── docker-postgres │ │ ├── Dockerfile │ │ ├── start-db.sh │ │ └── stop-db.sh │ ├── docker │ │ ├── install-tb.sh │ │ ├── logback.xml │ │ ├── start-tb.sh │ │ ├── thingsboard.conf │ │ └── upgrade-tb.sh │ └── pom.xml ├── transport │ ├── coap │ │ ├── docker │ │ │ ├── Dockerfile │ │ │ └── start-tb-coap-transport.sh │ │ └── pom.xml │ ├── http │ │ ├── docker │ │ │ ├── Dockerfile │ │ │ └── start-tb-http-transport.sh │ │ └── pom.xml │ ├── lwm2m │ │ ├── docker │ │ │ ├── Dockerfile │ │ │ └── start-tb-lwm2m-transport.sh │ │ └── pom.xml │ ├── mqtt │ │ ├── docker │ │ │ ├── Dockerfile │ │ │ └── start-tb-mqtt-transport.sh │ │ └── pom.xml │ ├── pom.xml │ └── snmp │ │ ├── docker │ │ ├── Dockerfile │ │ └── start-tb-snmp-transport.sh │ │ └── pom.xml ├── vc-executor-docker │ ├── docker │ │ ├── Dockerfile │ │ └── start-tb-vc-executor.sh │ └── pom.xml ├── vc-executor │ ├── pom.xml │ └── src │ │ └── main │ │ ├── conf │ │ ├── logback.xml │ │ └── tb-vc-executor.conf │ │ ├── java │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── vc │ │ │ ├── ThingsboardVersionControlExecutorApplication.java │ │ │ └── service │ │ │ ├── VersionControlQueueRoutingInfoService.java │ │ │ └── VersionControlTenantRoutingInfoService.java │ │ └── resources │ │ ├── logback.xml │ │ └── tb-vc-executor.yml └── web-ui │ ├── .gitignore │ ├── config │ ├── custom-environment-variables.yml │ ├── default.yml │ ├── logger.ts │ └── tb-web-ui.conf │ ├── docker │ ├── Dockerfile │ └── start-web-ui.sh │ ├── install.js │ ├── package.json │ ├── pom.xml │ ├── server.ts │ ├── tsconfig.json │ └── yarn.lock ├── netty-mqtt ├── .gitignore ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── thingsboard │ │ └── mqtt │ │ ├── ChannelClosedException.java │ │ ├── MaxRetransmissionsReachedException.java │ │ ├── MqttChannelHandler.java │ │ ├── MqttClient.java │ │ ├── MqttClientCallback.java │ │ ├── MqttClientConfig.java │ │ ├── MqttClientImpl.java │ │ ├── MqttConnectResult.java │ │ ├── MqttHandler.java │ │ ├── MqttIncomingQos2Publish.java │ │ ├── MqttLastWill.java │ │ ├── MqttPendingPublish.java │ │ ├── MqttPendingSubscription.java │ │ ├── MqttPendingUnsubscription.java │ │ ├── MqttPingHandler.java │ │ ├── MqttSubscription.java │ │ ├── PendingOperation.java │ │ ├── ReconnectStrategy.java │ │ ├── ReconnectStrategyExponential.java │ │ └── RetransmissionHandler.java │ └── test │ ├── java │ └── org │ │ └── thingsboard │ │ └── mqtt │ │ ├── MqttClientTest.java │ │ ├── MqttTestProxy.java │ │ └── ReconnectStrategyExponentialTest.java │ └── resources │ └── logback-test.xml ├── packaging ├── java │ ├── assembly │ │ └── windows.xml │ ├── build.gradle │ ├── filters │ │ ├── unix.properties │ │ └── windows.properties │ └── scripts │ │ ├── control │ │ ├── deb │ │ │ ├── postinst │ │ │ ├── postrm │ │ │ ├── preinst │ │ │ └── prerm │ │ ├── rpm │ │ │ ├── postinst │ │ │ ├── postrm │ │ │ ├── preinst │ │ │ └── prerm │ │ └── template.service │ │ ├── install │ │ ├── install.sh │ │ ├── install_dev_db.sh │ │ ├── logback.xml │ │ ├── upgrade.sh │ │ └── upgrade_dev_db.sh │ │ └── windows │ │ ├── install.bat │ │ ├── install_dev_db.bat │ │ ├── service.xml │ │ ├── uninstall.bat │ │ └── upgrade.bat └── js │ ├── assembly │ └── windows.xml │ ├── build.gradle │ ├── filters │ ├── unix.properties │ └── windows.properties │ └── scripts │ ├── control │ ├── deb │ │ ├── postinst │ │ ├── postrm │ │ ├── preinst │ │ └── prerm │ ├── rpm │ │ ├── postinst │ │ ├── postrm │ │ ├── preinst │ │ └── prerm │ └── template.service │ ├── init │ └── template │ └── windows │ ├── install.bat │ ├── service.xml │ └── uninstall.bat ├── pom.xml ├── pull_request_template.md ├── rest-client ├── pom.xml └── src │ └── main │ ├── java │ └── org │ │ └── thingsboard │ │ └── rest │ │ └── client │ │ ├── RestClient.java │ │ └── utils │ │ └── RestJsonConverter.java │ └── resources │ └── logback.xml ├── rule-engine ├── pom.xml ├── rule-engine-api │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── thingsboard │ │ │ └── rule │ │ │ └── engine │ │ │ └── api │ │ │ ├── AttributesDeleteRequest.java │ │ │ ├── AttributesSaveRequest.java │ │ │ ├── CalculatedFieldSystemAwareRequest.java │ │ │ ├── DeviceStateManager.java │ │ │ ├── EmptyNodeConfiguration.java │ │ │ ├── JobManager.java │ │ │ ├── MailService.java │ │ │ ├── MqttClientSettings.java │ │ │ ├── NodeConfiguration.java │ │ │ ├── NodeDefinition.java │ │ │ ├── NotificationCenter.java │ │ │ ├── RuleEngineAiChatModelService.java │ │ │ ├── RuleEngineAlarmService.java │ │ │ ├── RuleEngineApiUsageStateService.java │ │ │ ├── RuleEngineAssetProfileCache.java │ │ │ ├── RuleEngineCalculatedFieldQueueService.java │ │ │ ├── RuleEngineDeviceProfileCache.java │ │ │ ├── RuleEngineDeviceRpcRequest.java │ │ │ ├── RuleEngineDeviceRpcResponse.java │ │ │ ├── RuleEngineRpcService.java │ │ │ ├── RuleEngineTelemetryService.java │ │ │ ├── RuleNode.java │ │ │ ├── ScriptEngine.java │ │ │ ├── SmsService.java │ │ │ ├── TbContext.java │ │ │ ├── TbEmail.java │ │ │ ├── TbNode.java │ │ │ ├── TbNodeConfiguration.java │ │ │ ├── TbNodeException.java │ │ │ ├── TbNodeState.java │ │ │ ├── TimeseriesDeleteRequest.java │ │ │ ├── TimeseriesSaveRequest.java │ │ │ ├── notification │ │ │ ├── FirebaseService.java │ │ │ └── SlackService.java │ │ │ ├── sms │ │ │ ├── SmsSender.java │ │ │ ├── SmsSenderFactory.java │ │ │ └── exception │ │ │ │ ├── SmsException.java │ │ │ │ ├── SmsParseException.java │ │ │ │ └── SmsSendException.java │ │ │ └── util │ │ │ └── TbNodeUtils.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── thingsboard │ │ │ └── rule │ │ │ └── engine │ │ │ └── api │ │ │ ├── AttributesDeleteRequestTest.java │ │ │ ├── AttributesSaveRequestTest.java │ │ │ ├── TimeseriesSaveRequestTest.java │ │ │ └── util │ │ │ └── TbNodeUtilsTest.java │ │ └── resources │ │ ├── junit-platform.properties │ │ └── logback-test.xml └── rule-engine-components │ ├── pom.xml │ └── src │ ├── main │ └── java │ │ └── org │ │ └── thingsboard │ │ └── rule │ │ └── engine │ │ ├── action │ │ ├── TbAbstractAlarmNode.java │ │ ├── TbAbstractAlarmNodeConfiguration.java │ │ ├── TbAbstractCustomerActionNode.java │ │ ├── TbAbstractCustomerActionNodeConfiguration.java │ │ ├── TbAbstractRelationActionNode.java │ │ ├── TbAbstractRelationActionNodeConfiguration.java │ │ ├── TbAlarmResult.java │ │ ├── TbAssignToCustomerNode.java │ │ ├── TbAssignToCustomerNodeConfiguration.java │ │ ├── TbClearAlarmNode.java │ │ ├── TbClearAlarmNodeConfiguration.java │ │ ├── TbCopyAttributesToEntityViewNode.java │ │ ├── TbCreateAlarmNode.java │ │ ├── TbCreateAlarmNodeConfiguration.java │ │ ├── TbCreateRelationNode.java │ │ ├── TbCreateRelationNodeConfiguration.java │ │ ├── TbDeleteRelationNode.java │ │ ├── TbDeleteRelationNodeConfiguration.java │ │ ├── TbDeviceStateNode.java │ │ ├── TbDeviceStateNodeConfiguration.java │ │ ├── TbLogNode.java │ │ ├── TbLogNodeConfiguration.java │ │ ├── TbMsgCountNode.java │ │ ├── TbMsgCountNodeConfiguration.java │ │ ├── TbSaveToCustomCassandraTableNode.java │ │ ├── TbSaveToCustomCassandraTableNodeConfiguration.java │ │ ├── TbUnassignFromCustomerNode.java │ │ └── TbUnassignFromCustomerNodeConfiguration.java │ │ ├── ai │ │ ├── Langchain4jJsonSchemaAdapter.java │ │ ├── TbAiNode.java │ │ ├── TbAiNodeConfiguration.java │ │ └── TbResponseFormat.java │ │ ├── aws │ │ ├── lambda │ │ │ ├── TbAwsLambdaNode.java │ │ │ └── TbAwsLambdaNodeConfiguration.java │ │ ├── sns │ │ │ ├── TbSnsNode.java │ │ │ └── TbSnsNodeConfiguration.java │ │ └── sqs │ │ │ ├── TbSqsNode.java │ │ │ └── TbSqsNodeConfiguration.java │ │ ├── credentials │ │ ├── AnonymousCredentials.java │ │ ├── BasicCredentials.java │ │ ├── CertPemCredentials.java │ │ ├── ClientCredentials.java │ │ └── CredentialsType.java │ │ ├── data │ │ ├── DeviceRelationsQuery.java │ │ └── RelationsQuery.java │ │ ├── debug │ │ ├── TbMsgGeneratorNode.java │ │ └── TbMsgGeneratorNodeConfiguration.java │ │ ├── deduplication │ │ ├── DeduplicationData.java │ │ ├── DeduplicationId.java │ │ ├── DeduplicationStrategy.java │ │ ├── TbMsgDeduplicationNode.java │ │ └── TbMsgDeduplicationNodeConfiguration.java │ │ ├── delay │ │ ├── TbMsgDelayNode.java │ │ └── TbMsgDelayNodeConfiguration.java │ │ ├── edge │ │ ├── AbstractTbMsgPushNode.java │ │ ├── BaseTbMsgPushNodeConfiguration.java │ │ ├── TbMsgPushToCloudNode.java │ │ ├── TbMsgPushToCloudNodeConfiguration.java │ │ ├── TbMsgPushToEdgeNode.java │ │ └── TbMsgPushToEdgeNodeConfiguration.java │ │ ├── external │ │ └── TbAbstractExternalNode.java │ │ ├── filter │ │ ├── TbAbstractTypeSwitchNode.java │ │ ├── TbAssetTypeSwitchNode.java │ │ ├── TbCheckAlarmStatusNode.java │ │ ├── TbCheckAlarmStatusNodeConfig.java │ │ ├── TbCheckMessageNode.java │ │ ├── TbCheckMessageNodeConfiguration.java │ │ ├── TbCheckRelationNode.java │ │ ├── TbCheckRelationNodeConfiguration.java │ │ ├── TbDeviceTypeSwitchNode.java │ │ ├── TbJsFilterNode.java │ │ ├── TbJsFilterNodeConfiguration.java │ │ ├── TbJsSwitchNode.java │ │ ├── TbJsSwitchNodeConfiguration.java │ │ ├── TbMsgTypeFilterNode.java │ │ ├── TbMsgTypeFilterNodeConfiguration.java │ │ ├── TbMsgTypeSwitchNode.java │ │ ├── TbOriginatorTypeFilterNode.java │ │ ├── TbOriginatorTypeFilterNodeConfiguration.java │ │ └── TbOriginatorTypeSwitchNode.java │ │ ├── flow │ │ ├── TbAckNode.java │ │ ├── TbCheckpointNode.java │ │ ├── TbRuleChainInputNode.java │ │ ├── TbRuleChainInputNodeConfiguration.java │ │ └── TbRuleChainOutputNode.java │ │ ├── gcp │ │ └── pubsub │ │ │ ├── TbPubSubNode.java │ │ │ └── TbPubSubNodeConfiguration.java │ │ ├── geo │ │ ├── AbstractGeofencingNode.java │ │ ├── EntityGeofencingState.java │ │ ├── TbGpsGeofencingActionNode.java │ │ ├── TbGpsGeofencingActionNodeConfiguration.java │ │ ├── TbGpsGeofencingFilterNode.java │ │ └── TbGpsGeofencingFilterNodeConfiguration.java │ │ ├── kafka │ │ ├── TbKafkaNode.java │ │ └── TbKafkaNodeConfiguration.java │ │ ├── mail │ │ ├── TbMsgToEmailNode.java │ │ ├── TbMsgToEmailNodeConfiguration.java │ │ ├── TbSendEmailNode.java │ │ └── TbSendEmailNodeConfiguration.java │ │ ├── math │ │ ├── TbMathArgument.java │ │ ├── TbMathArgumentType.java │ │ ├── TbMathArgumentValue.java │ │ ├── TbMathNode.java │ │ ├── TbMathNodeConfiguration.java │ │ ├── TbMathResult.java │ │ └── TbRuleNodeMathFunctionType.java │ │ ├── metadata │ │ ├── CalculateDeltaNode.java │ │ ├── CalculateDeltaNodeConfiguration.java │ │ ├── DataToFetch.java │ │ ├── FetchMode.java │ │ ├── TbAbstractFetchToNodeConfiguration.java │ │ ├── TbAbstractGetAttributesNode.java │ │ ├── TbAbstractGetEntityDataNode.java │ │ ├── TbAbstractGetEntityDetailsNode.java │ │ ├── TbAbstractGetEntityDetailsNodeConfiguration.java │ │ ├── TbAbstractGetMappedDataNode.java │ │ ├── TbAbstractNodeWithFetchTo.java │ │ ├── TbFetchDeviceCredentialsNode.java │ │ ├── TbFetchDeviceCredentialsNodeConfiguration.java │ │ ├── TbGetAttributesNode.java │ │ ├── TbGetAttributesNodeConfiguration.java │ │ ├── TbGetCustomerAttributeNode.java │ │ ├── TbGetCustomerDetailsNode.java │ │ ├── TbGetCustomerDetailsNodeConfiguration.java │ │ ├── TbGetDeviceAttrNode.java │ │ ├── TbGetDeviceAttrNodeConfiguration.java │ │ ├── TbGetEntityDataNodeConfiguration.java │ │ ├── TbGetMappedDataNodeConfiguration.java │ │ ├── TbGetOriginatorFieldsConfiguration.java │ │ ├── TbGetOriginatorFieldsNode.java │ │ ├── TbGetRelatedAttributeNode.java │ │ ├── TbGetRelatedDataNodeConfiguration.java │ │ ├── TbGetTelemetryNode.java │ │ ├── TbGetTelemetryNodeConfiguration.java │ │ ├── TbGetTenantAttributeNode.java │ │ ├── TbGetTenantDetailsNode.java │ │ └── TbGetTenantDetailsNodeConfiguration.java │ │ ├── mqtt │ │ ├── TbMqttNode.java │ │ ├── TbMqttNodeConfiguration.java │ │ └── azure │ │ │ ├── AzureIotHubSasCredentials.java │ │ │ ├── TbAzureIotHubNode.java │ │ │ └── TbAzureIotHubNodeConfiguration.java │ │ ├── notification │ │ ├── TbNotificationNode.java │ │ ├── TbNotificationNodeConfiguration.java │ │ ├── TbSlackNode.java │ │ └── TbSlackNodeConfiguration.java │ │ ├── profile │ │ ├── AlarmEvalResult.java │ │ ├── AlarmRuleState.java │ │ ├── AlarmState.java │ │ ├── DataSnapshot.java │ │ ├── DeviceState.java │ │ ├── DynamicPredicateValueCtx.java │ │ ├── DynamicPredicateValueCtxImpl.java │ │ ├── EntityKeyValue.java │ │ ├── NumericParseException.java │ │ ├── ProfileState.java │ │ ├── SnapshotUpdate.java │ │ ├── TbDeviceProfileNode.java │ │ ├── TbDeviceProfileNodeConfiguration.java │ │ └── state │ │ │ ├── PersistedAlarmRuleState.java │ │ │ ├── PersistedAlarmState.java │ │ │ └── PersistedDeviceState.java │ │ ├── rabbitmq │ │ ├── TbRabbitMqNode.java │ │ └── TbRabbitMqNodeConfiguration.java │ │ ├── rest │ │ ├── TbHttpClient.java │ │ ├── TbRestApiCallNode.java │ │ ├── TbRestApiCallNodeConfiguration.java │ │ ├── TbSendRestApiCallReplyNode.java │ │ └── TbSendRestApiCallReplyNodeConfiguration.java │ │ ├── rpc │ │ ├── TbSendRPCReplyNode.java │ │ ├── TbSendRPCRequestNode.java │ │ ├── TbSendRpcReplyNodeConfiguration.java │ │ └── TbSendRpcRequestNodeConfiguration.java │ │ ├── sms │ │ ├── TbSendSmsNode.java │ │ └── TbSendSmsNodeConfiguration.java │ │ ├── telemetry │ │ ├── AttributesDeleteNodeCallback.java │ │ ├── AttributesUpdateNodeCallback.java │ │ ├── TbCalculatedFieldsNode.java │ │ ├── TbMsgAttributesNode.java │ │ ├── TbMsgAttributesNodeConfiguration.java │ │ ├── TbMsgDeleteAttributesNode.java │ │ ├── TbMsgDeleteAttributesNodeConfiguration.java │ │ ├── TbMsgTimeseriesNode.java │ │ ├── TbMsgTimeseriesNodeConfiguration.java │ │ ├── TelemetryNodeCallback.java │ │ ├── settings │ │ │ ├── AttributesProcessingSettings.java │ │ │ ├── ProcessingSettings.java │ │ │ └── TimeseriesProcessingSettings.java │ │ └── strategy │ │ │ ├── DeduplicateProcessingStrategy.java │ │ │ ├── OnEveryMessageProcessingStrategy.java │ │ │ ├── ProcessingStrategy.java │ │ │ └── SkipProcessingStrategy.java │ │ ├── transaction │ │ ├── TbSynchronizationBeginNode.java │ │ └── TbSynchronizationEndNode.java │ │ ├── transform │ │ ├── MultipleTbMsgsCallbackWrapper.java │ │ ├── OriginatorSource.java │ │ ├── TbAbstractTransformNode.java │ │ ├── TbAbstractTransformNodeWithTbMsgSource.java │ │ ├── TbChangeOriginatorNode.java │ │ ├── TbChangeOriginatorNodeConfiguration.java │ │ ├── TbCopyKeysNode.java │ │ ├── TbCopyKeysNodeConfiguration.java │ │ ├── TbDeleteKeysNode.java │ │ ├── TbDeleteKeysNodeConfiguration.java │ │ ├── TbJsonPathNode.java │ │ ├── TbJsonPathNodeConfiguration.java │ │ ├── TbMsgCallbackWrapper.java │ │ ├── TbRenameKeysNode.java │ │ ├── TbRenameKeysNodeConfiguration.java │ │ ├── TbSplitArrayMsgNode.java │ │ ├── TbTransformMsgNode.java │ │ └── TbTransformMsgNodeConfiguration.java │ │ └── util │ │ ├── ContactBasedEntityDetails.java │ │ ├── EntitiesAlarmOriginatorIdAsyncLoader.java │ │ ├── EntitiesByNameAndTypeLoader.java │ │ ├── EntitiesFieldsAsyncLoader.java │ │ ├── EntitiesRelatedDeviceIdAsyncLoader.java │ │ ├── EntitiesRelatedEntityIdAsyncLoader.java │ │ ├── GpsGeofencingEvents.java │ │ ├── SemaphoreWithTbMsgQueue.java │ │ ├── TbMsgSource.java │ │ └── TenantIdLoader.java │ └── test │ ├── java │ └── org │ │ └── thingsboard │ │ └── rule │ │ └── engine │ │ ├── AbstractRuleNodeUpgradeTest.java │ │ ├── TestDbCallbackExecutor.java │ │ ├── action │ │ ├── TbAssignToCustomerNodeTest.java │ │ ├── TbClearAlarmNodeTest.java │ │ ├── TbCopyAttributesToEntityViewNodeTest.java │ │ ├── TbCreateAlarmNodeTest.java │ │ ├── TbCreateRelationNodeTest.java │ │ ├── TbDeleteRelationNodeTest.java │ │ ├── TbDeviceStateNodeTest.java │ │ ├── TbLogNodeTest.java │ │ ├── TbMsgCountNodeTest.java │ │ ├── TbSaveToCustomCassandraTableNodeTest.java │ │ └── TbUnassignFromCustomerNodeTest.java │ │ ├── ai │ │ └── TbAiNodeTest.java │ │ ├── aws │ │ ├── lambda │ │ │ └── TbAwsLambdaNodeTest.java │ │ ├── sns │ │ │ └── TbSnsNodeTest.java │ │ └── sqs │ │ │ └── TbSqsNodeTest.java │ │ ├── credentials │ │ └── CertPemCredentialsTest.java │ │ ├── debug │ │ └── TbMsgGeneratorNodeTest.java │ │ ├── edge │ │ └── TbMsgPushToEdgeNodeTest.java │ │ ├── filter │ │ ├── TbAssetTypeSwitchNodeTest.java │ │ ├── TbCheckAlarmStatusNodeTest.java │ │ ├── TbCheckMessageNodeTest.java │ │ ├── TbCheckRelationNodeTest.java │ │ ├── TbDeviceTypeSwitchNodeTest.java │ │ ├── TbJsFilterNodeTest.java │ │ ├── TbJsSwitchNodeTest.java │ │ ├── TbMsgTypeFilterNodeTest.java │ │ ├── TbMsgTypeSwitchNodeTest.java │ │ ├── TbOriginatorTypeFilterNodeTest.java │ │ └── TbOriginatorTypeSwitchNodeTest.java │ │ ├── flow │ │ ├── TbAckNodeTest.java │ │ ├── TbCheckpointNodeTest.java │ │ ├── TbRuleChainInputNodeTest.java │ │ └── TbRuleChainOutputNodeTest.java │ │ ├── gcp │ │ └── pubsub │ │ │ └── TbPubSubNodeTest.java │ │ ├── geo │ │ ├── GeoUtilTest.java │ │ ├── GpsGeofencingActionTestCase.java │ │ ├── TbGpsGeofencingActionNodeTest.java │ │ └── TbGpsGeofencingFilterNodeTest.java │ │ ├── kafka │ │ └── TbKafkaNodeTest.java │ │ ├── mail │ │ └── TbMsgToEmailNodeTest.java │ │ ├── math │ │ ├── TbMathArgumentValueTest.java │ │ └── TbMathNodeTest.java │ │ ├── metadata │ │ ├── CalculateDeltaNodeTest.java │ │ ├── TbFetchDeviceCredentialsNodeTest.java │ │ ├── TbGetAttributesNodeTest.java │ │ ├── TbGetCustomerAttributeNodeTest.java │ │ ├── TbGetCustomerDetailsNodeTest.java │ │ ├── TbGetDeviceAttrNodeTest.java │ │ ├── TbGetOriginatorFieldsNodeTest.java │ │ ├── TbGetRelatedAttributeNodeTest.java │ │ ├── TbGetTelemetryNodeTest.java │ │ ├── TbGetTenantAttributeNodeTest.java │ │ └── TbGetTenantDetailsNodeTest.java │ │ ├── mqtt │ │ ├── TbMqttNodeTest.java │ │ └── azure │ │ │ └── TbAzureIotHubNodeTest.java │ │ ├── profile │ │ ├── AlarmRuleStateTest.java │ │ ├── AlarmStateTest.java │ │ ├── DeviceStateTest.java │ │ ├── ProfileStateTest.java │ │ └── TbDeviceProfileNodeTest.java │ │ ├── rabbitmq │ │ └── TbRabbitMqNodeTest.java │ │ ├── rest │ │ ├── TbHttpClientTest.java │ │ ├── TbRestApiCallNodeTest.java │ │ └── TbSendRestApiCallReplyNodeTest.java │ │ ├── rpc │ │ ├── TbSendRPCReplyNodeTest.java │ │ └── TbSendRPCRequestNodeTest.java │ │ ├── telemetry │ │ ├── TbMsgAttributesNodeTest.java │ │ ├── TbMsgDeleteAttributesNodeTest.java │ │ ├── TbMsgTimeseriesNodeTest.java │ │ └── strategy │ │ │ ├── DeduplicateProcessingStrategyTest.java │ │ │ ├── OnEveryMessageProcessingStrategyTest.java │ │ │ ├── ProcessingStrategyTest.java │ │ │ └── SkipProcessingStrategyTest.java │ │ ├── transform │ │ ├── TbChangeOriginatorNodeTest.java │ │ ├── TbCopyKeysNodeTest.java │ │ ├── TbDeleteKeysNodeTest.java │ │ ├── TbJsonPathNodeTest.java │ │ ├── TbMsgDeduplicationNodeTest.java │ │ ├── TbRenameKeysNodeTest.java │ │ ├── TbSplitArrayMsgNodeTest.java │ │ └── TbTransformMsgNodeTest.java │ │ └── util │ │ ├── EntitiesFieldsAsyncLoaderTest.java │ │ ├── EntitiesRelatedDeviceIdAsyncLoaderTest.java │ │ ├── EntitiesRelatedEntityIdAsyncLoaderTest.java │ │ └── TenantIdLoaderTest.java │ └── resources │ ├── junit-platform.properties │ ├── logback-test.xml │ └── pem │ ├── ec_cert.pem │ ├── ec_key.pem │ ├── empty.pem │ ├── rsa_cert.pem │ ├── rsa_encrypted_cert.pem │ ├── rsa_encrypted_key.pem │ ├── rsa_encrypted_traditional_cert.pem │ ├── rsa_encrypted_traditional_key.pem │ ├── rsa_key.pem │ ├── tb-cloud-chain.pem │ └── tb-cloud.pem ├── security.md ├── tools ├── pom.xml └── src │ └── main │ ├── java │ └── org │ │ └── thingsboard │ │ └── client │ │ └── tools │ │ ├── MqttSslClient.java │ │ ├── i18n │ │ └── TranslationPruner.java │ │ └── migrator │ │ ├── DictionaryParser.java │ │ ├── MigratorTool.java │ │ ├── PgCaMigrator.java │ │ ├── README.md │ │ ├── RelatedEntitiesParser.java │ │ └── WriterBuilder.java │ ├── python │ ├── check_yml_file.py │ ├── mqtt-send-telemetry.py │ ├── one-way-ssl-mqtt-client.py │ ├── simple-mqtt-client.py │ └── two-way-ssl-mqtt-client.py │ └── shell │ ├── client.keygen.sh │ ├── keygen.properties │ ├── lwm2m │ ├── lwM2M_cfssl_chain_clients_for_test.sh │ ├── lwm2m_cfssl_chain_all_for_test.sh │ └── lwm2m_cfssl_chain_server_for_test.sh │ └── server.keygen.sh ├── transport ├── coap │ ├── pom.xml │ └── src │ │ └── main │ │ ├── conf │ │ ├── logback.xml │ │ └── tb-coap-transport.conf │ │ ├── java │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── coap │ │ │ └── ThingsboardCoapTransportApplication.java │ │ └── resources │ │ ├── logback.xml │ │ └── tb-coap-transport.yml ├── http │ ├── pom.xml │ └── src │ │ └── main │ │ ├── conf │ │ ├── logback.xml │ │ └── tb-http-transport.conf │ │ ├── java │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── http │ │ │ └── ThingsboardHttpTransportApplication.java │ │ └── resources │ │ ├── logback.xml │ │ └── tb-http-transport.yml ├── lwm2m │ ├── pom.xml │ └── src │ │ └── main │ │ ├── conf │ │ ├── logback.xml │ │ └── tb-lwm2m-transport.conf │ │ ├── java │ │ └── org │ │ │ ├── eclipse │ │ │ └── leshan │ │ │ │ └── server │ │ │ │ └── observation │ │ │ │ └── ObservationServiceImpl.java │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── lwm2m │ │ │ └── ThingsboardLwm2mTransportApplication.java │ │ └── resources │ │ ├── logback.xml │ │ └── tb-lwm2m-transport.yml ├── mqtt │ ├── pom.xml │ └── src │ │ └── main │ │ ├── conf │ │ ├── logback.xml │ │ └── tb-mqtt-transport.conf │ │ ├── java │ │ └── org │ │ │ └── thingsboard │ │ │ └── server │ │ │ └── mqtt │ │ │ └── ThingsboardMqttTransportApplication.java │ │ └── resources │ │ ├── logback.xml │ │ └── tb-mqtt-transport.yml ├── pom.xml └── snmp │ ├── pom.xml │ └── src │ └── main │ ├── conf │ ├── logback.xml │ └── tb-snmp-transport.conf │ ├── java │ └── org │ │ └── thingsboard │ │ └── server │ │ └── snmp │ │ └── ThingsboardSnmpTransportApplication.java │ └── resources │ ├── logback.xml │ └── tb-snmp-transport.yml ├── ui-ngx ├── .browserslistrc ├── .editorconfig ├── .gitignore ├── .yarnrc ├── LICENSE ├── angular.json ├── esbuild │ ├── tb-esbuild-plugins.ts │ └── tb-html-fallback-middleware.ts ├── eslint.config.mjs ├── generate-icon-metadata.js ├── generate-types.js ├── package.json ├── patches │ ├── @angular+build+18.2.12.patch │ ├── @angular+core+18.2.13.patch │ ├── @angular+material+18.2.14.patch │ ├── @iplab+ngx-color-picker+18.0.1.patch │ ├── @mat-datetimepicker+core+14.0.0.patch │ ├── angular-gridster2+18.0.1.patch │ ├── canvas-gauges+2.1.7.patch │ ├── jquery.terminal+2.44.1.patch │ └── tooltipster+4.2.8.patch ├── pom.xml ├── proxy.conf.js ├── src │ ├── app │ │ ├── app-routing.module.ts │ │ ├── app.component.html │ │ ├── app.component.scss │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ ├── core │ │ │ ├── api │ │ │ │ ├── alarm-data-subscription.ts │ │ │ │ ├── alarm-data.service.ts │ │ │ │ ├── alias-controller.ts │ │ │ │ ├── data-aggregator.ts │ │ │ │ ├── entity-data-subscription.ts │ │ │ │ ├── entity-data.service.ts │ │ │ │ ├── public-api.ts │ │ │ │ ├── widget-api.models.ts │ │ │ │ └── widget-subscription.ts │ │ │ ├── auth │ │ │ │ ├── auth.actions.ts │ │ │ │ ├── auth.effects.ts │ │ │ │ ├── auth.models.ts │ │ │ │ ├── auth.reducer.ts │ │ │ │ ├── auth.selectors.ts │ │ │ │ ├── auth.service.spec.ts │ │ │ │ ├── auth.service.ts │ │ │ │ └── public-api.ts │ │ │ ├── core.module.ts │ │ │ ├── core.state.ts │ │ │ ├── css │ │ │ │ └── css.ts │ │ │ ├── guards │ │ │ │ ├── auth.guard.ts │ │ │ │ └── confirm-on-exit.guard.ts │ │ │ ├── http │ │ │ │ ├── admin.service.ts │ │ │ │ ├── ai-model.service.ts │ │ │ │ ├── alarm-comment.service.ts │ │ │ │ ├── alarm.service.ts │ │ │ │ ├── api-key.service.ts │ │ │ │ ├── asset-profile.service.ts │ │ │ │ ├── asset.service.ts │ │ │ │ ├── attribute.service.ts │ │ │ │ ├── audit-log.service.ts │ │ │ │ ├── calculated-fields.service.ts │ │ │ │ ├── component-descriptor.service.ts │ │ │ │ ├── customer.service.ts │ │ │ │ ├── dashboard.service.ts │ │ │ │ ├── device-profile.service.ts │ │ │ │ ├── device.service.ts │ │ │ │ ├── domain.service.ts │ │ │ │ ├── edge.service.ts │ │ │ │ ├── entities-version-control.service.ts │ │ │ │ ├── entity-relation.service.ts │ │ │ │ ├── entity-view.service.ts │ │ │ │ ├── entity.service.ts │ │ │ │ ├── event.service.ts │ │ │ │ ├── git-hub.service.ts │ │ │ │ ├── http-utils.ts │ │ │ │ ├── image.service.ts │ │ │ │ ├── mobile-app.service.ts │ │ │ │ ├── mobile-application.service.ts │ │ │ │ ├── notification.service.ts │ │ │ │ ├── oauth2.service.ts │ │ │ │ ├── ota-package.service.ts │ │ │ │ ├── public-api.ts │ │ │ │ ├── queue.service.ts │ │ │ │ ├── resource.service.ts │ │ │ │ ├── rule-chain.service.ts │ │ │ │ ├── tenant-profile.service.ts │ │ │ │ ├── tenant.service.ts │ │ │ │ ├── trendz-settings.service.ts │ │ │ │ ├── two-factor-authentication.service.ts │ │ │ │ ├── ui-settings.service.ts │ │ │ │ ├── usage-info.service.ts │ │ │ │ ├── user-settings.service.ts │ │ │ │ ├── user.service.ts │ │ │ │ └── widget.service.ts │ │ │ ├── interceptors │ │ │ │ ├── entity-conflict.interceptor.ts │ │ │ │ ├── global-http-interceptor.ts │ │ │ │ ├── interceptor-config.ts │ │ │ │ ├── interceptor-http-params.ts │ │ │ │ ├── interceptor.util.ts │ │ │ │ ├── load.actions.ts │ │ │ │ ├── load.models.ts │ │ │ │ ├── load.reducer.ts │ │ │ │ └── load.selectors.ts │ │ │ ├── local-storage │ │ │ │ └── local-storage.service.ts │ │ │ ├── meta-reducers │ │ │ │ ├── debug.reducer.ts │ │ │ │ └── init-state-from-local-storage.reducer.ts │ │ │ ├── notification │ │ │ │ ├── notification.actions.ts │ │ │ │ ├── notification.effects.ts │ │ │ │ ├── notification.models.ts │ │ │ │ └── notification.reducer.ts │ │ │ ├── operator │ │ │ │ └── enterZone.ts │ │ │ ├── public-api.ts │ │ │ ├── services │ │ │ │ ├── active-component.service.ts │ │ │ │ ├── broadcast.models.ts │ │ │ │ ├── broadcast.service.ts │ │ │ │ ├── dashboard-utils.service.ts │ │ │ │ ├── dialog.service.ts │ │ │ │ ├── dynamic-component-factory.service.ts │ │ │ │ ├── help.service.ts │ │ │ │ ├── item-buffer.service.ts │ │ │ │ ├── menu.models.ts │ │ │ │ ├── menu.service.ts │ │ │ │ ├── mobile.service.ts │ │ │ │ ├── public-api.ts │ │ │ │ ├── raf.service.ts │ │ │ │ ├── resources.service.ts │ │ │ │ ├── script │ │ │ │ │ └── node-script-test.service.ts │ │ │ │ ├── time.service.ts │ │ │ │ ├── title.service.ts │ │ │ │ ├── toast-notification.service.ts │ │ │ │ ├── unit.service.ts │ │ │ │ ├── utils.service.ts │ │ │ │ └── window.service.ts │ │ │ ├── settings │ │ │ │ ├── settings.actions.ts │ │ │ │ ├── settings.effects.ts │ │ │ │ ├── settings.models.ts │ │ │ │ ├── settings.reducer.ts │ │ │ │ ├── settings.selectors.ts │ │ │ │ └── settings.utils.ts │ │ │ ├── translate │ │ │ │ ├── missing-translate-handler.ts │ │ │ │ ├── translate-default-compiler.ts │ │ │ │ ├── translate-default-loader.ts │ │ │ │ └── translate-default-parser.ts │ │ │ ├── utils.ts │ │ │ └── ws │ │ │ │ ├── notification-websocket.service.ts │ │ │ │ ├── public-api.ts │ │ │ │ ├── telemetry-websocket.service.ts │ │ │ │ └── websocket.service.ts │ │ ├── modules │ │ │ ├── common │ │ │ │ ├── modules-map.models.ts │ │ │ │ └── modules-map.ts │ │ │ ├── dashboard │ │ │ │ ├── dashboard-pages.module.ts │ │ │ │ ├── dashboard-pages.routing.module.ts │ │ │ │ └── dashboard-routing.module.ts │ │ │ ├── home │ │ │ │ ├── components │ │ │ │ │ ├── ai-model │ │ │ │ │ │ ├── ai-model-dialog.component.html │ │ │ │ │ │ ├── ai-model-dialog.component.scss │ │ │ │ │ │ ├── ai-model-dialog.component.ts │ │ │ │ │ │ ├── check-connectivity-dialog.component.html │ │ │ │ │ │ ├── check-connectivity-dialog.component.scss │ │ │ │ │ │ └── check-connectivity-dialog.component.ts │ │ │ │ │ ├── alarm-rules │ │ │ │ │ │ ├── alarm-rule-details-dialog.component.html │ │ │ │ │ │ ├── alarm-rule-details-dialog.component.ts │ │ │ │ │ │ ├── alarm-rule-dialog.component.html │ │ │ │ │ │ ├── alarm-rule-dialog.component.scss │ │ │ │ │ │ ├── alarm-rule-dialog.component.ts │ │ │ │ │ │ ├── alarm-rule-filter-config.component.html │ │ │ │ │ │ ├── alarm-rule-filter-config.component.scss │ │ │ │ │ │ ├── alarm-rule-filter-config.component.ts │ │ │ │ │ │ ├── alarm-rule-table-header.component.html │ │ │ │ │ │ ├── alarm-rule-table-header.component.scss │ │ │ │ │ │ ├── alarm-rule-table-header.component.ts │ │ │ │ │ │ ├── alarm-rule.module.ts │ │ │ │ │ │ ├── alarm-rules-table-config.ts │ │ │ │ │ │ ├── alarm-rules-table.component.html │ │ │ │ │ │ ├── alarm-rules-table.component.scss │ │ │ │ │ │ ├── alarm-rules-table.component.ts │ │ │ │ │ │ ├── cf-alarm-rule-condition-dialog.component.html │ │ │ │ │ │ ├── cf-alarm-rule-condition-dialog.component.ts │ │ │ │ │ │ ├── cf-alarm-rule-condition.component.html │ │ │ │ │ │ ├── cf-alarm-rule-condition.component.scss │ │ │ │ │ │ ├── cf-alarm-rule-condition.component.ts │ │ │ │ │ │ ├── cf-alarm-rule.component.html │ │ │ │ │ │ ├── cf-alarm-rule.component.scss │ │ │ │ │ │ ├── cf-alarm-rule.component.ts │ │ │ │ │ │ ├── cf-alarm-rules-dialog.component.scss │ │ │ │ │ │ ├── cf-alarm-schedule-dialog.component.html │ │ │ │ │ │ ├── cf-alarm-schedule-dialog.component.ts │ │ │ │ │ │ ├── cf-alarm-schedule.component.html │ │ │ │ │ │ ├── cf-alarm-schedule.component.ts │ │ │ │ │ │ ├── create-cf-alarm-rules.component.html │ │ │ │ │ │ ├── create-cf-alarm-rules.component.scss │ │ │ │ │ │ ├── create-cf-alarm-rules.component.ts │ │ │ │ │ │ └── filter │ │ │ │ │ │ │ ├── alarm-rule-complex-filter-predicate-dialog.component.html │ │ │ │ │ │ │ ├── alarm-rule-complex-filter-predicate-dialog.component.ts │ │ │ │ │ │ │ ├── alarm-rule-filter-dialog.component.html │ │ │ │ │ │ │ ├── alarm-rule-filter-dialog.component.scss │ │ │ │ │ │ │ ├── alarm-rule-filter-dialog.component.ts │ │ │ │ │ │ │ ├── alarm-rule-filter-list.component.html │ │ │ │ │ │ │ ├── alarm-rule-filter-list.component.scss │ │ │ │ │ │ │ ├── alarm-rule-filter-list.component.ts │ │ │ │ │ │ │ ├── alarm-rule-filter-predicate-list.component.html │ │ │ │ │ │ │ ├── alarm-rule-filter-predicate-list.component.scss │ │ │ │ │ │ │ ├── alarm-rule-filter-predicate-list.component.ts │ │ │ │ │ │ │ ├── alarm-rule-filter-predicate-value.component.html │ │ │ │ │ │ │ ├── alarm-rule-filter-predicate-value.component.ts │ │ │ │ │ │ │ ├── alarm-rule-filter-predicate.component.html │ │ │ │ │ │ │ ├── alarm-rule-filter-predicate.component.ts │ │ │ │ │ │ │ ├── alarm-rule-filter-text.component.html │ │ │ │ │ │ │ ├── alarm-rule-filter-text.component.scss │ │ │ │ │ │ │ └── alarm-rule-filter-text.component.ts │ │ │ │ │ ├── alarm │ │ │ │ │ │ ├── alarm-assignee-panel.component.html │ │ │ │ │ │ ├── alarm-assignee-panel.component.scss │ │ │ │ │ │ ├── alarm-assignee-panel.component.ts │ │ │ │ │ │ ├── alarm-assignee-select-panel.component.ts │ │ │ │ │ │ ├── alarm-assignee-select.component.html │ │ │ │ │ │ ├── alarm-assignee-select.component.ts │ │ │ │ │ │ ├── alarm-assignee.component.html │ │ │ │ │ │ ├── alarm-assignee.component.scss │ │ │ │ │ │ ├── alarm-assignee.component.ts │ │ │ │ │ │ ├── alarm-comment-dialog.component.html │ │ │ │ │ │ ├── alarm-comment-dialog.component.ts │ │ │ │ │ │ ├── alarm-comment.component.html │ │ │ │ │ │ ├── alarm-comment.component.scss │ │ │ │ │ │ ├── alarm-comment.component.ts │ │ │ │ │ │ ├── alarm-details-dialog.component.html │ │ │ │ │ │ ├── alarm-details-dialog.component.scss │ │ │ │ │ │ ├── alarm-details-dialog.component.ts │ │ │ │ │ │ ├── alarm-filter-config.component.html │ │ │ │ │ │ ├── alarm-filter-config.component.scss │ │ │ │ │ │ ├── alarm-filter-config.component.ts │ │ │ │ │ │ ├── alarm-table-config.ts │ │ │ │ │ │ ├── alarm-table-header.component.html │ │ │ │ │ │ ├── alarm-table-header.component.scss │ │ │ │ │ │ ├── alarm-table-header.component.ts │ │ │ │ │ │ ├── alarm-table.component.html │ │ │ │ │ │ ├── alarm-table.component.scss │ │ │ │ │ │ └── alarm-table.component.ts │ │ │ │ │ ├── alias │ │ │ │ │ │ ├── aliases-entity-autocomplete.component.html │ │ │ │ │ │ ├── aliases-entity-autocomplete.component.ts │ │ │ │ │ │ ├── aliases-entity-select-panel.component.html │ │ │ │ │ │ ├── aliases-entity-select-panel.component.scss │ │ │ │ │ │ ├── aliases-entity-select-panel.component.ts │ │ │ │ │ │ ├── aliases-entity-select.component.html │ │ │ │ │ │ ├── aliases-entity-select.component.scss │ │ │ │ │ │ ├── aliases-entity-select.component.ts │ │ │ │ │ │ ├── entity-alias-dialog.component.html │ │ │ │ │ │ ├── entity-alias-dialog.component.scss │ │ │ │ │ │ ├── entity-alias-dialog.component.ts │ │ │ │ │ │ ├── entity-aliases-dialog.component.html │ │ │ │ │ │ ├── entity-aliases-dialog.component.scss │ │ │ │ │ │ └── entity-aliases-dialog.component.ts │ │ │ │ │ ├── api-key │ │ │ │ │ │ ├── add-api-key-dialog.component.html │ │ │ │ │ │ ├── add-api-key-dialog.component.scss │ │ │ │ │ │ ├── add-api-key-dialog.component.ts │ │ │ │ │ │ ├── api-key-generated-dialog.component.html │ │ │ │ │ │ ├── api-key-generated-dialog.component.scss │ │ │ │ │ │ ├── api-key-generated-dialog.component.ts │ │ │ │ │ │ ├── api-keys-table-config.ts │ │ │ │ │ │ ├── api-keys-table-dialog.component.html │ │ │ │ │ │ ├── api-keys-table-dialog.component.scss │ │ │ │ │ │ ├── api-keys-table-dialog.component.ts │ │ │ │ │ │ ├── api-keys-table.component.html │ │ │ │ │ │ ├── api-keys-table.component.scss │ │ │ │ │ │ ├── api-keys-table.component.ts │ │ │ │ │ │ ├── edit-api-key-description-panel.component.html │ │ │ │ │ │ ├── edit-api-key-description-panel.component.scss │ │ │ │ │ │ └── edit-api-key-description-panel.component.ts │ │ │ │ │ ├── attribute │ │ │ │ │ │ ├── add-attribute-dialog.component.html │ │ │ │ │ │ ├── add-attribute-dialog.component.ts │ │ │ │ │ │ ├── add-widget-to-dashboard-dialog.component.html │ │ │ │ │ │ ├── add-widget-to-dashboard-dialog.component.scss │ │ │ │ │ │ ├── add-widget-to-dashboard-dialog.component.ts │ │ │ │ │ │ ├── attribute-table.component.html │ │ │ │ │ │ ├── attribute-table.component.scss │ │ │ │ │ │ ├── attribute-table.component.ts │ │ │ │ │ │ ├── delete-timeseries-panel.component.html │ │ │ │ │ │ ├── delete-timeseries-panel.component.scss │ │ │ │ │ │ ├── delete-timeseries-panel.component.ts │ │ │ │ │ │ ├── edit-attribute-value-panel.component.html │ │ │ │ │ │ ├── edit-attribute-value-panel.component.scss │ │ │ │ │ │ └── edit-attribute-value-panel.component.ts │ │ │ │ │ ├── audit-log │ │ │ │ │ │ ├── audit-log-details-dialog.component.html │ │ │ │ │ │ ├── audit-log-details-dialog.component.scss │ │ │ │ │ │ ├── audit-log-details-dialog.component.ts │ │ │ │ │ │ ├── audit-log-filter.component.html │ │ │ │ │ │ ├── audit-log-filter.component.scss │ │ │ │ │ │ ├── audit-log-filter.component.ts │ │ │ │ │ │ ├── audit-log-header.component.html │ │ │ │ │ │ ├── audit-log-header.component.scss │ │ │ │ │ │ ├── audit-log-header.component.ts │ │ │ │ │ │ ├── audit-log-table-config.ts │ │ │ │ │ │ ├── audit-log-table.component.html │ │ │ │ │ │ ├── audit-log-table.component.scss │ │ │ │ │ │ └── audit-log-table.component.ts │ │ │ │ │ ├── calculated-fields │ │ │ │ │ │ ├── calculated-field.module.ts │ │ │ │ │ │ ├── calculated-fields-table-config.ts │ │ │ │ │ │ ├── calculated-fields-table.component.html │ │ │ │ │ │ ├── calculated-fields-table.component.scss │ │ │ │ │ │ ├── calculated-fields-table.component.ts │ │ │ │ │ │ └── components │ │ │ │ │ │ │ ├── calculated-field-arguments │ │ │ │ │ │ │ ├── calculated-field-argument-panel.component.html │ │ │ │ │ │ │ ├── calculated-field-argument-panel.component.scss │ │ │ │ │ │ │ ├── calculated-field-argument-panel.component.ts │ │ │ │ │ │ │ ├── calculated-field-arguments-table.component.html │ │ │ │ │ │ │ ├── calculated-field-arguments-table.component.scss │ │ │ │ │ │ │ ├── calculated-field-arguments-table.component.ts │ │ │ │ │ │ │ ├── calculated-field-arguments-table.module.ts │ │ │ │ │ │ │ ├── entity-aggregation-arguments-table.component.ts │ │ │ │ │ │ │ ├── propagate-arguments-table.component.ts │ │ │ │ │ │ │ └── related-aggregation-arguments-table.component.ts │ │ │ │ │ │ │ ├── common │ │ │ │ │ │ │ └── calculated-field-panel.scss │ │ │ │ │ │ │ ├── debug-dialog │ │ │ │ │ │ │ ├── calculated-field-debug-dialog.component.html │ │ │ │ │ │ │ ├── calculated-field-debug-dialog.component.scss │ │ │ │ │ │ │ └── calculated-field-debug-dialog.component.ts │ │ │ │ │ │ │ ├── dialog │ │ │ │ │ │ │ ├── calculated-field-dialog.component.html │ │ │ │ │ │ │ ├── calculated-field-dialog.component.scss │ │ │ │ │ │ │ └── calculated-field-dialog.component.ts │ │ │ │ │ │ │ ├── entity-aggregation-configuration │ │ │ │ │ │ │ ├── entity-aggregation-component.component.html │ │ │ │ │ │ │ ├── entity-aggregation-component.component.ts │ │ │ │ │ │ │ └── entity-aggregation-component.module.ts │ │ │ │ │ │ │ ├── geofencing-configuration │ │ │ │ │ │ │ ├── calculated-field-geofencing-zone-groups-panel.component.html │ │ │ │ │ │ │ ├── calculated-field-geofencing-zone-groups-panel.component.scss │ │ │ │ │ │ │ ├── calculated-field-geofencing-zone-groups-panel.component.ts │ │ │ │ │ │ │ ├── calculated-field-geofencing-zone-groups-table.component.html │ │ │ │ │ │ │ ├── calculated-field-geofencing-zone-groups-table.component.ts │ │ │ │ │ │ │ ├── geofencing-configuration.component.html │ │ │ │ │ │ │ ├── geofencing-configuration.component.ts │ │ │ │ │ │ │ └── geofencing-configuration.module.ts │ │ │ │ │ │ │ ├── metrics │ │ │ │ │ │ │ ├── calculated-field-metrics-panel.component.html │ │ │ │ │ │ │ ├── calculated-field-metrics-panel.component.ts │ │ │ │ │ │ │ ├── calculated-field-metrics-table.component.html │ │ │ │ │ │ │ ├── calculated-field-metrics-table.component.ts │ │ │ │ │ │ │ └── calculated-field-metrics-table.module.ts │ │ │ │ │ │ │ ├── output │ │ │ │ │ │ │ ├── calculated-field-output.component.html │ │ │ │ │ │ │ ├── calculated-field-output.component.scss │ │ │ │ │ │ │ ├── calculated-field-output.component.ts │ │ │ │ │ │ │ └── calculated-field-output.module.ts │ │ │ │ │ │ │ ├── propagation-configuration │ │ │ │ │ │ │ ├── propagation-configuration.component.html │ │ │ │ │ │ │ ├── propagation-configuration.component.ts │ │ │ │ │ │ │ └── propagation-configuration.module.ts │ │ │ │ │ │ │ ├── public-api.ts │ │ │ │ │ │ │ ├── related-entities-aggregation-configuration │ │ │ │ │ │ │ ├── related-entities-aggregation-component.component.html │ │ │ │ │ │ │ ├── related-entities-aggregation-component.component.scss │ │ │ │ │ │ │ ├── related-entities-aggregation-component.component.ts │ │ │ │ │ │ │ └── related-entities-aggregation-component.module.ts │ │ │ │ │ │ │ ├── simple-configuration │ │ │ │ │ │ │ ├── simple-configuration.component.html │ │ │ │ │ │ │ ├── simple-configuration.component.ts │ │ │ │ │ │ │ └── simple-configuration.module.ts │ │ │ │ │ │ │ ├── test-arguments │ │ │ │ │ │ │ ├── calculated-field-test-arguments.component.html │ │ │ │ │ │ │ ├── calculated-field-test-arguments.component.scss │ │ │ │ │ │ │ └── calculated-field-test-arguments.component.ts │ │ │ │ │ │ │ └── test-dialog │ │ │ │ │ │ │ ├── calculated-field-script-test-dialog.component.html │ │ │ │ │ │ │ ├── calculated-field-script-test-dialog.component.scss │ │ │ │ │ │ │ └── calculated-field-script-test-dialog.component.ts │ │ │ │ │ ├── cloud-event │ │ │ │ │ │ ├── cloud-event-details-dialog.component.html │ │ │ │ │ │ ├── cloud-event-details-dialog.component.scss │ │ │ │ │ │ ├── cloud-event-details-dialog.component.ts │ │ │ │ │ │ ├── cloud-event-table-config.ts │ │ │ │ │ │ ├── cloud-event-table.component.html │ │ │ │ │ │ ├── cloud-event-table.component.scss │ │ │ │ │ │ └── cloud-event-table.component.ts │ │ │ │ │ ├── dashboard-page │ │ │ │ │ │ ├── add-widget-dialog.component.html │ │ │ │ │ │ ├── add-widget-dialog.component.scss │ │ │ │ │ │ ├── add-widget-dialog.component.ts │ │ │ │ │ │ ├── dashboard-image-dialog.component.html │ │ │ │ │ │ ├── dashboard-image-dialog.component.scss │ │ │ │ │ │ ├── dashboard-image-dialog.component.ts │ │ │ │ │ │ ├── dashboard-page.component.html │ │ │ │ │ │ ├── dashboard-page.component.scss │ │ │ │ │ │ ├── dashboard-page.component.ts │ │ │ │ │ │ ├── dashboard-page.models.ts │ │ │ │ │ │ ├── dashboard-settings-dialog.component.html │ │ │ │ │ │ ├── dashboard-settings-dialog.component.scss │ │ │ │ │ │ ├── dashboard-settings-dialog.component.ts │ │ │ │ │ │ ├── dashboard-state.component.html │ │ │ │ │ │ ├── dashboard-state.component.scss │ │ │ │ │ │ ├── dashboard-state.component.ts │ │ │ │ │ │ ├── dashboard-toolbar.component.html │ │ │ │ │ │ ├── dashboard-toolbar.component.scss │ │ │ │ │ │ ├── dashboard-toolbar.component.ts │ │ │ │ │ │ ├── dashboard-widget-select.component.html │ │ │ │ │ │ ├── dashboard-widget-select.component.scss │ │ │ │ │ │ ├── dashboard-widget-select.component.ts │ │ │ │ │ │ ├── edit-widget.component.html │ │ │ │ │ │ ├── edit-widget.component.scss │ │ │ │ │ │ ├── edit-widget.component.ts │ │ │ │ │ │ ├── layout │ │ │ │ │ │ │ ├── add-new-breakpoint-dialog.component.html │ │ │ │ │ │ │ ├── add-new-breakpoint-dialog.component.ts │ │ │ │ │ │ │ ├── dashboard-layout.component.html │ │ │ │ │ │ │ ├── dashboard-layout.component.scss │ │ │ │ │ │ │ ├── dashboard-layout.component.ts │ │ │ │ │ │ │ ├── layout.models.ts │ │ │ │ │ │ │ ├── manage-dashboard-layouts-dialog.component.html │ │ │ │ │ │ │ ├── manage-dashboard-layouts-dialog.component.scss │ │ │ │ │ │ │ ├── manage-dashboard-layouts-dialog.component.ts │ │ │ │ │ │ │ ├── move-widgets-dialog.component.html │ │ │ │ │ │ │ ├── move-widgets-dialog.component.ts │ │ │ │ │ │ │ ├── select-dashboard-breakpoint.component.html │ │ │ │ │ │ │ ├── select-dashboard-breakpoint.component.scss │ │ │ │ │ │ │ └── select-dashboard-breakpoint.component.ts │ │ │ │ │ │ ├── states │ │ │ │ │ │ │ ├── dashboard-state-dialog.component.html │ │ │ │ │ │ │ ├── dashboard-state-dialog.component.ts │ │ │ │ │ │ │ ├── default-state-controller.component.html │ │ │ │ │ │ │ ├── default-state-controller.component.scss │ │ │ │ │ │ │ ├── default-state-controller.component.ts │ │ │ │ │ │ │ ├── entity-state-controller.component.html │ │ │ │ │ │ │ ├── entity-state-controller.component.scss │ │ │ │ │ │ │ ├── entity-state-controller.component.ts │ │ │ │ │ │ │ ├── manage-dashboard-states-dialog.component.html │ │ │ │ │ │ │ ├── manage-dashboard-states-dialog.component.models.ts │ │ │ │ │ │ │ ├── manage-dashboard-states-dialog.component.scss │ │ │ │ │ │ │ ├── manage-dashboard-states-dialog.component.ts │ │ │ │ │ │ │ ├── state-controller.component.ts │ │ │ │ │ │ │ ├── state-controller.models.ts │ │ │ │ │ │ │ ├── states-component.directive.ts │ │ │ │ │ │ │ ├── states-controller.module.ts │ │ │ │ │ │ │ └── states-controller.service.ts │ │ │ │ │ │ ├── widget-types-panel.component.html │ │ │ │ │ │ ├── widget-types-panel.component.scss │ │ │ │ │ │ └── widget-types-panel.component.ts │ │ │ │ │ ├── dashboard-view │ │ │ │ │ │ ├── dashboard-view.component.html │ │ │ │ │ │ ├── dashboard-view.component.scss │ │ │ │ │ │ └── dashboard-view.component.ts │ │ │ │ │ ├── dashboard │ │ │ │ │ │ ├── dashboard.component.html │ │ │ │ │ │ ├── dashboard.component.scss │ │ │ │ │ │ ├── dashboard.component.ts │ │ │ │ │ │ ├── layout-button.scss │ │ │ │ │ │ ├── select-target-layout-dialog.component.html │ │ │ │ │ │ ├── select-target-layout-dialog.component.ts │ │ │ │ │ │ ├── select-target-state-dialog.component.html │ │ │ │ │ │ └── select-target-state-dialog.component.ts │ │ │ │ │ ├── details-panel.component.html │ │ │ │ │ ├── details-panel.component.scss │ │ │ │ │ ├── details-panel.component.ts │ │ │ │ │ ├── device │ │ │ │ │ │ ├── copy-device-credentials.component.html │ │ │ │ │ │ ├── copy-device-credentials.component.ts │ │ │ │ │ │ ├── device-credentials-lwm2m-server.component.html │ │ │ │ │ │ ├── device-credentials-lwm2m-server.component.ts │ │ │ │ │ │ ├── device-credentials-lwm2m.component.html │ │ │ │ │ │ ├── device-credentials-lwm2m.component.scss │ │ │ │ │ │ ├── device-credentials-lwm2m.component.ts │ │ │ │ │ │ ├── device-credentials-mqtt-basic.component.html │ │ │ │ │ │ ├── device-credentials-mqtt-basic.component.ts │ │ │ │ │ │ ├── device-credentials.component.html │ │ │ │ │ │ ├── device-credentials.component.scss │ │ │ │ │ │ ├── device-credentials.component.ts │ │ │ │ │ │ ├── device-credentials.module.ts │ │ │ │ │ │ ├── device-info-filter.component.html │ │ │ │ │ │ ├── device-info-filter.component.scss │ │ │ │ │ │ └── device-info-filter.component.ts │ │ │ │ │ ├── edge │ │ │ │ │ │ ├── edge-downlink-table-config.ts │ │ │ │ │ │ ├── edge-downlink-table-header.component.html │ │ │ │ │ │ ├── edge-downlink-table-header.component.scss │ │ │ │ │ │ ├── edge-downlink-table-header.component.ts │ │ │ │ │ │ ├── edge-downlink-table.component.html │ │ │ │ │ │ ├── edge-downlink-table.component.scss │ │ │ │ │ │ └── edge-downlink-table.component.ts │ │ │ │ │ ├── entity │ │ │ │ │ │ ├── add-entity-dialog.component.html │ │ │ │ │ │ ├── add-entity-dialog.component.scss │ │ │ │ │ │ ├── add-entity-dialog.component.ts │ │ │ │ │ │ ├── contact-based.component.ts │ │ │ │ │ │ ├── debug │ │ │ │ │ │ │ ├── entity-debug-settings-button.component.html │ │ │ │ │ │ │ ├── entity-debug-settings-button.component.ts │ │ │ │ │ │ │ ├── entity-debug-settings-panel.component.html │ │ │ │ │ │ │ ├── entity-debug-settings-panel.component.ts │ │ │ │ │ │ │ ├── entity-debug-settings.model.ts │ │ │ │ │ │ │ └── entity-debug-settings.service.ts │ │ │ │ │ │ ├── entities-table.component.html │ │ │ │ │ │ ├── entities-table.component.scss │ │ │ │ │ │ ├── entities-table.component.ts │ │ │ │ │ │ ├── entity-chips.component.html │ │ │ │ │ │ ├── entity-chips.component.scss │ │ │ │ │ │ ├── entity-chips.component.ts │ │ │ │ │ │ ├── entity-details-page.component.html │ │ │ │ │ │ ├── entity-details-page.component.scss │ │ │ │ │ │ ├── entity-details-page.component.ts │ │ │ │ │ │ ├── entity-details-panel.component.html │ │ │ │ │ │ ├── entity-details-panel.component.scss │ │ │ │ │ │ ├── entity-details-panel.component.ts │ │ │ │ │ │ ├── entity-filter-view.component.html │ │ │ │ │ │ ├── entity-filter-view.component.scss │ │ │ │ │ │ ├── entity-filter-view.component.ts │ │ │ │ │ │ ├── entity-filter.component.html │ │ │ │ │ │ ├── entity-filter.component.scss │ │ │ │ │ │ ├── entity-filter.component.ts │ │ │ │ │ │ ├── entity-table-header.component.ts │ │ │ │ │ │ ├── entity-tabs.component.ts │ │ │ │ │ │ └── entity.component.ts │ │ │ │ │ ├── event │ │ │ │ │ │ ├── event-content-dialog.component.html │ │ │ │ │ │ ├── event-content-dialog.component.scss │ │ │ │ │ │ ├── event-content-dialog.component.ts │ │ │ │ │ │ ├── event-filter-panel.component.html │ │ │ │ │ │ ├── event-filter-panel.component.scss │ │ │ │ │ │ ├── event-filter-panel.component.ts │ │ │ │ │ │ ├── event-table-config.ts │ │ │ │ │ │ ├── event-table-header.component.html │ │ │ │ │ │ ├── event-table-header.component.scss │ │ │ │ │ │ ├── event-table-header.component.ts │ │ │ │ │ │ ├── event-table.component.html │ │ │ │ │ │ ├── event-table.component.scss │ │ │ │ │ │ └── event-table.component.ts │ │ │ │ │ ├── filter │ │ │ │ │ │ ├── boolean-filter-predicate.component.html │ │ │ │ │ │ ├── boolean-filter-predicate.component.ts │ │ │ │ │ │ ├── complex-filter-predicate-dialog.component.html │ │ │ │ │ │ ├── complex-filter-predicate-dialog.component.ts │ │ │ │ │ │ ├── complex-filter-predicate.component.html │ │ │ │ │ │ ├── complex-filter-predicate.component.ts │ │ │ │ │ │ ├── filter-component.models.ts │ │ │ │ │ │ ├── filter-dialog.component.html │ │ │ │ │ │ ├── filter-dialog.component.scss │ │ │ │ │ │ ├── filter-dialog.component.ts │ │ │ │ │ │ ├── filter-predicate-list.component.html │ │ │ │ │ │ ├── filter-predicate-list.component.scss │ │ │ │ │ │ ├── filter-predicate-list.component.ts │ │ │ │ │ │ ├── filter-predicate-value.component.html │ │ │ │ │ │ ├── filter-predicate-value.component.ts │ │ │ │ │ │ ├── filter-predicate.component.html │ │ │ │ │ │ ├── filter-predicate.component.ts │ │ │ │ │ │ ├── filter-predicate.scss │ │ │ │ │ │ ├── filter-text.component.html │ │ │ │ │ │ ├── filter-text.component.scss │ │ │ │ │ │ ├── filter-text.component.ts │ │ │ │ │ │ ├── filter-user-info-dialog.component.html │ │ │ │ │ │ ├── filter-user-info-dialog.component.ts │ │ │ │ │ │ ├── filter-user-info.component.html │ │ │ │ │ │ ├── filter-user-info.component.ts │ │ │ │ │ │ ├── filters-dialog.component.html │ │ │ │ │ │ ├── filters-dialog.component.scss │ │ │ │ │ │ ├── filters-dialog.component.ts │ │ │ │ │ │ ├── filters-edit-panel.component.html │ │ │ │ │ │ ├── filters-edit-panel.component.scss │ │ │ │ │ │ ├── filters-edit-panel.component.ts │ │ │ │ │ │ ├── filters-edit.component.html │ │ │ │ │ │ ├── filters-edit.component.scss │ │ │ │ │ │ ├── filters-edit.component.ts │ │ │ │ │ │ ├── key-filter-dialog.component.html │ │ │ │ │ │ ├── key-filter-dialog.component.scss │ │ │ │ │ │ ├── key-filter-dialog.component.ts │ │ │ │ │ │ ├── key-filter-list.component.html │ │ │ │ │ │ ├── key-filter-list.component.scss │ │ │ │ │ │ ├── key-filter-list.component.ts │ │ │ │ │ │ ├── numeric-filter-predicate.component.html │ │ │ │ │ │ ├── numeric-filter-predicate.component.ts │ │ │ │ │ │ ├── string-filter-predicate.component.html │ │ │ │ │ │ ├── string-filter-predicate.component.ts │ │ │ │ │ │ ├── user-filter-dialog.component.html │ │ │ │ │ │ ├── user-filter-dialog.component.scss │ │ │ │ │ │ └── user-filter-dialog.component.ts │ │ │ │ │ ├── github-badge │ │ │ │ │ │ ├── github-badge.component.html │ │ │ │ │ │ ├── github-badge.component.scss │ │ │ │ │ │ └── github-badge.component.ts │ │ │ │ │ ├── home-components.module.ts │ │ │ │ │ ├── notification │ │ │ │ │ │ ├── notification-bell.component.html │ │ │ │ │ │ ├── notification-bell.component.ts │ │ │ │ │ │ ├── send-notification-button.component.html │ │ │ │ │ │ ├── send-notification-button.component.ts │ │ │ │ │ │ ├── show-notification-popover.component.html │ │ │ │ │ │ ├── show-notification-popover.component.scss │ │ │ │ │ │ └── show-notification-popover.component.ts │ │ │ │ │ ├── profile │ │ │ │ │ │ ├── add-device-profile-dialog.component.html │ │ │ │ │ │ ├── add-device-profile-dialog.component.scss │ │ │ │ │ │ ├── add-device-profile-dialog.component.ts │ │ │ │ │ │ ├── alarm │ │ │ │ │ │ │ ├── alarm-duration-predicate-value.component.html │ │ │ │ │ │ │ ├── alarm-duration-predicate-value.component.ts │ │ │ │ │ │ │ ├── alarm-dynamic-value.component.html │ │ │ │ │ │ │ ├── alarm-dynamic-value.component.ts │ │ │ │ │ │ │ ├── alarm-rule-condition-dialog.component.html │ │ │ │ │ │ │ ├── alarm-rule-condition-dialog.component.scss │ │ │ │ │ │ │ ├── alarm-rule-condition-dialog.component.ts │ │ │ │ │ │ │ ├── alarm-rule-condition.component.html │ │ │ │ │ │ │ ├── alarm-rule-condition.component.scss │ │ │ │ │ │ │ ├── alarm-rule-condition.component.ts │ │ │ │ │ │ │ ├── alarm-rule.component.html │ │ │ │ │ │ │ ├── alarm-rule.component.scss │ │ │ │ │ │ │ ├── alarm-rule.component.ts │ │ │ │ │ │ │ ├── alarm-schedule-dialog.component.html │ │ │ │ │ │ │ ├── alarm-schedule-dialog.component.ts │ │ │ │ │ │ │ ├── alarm-schedule-info.component.html │ │ │ │ │ │ │ ├── alarm-schedule-info.component.scss │ │ │ │ │ │ │ ├── alarm-schedule-info.component.ts │ │ │ │ │ │ │ ├── alarm-schedule.component.html │ │ │ │ │ │ │ ├── alarm-schedule.component.scss │ │ │ │ │ │ │ ├── alarm-schedule.component.ts │ │ │ │ │ │ │ ├── create-alarm-rules.component.html │ │ │ │ │ │ │ ├── create-alarm-rules.component.scss │ │ │ │ │ │ │ ├── create-alarm-rules.component.ts │ │ │ │ │ │ │ ├── device-profile-alarm.component.html │ │ │ │ │ │ │ ├── device-profile-alarm.component.scss │ │ │ │ │ │ │ ├── device-profile-alarm.component.ts │ │ │ │ │ │ │ ├── device-profile-alarms.component.html │ │ │ │ │ │ │ ├── device-profile-alarms.component.scss │ │ │ │ │ │ │ ├── device-profile-alarms.component.ts │ │ │ │ │ │ │ ├── edit-alarm-details-dialog.component.html │ │ │ │ │ │ │ └── edit-alarm-details-dialog.component.ts │ │ │ │ │ │ ├── asset-profile-autocomplete.component.html │ │ │ │ │ │ ├── asset-profile-autocomplete.component.scss │ │ │ │ │ │ ├── asset-profile-autocomplete.component.ts │ │ │ │ │ │ ├── asset-profile-dialog.component.html │ │ │ │ │ │ ├── asset-profile-dialog.component.ts │ │ │ │ │ │ ├── asset-profile.component.html │ │ │ │ │ │ ├── asset-profile.component.ts │ │ │ │ │ │ ├── device-profile-autocomplete.component.html │ │ │ │ │ │ ├── device-profile-autocomplete.component.scss │ │ │ │ │ │ ├── device-profile-autocomplete.component.ts │ │ │ │ │ │ ├── device-profile-dialog.component.html │ │ │ │ │ │ ├── device-profile-dialog.component.ts │ │ │ │ │ │ ├── device-profile-provision-configuration.component.html │ │ │ │ │ │ ├── device-profile-provision-configuration.component.ts │ │ │ │ │ │ ├── device-profile.component.html │ │ │ │ │ │ ├── device-profile.component.ts │ │ │ │ │ │ ├── device │ │ │ │ │ │ │ ├── coap-device-profile-transport-configuration.component.html │ │ │ │ │ │ │ ├── coap-device-profile-transport-configuration.component.scss │ │ │ │ │ │ │ ├── coap-device-profile-transport-configuration.component.ts │ │ │ │ │ │ │ ├── common │ │ │ │ │ │ │ │ ├── device-profile-common.module.ts │ │ │ │ │ │ │ │ ├── power-mode-setting.component.html │ │ │ │ │ │ │ │ ├── power-mode-setting.component.ts │ │ │ │ │ │ │ │ ├── time-unit-select.component.html │ │ │ │ │ │ │ │ └── time-unit-select.component.ts │ │ │ │ │ │ │ ├── default-device-profile-configuration.component.html │ │ │ │ │ │ │ ├── default-device-profile-configuration.component.ts │ │ │ │ │ │ │ ├── default-device-profile-transport-configuration.component.html │ │ │ │ │ │ │ ├── default-device-profile-transport-configuration.component.ts │ │ │ │ │ │ │ ├── device-profile-configuration.component.html │ │ │ │ │ │ │ ├── device-profile-configuration.component.ts │ │ │ │ │ │ │ ├── device-profile-transport-configuration.component.html │ │ │ │ │ │ │ ├── device-profile-transport-configuration.component.ts │ │ │ │ │ │ │ ├── lwm2m │ │ │ │ │ │ │ │ ├── lwm2m-attributes-dialog.component.html │ │ │ │ │ │ │ │ ├── lwm2m-attributes-dialog.component.ts │ │ │ │ │ │ │ │ ├── lwm2m-attributes-key-list.component.html │ │ │ │ │ │ │ │ ├── lwm2m-attributes-key-list.component.scss │ │ │ │ │ │ │ │ ├── lwm2m-attributes-key-list.component.ts │ │ │ │ │ │ │ │ ├── lwm2m-attributes.component.html │ │ │ │ │ │ │ │ ├── lwm2m-attributes.component.ts │ │ │ │ │ │ │ │ ├── lwm2m-bootstrap-add-config-server-dialog.component.html │ │ │ │ │ │ │ │ ├── lwm2m-bootstrap-add-config-server-dialog.component.ts │ │ │ │ │ │ │ │ ├── lwm2m-bootstrap-config-servers.component.html │ │ │ │ │ │ │ │ ├── lwm2m-bootstrap-config-servers.component.ts │ │ │ │ │ │ │ │ ├── lwm2m-device-config-server.component.html │ │ │ │ │ │ │ │ ├── lwm2m-device-config-server.component.ts │ │ │ │ │ │ │ │ ├── lwm2m-device-profile-transport-configuration.component.html │ │ │ │ │ │ │ │ ├── lwm2m-device-profile-transport-configuration.component.scss │ │ │ │ │ │ │ │ ├── lwm2m-device-profile-transport-configuration.component.ts │ │ │ │ │ │ │ │ ├── lwm2m-object-add-instances-dialog.component.html │ │ │ │ │ │ │ │ ├── lwm2m-object-add-instances-dialog.component.ts │ │ │ │ │ │ │ │ ├── lwm2m-object-add-instances-list.component.html │ │ │ │ │ │ │ │ ├── lwm2m-object-add-instances-list.component.ts │ │ │ │ │ │ │ │ ├── lwm2m-object-list.component.html │ │ │ │ │ │ │ │ ├── lwm2m-object-list.component.ts │ │ │ │ │ │ │ │ ├── lwm2m-observe-attr-telemetry-instances.component.html │ │ │ │ │ │ │ │ ├── lwm2m-observe-attr-telemetry-instances.component.scss │ │ │ │ │ │ │ │ ├── lwm2m-observe-attr-telemetry-instances.component.ts │ │ │ │ │ │ │ │ ├── lwm2m-observe-attr-telemetry-resources.component.html │ │ │ │ │ │ │ │ ├── lwm2m-observe-attr-telemetry-resources.component.scss │ │ │ │ │ │ │ │ ├── lwm2m-observe-attr-telemetry-resources.component.ts │ │ │ │ │ │ │ │ ├── lwm2m-observe-attr-telemetry.component.html │ │ │ │ │ │ │ │ ├── lwm2m-observe-attr-telemetry.component.scss │ │ │ │ │ │ │ │ ├── lwm2m-observe-attr-telemetry.component.ts │ │ │ │ │ │ │ │ ├── lwm2m-profile-components.module.ts │ │ │ │ │ │ │ │ └── lwm2m-profile-config.models.ts │ │ │ │ │ │ │ ├── mqtt-device-profile-transport-configuration.component.html │ │ │ │ │ │ │ ├── mqtt-device-profile-transport-configuration.component.scss │ │ │ │ │ │ │ ├── mqtt-device-profile-transport-configuration.component.ts │ │ │ │ │ │ │ └── snmp │ │ │ │ │ │ │ │ ├── snmp-device-profile-communication-config.component.html │ │ │ │ │ │ │ │ ├── snmp-device-profile-communication-config.component.scss │ │ │ │ │ │ │ │ ├── snmp-device-profile-communication-config.component.ts │ │ │ │ │ │ │ │ ├── snmp-device-profile-mapping.component.html │ │ │ │ │ │ │ │ ├── snmp-device-profile-mapping.component.scss │ │ │ │ │ │ │ │ ├── snmp-device-profile-mapping.component.ts │ │ │ │ │ │ │ │ ├── snmp-device-profile-transport-configuration.component.html │ │ │ │ │ │ │ │ ├── snmp-device-profile-transport-configuration.component.ts │ │ │ │ │ │ │ │ └── snmp-device-profile-transport.module.ts │ │ │ │ │ │ ├── queue │ │ │ │ │ │ │ ├── tenant-profile-queues.component.html │ │ │ │ │ │ │ ├── tenant-profile-queues.component.scss │ │ │ │ │ │ │ └── tenant-profile-queues.component.ts │ │ │ │ │ │ ├── tenant-profile-autocomplete.component.html │ │ │ │ │ │ ├── tenant-profile-autocomplete.component.scss │ │ │ │ │ │ ├── tenant-profile-autocomplete.component.ts │ │ │ │ │ │ ├── tenant-profile-data.component.html │ │ │ │ │ │ ├── tenant-profile-data.component.ts │ │ │ │ │ │ ├── tenant-profile-dialog.component.html │ │ │ │ │ │ ├── tenant-profile-dialog.component.scss │ │ │ │ │ │ ├── tenant-profile-dialog.component.ts │ │ │ │ │ │ ├── tenant-profile.component.html │ │ │ │ │ │ ├── tenant-profile.component.scss │ │ │ │ │ │ ├── tenant-profile.component.ts │ │ │ │ │ │ └── tenant │ │ │ │ │ │ │ ├── default-tenant-profile-configuration.component.html │ │ │ │ │ │ │ ├── default-tenant-profile-configuration.component.scss │ │ │ │ │ │ │ ├── default-tenant-profile-configuration.component.ts │ │ │ │ │ │ │ ├── rate-limits │ │ │ │ │ │ │ ├── rate-limits-details-dialog.component.html │ │ │ │ │ │ │ ├── rate-limits-details-dialog.component.ts │ │ │ │ │ │ │ ├── rate-limits-list.component.html │ │ │ │ │ │ │ ├── rate-limits-list.component.scss │ │ │ │ │ │ │ ├── rate-limits-list.component.ts │ │ │ │ │ │ │ ├── rate-limits-text.component.html │ │ │ │ │ │ │ ├── rate-limits-text.component.scss │ │ │ │ │ │ │ ├── rate-limits-text.component.ts │ │ │ │ │ │ │ ├── rate-limits.component.html │ │ │ │ │ │ │ ├── rate-limits.component.scss │ │ │ │ │ │ │ ├── rate-limits.component.ts │ │ │ │ │ │ │ └── rate-limits.models.ts │ │ │ │ │ │ │ ├── tenant-profile-configuration.component.html │ │ │ │ │ │ │ └── tenant-profile-configuration.component.ts │ │ │ │ │ ├── public-api.ts │ │ │ │ │ ├── queue │ │ │ │ │ │ ├── queue-form.component.html │ │ │ │ │ │ ├── queue-form.component.scss │ │ │ │ │ │ └── queue-form.component.ts │ │ │ │ │ ├── relation │ │ │ │ │ │ ├── relation-dialog.component.html │ │ │ │ │ │ ├── relation-dialog.component.scss │ │ │ │ │ │ ├── relation-dialog.component.ts │ │ │ │ │ │ ├── relation-filters.component.html │ │ │ │ │ │ ├── relation-filters.component.scss │ │ │ │ │ │ ├── relation-filters.component.ts │ │ │ │ │ │ ├── relation-table.component.html │ │ │ │ │ │ ├── relation-table.component.scss │ │ │ │ │ │ └── relation-table.component.ts │ │ │ │ │ ├── resources │ │ │ │ │ │ ├── resources-dialog.component.html │ │ │ │ │ │ ├── resources-dialog.component.scss │ │ │ │ │ │ ├── resources-dialog.component.ts │ │ │ │ │ │ ├── resources-library.component.html │ │ │ │ │ │ └── resources-library.component.ts │ │ │ │ │ ├── router-tabs.component.html │ │ │ │ │ ├── router-tabs.component.scss │ │ │ │ │ ├── router-tabs.component.ts │ │ │ │ │ ├── rule-chain │ │ │ │ │ │ ├── rule-chain-autocomplete.component.html │ │ │ │ │ │ └── rule-chain-autocomplete.component.ts │ │ │ │ │ ├── rule-node │ │ │ │ │ │ ├── action │ │ │ │ │ │ │ ├── action-rule-node-config.module.ts │ │ │ │ │ │ │ ├── advanced-processing-setting-row.component.html │ │ │ │ │ │ │ ├── advanced-processing-setting-row.component.ts │ │ │ │ │ │ │ ├── advanced-processing-setting.component.html │ │ │ │ │ │ │ ├── advanced-processing-setting.component.ts │ │ │ │ │ │ │ ├── assign-customer-config.component.html │ │ │ │ │ │ │ ├── assign-customer-config.component.ts │ │ │ │ │ │ │ ├── attributes-config.component.html │ │ │ │ │ │ │ ├── attributes-config.component.ts │ │ │ │ │ │ │ ├── attributes-config.model.ts │ │ │ │ │ │ │ ├── clear-alarm-config.component.html │ │ │ │ │ │ │ ├── clear-alarm-config.component.ts │ │ │ │ │ │ │ ├── create-alarm-config.component.html │ │ │ │ │ │ │ ├── create-alarm-config.component.ts │ │ │ │ │ │ │ ├── create-relation-config.component.html │ │ │ │ │ │ │ ├── create-relation-config.component.ts │ │ │ │ │ │ │ ├── delete-attributes-config.component.html │ │ │ │ │ │ │ ├── delete-attributes-config.component.ts │ │ │ │ │ │ │ ├── delete-relation-config.component.html │ │ │ │ │ │ │ ├── delete-relation-config.component.ts │ │ │ │ │ │ │ ├── device-profile-config.component.html │ │ │ │ │ │ │ ├── device-profile-config.component.ts │ │ │ │ │ │ │ ├── device-state-config.component.html │ │ │ │ │ │ │ ├── device-state-config.component.ts │ │ │ │ │ │ │ ├── generator-config.component.html │ │ │ │ │ │ │ ├── generator-config.component.scss │ │ │ │ │ │ │ ├── generator-config.component.ts │ │ │ │ │ │ │ ├── gps-geo-action-config.component.html │ │ │ │ │ │ │ ├── gps-geo-action-config.component.scss │ │ │ │ │ │ │ ├── gps-geo-action-config.component.ts │ │ │ │ │ │ │ ├── log-config.component.html │ │ │ │ │ │ │ ├── log-config.component.ts │ │ │ │ │ │ │ ├── math-function-config.component.html │ │ │ │ │ │ │ ├── math-function-config.component.scss │ │ │ │ │ │ │ ├── math-function-config.component.ts │ │ │ │ │ │ │ ├── msg-count-config.component.html │ │ │ │ │ │ │ ├── msg-count-config.component.ts │ │ │ │ │ │ │ ├── msg-delay-config.component.html │ │ │ │ │ │ │ ├── msg-delay-config.component.ts │ │ │ │ │ │ │ ├── push-to-cloud-config.component.html │ │ │ │ │ │ │ ├── push-to-cloud-config.component.ts │ │ │ │ │ │ │ ├── push-to-edge-config.component.html │ │ │ │ │ │ │ ├── push-to-edge-config.component.ts │ │ │ │ │ │ │ ├── rpc-reply-config.component.html │ │ │ │ │ │ │ ├── rpc-reply-config.component.ts │ │ │ │ │ │ │ ├── rpc-request-config.component.html │ │ │ │ │ │ │ ├── rpc-request-config.component.ts │ │ │ │ │ │ │ ├── save-to-custom-table-config.component.html │ │ │ │ │ │ │ ├── save-to-custom-table-config.component.ts │ │ │ │ │ │ │ ├── send-rest-api-call-reply-config.component.html │ │ │ │ │ │ │ ├── send-rest-api-call-reply-config.component.ts │ │ │ │ │ │ │ ├── timeseries-config.component.html │ │ │ │ │ │ │ ├── timeseries-config.component.ts │ │ │ │ │ │ │ ├── timeseries-config.models.ts │ │ │ │ │ │ │ ├── unassign-customer-config.component.html │ │ │ │ │ │ │ └── unassign-customer-config.component.ts │ │ │ │ │ │ ├── common │ │ │ │ │ │ │ ├── alarm-status-select.component.html │ │ │ │ │ │ │ ├── alarm-status-select.component.scss │ │ │ │ │ │ │ ├── alarm-status-select.component.ts │ │ │ │ │ │ │ ├── arguments-map-config.component.html │ │ │ │ │ │ │ ├── arguments-map-config.component.scss │ │ │ │ │ │ │ ├── arguments-map-config.component.ts │ │ │ │ │ │ │ ├── common-rule-node-config.module.ts │ │ │ │ │ │ │ ├── credentials-config.component.html │ │ │ │ │ │ │ ├── credentials-config.component.ts │ │ │ │ │ │ │ ├── device-relations-query-config.component.html │ │ │ │ │ │ │ ├── device-relations-query-config.component.scss │ │ │ │ │ │ │ ├── device-relations-query-config.component.ts │ │ │ │ │ │ │ ├── example-hint.component.html │ │ │ │ │ │ │ ├── example-hint.component.ts │ │ │ │ │ │ │ ├── kv-map-config-old.component.html │ │ │ │ │ │ │ ├── kv-map-config-old.component.scss │ │ │ │ │ │ │ ├── kv-map-config-old.component.ts │ │ │ │ │ │ │ ├── kv-map-config.component.html │ │ │ │ │ │ │ ├── kv-map-config.component.scss │ │ │ │ │ │ │ ├── kv-map-config.component.ts │ │ │ │ │ │ │ ├── math-function-autocomplete.component.html │ │ │ │ │ │ │ ├── math-function-autocomplete.component.ts │ │ │ │ │ │ │ ├── message-types-config.component.html │ │ │ │ │ │ │ ├── message-types-config.component.ts │ │ │ │ │ │ │ ├── msg-metadata-chip.component.html │ │ │ │ │ │ │ ├── msg-metadata-chip.component.ts │ │ │ │ │ │ │ ├── output-message-type-autocomplete.component.html │ │ │ │ │ │ │ ├── output-message-type-autocomplete.component.ts │ │ │ │ │ │ │ ├── relations-query-config-old.component.html │ │ │ │ │ │ │ ├── relations-query-config-old.component.ts │ │ │ │ │ │ │ ├── relations-query-config.component.html │ │ │ │ │ │ │ ├── relations-query-config.component.ts │ │ │ │ │ │ │ ├── select-attributes.component.html │ │ │ │ │ │ │ ├── select-attributes.component.ts │ │ │ │ │ │ │ ├── sv-map-config.component.html │ │ │ │ │ │ │ ├── sv-map-config.component.scss │ │ │ │ │ │ │ └── sv-map-config.component.ts │ │ │ │ │ │ ├── empty-config.component.ts │ │ │ │ │ │ ├── enrichment │ │ │ │ │ │ │ ├── calculate-delta-config.component.html │ │ │ │ │ │ │ ├── calculate-delta-config.component.ts │ │ │ │ │ │ │ ├── customer-attributes-config.component.html │ │ │ │ │ │ │ ├── customer-attributes-config.component.scss │ │ │ │ │ │ │ ├── customer-attributes-config.component.ts │ │ │ │ │ │ │ ├── device-attributes-config.component.html │ │ │ │ │ │ │ ├── device-attributes-config.component.ts │ │ │ │ │ │ │ ├── enrichment-rule-node-core.module.ts │ │ │ │ │ │ │ ├── entity-details-config.component.html │ │ │ │ │ │ │ ├── entity-details-config.component.ts │ │ │ │ │ │ │ ├── fetch-device-credentials-config.component.html │ │ │ │ │ │ │ ├── fetch-device-credentials-config.component.ts │ │ │ │ │ │ │ ├── get-telemetry-from-database-config.component.html │ │ │ │ │ │ │ ├── get-telemetry-from-database-config.component.scss │ │ │ │ │ │ │ ├── get-telemetry-from-database-config.component.ts │ │ │ │ │ │ │ ├── originator-attributes-config.component.html │ │ │ │ │ │ │ ├── originator-attributes-config.component.ts │ │ │ │ │ │ │ ├── originator-fields-config.component.html │ │ │ │ │ │ │ ├── originator-fields-config.component.ts │ │ │ │ │ │ │ ├── related-attributes-config.component.html │ │ │ │ │ │ │ ├── related-attributes-config.component.ts │ │ │ │ │ │ │ ├── tenant-attributes-config.component.html │ │ │ │ │ │ │ ├── tenant-attributes-config.component.scss │ │ │ │ │ │ │ └── tenant-attributes-config.component.ts │ │ │ │ │ │ ├── external │ │ │ │ │ │ │ ├── ai-config.component.html │ │ │ │ │ │ │ ├── ai-config.component.ts │ │ │ │ │ │ │ ├── azure-iot-hub-config.component.html │ │ │ │ │ │ │ ├── azure-iot-hub-config.component.ts │ │ │ │ │ │ │ ├── external-rule-node-config.module.ts │ │ │ │ │ │ │ ├── kafka-config.component.html │ │ │ │ │ │ │ ├── kafka-config.component.ts │ │ │ │ │ │ │ ├── lambda-config.component.html │ │ │ │ │ │ │ ├── lambda-config.component.ts │ │ │ │ │ │ │ ├── mqtt-config.component.html │ │ │ │ │ │ │ ├── mqtt-config.component.scss │ │ │ │ │ │ │ ├── mqtt-config.component.ts │ │ │ │ │ │ │ ├── notification-config.component.html │ │ │ │ │ │ │ ├── notification-config.component.ts │ │ │ │ │ │ │ ├── pubsub-config.component.html │ │ │ │ │ │ │ ├── pubsub-config.component.ts │ │ │ │ │ │ │ ├── rabbit-mq-config.component.html │ │ │ │ │ │ │ ├── rabbit-mq-config.component.ts │ │ │ │ │ │ │ ├── rest-api-call-config.component.html │ │ │ │ │ │ │ ├── rest-api-call-config.component.ts │ │ │ │ │ │ │ ├── send-email-config.component.html │ │ │ │ │ │ │ ├── send-email-config.component.ts │ │ │ │ │ │ │ ├── send-sms-config.component.html │ │ │ │ │ │ │ ├── send-sms-config.component.ts │ │ │ │ │ │ │ ├── slack-config.component.html │ │ │ │ │ │ │ ├── slack-config.component.scss │ │ │ │ │ │ │ ├── slack-config.component.ts │ │ │ │ │ │ │ ├── sns-config.component.html │ │ │ │ │ │ │ ├── sns-config.component.ts │ │ │ │ │ │ │ ├── sqs-config.component.html │ │ │ │ │ │ │ └── sqs-config.component.ts │ │ │ │ │ │ ├── filter │ │ │ │ │ │ │ ├── check-alarm-status.component.html │ │ │ │ │ │ │ ├── check-alarm-status.component.ts │ │ │ │ │ │ │ ├── check-message-config.component.html │ │ │ │ │ │ │ ├── check-message-config.component.ts │ │ │ │ │ │ │ ├── check-relation-config.component.html │ │ │ │ │ │ │ ├── check-relation-config.component.scss │ │ │ │ │ │ │ ├── check-relation-config.component.ts │ │ │ │ │ │ │ ├── filter-rule-node-config.module.ts │ │ │ │ │ │ │ ├── gps-geo-filter-config.component.html │ │ │ │ │ │ │ ├── gps-geo-filter-config.component.scss │ │ │ │ │ │ │ ├── gps-geo-filter-config.component.ts │ │ │ │ │ │ │ ├── message-type-config.component.html │ │ │ │ │ │ │ ├── message-type-config.component.ts │ │ │ │ │ │ │ ├── originator-type-config.component.html │ │ │ │ │ │ │ ├── originator-type-config.component.ts │ │ │ │ │ │ │ ├── script-config.component.html │ │ │ │ │ │ │ ├── script-config.component.ts │ │ │ │ │ │ │ ├── switch-config.component.html │ │ │ │ │ │ │ └── switch-config.component.ts │ │ │ │ │ │ ├── flow │ │ │ │ │ │ │ ├── flow-rule-node-config.module.ts │ │ │ │ │ │ │ ├── rule-chain-input.component.html │ │ │ │ │ │ │ ├── rule-chain-input.component.ts │ │ │ │ │ │ │ ├── rule-chain-output.component.html │ │ │ │ │ │ │ └── rule-chain-output.component.ts │ │ │ │ │ │ ├── rule-node-config.models.ts │ │ │ │ │ │ ├── rule-node-config.module.ts │ │ │ │ │ │ └── transformation │ │ │ │ │ │ │ ├── change-originator-config.component.html │ │ │ │ │ │ │ ├── change-originator-config.component.ts │ │ │ │ │ │ │ ├── copy-keys-config.component.html │ │ │ │ │ │ │ ├── copy-keys-config.component.ts │ │ │ │ │ │ │ ├── deduplication-config.component.html │ │ │ │ │ │ │ ├── deduplication-config.component.ts │ │ │ │ │ │ │ ├── delete-keys-config.component.html │ │ │ │ │ │ │ ├── delete-keys-config.component.ts │ │ │ │ │ │ │ ├── node-json-path-config.component.html │ │ │ │ │ │ │ ├── node-json-path-config.component.ts │ │ │ │ │ │ │ ├── rename-keys-config.component.html │ │ │ │ │ │ │ ├── rename-keys-config.component.scss │ │ │ │ │ │ │ ├── rename-keys-config.component.ts │ │ │ │ │ │ │ ├── script-config.component.html │ │ │ │ │ │ │ ├── script-config.component.ts │ │ │ │ │ │ │ ├── to-email-config.component.html │ │ │ │ │ │ │ ├── to-email-config.component.scss │ │ │ │ │ │ │ ├── to-email-config.component.ts │ │ │ │ │ │ │ └── transformation-rule-node-config.module.ts │ │ │ │ │ ├── shared-home-components.module.ts │ │ │ │ │ ├── sms │ │ │ │ │ │ ├── aws-sns-provider-configuration.component.html │ │ │ │ │ │ ├── aws-sns-provider-configuration.component.ts │ │ │ │ │ │ ├── smpp-sms-provider-configuration.component.html │ │ │ │ │ │ ├── smpp-sms-provider-configuration.component.ts │ │ │ │ │ │ ├── sms-provider-configuration.component.html │ │ │ │ │ │ ├── sms-provider-configuration.component.ts │ │ │ │ │ │ ├── twilio-sms-provider-configuration.component.html │ │ │ │ │ │ └── twilio-sms-provider-configuration.component.ts │ │ │ │ │ ├── tokens.ts │ │ │ │ │ ├── vc │ │ │ │ │ │ ├── auto-commit-settings.component.html │ │ │ │ │ │ ├── auto-commit-settings.component.scss │ │ │ │ │ │ ├── auto-commit-settings.component.ts │ │ │ │ │ │ ├── complex-version-create.component.html │ │ │ │ │ │ ├── complex-version-create.component.ts │ │ │ │ │ │ ├── complex-version-load.component.html │ │ │ │ │ │ ├── complex-version-load.component.ts │ │ │ │ │ │ ├── entity-types-version-create.component.html │ │ │ │ │ │ ├── entity-types-version-create.component.ts │ │ │ │ │ │ ├── entity-types-version-load.component.html │ │ │ │ │ │ ├── entity-types-version-load.component.ts │ │ │ │ │ │ ├── entity-types-version.component.scss │ │ │ │ │ │ ├── entity-version-create.component.html │ │ │ │ │ │ ├── entity-version-create.component.ts │ │ │ │ │ │ ├── entity-version-diff.component.html │ │ │ │ │ │ ├── entity-version-diff.component.scss │ │ │ │ │ │ ├── entity-version-diff.component.ts │ │ │ │ │ │ ├── entity-version-restore.component.html │ │ │ │ │ │ ├── entity-version-restore.component.ts │ │ │ │ │ │ ├── entity-versions-table.component.html │ │ │ │ │ │ ├── entity-versions-table.component.scss │ │ │ │ │ │ ├── entity-versions-table.component.ts │ │ │ │ │ │ ├── remove-other-entities-confirm.component.html │ │ │ │ │ │ ├── remove-other-entities-confirm.component.ts │ │ │ │ │ │ ├── repository-settings.component.html │ │ │ │ │ │ ├── repository-settings.component.scss │ │ │ │ │ │ ├── repository-settings.component.ts │ │ │ │ │ │ ├── version-control.component.html │ │ │ │ │ │ ├── version-control.component.scss │ │ │ │ │ │ ├── version-control.component.ts │ │ │ │ │ │ └── version-control.scss │ │ │ │ │ ├── widget │ │ │ │ │ │ ├── action │ │ │ │ │ │ │ ├── manage-widget-actions-dialog.component.html │ │ │ │ │ │ │ ├── manage-widget-actions-dialog.component.ts │ │ │ │ │ │ │ ├── manage-widget-actions.component.html │ │ │ │ │ │ │ ├── manage-widget-actions.component.models.ts │ │ │ │ │ │ │ ├── manage-widget-actions.component.scss │ │ │ │ │ │ │ ├── manage-widget-actions.component.ts │ │ │ │ │ │ │ ├── widget-action-dialog.component.html │ │ │ │ │ │ │ └── widget-action-dialog.component.ts │ │ │ │ │ │ ├── config │ │ │ │ │ │ │ ├── basic │ │ │ │ │ │ │ │ ├── alarm │ │ │ │ │ │ │ │ │ ├── alarm-count-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── alarm-count-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── alarms-table-basic-config.component.html │ │ │ │ │ │ │ │ │ └── alarms-table-basic-config.component.ts │ │ │ │ │ │ │ │ ├── basic-config.scss │ │ │ │ │ │ │ │ ├── basic-widget-config.module.ts │ │ │ │ │ │ │ │ ├── button │ │ │ │ │ │ │ │ │ ├── action-button-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── action-button-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── command-button-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── command-button-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── power-button-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── power-button-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── segmented-button-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── segmented-button-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── toggle-button-basic-config.component.html │ │ │ │ │ │ │ │ │ └── toggle-button-basic-config.component.ts │ │ │ │ │ │ │ │ ├── cards │ │ │ │ │ │ │ │ │ ├── aggregated-data-key-row.component.html │ │ │ │ │ │ │ │ │ ├── aggregated-data-key-row.component.scss │ │ │ │ │ │ │ │ │ ├── aggregated-data-key-row.component.ts │ │ │ │ │ │ │ │ │ ├── aggregated-data-keys-panel.component.html │ │ │ │ │ │ │ │ │ ├── aggregated-data-keys-panel.component.scss │ │ │ │ │ │ │ │ │ ├── aggregated-data-keys-panel.component.ts │ │ │ │ │ │ │ │ │ ├── aggregated-value-card-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── aggregated-value-card-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── label-card-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── label-card-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── label-value-card-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── label-value-card-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── mobile-app-qr-code-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── mobile-app-qr-code-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── progress-bar-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── progress-bar-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── simple-card-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── simple-card-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── timeseries-table-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── timeseries-table-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── unread-notification-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── unread-notification-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── value-card-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── value-card-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── value-chart-card-basic-config.component.html │ │ │ │ │ │ │ │ │ └── value-chart-card-basic-config.component.ts │ │ │ │ │ │ │ │ ├── chart │ │ │ │ │ │ │ │ │ ├── bar-chart-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── bar-chart-with-labels-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── bar-chart-with-labels-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── comparison-key-row.component.html │ │ │ │ │ │ │ │ │ ├── comparison-key-row.component.scss │ │ │ │ │ │ │ │ │ ├── comparison-key-row.component.ts │ │ │ │ │ │ │ │ │ ├── comparison-keys-table.component.html │ │ │ │ │ │ │ │ │ ├── comparison-keys-table.component.scss │ │ │ │ │ │ │ │ │ ├── comparison-keys-table.component.ts │ │ │ │ │ │ │ │ │ ├── doughnut-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── flot-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── flot-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── latest-chart-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── latest-chart-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── pie-chart-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── polar-area-chart-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── radar-chart-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── range-chart-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── range-chart-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── time-series-chart-basic-config.component.html │ │ │ │ │ │ │ │ │ └── time-series-chart-basic-config.component.ts │ │ │ │ │ │ │ │ ├── common │ │ │ │ │ │ │ │ │ ├── data-key-row.component.html │ │ │ │ │ │ │ │ │ ├── data-key-row.component.scss │ │ │ │ │ │ │ │ │ ├── data-key-row.component.ts │ │ │ │ │ │ │ │ │ ├── data-keys-panel.component.html │ │ │ │ │ │ │ │ │ ├── data-keys-panel.component.scss │ │ │ │ │ │ │ │ │ ├── data-keys-panel.component.ts │ │ │ │ │ │ │ │ │ ├── widget-actions-panel.component.html │ │ │ │ │ │ │ │ │ └── widget-actions-panel.component.ts │ │ │ │ │ │ │ │ ├── entity │ │ │ │ │ │ │ │ │ ├── entities-table-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── entities-table-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── entity-count-basic-config.component.html │ │ │ │ │ │ │ │ │ └── entity-count-basic-config.component.ts │ │ │ │ │ │ │ │ ├── gauge │ │ │ │ │ │ │ │ │ ├── analog-gauge-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── analog-gauge-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── compass-gauge-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── compass-gauge-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── digital-simple-gauge-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── digital-simple-gauge-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── radial-gauge-basic-config.component.ts │ │ │ │ │ │ │ │ │ └── thermometer-scale-gauge-basic-config.component.ts │ │ │ │ │ │ │ │ ├── indicator │ │ │ │ │ │ │ │ │ ├── battery-level-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── battery-level-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── liquid-level-card-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── liquid-level-card-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── signal-strength-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── signal-strength-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── status-widget-basic-config.component.html │ │ │ │ │ │ │ │ │ └── status-widget-basic-config.component.ts │ │ │ │ │ │ │ │ ├── map │ │ │ │ │ │ │ │ │ ├── map-basic-config.component.html │ │ │ │ │ │ │ │ │ └── map-basic-config.component.ts │ │ │ │ │ │ │ │ ├── rpc │ │ │ │ │ │ │ │ │ ├── single-switch-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── single-switch-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── slider-basic-config.component.html │ │ │ │ │ │ │ │ │ ├── slider-basic-config.component.ts │ │ │ │ │ │ │ │ │ ├── value-stepper-basic-config.component.html │ │ │ │ │ │ │ │ │ └── value-stepper-basic-config.component.ts │ │ │ │ │ │ │ │ ├── scada │ │ │ │ │ │ │ │ │ ├── scada-symbol-basic-config.component.html │ │ │ │ │ │ │ │ │ └── scada-symbol-basic-config.component.ts │ │ │ │ │ │ │ │ └── weather │ │ │ │ │ │ │ │ │ ├── wind-speed-direction-basic-config.component.html │ │ │ │ │ │ │ │ │ └── wind-speed-direction-basic-config.component.ts │ │ │ │ │ │ │ ├── datasource.component.html │ │ │ │ │ │ │ ├── datasource.component.models.ts │ │ │ │ │ │ │ ├── datasource.component.scss │ │ │ │ │ │ │ ├── datasource.component.ts │ │ │ │ │ │ │ ├── datasources.component.html │ │ │ │ │ │ │ ├── datasources.component.scss │ │ │ │ │ │ │ ├── datasources.component.ts │ │ │ │ │ │ │ ├── target-device.component.html │ │ │ │ │ │ │ ├── target-device.component.ts │ │ │ │ │ │ │ ├── timewindow-config-panel.component.html │ │ │ │ │ │ │ ├── timewindow-config-panel.component.ts │ │ │ │ │ │ │ ├── timewindow-style-panel.component.html │ │ │ │ │ │ │ ├── timewindow-style-panel.component.scss │ │ │ │ │ │ │ ├── timewindow-style-panel.component.ts │ │ │ │ │ │ │ ├── timewindow-style.component.html │ │ │ │ │ │ │ ├── timewindow-style.component.ts │ │ │ │ │ │ │ ├── widget-config-components.module.ts │ │ │ │ │ │ │ └── widget-config.component.models.ts │ │ │ │ │ │ ├── dialog │ │ │ │ │ │ │ ├── custom-dialog-container.component.ts │ │ │ │ │ │ │ ├── custom-dialog.component.ts │ │ │ │ │ │ │ ├── custom-dialog.service.ts │ │ │ │ │ │ │ ├── embed-dashboard-dialog-token.ts │ │ │ │ │ │ │ ├── embed-dashboard-dialog.component.html │ │ │ │ │ │ │ ├── embed-dashboard-dialog.component.scss │ │ │ │ │ │ │ └── embed-dashboard-dialog.component.ts │ │ │ │ │ │ ├── dynamic-widget.component.ts │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ ├── action │ │ │ │ │ │ │ │ ├── action-widget.models.ts │ │ │ │ │ │ │ │ └── action-widget.scss │ │ │ │ │ │ │ ├── alarm │ │ │ │ │ │ │ │ ├── alarms-table-widget.component.html │ │ │ │ │ │ │ │ ├── alarms-table-widget.component.scss │ │ │ │ │ │ │ │ └── alarms-table-widget.component.ts │ │ │ │ │ │ │ ├── analogue-compass.models.ts │ │ │ │ │ │ │ ├── analogue-compass.ts │ │ │ │ │ │ │ ├── analogue-gauge.models.ts │ │ │ │ │ │ │ ├── analogue-linear-gauge.models.ts │ │ │ │ │ │ │ ├── analogue-linear-gauge.ts │ │ │ │ │ │ │ ├── analogue-radial-gauge.models.ts │ │ │ │ │ │ │ ├── analogue-radial-gauge.ts │ │ │ │ │ │ │ ├── button │ │ │ │ │ │ │ │ ├── action-button-widget.component.html │ │ │ │ │ │ │ │ ├── action-button-widget.component.scss │ │ │ │ │ │ │ │ ├── action-button-widget.component.ts │ │ │ │ │ │ │ │ ├── action-button-widget.models.ts │ │ │ │ │ │ │ │ ├── command-button-widget.component.html │ │ │ │ │ │ │ │ ├── command-button-widget.component.scss │ │ │ │ │ │ │ │ ├── command-button-widget.component.ts │ │ │ │ │ │ │ │ ├── command-button-widget.models.ts │ │ │ │ │ │ │ │ ├── segmented-button-widget.models.ts │ │ │ │ │ │ │ │ ├── toggle-button-widget.component.html │ │ │ │ │ │ │ │ ├── toggle-button-widget.component.scss │ │ │ │ │ │ │ │ ├── toggle-button-widget.component.ts │ │ │ │ │ │ │ │ ├── toggle-button-widget.models.ts │ │ │ │ │ │ │ │ ├── two-segment-button-widget.component.html │ │ │ │ │ │ │ │ ├── two-segment-button-widget.component.scss │ │ │ │ │ │ │ │ └── two-segment-button-widget.component.ts │ │ │ │ │ │ │ ├── canvas-digital-gauge.ts │ │ │ │ │ │ │ ├── cards │ │ │ │ │ │ │ │ ├── aggregated-value-card-widget.component.html │ │ │ │ │ │ │ │ ├── aggregated-value-card-widget.component.scss │ │ │ │ │ │ │ │ ├── aggregated-value-card-widget.component.ts │ │ │ │ │ │ │ │ ├── aggregated-value-card.models.ts │ │ │ │ │ │ │ │ ├── api-usage-widget.component.html │ │ │ │ │ │ │ │ ├── api-usage-widget.component.scss │ │ │ │ │ │ │ │ ├── api-usage-widget.component.ts │ │ │ │ │ │ │ │ ├── label-card-widget.component.html │ │ │ │ │ │ │ │ ├── label-card-widget.component.scss │ │ │ │ │ │ │ │ ├── label-card-widget.component.ts │ │ │ │ │ │ │ │ ├── label-card-widget.models.ts │ │ │ │ │ │ │ │ ├── label-value-card-widget.component.html │ │ │ │ │ │ │ │ ├── label-value-card-widget.component.scss │ │ │ │ │ │ │ │ ├── label-value-card-widget.component.ts │ │ │ │ │ │ │ │ ├── label-value-card-widget.models.ts │ │ │ │ │ │ │ │ ├── mobile-app-qr-code-widget.models.ts │ │ │ │ │ │ │ │ ├── notification-type-filter-panel.component.html │ │ │ │ │ │ │ │ ├── notification-type-filter-panel.component.scss │ │ │ │ │ │ │ │ ├── notification-type-filter-panel.component.ts │ │ │ │ │ │ │ │ ├── progress-bar-widget.component.html │ │ │ │ │ │ │ │ ├── progress-bar-widget.component.scss │ │ │ │ │ │ │ │ ├── progress-bar-widget.component.ts │ │ │ │ │ │ │ │ ├── progress-bar-widget.models.ts │ │ │ │ │ │ │ │ ├── unread-notification-widget.component.html │ │ │ │ │ │ │ │ ├── unread-notification-widget.component.scss │ │ │ │ │ │ │ │ ├── unread-notification-widget.component.ts │ │ │ │ │ │ │ │ ├── unread-notification-widget.models.ts │ │ │ │ │ │ │ │ ├── value-card-widget.component.html │ │ │ │ │ │ │ │ ├── value-card-widget.component.scss │ │ │ │ │ │ │ │ ├── value-card-widget.component.ts │ │ │ │ │ │ │ │ ├── value-card-widget.models.ts │ │ │ │ │ │ │ │ ├── value-chart-card-widget.component.html │ │ │ │ │ │ │ │ ├── value-chart-card-widget.component.scss │ │ │ │ │ │ │ │ ├── value-chart-card-widget.component.ts │ │ │ │ │ │ │ │ └── value-chart-card-widget.models.ts │ │ │ │ │ │ │ ├── chart │ │ │ │ │ │ │ │ ├── bar-chart-widget.component.ts │ │ │ │ │ │ │ │ ├── bar-chart-widget.models.ts │ │ │ │ │ │ │ │ ├── bar-chart-with-labels-widget.component.html │ │ │ │ │ │ │ │ ├── bar-chart-with-labels-widget.component.scss │ │ │ │ │ │ │ │ ├── bar-chart-with-labels-widget.component.ts │ │ │ │ │ │ │ │ ├── bar-chart-with-labels-widget.models.ts │ │ │ │ │ │ │ │ ├── bars-chart.models.ts │ │ │ │ │ │ │ │ ├── bars-chart.ts │ │ │ │ │ │ │ │ ├── chart.models.ts │ │ │ │ │ │ │ │ ├── doughnut-widget.component.ts │ │ │ │ │ │ │ │ ├── doughnut-widget.models.ts │ │ │ │ │ │ │ │ ├── echarts-widget.models.ts │ │ │ │ │ │ │ │ ├── latest-chart-widget.component.html │ │ │ │ │ │ │ │ ├── latest-chart.component.html │ │ │ │ │ │ │ │ ├── latest-chart.component.scss │ │ │ │ │ │ │ │ ├── latest-chart.component.ts │ │ │ │ │ │ │ │ ├── latest-chart.models.ts │ │ │ │ │ │ │ │ ├── latest-chart.ts │ │ │ │ │ │ │ │ ├── pie-chart-widget.component.ts │ │ │ │ │ │ │ │ ├── pie-chart-widget.models.ts │ │ │ │ │ │ │ │ ├── pie-chart.models.ts │ │ │ │ │ │ │ │ ├── pie-chart.ts │ │ │ │ │ │ │ │ ├── polar-area-widget.component.ts │ │ │ │ │ │ │ │ ├── polar-area-widget.models.ts │ │ │ │ │ │ │ │ ├── radar-chart-widget.component.ts │ │ │ │ │ │ │ │ ├── radar-chart-widget.models.ts │ │ │ │ │ │ │ │ ├── radar-chart.models.ts │ │ │ │ │ │ │ │ ├── radar-chart.ts │ │ │ │ │ │ │ │ ├── range-chart-widget.component.html │ │ │ │ │ │ │ │ ├── range-chart-widget.component.scss │ │ │ │ │ │ │ │ ├── range-chart-widget.component.ts │ │ │ │ │ │ │ │ ├── range-chart-widget.models.ts │ │ │ │ │ │ │ │ ├── time-series-chart-bar.models.ts │ │ │ │ │ │ │ │ ├── time-series-chart-state.models.ts │ │ │ │ │ │ │ │ ├── time-series-chart-tooltip.models.ts │ │ │ │ │ │ │ │ ├── time-series-chart-widget.component.html │ │ │ │ │ │ │ │ ├── time-series-chart-widget.component.scss │ │ │ │ │ │ │ │ ├── time-series-chart-widget.component.ts │ │ │ │ │ │ │ │ ├── time-series-chart-widget.models.ts │ │ │ │ │ │ │ │ ├── time-series-chart.models.ts │ │ │ │ │ │ │ │ └── time-series-chart.ts │ │ │ │ │ │ │ ├── count │ │ │ │ │ │ │ │ ├── count-widget.component.html │ │ │ │ │ │ │ │ ├── count-widget.component.scss │ │ │ │ │ │ │ │ ├── count-widget.component.ts │ │ │ │ │ │ │ │ └── count-widget.models.ts │ │ │ │ │ │ │ ├── date-range-navigator │ │ │ │ │ │ │ │ ├── date-range-navigator-panel.component.html │ │ │ │ │ │ │ │ ├── date-range-navigator-panel.component.scss │ │ │ │ │ │ │ │ ├── date-range-navigator.component.html │ │ │ │ │ │ │ │ ├── date-range-navigator.component.scss │ │ │ │ │ │ │ │ ├── date-range-navigator.component.ts │ │ │ │ │ │ │ │ └── date-range-navigator.models.ts │ │ │ │ │ │ │ ├── digital-gauge.models.ts │ │ │ │ │ │ │ ├── digital-gauge.ts │ │ │ │ │ │ │ ├── display-columns-panel.component.html │ │ │ │ │ │ │ ├── display-columns-panel.component.scss │ │ │ │ │ │ │ ├── display-columns-panel.component.ts │ │ │ │ │ │ │ ├── edges-overview-widget.component.html │ │ │ │ │ │ │ ├── edges-overview-widget.component.scss │ │ │ │ │ │ │ ├── edges-overview-widget.component.ts │ │ │ │ │ │ │ ├── edges-overview-widget.models.ts │ │ │ │ │ │ │ ├── entity │ │ │ │ │ │ │ │ ├── entities-hierarchy-widget.component.html │ │ │ │ │ │ │ │ ├── entities-hierarchy-widget.component.scss │ │ │ │ │ │ │ │ ├── entities-hierarchy-widget.component.ts │ │ │ │ │ │ │ │ ├── entities-hierarchy-widget.models.ts │ │ │ │ │ │ │ │ ├── entities-table-widget.component.html │ │ │ │ │ │ │ │ ├── entities-table-widget.component.scss │ │ │ │ │ │ │ │ └── entities-table-widget.component.ts │ │ │ │ │ │ │ ├── flot-widget.component.html │ │ │ │ │ │ │ ├── flot-widget.component.ts │ │ │ │ │ │ │ ├── flot-widget.models.ts │ │ │ │ │ │ │ ├── flot-widget.ts │ │ │ │ │ │ │ ├── home-page │ │ │ │ │ │ │ │ ├── add-doc-link-dialog.component.html │ │ │ │ │ │ │ │ ├── add-doc-link-dialog.component.scss │ │ │ │ │ │ │ │ ├── add-doc-link-dialog.component.ts │ │ │ │ │ │ │ │ ├── add-quick-link-dialog.component.html │ │ │ │ │ │ │ │ ├── add-quick-link-dialog.component.scss │ │ │ │ │ │ │ │ ├── add-quick-link-dialog.component.ts │ │ │ │ │ │ │ │ ├── cluster-info-table.component.html │ │ │ │ │ │ │ │ ├── cluster-info-table.component.scss │ │ │ │ │ │ │ │ ├── cluster-info-table.component.ts │ │ │ │ │ │ │ │ ├── configured-features.component.html │ │ │ │ │ │ │ │ ├── configured-features.component.scss │ │ │ │ │ │ │ │ ├── configured-features.component.ts │ │ │ │ │ │ │ │ ├── doc-link.component.html │ │ │ │ │ │ │ │ ├── doc-link.component.ts │ │ │ │ │ │ │ │ ├── doc-links-widget.component.html │ │ │ │ │ │ │ │ ├── doc-links-widget.component.ts │ │ │ │ │ │ │ │ ├── edit-links-dialog.component.html │ │ │ │ │ │ │ │ ├── edit-links-dialog.component.scss │ │ │ │ │ │ │ │ ├── edit-links-dialog.component.ts │ │ │ │ │ │ │ │ ├── getting-started-completed-dialog.component.html │ │ │ │ │ │ │ │ ├── getting-started-completed-dialog.component.scss │ │ │ │ │ │ │ │ ├── getting-started-completed-dialog.component.ts │ │ │ │ │ │ │ │ ├── getting-started-widget.component.html │ │ │ │ │ │ │ │ ├── getting-started-widget.component.scss │ │ │ │ │ │ │ │ ├── getting-started-widget.component.ts │ │ │ │ │ │ │ │ ├── home-page-widget.scss │ │ │ │ │ │ │ │ ├── home-page-widgets.module.ts │ │ │ │ │ │ │ │ ├── home-page.scss │ │ │ │ │ │ │ │ ├── link.component.scss │ │ │ │ │ │ │ │ ├── links-widget.component.scss │ │ │ │ │ │ │ │ ├── quick-link.component.html │ │ │ │ │ │ │ │ ├── quick-link.component.ts │ │ │ │ │ │ │ │ ├── quick-links-widget.component.html │ │ │ │ │ │ │ │ ├── quick-links-widget.component.ts │ │ │ │ │ │ │ │ ├── recent-dashboards-widget.component.html │ │ │ │ │ │ │ │ ├── recent-dashboards-widget.component.scss │ │ │ │ │ │ │ │ ├── recent-dashboards-widget.component.ts │ │ │ │ │ │ │ │ ├── usage-info-widget.component.html │ │ │ │ │ │ │ │ ├── usage-info-widget.component.scss │ │ │ │ │ │ │ │ ├── usage-info-widget.component.ts │ │ │ │ │ │ │ │ ├── version-info.component.html │ │ │ │ │ │ │ │ ├── version-info.component.scss │ │ │ │ │ │ │ │ └── version-info.component.ts │ │ │ │ │ │ │ ├── indicator │ │ │ │ │ │ │ │ ├── battery-level-widget.component.html │ │ │ │ │ │ │ │ ├── battery-level-widget.component.scss │ │ │ │ │ │ │ │ ├── battery-level-widget.component.ts │ │ │ │ │ │ │ │ ├── battery-level-widget.models.ts │ │ │ │ │ │ │ │ ├── liquid-level-widget.component.html │ │ │ │ │ │ │ │ ├── liquid-level-widget.component.scss │ │ │ │ │ │ │ │ ├── liquid-level-widget.component.ts │ │ │ │ │ │ │ │ ├── liquid-level-widget.models.ts │ │ │ │ │ │ │ │ ├── signal-strength-widget.component.html │ │ │ │ │ │ │ │ ├── signal-strength-widget.component.scss │ │ │ │ │ │ │ │ ├── signal-strength-widget.component.ts │ │ │ │ │ │ │ │ ├── signal-strength-widget.models.ts │ │ │ │ │ │ │ │ ├── status-widget.component.html │ │ │ │ │ │ │ │ ├── status-widget.component.scss │ │ │ │ │ │ │ │ ├── status-widget.component.ts │ │ │ │ │ │ │ │ └── status-widget.models.ts │ │ │ │ │ │ │ ├── json-input-widget.component.html │ │ │ │ │ │ │ ├── json-input-widget.component.scss │ │ │ │ │ │ │ ├── json-input-widget.component.ts │ │ │ │ │ │ │ ├── legend.component.html │ │ │ │ │ │ │ ├── legend.component.scss │ │ │ │ │ │ │ ├── legend.component.ts │ │ │ │ │ │ │ ├── maps-legacy │ │ │ │ │ │ │ │ ├── circle.ts │ │ │ │ │ │ │ │ ├── common-maps-utils.ts │ │ │ │ │ │ │ │ ├── dialogs │ │ │ │ │ │ │ │ │ ├── select-entity-dialog.component.html │ │ │ │ │ │ │ │ │ ├── select-entity-dialog.component.scss │ │ │ │ │ │ │ │ │ └── select-entity-dialog.component.ts │ │ │ │ │ │ │ │ ├── leaflet-map.ts │ │ │ │ │ │ │ │ ├── map-models.ts │ │ │ │ │ │ │ │ ├── map-widget.interface.ts │ │ │ │ │ │ │ │ ├── map-widget2.ts │ │ │ │ │ │ │ │ ├── maps-utils.ts │ │ │ │ │ │ │ │ ├── markers.scss │ │ │ │ │ │ │ │ ├── markers.ts │ │ │ │ │ │ │ │ ├── polygon.ts │ │ │ │ │ │ │ │ ├── polyline.ts │ │ │ │ │ │ │ │ └── providers │ │ │ │ │ │ │ │ │ ├── google-map.ts │ │ │ │ │ │ │ │ │ ├── here-map.ts │ │ │ │ │ │ │ │ │ ├── image-map.ts │ │ │ │ │ │ │ │ │ ├── openstreet-map.ts │ │ │ │ │ │ │ │ │ ├── public-api.ts │ │ │ │ │ │ │ │ │ └── tencent-map.ts │ │ │ │ │ │ │ ├── maps │ │ │ │ │ │ │ │ ├── data-layer │ │ │ │ │ │ │ │ │ ├── circles-data-layer.ts │ │ │ │ │ │ │ │ │ ├── data-layer-utils.ts │ │ │ │ │ │ │ │ │ ├── latest-map-data-layer.ts │ │ │ │ │ │ │ │ │ ├── map-data-layer.ts │ │ │ │ │ │ │ │ │ ├── markers-data-layer.ts │ │ │ │ │ │ │ │ │ ├── polygons-data-layer.ts │ │ │ │ │ │ │ │ │ ├── polylines-data-layer.ts │ │ │ │ │ │ │ │ │ ├── shapes-data-layer.ts │ │ │ │ │ │ │ │ │ └── trips-data-layer.ts │ │ │ │ │ │ │ │ ├── geo-map.ts │ │ │ │ │ │ │ │ ├── image-map.ts │ │ │ │ │ │ │ │ ├── leaflet │ │ │ │ │ │ │ │ │ └── leaflet-tb.ts │ │ │ │ │ │ │ │ ├── map-layer.ts │ │ │ │ │ │ │ │ ├── map-widget.component.html │ │ │ │ │ │ │ │ ├── map-widget.component.scss │ │ │ │ │ │ │ │ ├── map-widget.component.ts │ │ │ │ │ │ │ │ ├── map-widget.models.ts │ │ │ │ │ │ │ │ ├── map.scss │ │ │ │ │ │ │ │ ├── map.ts │ │ │ │ │ │ │ │ └── panels │ │ │ │ │ │ │ │ │ ├── map-timeline-panel.component.html │ │ │ │ │ │ │ │ │ ├── map-timeline-panel.component.scss │ │ │ │ │ │ │ │ │ ├── map-timeline-panel.component.ts │ │ │ │ │ │ │ │ │ ├── select-map-entity-panel.component.html │ │ │ │ │ │ │ │ │ ├── select-map-entity-panel.component.scss │ │ │ │ │ │ │ │ │ └── select-map-entity-panel.component.ts │ │ │ │ │ │ │ ├── markdown-widget.component.html │ │ │ │ │ │ │ ├── markdown-widget.component.ts │ │ │ │ │ │ │ ├── mobile-app-qrcode-widget.component.html │ │ │ │ │ │ │ ├── mobile-app-qrcode-widget.component.scss │ │ │ │ │ │ │ ├── mobile-app-qrcode-widget.component.ts │ │ │ │ │ │ │ ├── multiple-input-widget.component.html │ │ │ │ │ │ │ ├── multiple-input-widget.component.scss │ │ │ │ │ │ │ ├── multiple-input-widget.component.ts │ │ │ │ │ │ │ ├── navigation-card-widget.component.html │ │ │ │ │ │ │ ├── navigation-card-widget.component.scss │ │ │ │ │ │ │ ├── navigation-card-widget.component.ts │ │ │ │ │ │ │ ├── navigation-cards-widget.component.html │ │ │ │ │ │ │ ├── navigation-cards-widget.component.scss │ │ │ │ │ │ │ ├── navigation-cards-widget.component.ts │ │ │ │ │ │ │ ├── photo-camera-input.component.html │ │ │ │ │ │ │ ├── photo-camera-input.component.scss │ │ │ │ │ │ │ ├── photo-camera-input.component.ts │ │ │ │ │ │ │ ├── qrcode-widget.component.html │ │ │ │ │ │ │ ├── qrcode-widget.component.ts │ │ │ │ │ │ │ ├── rpc │ │ │ │ │ │ │ │ ├── knob.component.html │ │ │ │ │ │ │ │ ├── knob.component.scss │ │ │ │ │ │ │ │ ├── knob.component.ts │ │ │ │ │ │ │ │ ├── led-indicator.component.html │ │ │ │ │ │ │ │ ├── led-indicator.component.scss │ │ │ │ │ │ │ │ ├── led-indicator.component.ts │ │ │ │ │ │ │ │ ├── persistent-add-dialog.component.html │ │ │ │ │ │ │ │ ├── persistent-add-dialog.component.scss │ │ │ │ │ │ │ │ ├── persistent-add-dialog.component.ts │ │ │ │ │ │ │ │ ├── persistent-details-dialog.component.html │ │ │ │ │ │ │ │ ├── persistent-details-dialog.component.scss │ │ │ │ │ │ │ │ ├── persistent-details-dialog.component.ts │ │ │ │ │ │ │ │ ├── persistent-filter-panel.component.html │ │ │ │ │ │ │ │ ├── persistent-filter-panel.component.scss │ │ │ │ │ │ │ │ ├── persistent-filter-panel.component.ts │ │ │ │ │ │ │ │ ├── persistent-table.component.html │ │ │ │ │ │ │ │ ├── persistent-table.component.scss │ │ │ │ │ │ │ │ ├── persistent-table.component.ts │ │ │ │ │ │ │ │ ├── power-button-widget.component.html │ │ │ │ │ │ │ │ ├── power-button-widget.component.scss │ │ │ │ │ │ │ │ ├── power-button-widget.component.ts │ │ │ │ │ │ │ │ ├── power-button-widget.models.ts │ │ │ │ │ │ │ │ ├── round-switch.component.html │ │ │ │ │ │ │ │ ├── round-switch.component.scss │ │ │ │ │ │ │ │ ├── round-switch.component.ts │ │ │ │ │ │ │ │ ├── rpc-widgets.module.ts │ │ │ │ │ │ │ │ ├── single-switch-widget.component.html │ │ │ │ │ │ │ │ ├── single-switch-widget.component.scss │ │ │ │ │ │ │ │ ├── single-switch-widget.component.ts │ │ │ │ │ │ │ │ ├── single-switch-widget.models.ts │ │ │ │ │ │ │ │ ├── slider-widget.component.html │ │ │ │ │ │ │ │ ├── slider-widget.component.scss │ │ │ │ │ │ │ │ ├── slider-widget.component.ts │ │ │ │ │ │ │ │ ├── slider-widget.models.ts │ │ │ │ │ │ │ │ ├── svg │ │ │ │ │ │ │ │ │ ├── knob.svg │ │ │ │ │ │ │ │ │ ├── thumb-bar-checked.svg │ │ │ │ │ │ │ │ │ ├── thumb-bar.svg │ │ │ │ │ │ │ │ │ ├── thumb-checked.svg │ │ │ │ │ │ │ │ │ └── thumb.svg │ │ │ │ │ │ │ │ ├── switch.component.html │ │ │ │ │ │ │ │ ├── switch.component.scss │ │ │ │ │ │ │ │ ├── switch.component.ts │ │ │ │ │ │ │ │ ├── value-stepper-widget.component.html │ │ │ │ │ │ │ │ ├── value-stepper-widget.component.scss │ │ │ │ │ │ │ │ ├── value-stepper-widget.component.ts │ │ │ │ │ │ │ │ └── value-stepper-widget.models.ts │ │ │ │ │ │ │ ├── scada │ │ │ │ │ │ │ │ ├── scada-symbol-widget.component.html │ │ │ │ │ │ │ │ ├── scada-symbol-widget.component.scss │ │ │ │ │ │ │ │ ├── scada-symbol-widget.component.ts │ │ │ │ │ │ │ │ ├── scada-symbol-widget.models.ts │ │ │ │ │ │ │ │ └── scada-symbol.models.ts │ │ │ │ │ │ │ ├── settings.models.ts │ │ │ │ │ │ │ ├── settings │ │ │ │ │ │ │ │ ├── alarm │ │ │ │ │ │ │ │ │ ├── alarm-count-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── alarm-count-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── alarms-table-key-settings.component.html │ │ │ │ │ │ │ │ │ ├── alarms-table-key-settings.component.ts │ │ │ │ │ │ │ │ │ ├── alarms-table-widget-settings.component.html │ │ │ │ │ │ │ │ │ └── alarms-table-widget-settings.component.ts │ │ │ │ │ │ │ │ ├── button │ │ │ │ │ │ │ │ │ ├── action-button-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── action-button-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── command-button-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── command-button-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── power-button-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── power-button-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── segmented-button-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── segmented-button-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── toggle-button-widget-settings.component.html │ │ │ │ │ │ │ │ │ └── toggle-button-widget-settings.component.ts │ │ │ │ │ │ │ │ ├── cards │ │ │ │ │ │ │ │ │ ├── aggregated-value-card-key-settings.component.html │ │ │ │ │ │ │ │ │ ├── aggregated-value-card-key-settings.component.ts │ │ │ │ │ │ │ │ │ ├── aggregated-value-card-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── aggregated-value-card-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── api-usage-data-key-row.component.html │ │ │ │ │ │ │ │ │ ├── api-usage-data-key-row.component.scss │ │ │ │ │ │ │ │ │ ├── api-usage-data-key-row.component.ts │ │ │ │ │ │ │ │ │ ├── api-usage-settings.component.models.ts │ │ │ │ │ │ │ │ │ ├── api-usage-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── api-usage-widget-settings.component.scss │ │ │ │ │ │ │ │ │ ├── api-usage-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── dashboard-state-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── dashboard-state-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── edge-quick-overview-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── edge-quick-overview-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── html-card-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── html-card-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── label-card-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── label-card-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── label-value-card-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── label-value-card-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── label-widget-label.component.html │ │ │ │ │ │ │ │ │ ├── label-widget-label.component.scss │ │ │ │ │ │ │ │ │ ├── label-widget-label.component.ts │ │ │ │ │ │ │ │ │ ├── label-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── label-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── markdown-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── markdown-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── mobile-app-qr-code-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── mobile-app-qr-code-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── progress-bar-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── progress-bar-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── qrcode-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── qrcode-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── simple-card-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── simple-card-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── timeseries-table-key-settings.component.html │ │ │ │ │ │ │ │ │ ├── timeseries-table-key-settings.component.ts │ │ │ │ │ │ │ │ │ ├── timeseries-table-latest-key-settings.component.html │ │ │ │ │ │ │ │ │ ├── timeseries-table-latest-key-settings.component.ts │ │ │ │ │ │ │ │ │ ├── timeseries-table-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── timeseries-table-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── unread-notification-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── unread-notification-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── value-card-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── value-card-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── value-chart-card-widget-settings.component.html │ │ │ │ │ │ │ │ │ └── value-chart-card-widget-settings.component.ts │ │ │ │ │ │ │ │ ├── chart │ │ │ │ │ │ │ │ │ ├── bar-chart-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── bar-chart-with-labels-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── bar-chart-with-labels-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── chart-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── chart-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── doughnut-chart-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── doughnut-chart-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── doughnut-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── flot-bar-key-settings.component.html │ │ │ │ │ │ │ │ │ ├── flot-bar-key-settings.component.ts │ │ │ │ │ │ │ │ │ ├── flot-bar-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── flot-bar-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── flot-key-settings.component.html │ │ │ │ │ │ │ │ │ ├── flot-key-settings.component.ts │ │ │ │ │ │ │ │ │ ├── flot-latest-key-settings.component.html │ │ │ │ │ │ │ │ │ ├── flot-latest-key-settings.component.ts │ │ │ │ │ │ │ │ │ ├── flot-line-key-settings.component.html │ │ │ │ │ │ │ │ │ ├── flot-line-key-settings.component.ts │ │ │ │ │ │ │ │ │ ├── flot-line-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── flot-line-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── flot-pie-key-settings.component.html │ │ │ │ │ │ │ │ │ ├── flot-pie-key-settings.component.ts │ │ │ │ │ │ │ │ │ ├── flot-pie-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── flot-pie-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── flot-threshold.component.html │ │ │ │ │ │ │ │ │ ├── flot-threshold.component.ts │ │ │ │ │ │ │ │ │ ├── flot-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── flot-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── label-data-key.component.html │ │ │ │ │ │ │ │ │ ├── label-data-key.component.scss │ │ │ │ │ │ │ │ │ ├── label-data-key.component.ts │ │ │ │ │ │ │ │ │ ├── latest-chart-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── latest-chart-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── pie-chart-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── polar-area-chart-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── radar-chart-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── range-chart-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── range-chart-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── time-series-chart-key-settings.component.html │ │ │ │ │ │ │ │ │ ├── time-series-chart-key-settings.component.ts │ │ │ │ │ │ │ │ │ ├── time-series-chart-line-settings.component.html │ │ │ │ │ │ │ │ │ ├── time-series-chart-line-settings.component.ts │ │ │ │ │ │ │ │ │ ├── time-series-chart-widget-settings.component.html │ │ │ │ │ │ │ │ │ └── time-series-chart-widget-settings.component.ts │ │ │ │ │ │ │ │ ├── common │ │ │ │ │ │ │ │ │ ├── action │ │ │ │ │ │ │ │ │ │ ├── action-settings-button.component.html │ │ │ │ │ │ │ │ │ │ ├── action-settings-button.scss │ │ │ │ │ │ │ │ │ │ ├── action-settings-panel.component.scss │ │ │ │ │ │ │ │ │ │ ├── custom-action-pretty-editor.component.html │ │ │ │ │ │ │ │ │ │ ├── custom-action-pretty-editor.component.scss │ │ │ │ │ │ │ │ │ │ ├── custom-action-pretty-editor.component.ts │ │ │ │ │ │ │ │ │ │ ├── custom-action-pretty-resources-tabs.component.html │ │ │ │ │ │ │ │ │ │ ├── custom-action-pretty-resources-tabs.component.scss │ │ │ │ │ │ │ │ │ │ ├── custom-action-pretty-resources-tabs.component.ts │ │ │ │ │ │ │ │ │ │ ├── custom-action.models.ts │ │ │ │ │ │ │ │ │ │ ├── custom-sample-css.raw │ │ │ │ │ │ │ │ │ │ ├── custom-sample-html.raw │ │ │ │ │ │ │ │ │ │ ├── custom-sample-js.raw │ │ │ │ │ │ │ │ │ │ ├── get-value-action-settings-panel.component.html │ │ │ │ │ │ │ │ │ │ ├── get-value-action-settings-panel.component.ts │ │ │ │ │ │ │ │ │ │ ├── get-value-action-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── map-item-tooltips.component.html │ │ │ │ │ │ │ │ │ │ ├── map-item-tooltips.component.ts │ │ │ │ │ │ │ │ │ │ ├── mobile-action-editor.component.html │ │ │ │ │ │ │ │ │ │ ├── mobile-action-editor.component.ts │ │ │ │ │ │ │ │ │ │ ├── mobile-action-editor.models.ts │ │ │ │ │ │ │ │ │ │ ├── place-map-item-sample-html.raw │ │ │ │ │ │ │ │ │ │ ├── place-map-item-sample-js.raw │ │ │ │ │ │ │ │ │ │ ├── set-value-action-settings-panel.component.html │ │ │ │ │ │ │ │ │ │ ├── set-value-action-settings-panel.component.ts │ │ │ │ │ │ │ │ │ │ ├── set-value-action-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── widget-action-settings-panel.component.html │ │ │ │ │ │ │ │ │ │ ├── widget-action-settings-panel.component.ts │ │ │ │ │ │ │ │ │ │ ├── widget-action-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── widget-action.component.html │ │ │ │ │ │ │ │ │ │ └── widget-action.component.ts │ │ │ │ │ │ │ │ │ ├── advanced-range.component.html │ │ │ │ │ │ │ │ │ ├── advanced-range.component.scss │ │ │ │ │ │ │ │ │ ├── advanced-range.component.ts │ │ │ │ │ │ │ │ │ ├── alias │ │ │ │ │ │ │ │ │ │ ├── entity-alias-select.component.html │ │ │ │ │ │ │ │ │ │ ├── entity-alias-select.component.models.ts │ │ │ │ │ │ │ │ │ │ ├── entity-alias-select.component.scss │ │ │ │ │ │ │ │ │ │ └── entity-alias-select.component.ts │ │ │ │ │ │ │ │ │ ├── auto-date-format-settings-panel.component.html │ │ │ │ │ │ │ │ │ ├── auto-date-format-settings-panel.component.scss │ │ │ │ │ │ │ │ │ ├── auto-date-format-settings-panel.component.ts │ │ │ │ │ │ │ │ │ ├── auto-date-format-settings.component.html │ │ │ │ │ │ │ │ │ ├── auto-date-format-settings.component.ts │ │ │ │ │ │ │ │ │ ├── background-settings-panel.component.html │ │ │ │ │ │ │ │ │ ├── background-settings-panel.component.scss │ │ │ │ │ │ │ │ │ ├── background-settings-panel.component.ts │ │ │ │ │ │ │ │ │ ├── background-settings.component.html │ │ │ │ │ │ │ │ │ ├── background-settings.component.scss │ │ │ │ │ │ │ │ │ ├── background-settings.component.ts │ │ │ │ │ │ │ │ │ ├── button │ │ │ │ │ │ │ │ │ │ ├── widget-button-appearance.component.html │ │ │ │ │ │ │ │ │ │ ├── widget-button-appearance.component.ts │ │ │ │ │ │ │ │ │ │ ├── widget-button-custom-style-panel.component.html │ │ │ │ │ │ │ │ │ │ ├── widget-button-custom-style-panel.component.scss │ │ │ │ │ │ │ │ │ │ ├── widget-button-custom-style-panel.component.ts │ │ │ │ │ │ │ │ │ │ ├── widget-button-custom-style.component.html │ │ │ │ │ │ │ │ │ │ ├── widget-button-custom-style.component.scss │ │ │ │ │ │ │ │ │ │ ├── widget-button-custom-style.component.ts │ │ │ │ │ │ │ │ │ │ ├── widget-button-toggle-custom-style-panel.component.html │ │ │ │ │ │ │ │ │ │ ├── widget-button-toggle-custom-style-panel.component.scss │ │ │ │ │ │ │ │ │ │ ├── widget-button-toggle-custom-style-panel.component.ts │ │ │ │ │ │ │ │ │ │ ├── widget-button-toggle-custom-style.component.html │ │ │ │ │ │ │ │ │ │ ├── widget-button-toggle-custom-style.component.scss │ │ │ │ │ │ │ │ │ │ └── widget-button-toggle-custom-style.component.ts │ │ │ │ │ │ │ │ │ ├── chart │ │ │ │ │ │ │ │ │ │ ├── chart-animation-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── chart-animation-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── chart-bar-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── chart-bar-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── chart-fill-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── chart-fill-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-axis-settings-button.component.html │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-axis-settings-button.component.ts │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-axis-settings-panel.component.html │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-axis-settings-panel.component.scss │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-axis-settings-panel.component.ts │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-axis-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-axis-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-grid-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-grid-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-state-row.component.html │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-state-row.component.scss │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-state-row.component.ts │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-states-panel.component.html │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-states-panel.component.scss │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-states-panel.component.ts │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-threshold-row.component.html │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-threshold-row.component.scss │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-threshold-row.component.ts │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-threshold-settings-panel.component.html │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-threshold-settings-panel.component.scss │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-threshold-settings-panel.component.ts │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-threshold-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-threshold-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-thresholds-panel.component.html │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-thresholds-panel.component.scss │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-thresholds-panel.component.ts │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-y-axes-panel.component.html │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-y-axes-panel.component.scss │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-y-axes-panel.component.ts │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-y-axis-row.component.html │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-y-axis-row.component.scss │ │ │ │ │ │ │ │ │ │ ├── time-series-chart-y-axis-row.component.ts │ │ │ │ │ │ │ │ │ │ ├── time-series-no-aggregation-bar-width-settings.component.html │ │ │ │ │ │ │ │ │ │ └── time-series-no-aggregation-bar-width-settings.component.ts │ │ │ │ │ │ │ │ │ ├── color-range-list.component.html │ │ │ │ │ │ │ │ │ ├── color-range-list.component.scss │ │ │ │ │ │ │ │ │ ├── color-range-list.component.ts │ │ │ │ │ │ │ │ │ ├── color-range-panel.component.html │ │ │ │ │ │ │ │ │ ├── color-range-panel.component.ts │ │ │ │ │ │ │ │ │ ├── color-range-settings.component.html │ │ │ │ │ │ │ │ │ ├── color-range-settings.component.ts │ │ │ │ │ │ │ │ │ ├── color-settings-panel.component.html │ │ │ │ │ │ │ │ │ ├── color-settings-panel.component.scss │ │ │ │ │ │ │ │ │ ├── color-settings-panel.component.ts │ │ │ │ │ │ │ │ │ ├── color-settings.component.html │ │ │ │ │ │ │ │ │ ├── color-settings.component.ts │ │ │ │ │ │ │ │ │ ├── count-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── count-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── css-size-input.component.html │ │ │ │ │ │ │ │ │ ├── css-size-input.component.ts │ │ │ │ │ │ │ │ │ ├── css-unit-select.component.html │ │ │ │ │ │ │ │ │ ├── css-unit-select.component.ts │ │ │ │ │ │ │ │ │ ├── date-format-select.component.html │ │ │ │ │ │ │ │ │ ├── date-format-select.component.ts │ │ │ │ │ │ │ │ │ ├── date-format-settings-panel.component.html │ │ │ │ │ │ │ │ │ ├── date-format-settings-panel.component.scss │ │ │ │ │ │ │ │ │ ├── date-format-settings-panel.component.ts │ │ │ │ │ │ │ │ │ ├── dynamic-form │ │ │ │ │ │ │ │ │ │ ├── dynamic-form-array.component.html │ │ │ │ │ │ │ │ │ │ ├── dynamic-form-array.component.scss │ │ │ │ │ │ │ │ │ │ ├── dynamic-form-array.component.ts │ │ │ │ │ │ │ │ │ │ ├── dynamic-form-properties.component.html │ │ │ │ │ │ │ │ │ │ ├── dynamic-form-properties.component.scss │ │ │ │ │ │ │ │ │ │ ├── dynamic-form-properties.component.ts │ │ │ │ │ │ │ │ │ │ ├── dynamic-form-property-panel.component.html │ │ │ │ │ │ │ │ │ │ ├── dynamic-form-property-panel.component.scss │ │ │ │ │ │ │ │ │ │ ├── dynamic-form-property-panel.component.ts │ │ │ │ │ │ │ │ │ │ ├── dynamic-form-property-row.component.html │ │ │ │ │ │ │ │ │ │ ├── dynamic-form-property-row.component.scss │ │ │ │ │ │ │ │ │ │ ├── dynamic-form-property-row.component.ts │ │ │ │ │ │ │ │ │ │ ├── dynamic-form-select-item-row.component.html │ │ │ │ │ │ │ │ │ │ ├── dynamic-form-select-item-row.component.scss │ │ │ │ │ │ │ │ │ │ ├── dynamic-form-select-item-row.component.ts │ │ │ │ │ │ │ │ │ │ ├── dynamic-form-select-items.component.html │ │ │ │ │ │ │ │ │ │ ├── dynamic-form-select-items.component.scss │ │ │ │ │ │ │ │ │ │ ├── dynamic-form-select-items.component.ts │ │ │ │ │ │ │ │ │ │ ├── dynamic-form.component.html │ │ │ │ │ │ │ │ │ │ ├── dynamic-form.component.scss │ │ │ │ │ │ │ │ │ │ └── dynamic-form.component.ts │ │ │ │ │ │ │ │ │ ├── entity-alias-input.component.html │ │ │ │ │ │ │ │ │ ├── entity-alias-input.component.scss │ │ │ │ │ │ │ │ │ ├── entity-alias-input.component.ts │ │ │ │ │ │ │ │ │ ├── filter │ │ │ │ │ │ │ │ │ │ ├── filter-select.component.html │ │ │ │ │ │ │ │ │ │ ├── filter-select.component.models.ts │ │ │ │ │ │ │ │ │ │ └── filter-select.component.ts │ │ │ │ │ │ │ │ │ ├── font-settings-panel.component.html │ │ │ │ │ │ │ │ │ ├── font-settings-panel.component.scss │ │ │ │ │ │ │ │ │ ├── font-settings-panel.component.ts │ │ │ │ │ │ │ │ │ ├── font-settings.component.html │ │ │ │ │ │ │ │ │ ├── font-settings.component.ts │ │ │ │ │ │ │ │ │ ├── gradient.component.html │ │ │ │ │ │ │ │ │ ├── gradient.component.scss │ │ │ │ │ │ │ │ │ ├── gradient.component.ts │ │ │ │ │ │ │ │ │ ├── image-cards-select.component.html │ │ │ │ │ │ │ │ │ ├── image-cards-select.component.scss │ │ │ │ │ │ │ │ │ ├── image-cards-select.component.ts │ │ │ │ │ │ │ │ │ ├── indicator │ │ │ │ │ │ │ │ │ │ ├── status-widget-state-settings.component.html │ │ │ │ │ │ │ │ │ │ └── status-widget-state-settings.component.ts │ │ │ │ │ │ │ │ │ ├── key │ │ │ │ │ │ │ │ │ │ ├── data-key-config-dialog.component.html │ │ │ │ │ │ │ │ │ │ ├── data-key-config-dialog.component.scss │ │ │ │ │ │ │ │ │ │ ├── data-key-config-dialog.component.ts │ │ │ │ │ │ │ │ │ │ ├── data-key-config.component.html │ │ │ │ │ │ │ │ │ │ ├── data-key-config.component.ts │ │ │ │ │ │ │ │ │ │ ├── data-key-input.component.html │ │ │ │ │ │ │ │ │ │ ├── data-key-input.component.scss │ │ │ │ │ │ │ │ │ │ ├── data-key-input.component.ts │ │ │ │ │ │ │ │ │ │ ├── data-keys.component.html │ │ │ │ │ │ │ │ │ │ ├── data-keys.component.models.ts │ │ │ │ │ │ │ │ │ │ ├── data-keys.component.scss │ │ │ │ │ │ │ │ │ │ └── data-keys.component.ts │ │ │ │ │ │ │ │ │ ├── legend-config.component.html │ │ │ │ │ │ │ │ │ ├── legend-config.component.ts │ │ │ │ │ │ │ │ │ ├── map │ │ │ │ │ │ │ │ │ │ ├── additional-map-data-source-row.component.html │ │ │ │ │ │ │ │ │ │ ├── additional-map-data-source-row.component.scss │ │ │ │ │ │ │ │ │ │ ├── additional-map-data-source-row.component.ts │ │ │ │ │ │ │ │ │ │ ├── additional-map-data-sources.component.html │ │ │ │ │ │ │ │ │ │ ├── additional-map-data-sources.component.scss │ │ │ │ │ │ │ │ │ │ ├── additional-map-data-sources.component.ts │ │ │ │ │ │ │ │ │ │ ├── data-layer-color-settings-panel.component.html │ │ │ │ │ │ │ │ │ │ ├── data-layer-color-settings-panel.component.scss │ │ │ │ │ │ │ │ │ │ ├── data-layer-color-settings-panel.component.ts │ │ │ │ │ │ │ │ │ │ ├── data-layer-color-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── data-layer-color-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── data-layer-pattern-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── data-layer-pattern-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── image-map-source-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── image-map-source-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── map-action-button-row.component.html │ │ │ │ │ │ │ │ │ │ ├── map-action-button-row.component.ts │ │ │ │ │ │ │ │ │ │ ├── map-action-buttons-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── map-action-buttons-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── map-data-layer-dialog.component.html │ │ │ │ │ │ │ │ │ │ ├── map-data-layer-dialog.component.scss │ │ │ │ │ │ │ │ │ │ ├── map-data-layer-dialog.component.ts │ │ │ │ │ │ │ │ │ │ ├── map-data-layer-row.component.html │ │ │ │ │ │ │ │ │ │ ├── map-data-layer-row.component.scss │ │ │ │ │ │ │ │ │ │ ├── map-data-layer-row.component.ts │ │ │ │ │ │ │ │ │ │ ├── map-data-layers.component.html │ │ │ │ │ │ │ │ │ │ ├── map-data-layers.component.scss │ │ │ │ │ │ │ │ │ │ ├── map-data-layers.component.ts │ │ │ │ │ │ │ │ │ │ ├── map-data-source-row.component.html │ │ │ │ │ │ │ │ │ │ ├── map-data-source-row.component.scss │ │ │ │ │ │ │ │ │ │ ├── map-data-source-row.component.ts │ │ │ │ │ │ │ │ │ │ ├── map-data-sources.component.html │ │ │ │ │ │ │ │ │ │ ├── map-data-sources.component.scss │ │ │ │ │ │ │ │ │ │ ├── map-data-sources.component.ts │ │ │ │ │ │ │ │ │ │ ├── map-layer-row.component.html │ │ │ │ │ │ │ │ │ │ ├── map-layer-row.component.scss │ │ │ │ │ │ │ │ │ │ ├── map-layer-row.component.ts │ │ │ │ │ │ │ │ │ │ ├── map-layer-settings-panel.component.html │ │ │ │ │ │ │ │ │ │ ├── map-layer-settings-panel.component.scss │ │ │ │ │ │ │ │ │ │ ├── map-layer-settings-panel.component.ts │ │ │ │ │ │ │ │ │ │ ├── map-layers.component.html │ │ │ │ │ │ │ │ │ │ ├── map-layers.component.scss │ │ │ │ │ │ │ │ │ │ ├── map-layers.component.ts │ │ │ │ │ │ │ │ │ │ ├── map-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── map-settings.component.models.ts │ │ │ │ │ │ │ │ │ │ ├── map-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── map-tooltip-tag-actions.component.html │ │ │ │ │ │ │ │ │ │ ├── map-tooltip-tag-actions.component.scss │ │ │ │ │ │ │ │ │ │ ├── map-tooltip-tag-actions.component.ts │ │ │ │ │ │ │ │ │ │ ├── marker-clustering-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── marker-clustering-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── marker-icon-shapes.component.html │ │ │ │ │ │ │ │ │ │ ├── marker-icon-shapes.component.scss │ │ │ │ │ │ │ │ │ │ ├── marker-icon-shapes.component.ts │ │ │ │ │ │ │ │ │ │ ├── marker-image-settings-panel.component.html │ │ │ │ │ │ │ │ │ │ ├── marker-image-settings-panel.component.scss │ │ │ │ │ │ │ │ │ │ ├── marker-image-settings-panel.component.ts │ │ │ │ │ │ │ │ │ │ ├── marker-image-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── marker-image-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── marker-shape-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── marker-shape-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── marker-shapes.component.html │ │ │ │ │ │ │ │ │ │ ├── marker-shapes.component.scss │ │ │ │ │ │ │ │ │ │ ├── marker-shapes.component.ts │ │ │ │ │ │ │ │ │ │ ├── shape-fill-image-settings-panel.component.html │ │ │ │ │ │ │ │ │ │ ├── shape-fill-image-settings-panel.component.scss │ │ │ │ │ │ │ │ │ │ ├── shape-fill-image-settings-panel.component.ts │ │ │ │ │ │ │ │ │ │ ├── shape-fill-image-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── shape-fill-image-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── shape-fill-stripe-settings-panel.component.html │ │ │ │ │ │ │ │ │ │ ├── shape-fill-stripe-settings-panel.component.scss │ │ │ │ │ │ │ │ │ │ ├── shape-fill-stripe-settings-panel.component.ts │ │ │ │ │ │ │ │ │ │ ├── shape-fill-stripe-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── shape-fill-stripe-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── trip-timeline-settings.component.html │ │ │ │ │ │ │ │ │ │ └── trip-timeline-settings.component.ts │ │ │ │ │ │ │ │ │ ├── scada │ │ │ │ │ │ │ │ │ │ ├── scada-symbol-object-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── scada-symbol-object-settings.component.scss │ │ │ │ │ │ │ │ │ │ ├── scada-symbol-object-settings.component.ts │ │ │ │ │ │ │ │ │ │ └── scada-symbol-object-settings.models.ts │ │ │ │ │ │ │ │ │ ├── value-source-data-key.component.html │ │ │ │ │ │ │ │ │ ├── value-source-data-key.component.scss │ │ │ │ │ │ │ │ │ ├── value-source-data-key.component.ts │ │ │ │ │ │ │ │ │ ├── value-source.component.html │ │ │ │ │ │ │ │ │ ├── value-source.component.ts │ │ │ │ │ │ │ │ │ ├── widget-font.component.html │ │ │ │ │ │ │ │ │ ├── widget-font.component.ts │ │ │ │ │ │ │ │ │ ├── widget-settings-common.module.ts │ │ │ │ │ │ │ │ │ └── widget │ │ │ │ │ │ │ │ │ │ ├── widget-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── widget-settings.component.scss │ │ │ │ │ │ │ │ │ │ └── widget-settings.component.ts │ │ │ │ │ │ │ │ ├── control │ │ │ │ │ │ │ │ │ ├── device-key-autocomplete.component.html │ │ │ │ │ │ │ │ │ ├── device-key-autocomplete.component.ts │ │ │ │ │ │ │ │ │ ├── knob-control-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── knob-control-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── led-indicator-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── led-indicator-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── persistent-table-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── persistent-table-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── round-switch-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── round-switch-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── rpc-button-style.component.html │ │ │ │ │ │ │ │ │ ├── rpc-button-style.component.ts │ │ │ │ │ │ │ │ │ ├── rpc-shell-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── rpc-shell-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── rpc-terminal-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── rpc-terminal-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── send-rpc-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── send-rpc-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── single-switch-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── single-switch-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── slide-toggle-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── slide-toggle-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── slider-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── slider-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── switch-control-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── switch-control-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── switch-rpc-settings.component.html │ │ │ │ │ │ │ │ │ ├── switch-rpc-settings.component.ts │ │ │ │ │ │ │ │ │ ├── update-device-attribute-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── update-device-attribute-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── value-stepper-widget-settings.component.html │ │ │ │ │ │ │ │ │ └── value-stepper-widget-settings.component.ts │ │ │ │ │ │ │ │ ├── date │ │ │ │ │ │ │ │ │ ├── date-range-navigator-widget-settings.component.html │ │ │ │ │ │ │ │ │ └── date-range-navigator-widget-settings.component.ts │ │ │ │ │ │ │ │ ├── entity │ │ │ │ │ │ │ │ │ ├── entities-hierarchy-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── entities-hierarchy-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── entities-table-key-settings.component.html │ │ │ │ │ │ │ │ │ ├── entities-table-key-settings.component.ts │ │ │ │ │ │ │ │ │ ├── entities-table-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── entities-table-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── entity-count-widget-settings.component.html │ │ │ │ │ │ │ │ │ └── entity-count-widget-settings.component.ts │ │ │ │ │ │ │ │ ├── gateway │ │ │ │ │ │ │ │ │ ├── gateway-config-single-device-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── gateway-config-single-device-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── gateway-config-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── gateway-config-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── gateway-events-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── gateway-events-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── gateway-logs-settings.component.html │ │ │ │ │ │ │ │ │ ├── gateway-logs-settings.component.ts │ │ │ │ │ │ │ │ │ ├── gateway-service-rpc-settings.component.html │ │ │ │ │ │ │ │ │ └── gateway-service-rpc-settings.component.ts │ │ │ │ │ │ │ │ ├── gauge │ │ │ │ │ │ │ │ │ ├── analogue-compass-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── analogue-compass-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── analogue-gauge-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── analogue-gauge-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── analogue-linear-gauge-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── analogue-radial-gauge-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── digital-gauge-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── digital-gauge-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── tick-value.component.html │ │ │ │ │ │ │ │ │ └── tick-value.component.ts │ │ │ │ │ │ │ │ ├── gpio │ │ │ │ │ │ │ │ │ ├── gpio-control-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── gpio-control-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── gpio-item.component.html │ │ │ │ │ │ │ │ │ ├── gpio-item.component.scss │ │ │ │ │ │ │ │ │ ├── gpio-item.component.ts │ │ │ │ │ │ │ │ │ ├── gpio-panel-widget-settings.component.html │ │ │ │ │ │ │ │ │ └── gpio-panel-widget-settings.component.ts │ │ │ │ │ │ │ │ ├── home-page │ │ │ │ │ │ │ │ │ ├── doc-links-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── doc-links-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── quick-links-widget-settings.component.html │ │ │ │ │ │ │ │ │ └── quick-links-widget-settings.component.ts │ │ │ │ │ │ │ │ ├── indicator │ │ │ │ │ │ │ │ │ ├── battery-level-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── battery-level-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── liquid-level-card-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── liquid-level-card-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── signal-strength-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── signal-strength-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── status-widget-settings.component.html │ │ │ │ │ │ │ │ │ └── status-widget-settings.component.ts │ │ │ │ │ │ │ │ ├── input │ │ │ │ │ │ │ │ │ ├── datakey-select-option.component.html │ │ │ │ │ │ │ │ │ ├── datakey-select-option.component.scss │ │ │ │ │ │ │ │ │ ├── datakey-select-option.component.ts │ │ │ │ │ │ │ │ │ ├── device-claiming-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── device-claiming-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── photo-camera-input-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── photo-camera-input-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── update-attribute-general-settings.component.html │ │ │ │ │ │ │ │ │ ├── update-attribute-general-settings.component.ts │ │ │ │ │ │ │ │ │ ├── update-boolean-attribute-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── update-boolean-attribute-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── update-date-attribute-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── update-date-attribute-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── update-double-attribute-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── update-double-attribute-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── update-image-attribute-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── update-image-attribute-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── update-integer-attribute-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── update-integer-attribute-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── update-json-attribute-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── update-json-attribute-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── update-location-attribute-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── update-location-attribute-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── update-multiple-attributes-key-settings.component.html │ │ │ │ │ │ │ │ │ ├── update-multiple-attributes-key-settings.component.ts │ │ │ │ │ │ │ │ │ ├── update-multiple-attributes-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── update-multiple-attributes-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── update-string-attribute-widget-settings.component.html │ │ │ │ │ │ │ │ │ └── update-string-attribute-widget-settings.component.ts │ │ │ │ │ │ │ │ ├── map │ │ │ │ │ │ │ │ │ ├── legacy │ │ │ │ │ │ │ │ │ │ ├── circle-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── circle-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── common-map-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── common-map-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── datasources-key-autocomplete.component.html │ │ │ │ │ │ │ │ │ │ ├── datasources-key-autocomplete.component.ts │ │ │ │ │ │ │ │ │ │ ├── google-map-provider-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── google-map-provider-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── here-map-provider-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── here-map-provider-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── image-map-provider-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── image-map-provider-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── map-editor-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── map-editor-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── map-provider-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── map-provider-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── map-settings-legacy.component.html │ │ │ │ │ │ │ │ │ │ ├── map-settings-legacy.component.ts │ │ │ │ │ │ │ │ │ │ ├── map-widget-settings-legacy.component.html │ │ │ │ │ │ │ │ │ │ ├── map-widget-settings-legacy.component.ts │ │ │ │ │ │ │ │ │ │ ├── marker-clustering-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── marker-clustering-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── markers-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── markers-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── openstreet-map-provider-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── openstreet-map-provider-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── polygon-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── polygon-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── route-map-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── route-map-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── route-map-widget-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── route-map-widget-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── tencent-map-provider-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── tencent-map-provider-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── trip-animation-common-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── trip-animation-common-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── trip-animation-marker-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── trip-animation-marker-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── trip-animation-path-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── trip-animation-path-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── trip-animation-point-settings.component.html │ │ │ │ │ │ │ │ │ │ ├── trip-animation-point-settings.component.ts │ │ │ │ │ │ │ │ │ │ ├── trip-animation-widget-settings.component.html │ │ │ │ │ │ │ │ │ │ └── trip-animation-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── map-widget-settings.component.html │ │ │ │ │ │ │ │ │ └── map-widget-settings.component.ts │ │ │ │ │ │ │ │ ├── navigation │ │ │ │ │ │ │ │ │ ├── navigation-card-widget-settings.component.html │ │ │ │ │ │ │ │ │ ├── navigation-card-widget-settings.component.ts │ │ │ │ │ │ │ │ │ ├── navigation-cards-widget-settings.component.html │ │ │ │ │ │ │ │ │ └── navigation-cards-widget-settings.component.ts │ │ │ │ │ │ │ │ ├── scada │ │ │ │ │ │ │ │ │ ├── scada-symbol-widget-settings.component.html │ │ │ │ │ │ │ │ │ └── scada-symbol-widget-settings.component.ts │ │ │ │ │ │ │ │ ├── weather │ │ │ │ │ │ │ │ │ ├── wind-speed-direction-widget-settings.component.html │ │ │ │ │ │ │ │ │ └── wind-speed-direction-widget-settings.component.ts │ │ │ │ │ │ │ │ ├── widget-settings.module.ts │ │ │ │ │ │ │ │ └── widget-settings.scss │ │ │ │ │ │ │ ├── table-widget.models.ts │ │ │ │ │ │ │ ├── table-widget.scss │ │ │ │ │ │ │ ├── timeseries-table-widget.component.html │ │ │ │ │ │ │ ├── timeseries-table-widget.component.scss │ │ │ │ │ │ │ ├── timeseries-table-widget.component.ts │ │ │ │ │ │ │ ├── trip-animation │ │ │ │ │ │ │ │ ├── trip-animation.component.html │ │ │ │ │ │ │ │ ├── trip-animation.component.scss │ │ │ │ │ │ │ │ └── trip-animation.component.ts │ │ │ │ │ │ │ └── weather │ │ │ │ │ │ │ │ ├── wind-speed-direction-widget.component.html │ │ │ │ │ │ │ │ ├── wind-speed-direction-widget.component.scss │ │ │ │ │ │ │ │ ├── wind-speed-direction-widget.component.ts │ │ │ │ │ │ │ │ └── wind-speed-direction-widget.models.ts │ │ │ │ │ │ ├── widget-component.service.ts │ │ │ │ │ │ ├── widget-components.module.ts │ │ │ │ │ │ ├── widget-config.component.html │ │ │ │ │ │ ├── widget-config.component.scss │ │ │ │ │ │ ├── widget-config.component.ts │ │ │ │ │ │ ├── widget-container.component.html │ │ │ │ │ │ ├── widget-container.component.scss │ │ │ │ │ │ ├── widget-container.component.ts │ │ │ │ │ │ ├── widget-preview.component.html │ │ │ │ │ │ ├── widget-preview.component.scss │ │ │ │ │ │ ├── widget-preview.component.ts │ │ │ │ │ │ ├── widget.component.html │ │ │ │ │ │ ├── widget.component.scss │ │ │ │ │ │ └── widget.component.ts │ │ │ │ │ └── wizard │ │ │ │ │ │ ├── device-wizard-dialog.component.html │ │ │ │ │ │ ├── device-wizard-dialog.component.scss │ │ │ │ │ │ └── device-wizard-dialog.component.ts │ │ │ │ ├── dialogs │ │ │ │ │ ├── add-entities-to-customer-dialog.component.html │ │ │ │ │ ├── add-entities-to-customer-dialog.component.ts │ │ │ │ │ ├── add-entities-to-edge-dialog.component.html │ │ │ │ │ ├── add-entities-to-edge-dialog.component.ts │ │ │ │ │ ├── assign-to-customer-dialog.component.html │ │ │ │ │ ├── assign-to-customer-dialog.component.ts │ │ │ │ │ ├── home-dialogs.module.ts │ │ │ │ │ └── home-dialogs.service.ts │ │ │ │ ├── home-routing.module.ts │ │ │ │ ├── home.component.html │ │ │ │ ├── home.component.scss │ │ │ │ ├── home.component.ts │ │ │ │ ├── home.module.ts │ │ │ │ ├── menu │ │ │ │ │ ├── menu-link.component.html │ │ │ │ │ ├── menu-link.component.scss │ │ │ │ │ ├── menu-link.component.ts │ │ │ │ │ ├── menu-toggle.component.html │ │ │ │ │ ├── menu-toggle.component.scss │ │ │ │ │ ├── menu-toggle.component.ts │ │ │ │ │ ├── side-menu.component.html │ │ │ │ │ ├── side-menu.component.scss │ │ │ │ │ └── side-menu.component.ts │ │ │ │ ├── models │ │ │ │ │ ├── dashboard-component.models.ts │ │ │ │ │ ├── datasource │ │ │ │ │ │ ├── attribute-datasource.ts │ │ │ │ │ │ ├── entity-datasource.ts │ │ │ │ │ │ └── relation-datasource.ts │ │ │ │ │ ├── entity │ │ │ │ │ │ ├── entities-table-config.models.ts │ │ │ │ │ │ ├── entity-component.models.ts │ │ │ │ │ │ ├── entity-details-page-component.models.ts │ │ │ │ │ │ └── entity-table-component.models.ts │ │ │ │ │ ├── searchable-component.models.ts │ │ │ │ │ ├── services.map.ts │ │ │ │ │ └── widget-component.models.ts │ │ │ │ ├── pages │ │ │ │ │ ├── account │ │ │ │ │ │ ├── account-routing.module.ts │ │ │ │ │ │ └── account.module.ts │ │ │ │ │ ├── admin │ │ │ │ │ │ ├── admin-routing.module.ts │ │ │ │ │ │ ├── admin.module.ts │ │ │ │ │ │ ├── auto-commit-admin-settings.component.html │ │ │ │ │ │ ├── auto-commit-admin-settings.component.ts │ │ │ │ │ │ ├── general-settings.component.html │ │ │ │ │ │ ├── general-settings.component.scss │ │ │ │ │ │ ├── general-settings.component.ts │ │ │ │ │ │ ├── home-settings.component.html │ │ │ │ │ │ ├── home-settings.component.scss │ │ │ │ │ │ ├── home-settings.component.ts │ │ │ │ │ │ ├── mail-server.component.html │ │ │ │ │ │ ├── mail-server.component.scss │ │ │ │ │ │ ├── mail-server.component.ts │ │ │ │ │ │ ├── oauth2 │ │ │ │ │ │ │ ├── clients │ │ │ │ │ │ │ │ ├── client-dialog.component.html │ │ │ │ │ │ │ │ ├── client-dialog.component.ts │ │ │ │ │ │ │ │ ├── client-table-header.component.html │ │ │ │ │ │ │ │ ├── client-table-header.component.ts │ │ │ │ │ │ │ │ ├── client.component.html │ │ │ │ │ │ │ │ ├── client.component.scss │ │ │ │ │ │ │ │ ├── client.component.ts │ │ │ │ │ │ │ │ └── clients-table-config.resolver.ts │ │ │ │ │ │ │ ├── domains │ │ │ │ │ │ │ │ ├── domain-table-config.resolver.ts │ │ │ │ │ │ │ │ ├── domain-table-header.component.html │ │ │ │ │ │ │ │ ├── domain-table-header.component.ts │ │ │ │ │ │ │ │ ├── domain.component.html │ │ │ │ │ │ │ │ └── domain.component.ts │ │ │ │ │ │ │ ├── oauth2-routing.module.ts │ │ │ │ │ │ │ └── oauth2.module.ts │ │ │ │ │ │ ├── queue │ │ │ │ │ │ │ ├── queue.component.html │ │ │ │ │ │ │ ├── queue.component.ts │ │ │ │ │ │ │ └── queues-table-config.resolver.ts │ │ │ │ │ │ ├── repository-admin-settings.component.html │ │ │ │ │ │ ├── repository-admin-settings.component.ts │ │ │ │ │ │ ├── resource │ │ │ │ │ │ │ ├── js-library-table-config.resolver.ts │ │ │ │ │ │ │ ├── js-library-table-header.component.html │ │ │ │ │ │ │ ├── js-library-table-header.component.ts │ │ │ │ │ │ │ ├── js-resource.component.html │ │ │ │ │ │ │ ├── js-resource.component.ts │ │ │ │ │ │ │ ├── resource-library-tabs.component.html │ │ │ │ │ │ │ ├── resource-library-tabs.component.ts │ │ │ │ │ │ │ ├── resource-tabs.component.html │ │ │ │ │ │ │ ├── resource-tabs.component.ts │ │ │ │ │ │ │ ├── resources-datasource.ts │ │ │ │ │ │ │ ├── resources-library-table-config.resolve.ts │ │ │ │ │ │ │ ├── resources-table-header.component.html │ │ │ │ │ │ │ └── resources-table-header.component.ts │ │ │ │ │ │ ├── security-settings.component.html │ │ │ │ │ │ ├── security-settings.component.scss │ │ │ │ │ │ ├── security-settings.component.ts │ │ │ │ │ │ ├── send-test-sms-dialog.component.html │ │ │ │ │ │ ├── send-test-sms-dialog.component.ts │ │ │ │ │ │ ├── settings-card.scss │ │ │ │ │ │ ├── sms-provider.component.html │ │ │ │ │ │ ├── sms-provider.component.scss │ │ │ │ │ │ ├── sms-provider.component.ts │ │ │ │ │ │ ├── trendz-settings.component.html │ │ │ │ │ │ ├── trendz-settings.component.scss │ │ │ │ │ │ ├── trendz-settings.component.ts │ │ │ │ │ │ ├── two-factor-auth-settings.component.html │ │ │ │ │ │ ├── two-factor-auth-settings.component.scss │ │ │ │ │ │ └── two-factor-auth-settings.component.ts │ │ │ │ │ ├── ai-model │ │ │ │ │ │ ├── ai-model-routing.module.ts │ │ │ │ │ │ ├── ai-model-table-config.resolve.ts │ │ │ │ │ │ ├── ai-model-table-header.component.html │ │ │ │ │ │ ├── ai-model-table-header.component.ts │ │ │ │ │ │ └── ai-model.module.ts │ │ │ │ │ ├── alarm │ │ │ │ │ │ ├── alarm-routing.module.ts │ │ │ │ │ │ └── alarm.module.ts │ │ │ │ │ ├── api-usage │ │ │ │ │ │ ├── api-usage-routing.module.ts │ │ │ │ │ │ └── api-usage.module.ts │ │ │ │ │ ├── asset-profile │ │ │ │ │ │ ├── asset-profile-routing.module.ts │ │ │ │ │ │ ├── asset-profile-tabs.component.html │ │ │ │ │ │ ├── asset-profile-tabs.component.ts │ │ │ │ │ │ ├── asset-profile.module.ts │ │ │ │ │ │ └── asset-profiles-table-config.resolver.ts │ │ │ │ │ ├── asset │ │ │ │ │ │ ├── asset-routing.module.ts │ │ │ │ │ │ ├── asset-table-header.component.html │ │ │ │ │ │ ├── asset-table-header.component.ts │ │ │ │ │ │ ├── asset-tabs.component.html │ │ │ │ │ │ ├── asset-tabs.component.ts │ │ │ │ │ │ ├── asset.component.html │ │ │ │ │ │ ├── asset.component.scss │ │ │ │ │ │ ├── asset.component.ts │ │ │ │ │ │ ├── asset.module.ts │ │ │ │ │ │ └── assets-table-config.resolver.ts │ │ │ │ │ ├── audit-log │ │ │ │ │ │ ├── audit-log-routing.module.ts │ │ │ │ │ │ └── audit-log.module.ts │ │ │ │ │ ├── cloud-event │ │ │ │ │ │ └── cloud-event.module.ts │ │ │ │ │ ├── customer │ │ │ │ │ │ ├── customer-routing.module.ts │ │ │ │ │ │ ├── customer-tabs.component.html │ │ │ │ │ │ ├── customer-tabs.component.ts │ │ │ │ │ │ ├── customer.component.html │ │ │ │ │ │ ├── customer.component.scss │ │ │ │ │ │ ├── customer.component.ts │ │ │ │ │ │ ├── customer.module.ts │ │ │ │ │ │ └── customers-table-config.resolver.ts │ │ │ │ │ ├── dashboard │ │ │ │ │ │ ├── dashboard-form.component.html │ │ │ │ │ │ ├── dashboard-form.component.scss │ │ │ │ │ │ ├── dashboard-form.component.ts │ │ │ │ │ │ ├── dashboard-routing.module.ts │ │ │ │ │ │ ├── dashboard-tabs.component.html │ │ │ │ │ │ ├── dashboard-tabs.component.ts │ │ │ │ │ │ ├── dashboard.module.ts │ │ │ │ │ │ ├── dashboards-table-config.resolver.ts │ │ │ │ │ │ ├── import-dashboard-file-dialog.component.html │ │ │ │ │ │ ├── import-dashboard-file-dialog.component.ts │ │ │ │ │ │ ├── make-dashboard-public-dialog.component.html │ │ │ │ │ │ ├── make-dashboard-public-dialog.component.ts │ │ │ │ │ │ ├── manage-dashboard-customers-dialog.component.html │ │ │ │ │ │ └── manage-dashboard-customers-dialog.component.ts │ │ │ │ │ ├── device-profile │ │ │ │ │ │ ├── device-profile-routing.module.ts │ │ │ │ │ │ ├── device-profile-tabs.component.html │ │ │ │ │ │ ├── device-profile-tabs.component.ts │ │ │ │ │ │ ├── device-profile.module.ts │ │ │ │ │ │ └── device-profiles-table-config.resolver.ts │ │ │ │ │ ├── device │ │ │ │ │ │ ├── data │ │ │ │ │ │ │ ├── coap-device-transport-configuration.component.html │ │ │ │ │ │ │ ├── coap-device-transport-configuration.component.ts │ │ │ │ │ │ │ ├── default-device-configuration.component.html │ │ │ │ │ │ │ ├── default-device-configuration.component.ts │ │ │ │ │ │ │ ├── default-device-transport-configuration.component.html │ │ │ │ │ │ │ ├── default-device-transport-configuration.component.ts │ │ │ │ │ │ │ ├── device-configuration.component.html │ │ │ │ │ │ │ ├── device-configuration.component.ts │ │ │ │ │ │ │ ├── device-data.component.html │ │ │ │ │ │ │ ├── device-data.component.ts │ │ │ │ │ │ │ ├── device-transport-configuration.component.html │ │ │ │ │ │ │ ├── device-transport-configuration.component.ts │ │ │ │ │ │ │ ├── lwm2m-device-transport-configuration.component.html │ │ │ │ │ │ │ ├── lwm2m-device-transport-configuration.component.ts │ │ │ │ │ │ │ ├── mqtt-device-transport-configuration.component.html │ │ │ │ │ │ │ ├── mqtt-device-transport-configuration.component.ts │ │ │ │ │ │ │ ├── snmp-device-transport-configuration.component.html │ │ │ │ │ │ │ └── snmp-device-transport-configuration.component.ts │ │ │ │ │ │ ├── device-check-connectivity-dialog.component.html │ │ │ │ │ │ ├── device-check-connectivity-dialog.component.scss │ │ │ │ │ │ ├── device-check-connectivity-dialog.component.ts │ │ │ │ │ │ ├── device-credentials-dialog.component.html │ │ │ │ │ │ ├── device-credentials-dialog.component.scss │ │ │ │ │ │ ├── device-credentials-dialog.component.ts │ │ │ │ │ │ ├── device-routing.module.ts │ │ │ │ │ │ ├── device-table-header.component.html │ │ │ │ │ │ ├── device-table-header.component.ts │ │ │ │ │ │ ├── device-tabs.component.html │ │ │ │ │ │ ├── device-tabs.component.ts │ │ │ │ │ │ ├── device.component.html │ │ │ │ │ │ ├── device.component.scss │ │ │ │ │ │ ├── device.component.ts │ │ │ │ │ │ ├── device.module.ts │ │ │ │ │ │ └── devices-table-config.resolver.ts │ │ │ │ │ ├── edge-status │ │ │ │ │ │ ├── edge-status-routing.module.ts │ │ │ │ │ │ ├── edge-status.component.html │ │ │ │ │ │ ├── edge-status.component.scss │ │ │ │ │ │ ├── edge-status.component.ts │ │ │ │ │ │ └── edge-status.module.ts │ │ │ │ │ ├── edge │ │ │ │ │ │ ├── edge-instructions-dialog.component.html │ │ │ │ │ │ ├── edge-instructions-dialog.component.scss │ │ │ │ │ │ ├── edge-instructions-dialog.component.ts │ │ │ │ │ │ ├── edge-routing.module.ts │ │ │ │ │ │ ├── edge-table-header.component.html │ │ │ │ │ │ ├── edge-table-header.component.ts │ │ │ │ │ │ ├── edge-tabs.component.html │ │ │ │ │ │ ├── edge-tabs.component.ts │ │ │ │ │ │ ├── edge.component.html │ │ │ │ │ │ ├── edge.component.scss │ │ │ │ │ │ ├── edge.component.ts │ │ │ │ │ │ ├── edge.module.ts │ │ │ │ │ │ └── edges-table-config.resolver.ts │ │ │ │ │ ├── entities │ │ │ │ │ │ ├── entities-routing.module.ts │ │ │ │ │ │ └── entities.module.ts │ │ │ │ │ ├── entity-view │ │ │ │ │ │ ├── entity-view-routing.module.ts │ │ │ │ │ │ ├── entity-view-table-header.component.html │ │ │ │ │ │ ├── entity-view-table-header.component.ts │ │ │ │ │ │ ├── entity-view-tabs.component.html │ │ │ │ │ │ ├── entity-view-tabs.component.ts │ │ │ │ │ │ ├── entity-view.component.html │ │ │ │ │ │ ├── entity-view.component.scss │ │ │ │ │ │ ├── entity-view.component.ts │ │ │ │ │ │ ├── entity-view.module.ts │ │ │ │ │ │ └── entity-views-table-config.resolver.ts │ │ │ │ │ ├── features │ │ │ │ │ │ ├── features-routing.module.ts │ │ │ │ │ │ └── features.module.ts │ │ │ │ │ ├── gateways │ │ │ │ │ │ ├── gateways-routing.module.ts │ │ │ │ │ │ └── gateways.module.ts │ │ │ │ │ ├── home-links │ │ │ │ │ │ ├── home-links-routing.module.ts │ │ │ │ │ │ ├── home-links.component.html │ │ │ │ │ │ ├── home-links.component.scss │ │ │ │ │ │ ├── home-links.component.ts │ │ │ │ │ │ └── home-links.module.ts │ │ │ │ │ ├── home-pages.models.ts │ │ │ │ │ ├── home-pages.module.ts │ │ │ │ │ ├── mobile │ │ │ │ │ │ ├── applications │ │ │ │ │ │ │ ├── applications-routing.module.ts │ │ │ │ │ │ │ ├── applications.module.ts │ │ │ │ │ │ │ ├── mobile-app-dialog.component.html │ │ │ │ │ │ │ ├── mobile-app-dialog.component.ts │ │ │ │ │ │ │ ├── mobile-app-table-config.resolver.ts │ │ │ │ │ │ │ ├── mobile-app-table-header.component.html │ │ │ │ │ │ │ ├── mobile-app-table-header.component.scss │ │ │ │ │ │ │ ├── mobile-app-table-header.component.ts │ │ │ │ │ │ │ ├── mobile-app.component.html │ │ │ │ │ │ │ ├── mobile-app.component.scss │ │ │ │ │ │ │ ├── mobile-app.component.ts │ │ │ │ │ │ │ ├── remove-app-dialog.component.html │ │ │ │ │ │ │ ├── remove-app-dialog.component.scss │ │ │ │ │ │ │ └── remove-app-dialog.component.ts │ │ │ │ │ │ ├── bundes │ │ │ │ │ │ │ ├── bundles-routing.module.ts │ │ │ │ │ │ │ ├── bundles.module.ts │ │ │ │ │ │ │ ├── layout │ │ │ │ │ │ │ │ ├── add-mobile-page-dialog.component.html │ │ │ │ │ │ │ │ ├── add-mobile-page-dialog.component.scss │ │ │ │ │ │ │ │ ├── add-mobile-page-dialog.component.ts │ │ │ │ │ │ │ │ ├── custom-mobile-page-panel.component.html │ │ │ │ │ │ │ │ ├── custom-mobile-page-panel.component.scss │ │ │ │ │ │ │ │ ├── custom-mobile-page-panel.component.ts │ │ │ │ │ │ │ │ ├── custom-mobile-page.component.html │ │ │ │ │ │ │ │ ├── custom-mobile-page.component.scss │ │ │ │ │ │ │ │ ├── custom-mobile-page.component.ts │ │ │ │ │ │ │ │ ├── default-mobile-page-panel.component.html │ │ │ │ │ │ │ │ ├── default-mobile-page-panel.component.scss │ │ │ │ │ │ │ │ ├── default-mobile-page-panel.component.ts │ │ │ │ │ │ │ │ ├── mobile-layout.component.html │ │ │ │ │ │ │ │ ├── mobile-layout.component.scss │ │ │ │ │ │ │ │ ├── mobile-layout.component.ts │ │ │ │ │ │ │ │ ├── mobile-page-item-row.component.html │ │ │ │ │ │ │ │ ├── mobile-page-item-row.component.scss │ │ │ │ │ │ │ │ └── mobile-page-item-row.component.ts │ │ │ │ │ │ │ ├── mobile-app-configuration-dialog.component.html │ │ │ │ │ │ │ ├── mobile-app-configuration-dialog.component.scss │ │ │ │ │ │ │ ├── mobile-app-configuration-dialog.component.ts │ │ │ │ │ │ │ ├── mobile-bundle-dialog.component.html │ │ │ │ │ │ │ ├── mobile-bundle-dialog.component.scss │ │ │ │ │ │ │ ├── mobile-bundle-dialog.component.ts │ │ │ │ │ │ │ ├── mobile-bundle-table-config.resolve.ts │ │ │ │ │ │ │ ├── mobile-bundle-table-header.component.html │ │ │ │ │ │ │ ├── mobile-bundle-table-header.component.scss │ │ │ │ │ │ │ └── mobile-bundle-table-header.component.ts │ │ │ │ │ │ ├── common │ │ │ │ │ │ │ ├── common-mobile.module.ts │ │ │ │ │ │ │ ├── editor-panel.component.html │ │ │ │ │ │ │ ├── editor-panel.component.scss │ │ │ │ │ │ │ └── editor-panel.component.ts │ │ │ │ │ │ ├── mobile-routing.module.ts │ │ │ │ │ │ ├── mobile.module.ts │ │ │ │ │ │ └── qr-code-widget │ │ │ │ │ │ │ ├── mobile-qr-code-widget-settings-routing.module.ts │ │ │ │ │ │ │ ├── mobile-qr-code-widget-settings.component.html │ │ │ │ │ │ │ ├── mobile-qr-code-widget-settings.component.scss │ │ │ │ │ │ │ ├── mobile-qr-code-widget-settings.component.ts │ │ │ │ │ │ │ └── mobile-qr-code-widget-settings.module.ts │ │ │ │ │ ├── notification │ │ │ │ │ │ ├── inbox │ │ │ │ │ │ │ ├── inbox-notification-dialog.component.html │ │ │ │ │ │ │ ├── inbox-notification-dialog.component.scss │ │ │ │ │ │ │ ├── inbox-notification-dialog.component.ts │ │ │ │ │ │ │ ├── inbox-table-config.resolver.ts │ │ │ │ │ │ │ ├── inbox-table-header.component.html │ │ │ │ │ │ │ └── inbox-table-header.component.ts │ │ │ │ │ │ ├── notification-routing.module.ts │ │ │ │ │ │ ├── notification.module.ts │ │ │ │ │ │ ├── recipient │ │ │ │ │ │ │ ├── recipient-notification-dialog.component.html │ │ │ │ │ │ │ ├── recipient-notification-dialog.component.scss │ │ │ │ │ │ │ ├── recipient-notification-dialog.component.ts │ │ │ │ │ │ │ └── recipient-table-config.resolver.ts │ │ │ │ │ │ ├── rule │ │ │ │ │ │ │ ├── escalation-form.component.html │ │ │ │ │ │ │ ├── escalation-form.component.scss │ │ │ │ │ │ │ ├── escalation-form.component.ts │ │ │ │ │ │ │ ├── escalations.component.html │ │ │ │ │ │ │ ├── escalations.component.ts │ │ │ │ │ │ │ ├── rule-notification-dialog.component.html │ │ │ │ │ │ │ ├── rule-notification-dialog.component.scss │ │ │ │ │ │ │ ├── rule-notification-dialog.component.ts │ │ │ │ │ │ │ └── rule-table-config.resolver.ts │ │ │ │ │ │ ├── sent │ │ │ │ │ │ │ ├── sent-error-dialog.component.html │ │ │ │ │ │ │ ├── sent-error-dialog.component.scss │ │ │ │ │ │ │ ├── sent-error-dialog.component.ts │ │ │ │ │ │ │ ├── sent-notification-dialog.component.html │ │ │ │ │ │ │ ├── sent-notification-dialog.component.scss │ │ │ │ │ │ │ ├── sent-notification-dialog.componet.ts │ │ │ │ │ │ │ └── sent-table-config.resolver.ts │ │ │ │ │ │ ├── settings │ │ │ │ │ │ │ ├── notification-setting-form.component.html │ │ │ │ │ │ │ ├── notification-setting-form.component.scss │ │ │ │ │ │ │ ├── notification-setting-form.component.ts │ │ │ │ │ │ │ ├── notification-settings-routing.modules.ts │ │ │ │ │ │ │ ├── notification-settings.component.html │ │ │ │ │ │ │ ├── notification-settings.component.scss │ │ │ │ │ │ │ └── notification-settings.component.ts │ │ │ │ │ │ └── template │ │ │ │ │ │ │ ├── configuration │ │ │ │ │ │ │ ├── notification-action-button-configuration.component.html │ │ │ │ │ │ │ ├── notification-action-button-configuration.component.ts │ │ │ │ │ │ │ ├── notification-template-configuration.component.html │ │ │ │ │ │ │ ├── notification-template-configuration.component.scss │ │ │ │ │ │ │ └── notification-template-configuration.component.ts │ │ │ │ │ │ │ ├── template-configuration.ts │ │ │ │ │ │ │ ├── template-notification-dialog.component.html │ │ │ │ │ │ │ ├── template-notification-dialog.component.scss │ │ │ │ │ │ │ ├── template-notification-dialog.component.ts │ │ │ │ │ │ │ └── template-table-config.resolver.ts │ │ │ │ │ ├── ota-update │ │ │ │ │ │ ├── ota-update-routing.module.ts │ │ │ │ │ │ ├── ota-update-table-config.resolve.ts │ │ │ │ │ │ ├── ota-update-tabs.component.html │ │ │ │ │ │ ├── ota-update-tabs.component.ts │ │ │ │ │ │ ├── ota-update.component.html │ │ │ │ │ │ ├── ota-update.component.ts │ │ │ │ │ │ └── ota-update.module.ts │ │ │ │ │ ├── profile │ │ │ │ │ │ ├── profile-routing.module.ts │ │ │ │ │ │ ├── profile.component.html │ │ │ │ │ │ ├── profile.component.scss │ │ │ │ │ │ ├── profile.component.ts │ │ │ │ │ │ └── profile.module.ts │ │ │ │ │ ├── profiles │ │ │ │ │ │ ├── profiles-routing.module.ts │ │ │ │ │ │ └── profiles.module.ts │ │ │ │ │ ├── public-api.ts │ │ │ │ │ ├── rulechain │ │ │ │ │ │ ├── add-rule-node-dialog.component.html │ │ │ │ │ │ ├── add-rule-node-dialog.component.scss │ │ │ │ │ │ ├── add-rule-node-link-dialog.component.html │ │ │ │ │ │ ├── add-rule-node-link-dialog.component.scss │ │ │ │ │ │ ├── create-nested-rulechain-dialog.component.html │ │ │ │ │ │ ├── link-labels.component.html │ │ │ │ │ │ ├── link-labels.component.ts │ │ │ │ │ │ ├── rule-node-colors.scss │ │ │ │ │ │ ├── rule-node-config.component.html │ │ │ │ │ │ ├── rule-node-config.component.scss │ │ │ │ │ │ ├── rule-node-config.component.ts │ │ │ │ │ │ ├── rule-node-details.component.html │ │ │ │ │ │ ├── rule-node-details.component.scss │ │ │ │ │ │ ├── rule-node-details.component.ts │ │ │ │ │ │ ├── rule-node-link.component.html │ │ │ │ │ │ ├── rule-node-link.component.ts │ │ │ │ │ │ ├── rulechain-page.component.html │ │ │ │ │ │ ├── rulechain-page.component.scss │ │ │ │ │ │ ├── rulechain-page.component.ts │ │ │ │ │ │ ├── rulechain-page.models.ts │ │ │ │ │ │ ├── rulechain-page.module.ts │ │ │ │ │ │ ├── rulechain-routing.module.ts │ │ │ │ │ │ ├── rulechain-tabs.component.html │ │ │ │ │ │ ├── rulechain-tabs.component.ts │ │ │ │ │ │ ├── rulechain.component.html │ │ │ │ │ │ ├── rulechain.component.scss │ │ │ │ │ │ ├── rulechain.component.ts │ │ │ │ │ │ ├── rulechain.module.ts │ │ │ │ │ │ ├── rulechains-table-config.resolver.ts │ │ │ │ │ │ ├── rulenode.component.html │ │ │ │ │ │ ├── rulenode.component.scss │ │ │ │ │ │ └── rulenode.component.ts │ │ │ │ │ ├── scada-symbol │ │ │ │ │ │ ├── metadata-components │ │ │ │ │ │ │ ├── scada-symbol-behavior-panel.component.html │ │ │ │ │ │ │ ├── scada-symbol-behavior-panel.component.scss │ │ │ │ │ │ │ ├── scada-symbol-behavior-panel.component.ts │ │ │ │ │ │ │ ├── scada-symbol-behavior-row.component.html │ │ │ │ │ │ │ ├── scada-symbol-behavior-row.component.scss │ │ │ │ │ │ │ ├── scada-symbol-behavior-row.component.ts │ │ │ │ │ │ │ ├── scada-symbol-behaviors.component.html │ │ │ │ │ │ │ ├── scada-symbol-behaviors.component.scss │ │ │ │ │ │ │ ├── scada-symbol-behaviors.component.ts │ │ │ │ │ │ │ ├── scada-symbol-metadata-components.module.ts │ │ │ │ │ │ │ ├── scada-symbol-metadata-tag-function-panel.component.html │ │ │ │ │ │ │ ├── scada-symbol-metadata-tag-function-panel.component.scss │ │ │ │ │ │ │ ├── scada-symbol-metadata-tag-function-panel.component.ts │ │ │ │ │ │ │ ├── scada-symbol-metadata-tag.component.html │ │ │ │ │ │ │ ├── scada-symbol-metadata-tag.component.scss │ │ │ │ │ │ │ ├── scada-symbol-metadata-tag.component.ts │ │ │ │ │ │ │ ├── scada-symbol-metadata-tags.component.html │ │ │ │ │ │ │ ├── scada-symbol-metadata-tags.component.scss │ │ │ │ │ │ │ ├── scada-symbol-metadata-tags.component.ts │ │ │ │ │ │ │ ├── scada-symbol-metadata.component.html │ │ │ │ │ │ │ ├── scada-symbol-metadata.component.scss │ │ │ │ │ │ │ └── scada-symbol-metadata.component.ts │ │ │ │ │ │ ├── scada-symbol-editor.component.html │ │ │ │ │ │ ├── scada-symbol-editor.component.scss │ │ │ │ │ │ ├── scada-symbol-editor.component.ts │ │ │ │ │ │ ├── scada-symbol-editor.models.ts │ │ │ │ │ │ ├── scada-symbol-tooltip.component.scss │ │ │ │ │ │ ├── scada-symbol-tooltip.components.ts │ │ │ │ │ │ ├── scada-symbol.component.html │ │ │ │ │ │ ├── scada-symbol.component.scss │ │ │ │ │ │ ├── scada-symbol.component.ts │ │ │ │ │ │ └── scada-symbol.module.ts │ │ │ │ │ ├── security │ │ │ │ │ │ ├── authentication-dialog │ │ │ │ │ │ │ ├── authentication-dialog.component.scss │ │ │ │ │ │ │ ├── authentication-dialog.map.ts │ │ │ │ │ │ │ ├── backup-code-auth-dialog.component.html │ │ │ │ │ │ │ ├── backup-code-auth-dialog.component.ts │ │ │ │ │ │ │ ├── backup-code-print-template.raw │ │ │ │ │ │ │ ├── email-auth-dialog.component.html │ │ │ │ │ │ │ ├── email-auth-dialog.component.ts │ │ │ │ │ │ │ ├── sms-auth-dialog.component.html │ │ │ │ │ │ │ ├── sms-auth-dialog.component.ts │ │ │ │ │ │ │ ├── totp-auth-dialog.component.html │ │ │ │ │ │ │ └── totp-auth-dialog.component.ts │ │ │ │ │ │ ├── security-routing.module.ts │ │ │ │ │ │ ├── security.component.html │ │ │ │ │ │ ├── security.component.scss │ │ │ │ │ │ ├── security.component.ts │ │ │ │ │ │ └── security.module.ts │ │ │ │ │ ├── tenant-profile │ │ │ │ │ │ ├── tenant-profile-routing.module.ts │ │ │ │ │ │ ├── tenant-profile-tabs.component.html │ │ │ │ │ │ ├── tenant-profile-tabs.component.ts │ │ │ │ │ │ ├── tenant-profile.module.ts │ │ │ │ │ │ └── tenant-profiles-table-config.resolver.ts │ │ │ │ │ ├── tenant │ │ │ │ │ │ ├── tenant-routing.module.ts │ │ │ │ │ │ ├── tenant-tabs.component.html │ │ │ │ │ │ ├── tenant-tabs.component.ts │ │ │ │ │ │ ├── tenant.component.html │ │ │ │ │ │ ├── tenant.component.scss │ │ │ │ │ │ ├── tenant.component.ts │ │ │ │ │ │ ├── tenant.module.ts │ │ │ │ │ │ └── tenants-table-config.resolver.ts │ │ │ │ │ ├── user │ │ │ │ │ │ ├── activation-link-dialog.component.html │ │ │ │ │ │ ├── activation-link-dialog.component.ts │ │ │ │ │ │ ├── add-user-dialog.component.html │ │ │ │ │ │ ├── add-user-dialog.component.scss │ │ │ │ │ │ ├── add-user-dialog.component.ts │ │ │ │ │ │ ├── user-routing.module.ts │ │ │ │ │ │ ├── user-tabs.component.html │ │ │ │ │ │ ├── user-tabs.component.ts │ │ │ │ │ │ ├── user.component.html │ │ │ │ │ │ ├── user.component.scss │ │ │ │ │ │ ├── user.component.ts │ │ │ │ │ │ ├── user.module.ts │ │ │ │ │ │ └── users-table-config.resolver.ts │ │ │ │ │ ├── vc │ │ │ │ │ │ ├── vc-routing.module.ts │ │ │ │ │ │ └── vc.module.ts │ │ │ │ │ └── widget │ │ │ │ │ │ ├── save-widget-type-as-dialog.component.html │ │ │ │ │ │ ├── save-widget-type-as-dialog.component.ts │ │ │ │ │ │ ├── select-widget-type-dialog.component.html │ │ │ │ │ │ ├── select-widget-type-dialog.component.scss │ │ │ │ │ │ ├── select-widget-type-dialog.component.ts │ │ │ │ │ │ ├── widget-editor.component.html │ │ │ │ │ │ ├── widget-editor.component.scss │ │ │ │ │ │ ├── widget-editor.component.ts │ │ │ │ │ │ ├── widget-editor.models.ts │ │ │ │ │ │ ├── widget-library-routing.module.ts │ │ │ │ │ │ ├── widget-library.module.ts │ │ │ │ │ │ ├── widget-type-autocomplete.component.html │ │ │ │ │ │ ├── widget-type-autocomplete.component.scss │ │ │ │ │ │ ├── widget-type-autocomplete.component.ts │ │ │ │ │ │ ├── widget-type-tabs.component.html │ │ │ │ │ │ ├── widget-type-tabs.component.ts │ │ │ │ │ │ ├── widget-type.component.html │ │ │ │ │ │ ├── widget-type.component.ts │ │ │ │ │ │ ├── widget-types-table-config.resolver.ts │ │ │ │ │ │ ├── widgets-bundle-dialog.component.html │ │ │ │ │ │ ├── widgets-bundle-dialog.component.scss │ │ │ │ │ │ ├── widgets-bundle-dialog.component.ts │ │ │ │ │ │ ├── widgets-bundle-tabs.component.html │ │ │ │ │ │ ├── widgets-bundle-tabs.component.ts │ │ │ │ │ │ ├── widgets-bundle-widgets.component.html │ │ │ │ │ │ ├── widgets-bundle-widgets.component.scss │ │ │ │ │ │ ├── widgets-bundle-widgets.component.ts │ │ │ │ │ │ ├── widgets-bundle.component.html │ │ │ │ │ │ ├── widgets-bundle.component.scss │ │ │ │ │ │ ├── widgets-bundle.component.ts │ │ │ │ │ │ └── widgets-bundles-table-config.resolver.ts │ │ │ │ └── public-api.ts │ │ │ └── login │ │ │ │ ├── login-routing.module.ts │ │ │ │ ├── login.module.ts │ │ │ │ └── pages │ │ │ │ └── login │ │ │ │ ├── create-password.component.html │ │ │ │ ├── create-password.component.scss │ │ │ │ ├── create-password.component.ts │ │ │ │ ├── force-two-factor-auth-login.component.html │ │ │ │ ├── force-two-factor-auth-login.component.scss │ │ │ │ ├── force-two-factor-auth-login.component.ts │ │ │ │ ├── link-expired.component.html │ │ │ │ ├── link-expired.component.scss │ │ │ │ ├── link-expired.component.ts │ │ │ │ ├── login.component.html │ │ │ │ ├── login.component.scss │ │ │ │ ├── login.component.ts │ │ │ │ ├── reset-password-request.component.html │ │ │ │ ├── reset-password-request.component.scss │ │ │ │ ├── reset-password-request.component.ts │ │ │ │ ├── reset-password.component.html │ │ │ │ ├── reset-password.component.scss │ │ │ │ ├── reset-password.component.ts │ │ │ │ ├── two-factor-auth-login.component.html │ │ │ │ ├── two-factor-auth-login.component.scss │ │ │ │ └── two-factor-auth-login.component.ts │ │ └── shared │ │ │ ├── adapter │ │ │ └── custom-datatime-adapter.ts │ │ │ ├── animations │ │ │ └── speed-dial-fab.animations.ts │ │ │ ├── components │ │ │ ├── breadcrumb.component.html │ │ │ ├── breadcrumb.component.scss │ │ │ ├── breadcrumb.component.ts │ │ │ ├── breadcrumb.ts │ │ │ ├── button │ │ │ │ ├── copy-button.component.html │ │ │ │ ├── copy-button.component.scss │ │ │ │ ├── copy-button.component.ts │ │ │ │ ├── public-api.ts │ │ │ │ ├── toggle-password.component.html │ │ │ │ ├── toggle-password.component.ts │ │ │ │ ├── widget-button-toggle.component.html │ │ │ │ ├── widget-button-toggle.component.scss │ │ │ │ ├── widget-button-toggle.component.ts │ │ │ │ ├── widget-button.component.html │ │ │ │ ├── widget-button.component.scss │ │ │ │ ├── widget-button.component.ts │ │ │ │ └── widget-button.models.ts │ │ │ ├── cheatsheet.component.ts │ │ │ ├── circular-progress.directive.ts │ │ │ ├── color-input.component.html │ │ │ ├── color-input.component.scss │ │ │ ├── color-input.component.ts │ │ │ ├── color-picker │ │ │ │ ├── color-picker-panel.component.html │ │ │ │ ├── color-picker-panel.component.scss │ │ │ │ ├── color-picker-panel.component.ts │ │ │ │ ├── color-picker.component.html │ │ │ │ ├── color-picker.component.scss │ │ │ │ ├── color-picker.component.ts │ │ │ │ ├── hex-input.component.html │ │ │ │ ├── hex-input.component.scss │ │ │ │ └── hex-input.component.ts │ │ │ ├── contact.component.html │ │ │ ├── contact.component.ts │ │ │ ├── country-autocomplete.component.html │ │ │ ├── country-autocomplete.component.ts │ │ │ ├── css.component.html │ │ │ ├── css.component.scss │ │ │ ├── css.component.ts │ │ │ ├── dashboard-autocomplete.component.html │ │ │ ├── dashboard-autocomplete.component.ts │ │ │ ├── dashboard-select-panel.component.html │ │ │ ├── dashboard-select-panel.component.scss │ │ │ ├── dashboard-select-panel.component.ts │ │ │ ├── dashboard-select.component.html │ │ │ ├── dashboard-select.component.scss │ │ │ ├── dashboard-select.component.ts │ │ │ ├── dashboard-state-autocomplete.component.html │ │ │ ├── dashboard-state-autocomplete.component.ts │ │ │ ├── dialog.component.ts │ │ │ ├── dialog │ │ │ │ ├── alert-dialog.component.html │ │ │ │ ├── alert-dialog.component.scss │ │ │ │ ├── alert-dialog.component.ts │ │ │ │ ├── color-picker-dialog.component.html │ │ │ │ ├── color-picker-dialog.component.scss │ │ │ │ ├── color-picker-dialog.component.ts │ │ │ │ ├── confirm-dialog.component.html │ │ │ │ ├── confirm-dialog.component.scss │ │ │ │ ├── confirm-dialog.component.ts │ │ │ │ ├── entity-conflict-dialog │ │ │ │ │ ├── entity-conflict-dialog.component.html │ │ │ │ │ ├── entity-conflict-dialog.component.scss │ │ │ │ │ └── entity-conflict-dialog.component.ts │ │ │ │ ├── error-alert-dialog.component.html │ │ │ │ ├── error-alert-dialog.component.scss │ │ │ │ ├── error-alert-dialog.component.ts │ │ │ │ ├── json-object-edit-dialog.component.html │ │ │ │ ├── json-object-edit-dialog.component.ts │ │ │ │ ├── material-icons-dialog.component.html │ │ │ │ ├── material-icons-dialog.component.scss │ │ │ │ ├── material-icons-dialog.component.ts │ │ │ │ ├── node-script-test-dialog.component.html │ │ │ │ ├── node-script-test-dialog.component.scss │ │ │ │ ├── node-script-test-dialog.component.ts │ │ │ │ ├── todo-dialog.component.html │ │ │ │ ├── todo-dialog.component.scss │ │ │ │ └── todo-dialog.component.ts │ │ │ ├── directives │ │ │ │ ├── component-outlet.directive.ts │ │ │ │ ├── sring-template-outlet.directive.ts │ │ │ │ └── tb-json-to-string.directive.ts │ │ │ ├── entity │ │ │ │ ├── entity-autocomplete.component.html │ │ │ │ ├── entity-autocomplete.component.ts │ │ │ │ ├── entity-gateway-select.component.html │ │ │ │ ├── entity-gateway-select.component.ts │ │ │ │ ├── entity-key-autocomplete.component.html │ │ │ │ ├── entity-key-autocomplete.component.ts │ │ │ │ ├── entity-keys-list.component.html │ │ │ │ ├── entity-keys-list.component.ts │ │ │ │ ├── entity-list-select.component.html │ │ │ │ ├── entity-list-select.component.scss │ │ │ │ ├── entity-list-select.component.ts │ │ │ │ ├── entity-list.component.html │ │ │ │ ├── entity-list.component.ts │ │ │ │ ├── entity-select.component.html │ │ │ │ ├── entity-select.component.scss │ │ │ │ ├── entity-select.component.ts │ │ │ │ ├── entity-subtype-autocomplete.component.html │ │ │ │ ├── entity-subtype-autocomplete.component.ts │ │ │ │ ├── entity-subtype-list.component.html │ │ │ │ ├── entity-subtype-list.component.ts │ │ │ │ ├── entity-subtype-select.component.html │ │ │ │ ├── entity-subtype-select.component.scss │ │ │ │ ├── entity-subtype-select.component.ts │ │ │ │ ├── entity-type-list.component.html │ │ │ │ ├── entity-type-list.component.ts │ │ │ │ ├── entity-type-select.component.html │ │ │ │ ├── entity-type-select.component.scss │ │ │ │ └── entity-type-select.component.ts │ │ │ ├── fab-toolbar.component.html │ │ │ ├── fab-toolbar.component.scss │ │ │ ├── fab-toolbar.component.ts │ │ │ ├── file-input.component.html │ │ │ ├── file-input.component.scss │ │ │ ├── file-input.component.ts │ │ │ ├── footer-fab-buttons.component.html │ │ │ ├── footer-fab-buttons.component.scss │ │ │ ├── footer-fab-buttons.component.ts │ │ │ ├── footer.component.html │ │ │ ├── footer.component.scss │ │ │ ├── footer.component.ts │ │ │ ├── fullscreen.directive.ts │ │ │ ├── grid │ │ │ │ ├── scroll-grid-datasource.ts │ │ │ │ ├── scroll-grid.component.html │ │ │ │ ├── scroll-grid.component.scss │ │ │ │ └── scroll-grid.component.ts │ │ │ ├── help-markdown.component.html │ │ │ ├── help-markdown.component.scss │ │ │ ├── help-markdown.component.ts │ │ │ ├── help-popup.component.html │ │ │ ├── help-popup.component.scss │ │ │ ├── help-popup.component.ts │ │ │ ├── help.component.html │ │ │ ├── help.component.ts │ │ │ ├── hint-tooltip-icon.component.html │ │ │ ├── hint-tooltip-icon.component.scss │ │ │ ├── hint-tooltip-icon.component.ts │ │ │ ├── hotkeys.directive.ts │ │ │ ├── html.component.html │ │ │ ├── html.component.scss │ │ │ ├── html.component.ts │ │ │ ├── icon.component.ts │ │ │ ├── image-input.component.html │ │ │ ├── image-input.component.scss │ │ │ ├── image-input.component.ts │ │ │ ├── image │ │ │ │ ├── embed-image-dialog.component.html │ │ │ │ ├── embed-image-dialog.component.scss │ │ │ │ ├── embed-image-dialog.component.ts │ │ │ │ ├── gallery-image-input.component.html │ │ │ │ ├── gallery-image-input.component.scss │ │ │ │ ├── gallery-image-input.component.ts │ │ │ │ ├── image-dialog.component.html │ │ │ │ ├── image-dialog.component.scss │ │ │ │ ├── image-dialog.component.ts │ │ │ │ ├── image-gallery-dialog.component.html │ │ │ │ ├── image-gallery-dialog.component.scss │ │ │ │ ├── image-gallery-dialog.component.ts │ │ │ │ ├── image-gallery.component.html │ │ │ │ ├── image-gallery.component.scss │ │ │ │ ├── image-gallery.component.ts │ │ │ │ ├── image-references.component.html │ │ │ │ ├── image-references.component.scss │ │ │ │ ├── image-references.component.ts │ │ │ │ ├── images-datasource.ts │ │ │ │ ├── multiple-gallery-image-input.component.html │ │ │ │ ├── multiple-gallery-image-input.component.scss │ │ │ │ ├── multiple-gallery-image-input.component.ts │ │ │ │ ├── scada-symbol-input.component.html │ │ │ │ ├── scada-symbol-input.component.scss │ │ │ │ ├── scada-symbol-input.component.ts │ │ │ │ ├── upload-image-dialog.component.html │ │ │ │ └── upload-image-dialog.component.ts │ │ │ ├── js-func-module-row.component.html │ │ │ ├── js-func-module-row.component.scss │ │ │ ├── js-func-module-row.component.ts │ │ │ ├── js-func-modules.component.html │ │ │ ├── js-func-modules.component.scss │ │ │ ├── js-func-modules.component.ts │ │ │ ├── js-func.component.html │ │ │ ├── js-func.component.scss │ │ │ ├── js-func.component.ts │ │ │ ├── json-content.component.html │ │ │ ├── json-content.component.scss │ │ │ ├── json-content.component.ts │ │ │ ├── json-object-edit.component.html │ │ │ ├── json-object-edit.component.scss │ │ │ ├── json-object-edit.component.ts │ │ │ ├── json-object-view.component.html │ │ │ ├── json-object-view.component.scss │ │ │ ├── json-object-view.component.ts │ │ │ ├── kv-map.component.html │ │ │ ├── kv-map.component.scss │ │ │ ├── kv-map.component.ts │ │ │ ├── led-light.component.html │ │ │ ├── led-light.component.ts │ │ │ ├── logo.component.html │ │ │ ├── logo.component.scss │ │ │ ├── logo.component.ts │ │ │ ├── markdown-editor.component.html │ │ │ ├── markdown-editor.component.scss │ │ │ ├── markdown-editor.component.ts │ │ │ ├── markdown.component.html │ │ │ ├── markdown.component.scss │ │ │ ├── markdown.component.ts │ │ │ ├── marked-options.service.ts │ │ │ ├── material-icon-select.component.html │ │ │ ├── material-icon-select.component.scss │ │ │ ├── material-icon-select.component.ts │ │ │ ├── material-icons.component.html │ │ │ ├── material-icons.component.scss │ │ │ ├── material-icons.component.ts │ │ │ ├── message-type-autocomplete.component.html │ │ │ ├── message-type-autocomplete.component.ts │ │ │ ├── mqtt-version-select.component.html │ │ │ ├── mqtt-version-select.component.ts │ │ │ ├── multiple-image-input.component.html │ │ │ ├── multiple-image-input.component.scss │ │ │ ├── multiple-image-input.component.ts │ │ │ ├── nav-tree.component.html │ │ │ ├── nav-tree.component.scss │ │ │ ├── nav-tree.component.ts │ │ │ ├── notification │ │ │ │ ├── notification.component.html │ │ │ │ ├── notification.component.scss │ │ │ │ ├── notification.component.ts │ │ │ │ ├── template-autocomplete.component.html │ │ │ │ ├── template-autocomplete.component.scss │ │ │ │ └── template-autocomplete.component.ts │ │ │ ├── ota-package │ │ │ │ ├── ota-package-autocomplete.component.html │ │ │ │ ├── ota-package-autocomplete.component.scss │ │ │ │ └── ota-package-autocomplete.component.ts │ │ │ ├── page.component.ts │ │ │ ├── password-requirements-tooltip.component.html │ │ │ ├── password-requirements-tooltip.component.scss │ │ │ ├── password-requirements-tooltip.component.ts │ │ │ ├── phone-input.component.html │ │ │ ├── phone-input.component.scss │ │ │ ├── phone-input.component.ts │ │ │ ├── popover.component.scss │ │ │ ├── popover.component.ts │ │ │ ├── popover.models.ts │ │ │ ├── popover.service.ts │ │ │ ├── protobuf-content.component.html │ │ │ ├── protobuf-content.component.scss │ │ │ ├── protobuf-content.component.ts │ │ │ ├── public-api.ts │ │ │ ├── queue │ │ │ │ ├── queue-autocomplete.component.html │ │ │ │ ├── queue-autocomplete.component.scss │ │ │ │ └── queue-autocomplete.component.ts │ │ │ ├── relation │ │ │ │ ├── relation-type-autocomplete.component.html │ │ │ │ └── relation-type-autocomplete.component.ts │ │ │ ├── resource │ │ │ │ ├── resource-autocomplete.component.html │ │ │ │ ├── resource-autocomplete.component.ts │ │ │ │ ├── resources-in-use-dialog.component.html │ │ │ │ ├── resources-in-use-dialog.component.scss │ │ │ │ └── resources-in-use-dialog.component.ts │ │ │ ├── rule-chain │ │ │ │ ├── rule-chain-select-panel.component.html │ │ │ │ ├── rule-chain-select-panel.component.scss │ │ │ │ ├── rule-chain-select-panel.component.ts │ │ │ │ ├── rule-chain-select.component.html │ │ │ │ ├── rule-chain-select.component.scss │ │ │ │ └── rule-chain-select.component.ts │ │ │ ├── script-lang.component.html │ │ │ ├── script-lang.component.scss │ │ │ ├── script-lang.component.ts │ │ │ ├── slack-conversation-autocomplete.component.html │ │ │ ├── slack-conversation-autocomplete.component.scss │ │ │ ├── slack-conversation-autocomplete.component.ts │ │ │ ├── snack-bar-component.html │ │ │ ├── snack-bar-component.scss │ │ │ ├── socialshare-panel.component.html │ │ │ ├── socialshare-panel.component.scss │ │ │ ├── socialshare-panel.component.ts │ │ │ ├── string-autocomplete.component.html │ │ │ ├── string-autocomplete.component.scss │ │ │ ├── string-autocomplete.component.ts │ │ │ ├── string-items-list.component.html │ │ │ ├── string-items-list.component.ts │ │ │ ├── string-pattern-autocomplete.component.html │ │ │ ├── string-pattern-autocomplete.component.scss │ │ │ ├── string-pattern-autocomplete.component.ts │ │ │ ├── svg-xml.component.html │ │ │ ├── svg-xml.component.scss │ │ │ ├── svg-xml.component.ts │ │ │ ├── table │ │ │ │ └── table-datasource.abstract.ts │ │ │ ├── tb-anchor.component.ts │ │ │ ├── tb-checkbox.component.html │ │ │ ├── tb-checkbox.component.ts │ │ │ ├── tb-error.component.ts │ │ │ ├── time-unit-input.component.html │ │ │ ├── time-unit-input.component.ts │ │ │ ├── time │ │ │ │ ├── aggregation │ │ │ │ │ ├── aggregation-options-config-panel.component.html │ │ │ │ │ ├── aggregation-options-config-panel.component.scss │ │ │ │ │ ├── aggregation-options-config-panel.component.ts │ │ │ │ │ ├── aggregation-type-select.component.html │ │ │ │ │ ├── aggregation-type-select.component.scss │ │ │ │ │ ├── aggregation-type-select.component.ts │ │ │ │ │ ├── grouping-interval-options.component.html │ │ │ │ │ ├── grouping-interval-options.component.scss │ │ │ │ │ └── grouping-interval-options.component.ts │ │ │ │ ├── datapoints-limit.component.html │ │ │ │ ├── datapoints-limit.component.scss │ │ │ │ ├── datapoints-limit.component.ts │ │ │ │ ├── datetime-period.component.html │ │ │ │ ├── datetime-period.component.scss │ │ │ │ ├── datetime-period.component.ts │ │ │ │ ├── datetime.component.html │ │ │ │ ├── datetime.component.scss │ │ │ │ ├── datetime.component.ts │ │ │ │ ├── history-selector │ │ │ │ │ ├── history-selector.component.html │ │ │ │ │ ├── history-selector.component.scss │ │ │ │ │ └── history-selector.component.ts │ │ │ │ ├── interval-options-config-panel.component.html │ │ │ │ ├── interval-options-config-panel.component.scss │ │ │ │ ├── interval-options-config-panel.component.ts │ │ │ │ ├── quick-time-interval.component.html │ │ │ │ ├── quick-time-interval.component.scss │ │ │ │ ├── quick-time-interval.component.ts │ │ │ │ ├── timeinterval.component.html │ │ │ │ ├── timeinterval.component.scss │ │ │ │ ├── timeinterval.component.ts │ │ │ │ ├── timewindow-config-dialog.component.html │ │ │ │ ├── timewindow-config-dialog.component.scss │ │ │ │ ├── timewindow-config-dialog.component.ts │ │ │ │ ├── timewindow-form.scss │ │ │ │ ├── timewindow-panel.component.html │ │ │ │ ├── timewindow-panel.component.scss │ │ │ │ ├── timewindow-panel.component.ts │ │ │ │ ├── timewindow.component.html │ │ │ │ ├── timewindow.component.scss │ │ │ │ ├── timewindow.component.ts │ │ │ │ ├── timezone-panel.component.html │ │ │ │ ├── timezone-panel.component.scss │ │ │ │ ├── timezone-panel.component.ts │ │ │ │ ├── timezone-select.component.html │ │ │ │ ├── timezone-select.component.ts │ │ │ │ ├── timezone.component.html │ │ │ │ ├── timezone.component.scss │ │ │ │ └── timezone.component.ts │ │ │ ├── toast.directive.ts │ │ │ ├── toggle-header.component.html │ │ │ ├── toggle-header.component.scss │ │ │ ├── toggle-header.component.ts │ │ │ ├── toggle-select.component.html │ │ │ ├── toggle-select.component.scss │ │ │ ├── toggle-select.component.ts │ │ │ ├── tokens.ts │ │ │ ├── unit-input.component.html │ │ │ ├── unit-input.component.scss │ │ │ ├── unit-input.component.ts │ │ │ ├── unit-settings-panel.component.html │ │ │ ├── unit-settings-panel.component.scss │ │ │ ├── unit-settings-panel.component.ts │ │ │ ├── user-menu.component.html │ │ │ ├── user-menu.component.scss │ │ │ ├── user-menu.component.ts │ │ │ ├── value-input.component.html │ │ │ ├── value-input.component.scss │ │ │ ├── value-input.component.ts │ │ │ ├── vc │ │ │ │ ├── branch-autocomplete.component.html │ │ │ │ ├── branch-autocomplete.component.scss │ │ │ │ └── branch-autocomplete.component.ts │ │ │ ├── widgets-bundle-search.component.html │ │ │ ├── widgets-bundle-search.component.scss │ │ │ ├── widgets-bundle-search.component.ts │ │ │ ├── widgets-bundle-select.component.html │ │ │ ├── widgets-bundle-select.component.scss │ │ │ └── widgets-bundle-select.component.ts │ │ │ ├── decorators │ │ │ ├── coercion.ts │ │ │ ├── enumerable.ts │ │ │ └── public-api.ts │ │ │ ├── directives │ │ │ ├── context-menu.directive.ts │ │ │ ├── ellipsis-chip-list.directive.ts │ │ │ ├── public-api.ts │ │ │ └── truncate-with-tooltip.directive.ts │ │ │ ├── import-export │ │ │ ├── export-resource-dialog.component.html │ │ │ ├── export-resource-dialog.component.ts │ │ │ ├── import-dialog-csv.component.html │ │ │ ├── import-dialog-csv.component.scss │ │ │ ├── import-dialog-csv.component.ts │ │ │ ├── import-dialog.component.html │ │ │ ├── import-dialog.component.ts │ │ │ ├── import-export.models.ts │ │ │ ├── import-export.service.ts │ │ │ ├── table-columns-assignment.component.html │ │ │ ├── table-columns-assignment.component.scss │ │ │ └── table-columns-assignment.component.ts │ │ │ ├── legacy │ │ │ ├── json-form-utils.ts │ │ │ └── json-form.models.ts │ │ │ ├── models │ │ │ ├── ace │ │ │ │ ├── ace.models.ts │ │ │ │ ├── completion.models.ts │ │ │ │ ├── service-completion.models.ts │ │ │ │ ├── tbel-utils.models.ts │ │ │ │ ├── tbel │ │ │ │ │ ├── mode-tbel.js │ │ │ │ │ └── worker-tbel.js │ │ │ │ └── widget-completion.models.ts │ │ │ ├── action-widget-settings.models.ts │ │ │ ├── ai-model.models.ts │ │ │ ├── alarm-rule.models.ts │ │ │ ├── alarm.models.ts │ │ │ ├── alias.models.ts │ │ │ ├── api-key.models.ts │ │ │ ├── api-usage.models.ts │ │ │ ├── asset.models.ts │ │ │ ├── audit-log.models.ts │ │ │ ├── authority.enum.ts │ │ │ ├── base-data.ts │ │ │ ├── beautify.models.ts │ │ │ ├── calculated-field.models.ts │ │ │ ├── color.models.ts │ │ │ ├── common.ts │ │ │ ├── component-descriptor.models.ts │ │ │ ├── constants.ts │ │ │ ├── contact-based.model.ts │ │ │ ├── country.models.ts │ │ │ ├── customer.model.ts │ │ │ ├── dashboard.models.ts │ │ │ ├── device.models.ts │ │ │ ├── dynamic-form.models.ts │ │ │ ├── edge.models.ts │ │ │ ├── entity-type.models.ts │ │ │ ├── entity-view.models.ts │ │ │ ├── entity.models.ts │ │ │ ├── error.models.ts │ │ │ ├── event.models.ts │ │ │ ├── icon.models.ts │ │ │ ├── id │ │ │ │ ├── ai-model-id.ts │ │ │ │ ├── alarm-comment-id.ts │ │ │ │ ├── alarm-id.ts │ │ │ │ ├── api-key-id.ts │ │ │ │ ├── asset-id.ts │ │ │ │ ├── asset-profile-id.ts │ │ │ │ ├── audit-log-id.ts │ │ │ │ ├── calculated-field-id.ts │ │ │ │ ├── customer-id.ts │ │ │ │ ├── dashboard-id.ts │ │ │ │ ├── device-credentials-id.ts │ │ │ │ ├── device-id.ts │ │ │ │ ├── device-profile-id.ts │ │ │ │ ├── domain-id.ts │ │ │ │ ├── edge-id.ts │ │ │ │ ├── entity-id.ts │ │ │ │ ├── entity-view-id.ts │ │ │ │ ├── event-id.ts │ │ │ │ ├── has-uuid.ts │ │ │ │ ├── mobile-app-bundle-id.ts │ │ │ │ ├── mobile-app-id.ts │ │ │ │ ├── notification-id.ts │ │ │ │ ├── notification-request-id.ts │ │ │ │ ├── notification-rule-id.ts │ │ │ │ ├── notification-target-id.ts │ │ │ │ ├── notification-template-id.ts │ │ │ │ ├── oauth2-client-id.ts │ │ │ │ ├── ota-package-id.ts │ │ │ │ ├── public-api.ts │ │ │ │ ├── queue-id.ts │ │ │ │ ├── rpc-id.ts │ │ │ │ ├── rule-chain-id.ts │ │ │ │ ├── rule-node-id.ts │ │ │ │ ├── tb-resource-id.ts │ │ │ │ ├── tenant-id.ts │ │ │ │ ├── tenant-profile-id.ts │ │ │ │ ├── user-id.ts │ │ │ │ ├── widget-type-id.ts │ │ │ │ └── widgets-bundle-id.ts │ │ │ ├── jquery-event.models.ts │ │ │ ├── js-function.models.ts │ │ │ ├── limited-api.models.ts │ │ │ ├── login.models.ts │ │ │ ├── lwm2m-security-config.models.ts │ │ │ ├── material.models.ts │ │ │ ├── mobile-app.models.ts │ │ │ ├── mqtt.models.ts │ │ │ ├── notification.models.ts │ │ │ ├── oauth2.models.ts │ │ │ ├── ota-package.models.ts │ │ │ ├── overlay.models.ts │ │ │ ├── page │ │ │ │ ├── page-data.ts │ │ │ │ ├── page-link.ts │ │ │ │ ├── public-api.ts │ │ │ │ └── sort-order.ts │ │ │ ├── password.models.ts │ │ │ ├── public-api.ts │ │ │ ├── query │ │ │ │ └── query.models.ts │ │ │ ├── queue.models.ts │ │ │ ├── regex.constants.ts │ │ │ ├── relation.models.ts │ │ │ ├── resource.models.ts │ │ │ ├── rpc.models.ts │ │ │ ├── rule-chain.models.ts │ │ │ ├── rule-node.models.ts │ │ │ ├── settings.models.ts │ │ │ ├── telemetry │ │ │ │ └── telemetry.models.ts │ │ │ ├── tenant.model.ts │ │ │ ├── time │ │ │ │ └── time.models.ts │ │ │ ├── trendz-settings.models.ts │ │ │ ├── two-factor-auth.models.ts │ │ │ ├── unit.models.ts │ │ │ ├── units │ │ │ │ ├── absorbed-dose-rate.ts │ │ │ │ ├── acceleration.ts │ │ │ │ ├── acidity.ts │ │ │ │ ├── air-quality-index.ts │ │ │ │ ├── amount-of-substance.ts │ │ │ │ ├── angle.ts │ │ │ │ ├── angular-acceleration.ts │ │ │ │ ├── area-density.ts │ │ │ │ ├── area.ts │ │ │ │ ├── capacitance.ts │ │ │ │ ├── catalytic-activity.ts │ │ │ │ ├── catalytic-concentration.ts │ │ │ │ ├── charge.ts │ │ │ │ ├── current-density.ts │ │ │ │ ├── data-transfer-rate.ts │ │ │ │ ├── density.ts │ │ │ │ ├── digital.ts │ │ │ │ ├── dimension-ratio.ts │ │ │ │ ├── dynamic-viscosity.ts │ │ │ │ ├── earthquake-magnitude.ts │ │ │ │ ├── electric-charge-density.ts │ │ │ │ ├── electric-current.ts │ │ │ │ ├── electric-dipole-moment.ts │ │ │ │ ├── electric-field-strength.ts │ │ │ │ ├── electric-flux.ts │ │ │ │ ├── electric-permittivity.ts │ │ │ │ ├── electric-polarizability.ts │ │ │ │ ├── electrical-conductance.ts │ │ │ │ ├── electrical-conductivity.ts │ │ │ │ ├── energy-density.ts │ │ │ │ ├── energy.ts │ │ │ │ ├── force.ts │ │ │ │ ├── frequency.ts │ │ │ │ ├── fuel-efficiency.ts │ │ │ │ ├── heat-capacity.ts │ │ │ │ ├── illuminance.ts │ │ │ │ ├── inductance.ts │ │ │ │ ├── kinematic-viscosity.ts │ │ │ │ ├── length.ts │ │ │ │ ├── light-exposure.ts │ │ │ │ ├── liner-charge-density.ts │ │ │ │ ├── logarithmic-ratio.ts │ │ │ │ ├── luminous-efficacy.ts │ │ │ │ ├── luminous-flux.ts │ │ │ │ ├── luminous-intensity.ts │ │ │ │ ├── magnetic-field-gradient.ts │ │ │ │ ├── magnetic-flux-density.ts │ │ │ │ ├── magnetic-flux.ts │ │ │ │ ├── magnetic-moment.ts │ │ │ │ ├── magnetic-permeability.ts │ │ │ │ ├── mass-fraction.ts │ │ │ │ ├── mass.ts │ │ │ │ ├── molar-concentration.ts │ │ │ │ ├── molar-energy.ts │ │ │ │ ├── molar-heat-capacity.ts │ │ │ │ ├── molar-mass.ts │ │ │ │ ├── number-concentration.ts │ │ │ │ ├── parts-per-million.ts │ │ │ │ ├── power-density.ts │ │ │ │ ├── power.ts │ │ │ │ ├── pressure.ts │ │ │ │ ├── radiance.ts │ │ │ │ ├── radiant-intensity.ts │ │ │ │ ├── radiation-dose.ts │ │ │ │ ├── radioactive-decay.ts │ │ │ │ ├── radioactivity-concentration.ts │ │ │ │ ├── radioactivity.ts │ │ │ │ ├── reciprocal-length.ts │ │ │ │ ├── resistance.ts │ │ │ │ ├── reynolds-number.ts │ │ │ │ ├── signal-level.ts │ │ │ │ ├── solid-angle.ts │ │ │ │ ├── specific-energy.ts │ │ │ │ ├── specific-heat-capacity.ts │ │ │ │ ├── specific-humidity.ts │ │ │ │ ├── specific-volume.ts │ │ │ │ ├── speed.ts │ │ │ │ ├── surface-charge-density.ts │ │ │ │ ├── surface-tension.ts │ │ │ │ ├── temperature.ts │ │ │ │ ├── thermal-conductivity.ts │ │ │ │ ├── time.ts │ │ │ │ ├── torque.ts │ │ │ │ ├── turbidity.ts │ │ │ │ ├── voltage.ts │ │ │ │ ├── volume-flow.ts │ │ │ │ └── volume.ts │ │ │ ├── usage.models.ts │ │ │ ├── user-settings.models.ts │ │ │ ├── user.model.ts │ │ │ ├── vc.models.ts │ │ │ ├── websocket │ │ │ │ └── websocket.models.ts │ │ │ ├── widget-settings.models.ts │ │ │ ├── widget.models.ts │ │ │ ├── widget │ │ │ │ ├── home-widgets │ │ │ │ │ └── api-usage-model.definition.ts │ │ │ │ ├── maps │ │ │ │ │ ├── map-model.definition.ts │ │ │ │ │ ├── map.models.ts │ │ │ │ │ └── marker-shape.models.ts │ │ │ │ ├── public-api.ts │ │ │ │ ├── rpc │ │ │ │ │ └── knob.component.models.ts │ │ │ │ └── widget-model.definition.ts │ │ │ ├── widgets-bundle.model.ts │ │ │ └── window-message.model.ts │ │ │ ├── pipe │ │ │ ├── custom-translate.pipe.ts │ │ │ ├── date-ago.pipe.ts │ │ │ ├── date-expiration.pipe.ts │ │ │ ├── duration-left.pipe.ts │ │ │ ├── enum-to-array.pipe.ts │ │ │ ├── file-size.pipe.ts │ │ │ ├── highlight.pipe.ts │ │ │ ├── image.pipe.ts │ │ │ ├── key-value-not-empty.pipe.ts │ │ │ ├── keyboard-shortcut.pipe.ts │ │ │ ├── milliseconds-to-time-string.pipe.ts │ │ │ ├── nospace.pipe.ts │ │ │ ├── public-api.ts │ │ │ ├── safe.pipe.ts │ │ │ ├── selectable-columns.pipe.ts │ │ │ ├── short-number.pipe.ts │ │ │ ├── tbJson.pipe.ts │ │ │ └── truncate.pipe.ts │ │ │ ├── public-api.ts │ │ │ ├── services │ │ │ └── custom-paginator-intl.ts │ │ │ └── shared.module.ts │ ├── assets │ │ ├── android-ios-stores-badges │ │ │ ├── android_store_en_black_badge.svg │ │ │ └── ios_store_en_black_badge.svg │ │ ├── copy-code-icon.svg │ │ ├── dashboard │ │ │ ├── api_usage.json │ │ │ ├── customer_user_home_page.json │ │ │ ├── sys_admin_home_page.json │ │ │ └── tenant_admin_home_page.json │ │ ├── docker.svg │ │ ├── fonts │ │ │ ├── MaterialIcons-Regular.ttf │ │ │ ├── MaterialIconsRound-Regular.otf │ │ │ └── material-icons.css │ │ ├── help │ │ │ ├── en_US │ │ │ │ ├── alarm-rule │ │ │ │ │ ├── alarm_rule_schedule_format.md │ │ │ │ │ └── expression_fn.md │ │ │ │ ├── calculated-field │ │ │ │ │ ├── examples │ │ │ │ │ │ └── merge-functions │ │ │ │ │ │ │ ├── merge_all_output.md │ │ │ │ │ │ │ ├── merge_all_usage.md │ │ │ │ │ │ │ ├── merge_input.md │ │ │ │ │ │ │ ├── merge_output.md │ │ │ │ │ │ │ └── merge_usage.md │ │ │ │ │ ├── expression_fn.md │ │ │ │ │ └── filter_expression_fn.md │ │ │ │ ├── date │ │ │ │ │ └── date-format.md │ │ │ │ ├── device-profile │ │ │ │ │ ├── alarm_custom_schedule_format.md │ │ │ │ │ ├── alarm_specific_schedule_format.md │ │ │ │ │ ├── x509-chain-hint.md │ │ │ │ │ └── x509-chain-regex-examples.md │ │ │ │ ├── math │ │ │ │ │ └── math-methods_fn.md │ │ │ │ ├── notification │ │ │ │ │ ├── alarm.md │ │ │ │ │ ├── alarm_assignment.md │ │ │ │ │ ├── alarm_comment.md │ │ │ │ │ ├── api_usage_limit.md │ │ │ │ │ ├── device_activity.md │ │ │ │ │ ├── edge_communication_failure.md │ │ │ │ │ ├── edge_connection.md │ │ │ │ │ ├── entities_limit.md │ │ │ │ │ ├── entity_action.md │ │ │ │ │ ├── general.md │ │ │ │ │ ├── new_platform_version.md │ │ │ │ │ ├── rate_limits.md │ │ │ │ │ ├── resources_shortage.md │ │ │ │ │ ├── rule_engine_lifecycle_event.md │ │ │ │ │ ├── rule_node.md │ │ │ │ │ └── task_processing_failure.md │ │ │ │ ├── resource │ │ │ │ │ └── js-resource-module_fn.md │ │ │ │ ├── rulenode │ │ │ │ │ ├── ai_node_prompt_settings.md │ │ │ │ │ ├── change_originator_node_fields_templatization.md │ │ │ │ │ ├── clear_alarm_node_script_fn.md │ │ │ │ │ ├── common_node_fields_templatization.md │ │ │ │ │ ├── common_node_script_args.md │ │ │ │ │ ├── create_alarm_node_script_fn.md │ │ │ │ │ ├── customer_attributes_node_fields_templatization.md │ │ │ │ │ ├── filter_node_script_fn.md │ │ │ │ │ ├── generator_node_script_fn.md │ │ │ │ │ ├── log_node_script_fn.md │ │ │ │ │ ├── node-templatization-doc.md │ │ │ │ │ ├── originator_attributes_node_fields_templatization.md │ │ │ │ │ ├── originator_fields_node_fields_templatization.md │ │ │ │ │ ├── originator_telemetry_node_fields_templatization.md │ │ │ │ │ ├── related_device_attributes_node_fields_templatization.md │ │ │ │ │ ├── related_entity_data_node_fields_templatization.md │ │ │ │ │ ├── save_attributes_node_advanced.md │ │ │ │ │ ├── save_timeseries_node_advanced.md │ │ │ │ │ ├── switch_node_script_fn.md │ │ │ │ │ ├── tbel │ │ │ │ │ │ ├── clear_alarm_node_script_fn.md │ │ │ │ │ │ ├── common_node_script_args.md │ │ │ │ │ │ ├── create_alarm_node_script_fn.md │ │ │ │ │ │ ├── filter_node_script_fn.md │ │ │ │ │ │ ├── generator_node_script_fn.md │ │ │ │ │ │ ├── log_node_script_fn.md │ │ │ │ │ │ ├── switch_node_script_fn.md │ │ │ │ │ │ └── transformation_node_script_fn.md │ │ │ │ │ ├── tenant_attributes_node_fields_templatization.md │ │ │ │ │ ├── to_email_node_fields_templatization.md │ │ │ │ │ └── transformation_node_script_fn.md │ │ │ │ ├── scada │ │ │ │ │ ├── symbol_state_render_fn.md │ │ │ │ │ ├── tag_click_action_fn.md │ │ │ │ │ └── tag_state_render_fn.md │ │ │ │ └── widget │ │ │ │ │ ├── action │ │ │ │ │ ├── custom_action_args.md │ │ │ │ │ ├── custom_action_fn.md │ │ │ │ │ ├── custom_additional_params.md │ │ │ │ │ ├── custom_pretty_action_fn.md │ │ │ │ │ ├── examples │ │ │ │ │ │ ├── custom_pretty_create_dialog_html.md │ │ │ │ │ │ ├── custom_pretty_create_dialog_js.md │ │ │ │ │ │ ├── custom_pretty_edit_dialog_html.md │ │ │ │ │ │ └── custom_pretty_edit_dialog_js.md │ │ │ │ │ ├── examples_custom_action │ │ │ │ │ │ ├── custom_action_back_first_and_open_state.md │ │ │ │ │ │ ├── custom_action_copy_access_token.md │ │ │ │ │ │ ├── custom_action_delete_device_confirm.md │ │ │ │ │ │ ├── custom_action_display_alert.md │ │ │ │ │ │ ├── custom_action_open_state_save_parameters.md │ │ │ │ │ │ └── custom_action_return_previous_state.md │ │ │ │ │ ├── examples_custom_pretty │ │ │ │ │ │ ├── custom_pretty_clone_device_html.md │ │ │ │ │ │ ├── custom_pretty_clone_device_js.md │ │ │ │ │ │ ├── custom_pretty_create_dialog_html.md │ │ │ │ │ │ ├── custom_pretty_create_dialog_js.md │ │ │ │ │ │ ├── custom_pretty_create_user_html.md │ │ │ │ │ │ ├── custom_pretty_create_user_js.md │ │ │ │ │ │ ├── custom_pretty_edit_dialog_html.md │ │ │ │ │ │ ├── custom_pretty_edit_dialog_js.md │ │ │ │ │ │ ├── custom_pretty_edit_image_html.md │ │ │ │ │ │ └── custom_pretty_edit_image_js.md │ │ │ │ │ ├── mobile_get_location_fn.md │ │ │ │ │ ├── mobile_get_phone_number_fn.md │ │ │ │ │ ├── mobile_handle_empty_result_fn.md │ │ │ │ │ ├── mobile_handle_error_fn.md │ │ │ │ │ ├── mobile_process_image_fn.md │ │ │ │ │ ├── mobile_process_launch_result_fn.md │ │ │ │ │ ├── mobile_process_location_fn.md │ │ │ │ │ ├── mobile_process_qr_code_fn.md │ │ │ │ │ ├── place_map_item │ │ │ │ │ │ ├── create_dialog_html.md │ │ │ │ │ │ ├── create_dialog_js.md │ │ │ │ │ │ └── place_map_item_action.md │ │ │ │ │ ├── show_widget_action_cell_fn.md │ │ │ │ │ └── show_widget_action_header_fn.md │ │ │ │ │ ├── config │ │ │ │ │ ├── datakey_generation_fn.md │ │ │ │ │ ├── datakey_postprocess_fn.md │ │ │ │ │ ├── parse_value_get_dashboard_state_id_fn.md │ │ │ │ │ └── parse_value_get_dashboard_state_object_fn.md │ │ │ │ │ ├── editor │ │ │ │ │ ├── examples │ │ │ │ │ │ ├── alarm_widget.md │ │ │ │ │ │ ├── ext_latest_values_example.md │ │ │ │ │ │ ├── ext_timeseries_example.md │ │ │ │ │ │ ├── latest_values_widget.md │ │ │ │ │ │ ├── rpc_widget.md │ │ │ │ │ │ ├── static_widget.md │ │ │ │ │ │ └── timeseries_widget.md │ │ │ │ │ ├── widget_js_action_sources_object.md │ │ │ │ │ ├── widget_js_existing_code.md │ │ │ │ │ ├── widget_js_fn.md │ │ │ │ │ ├── widget_js_markdown_pattern.md │ │ │ │ │ ├── widget_js_subscription_object.md │ │ │ │ │ └── widget_js_type_parameters_object.md │ │ │ │ │ └── lib │ │ │ │ │ ├── alarm │ │ │ │ │ ├── cell_content_fn.md │ │ │ │ │ ├── cell_style_fn.md │ │ │ │ │ └── row_style_fn.md │ │ │ │ │ ├── card │ │ │ │ │ └── value_color_fn.md │ │ │ │ │ ├── chart │ │ │ │ │ └── ticks_generator_fn.md │ │ │ │ │ ├── entities_hierarchy │ │ │ │ │ ├── node_disabled_fn.md │ │ │ │ │ ├── node_has_children_fn.md │ │ │ │ │ ├── node_icon_fn.md │ │ │ │ │ ├── node_opened_fn.md │ │ │ │ │ ├── node_relation_query_fn.md │ │ │ │ │ ├── node_text_fn.md │ │ │ │ │ └── nodes_sort_fn.md │ │ │ │ │ ├── entity │ │ │ │ │ ├── cell_content_fn.md │ │ │ │ │ ├── cell_style_fn.md │ │ │ │ │ └── row_style_fn.md │ │ │ │ │ ├── flot │ │ │ │ │ ├── point_shape_format_fn.md │ │ │ │ │ ├── ticks_formatter_fn.md │ │ │ │ │ └── tooltip_value_format_fn.md │ │ │ │ │ ├── gateway │ │ │ │ │ ├── address-filter_fn.md │ │ │ │ │ ├── attribute-name-expression_fn.md │ │ │ │ │ ├── attributes-identifier_fn.md │ │ │ │ │ ├── attributes-path_fn.md │ │ │ │ │ ├── attributes_updates-identifier_fn.md │ │ │ │ │ ├── attributes_updates-path_fn.md │ │ │ │ │ ├── bacnet-device-name-field-expression_fn.md │ │ │ │ │ ├── bacnet-device-profile-name-expression_fn.md │ │ │ │ │ ├── byte_fn.md │ │ │ │ │ ├── device-node-identifier_fn.md │ │ │ │ │ ├── device-node-path_fn.md │ │ │ │ │ ├── modbus-functions-data-types_fn.md │ │ │ │ │ ├── mqtt-bytes-expression_fn.md │ │ │ │ │ ├── mqtt-expression_fn.md │ │ │ │ │ ├── mqtt-json-expression_fn.md │ │ │ │ │ ├── mqtt-json-key-expression_fn.md │ │ │ │ │ ├── name-field-identifier_fn.md │ │ │ │ │ ├── name-field-path_fn.md │ │ │ │ │ ├── profile-name-identifier_fn.md │ │ │ │ │ ├── profile-name-path_fn.md │ │ │ │ │ ├── report-strategy_fn.md │ │ │ │ │ ├── request-expression_fn.md │ │ │ │ │ ├── rest-json_fn.md │ │ │ │ │ ├── timeseries-identifier_fn.md │ │ │ │ │ ├── timeseries-path_fn.md │ │ │ │ │ └── topic-filter_fn.md │ │ │ │ │ ├── indicator │ │ │ │ │ └── shape_attribute_fn.md │ │ │ │ │ ├── map-legacy │ │ │ │ │ ├── clustering_color_fn.md │ │ │ │ │ ├── color_fn.md │ │ │ │ │ ├── label_fn.md │ │ │ │ │ ├── map_fn_args.md │ │ │ │ │ ├── marker_image_fn.md │ │ │ │ │ ├── path_color_fn.md │ │ │ │ │ ├── path_point_color_fn.md │ │ │ │ │ ├── polygon_color_fn.md │ │ │ │ │ ├── polygon_tooltip_fn.md │ │ │ │ │ ├── position_fn.md │ │ │ │ │ ├── tooltip_fn.md │ │ │ │ │ └── trip_point_as_anchor_fn.md │ │ │ │ │ ├── map │ │ │ │ │ ├── circle_fill_color_fn.md │ │ │ │ │ ├── circle_label_fn.md │ │ │ │ │ ├── circle_stroke_color_fn.md │ │ │ │ │ ├── circle_tooltip_fn.md │ │ │ │ │ ├── clustering_color_fn.md │ │ │ │ │ ├── color_fn.md │ │ │ │ │ ├── color_fn_examples.md │ │ │ │ │ ├── label_fn.md │ │ │ │ │ ├── label_fn_examples.md │ │ │ │ │ ├── map_fn_args.md │ │ │ │ │ ├── marker_image_fn.md │ │ │ │ │ ├── marker_image_fn_args.md │ │ │ │ │ ├── path_color_fn.md │ │ │ │ │ ├── path_point_color_fn.md │ │ │ │ │ ├── path_point_tooltip_fn.md │ │ │ │ │ ├── polygon_fill_color_fn.md │ │ │ │ │ ├── polygon_label_fn.md │ │ │ │ │ ├── polygon_stroke_color_fn.md │ │ │ │ │ ├── polygon_tooltip_fn.md │ │ │ │ │ ├── polyline_label_fn.md │ │ │ │ │ ├── polyline_stroke_color_fn.md │ │ │ │ │ ├── polyline_tooltip_fn.md │ │ │ │ │ ├── position_fn.md │ │ │ │ │ ├── shape_fill_image_fn.md │ │ │ │ │ ├── shape_fill_image_fn_args.md │ │ │ │ │ ├── tooltip_fn.md │ │ │ │ │ ├── tooltip_fn_examples.md │ │ │ │ │ └── trip_point_as_anchor_fn.md │ │ │ │ │ ├── markdown │ │ │ │ │ └── markdown_text_fn.md │ │ │ │ │ ├── qrcode │ │ │ │ │ └── qrcode_text_fn.md │ │ │ │ │ ├── rpc │ │ │ │ │ ├── convert_value_fn.md │ │ │ │ │ ├── parse_gpio_status_fn.md │ │ │ │ │ └── parse_value_fn.md │ │ │ │ │ └── timeseries │ │ │ │ │ ├── cell_content_fn.md │ │ │ │ │ ├── cell_style_fn.md │ │ │ │ │ └── row_style_fn.md │ │ │ └── images │ │ │ │ ├── rulenode │ │ │ │ └── examples │ │ │ │ │ ├── change-originator-ft-2.png │ │ │ │ │ ├── change-originator-ft-3.png │ │ │ │ │ ├── change-originator-ft.png │ │ │ │ │ ├── customer-attributes-ft.png │ │ │ │ │ ├── filter-node.png │ │ │ │ │ ├── originator-attributes-ft.png │ │ │ │ │ ├── originator-fields-ft.png │ │ │ │ │ ├── originator-telemetry-ft-2.png │ │ │ │ │ ├── originator-telemetry-ft.png │ │ │ │ │ ├── related-device-attributes-ft.png │ │ │ │ │ ├── related-entity-data-ft.png │ │ │ │ │ ├── switch-node.png │ │ │ │ │ ├── tenant-attributes-ft.png │ │ │ │ │ └── to-email-ft.png │ │ │ │ └── widget │ │ │ │ └── editor │ │ │ │ └── examples │ │ │ │ ├── add-rpc-device-alias.png │ │ │ │ ├── alarm-widget-sample.png │ │ │ │ ├── control-widget-sample-response-one-way.png │ │ │ │ ├── control-widget-sample-response-timeout.png │ │ │ │ ├── control-widget-sample-response-two-way.png │ │ │ │ ├── control-widget-sample-settings.png │ │ │ │ ├── control-widget-sample.png │ │ │ │ ├── dashboard-create-new-widget-button.png │ │ │ │ ├── dashboard-toolbar-entity-aliases.png │ │ │ │ ├── external-js-timeseries-widget-sample.png │ │ │ │ ├── external-js-widget-sample.png │ │ │ │ ├── latest-values-widget-sample.png │ │ │ │ ├── static-widget-sample.png │ │ │ │ └── timeseries-widget-sample.png │ │ ├── home │ │ │ ├── greetings_bg.svg │ │ │ ├── no_data_bg.svg │ │ │ └── no_data_folder_bg.svg │ │ ├── jstree │ │ │ ├── tb32px.png │ │ │ └── tb40px.png │ │ ├── linux.svg │ │ ├── locale │ │ │ ├── locale.constant-ar_AE.json │ │ │ ├── locale.constant-ca_ES.json │ │ │ ├── locale.constant-cs_CZ.json │ │ │ ├── locale.constant-da_DK.json │ │ │ ├── locale.constant-de_DE.json │ │ │ ├── locale.constant-el_GR.json │ │ │ ├── locale.constant-en_US.json │ │ │ ├── locale.constant-es_ES.json │ │ │ ├── locale.constant-fa_IR.json │ │ │ ├── locale.constant-fr_FR.json │ │ │ ├── locale.constant-it_IT.json │ │ │ ├── locale.constant-ja_JP.json │ │ │ ├── locale.constant-ka_GE.json │ │ │ ├── locale.constant-ko_KR.json │ │ │ ├── locale.constant-lt_LT.json │ │ │ ├── locale.constant-lv_LV.json │ │ │ ├── locale.constant-nl_BE.json │ │ │ ├── locale.constant-nl_NL.json │ │ │ ├── locale.constant-no_NO.json │ │ │ ├── locale.constant-pl_PL.json │ │ │ ├── locale.constant-pt_BR.json │ │ │ ├── locale.constant-ro_RO.json │ │ │ ├── locale.constant-sl_SI.json │ │ │ ├── locale.constant-tr_TR.json │ │ │ ├── locale.constant-uk_UA.json │ │ │ ├── locale.constant-zh_CN.json │ │ │ └── locale.constant-zh_TW.json │ │ ├── logo_title_white.svg │ │ ├── logo_title_white_edge.svg │ │ ├── logo_white.svg │ │ ├── macos.svg │ │ ├── map │ │ │ ├── enhanced_contrast_hybrid_reference_style.json │ │ │ ├── openstreetmap_hybrid_reference_style.json │ │ │ └── world_edition_hybrid_reference_style.json │ │ ├── markers │ │ │ ├── iconContainer1.svg │ │ │ ├── iconContainer2.svg │ │ │ ├── iconContainer3.svg │ │ │ ├── iconContainer4.svg │ │ │ ├── iconContainer5.svg │ │ │ ├── iconContainer6.svg │ │ │ ├── iconContainer7.svg │ │ │ ├── shape1.svg │ │ │ ├── shape10.svg │ │ │ ├── shape2.svg │ │ │ ├── shape3.svg │ │ │ ├── shape4.svg │ │ │ ├── shape5.svg │ │ │ ├── shape6.svg │ │ │ ├── shape7.svg │ │ │ ├── shape8.svg │ │ │ ├── shape9.svg │ │ │ ├── tripIconContainer1.svg │ │ │ ├── tripIconContainer2.svg │ │ │ ├── tripIconContainer3.svg │ │ │ ├── tripShape1.svg │ │ │ ├── tripShape10.svg │ │ │ ├── tripShape2.svg │ │ │ ├── tripShape3.svg │ │ │ ├── tripShape4.svg │ │ │ ├── tripShape5.svg │ │ │ ├── tripShape6.svg │ │ │ ├── tripShape7.svg │ │ │ ├── tripShape8.svg │ │ │ └── tripShape9.svg │ │ ├── metadata │ │ │ ├── material-icons.json │ │ │ └── units.json │ │ ├── notification-bell.svg │ │ ├── shadow.png │ │ ├── split.js │ │ │ └── grips │ │ │ │ ├── horizontal.png │ │ │ │ └── vertical.png │ │ ├── widget-preview-empty.svg │ │ ├── widget │ │ │ ├── alarm-count │ │ │ │ ├── column-layout.svg │ │ │ │ └── row-layout.svg │ │ │ ├── battery-level │ │ │ │ ├── battery-shape-horizontal.svg │ │ │ │ ├── battery-shape-vertical.svg │ │ │ │ ├── horizontal-divided-layout.svg │ │ │ │ ├── horizontal-solid-layout.svg │ │ │ │ ├── vertical-divided-layout.svg │ │ │ │ └── vertical-solid-layout.svg │ │ │ ├── button │ │ │ │ ├── basic.svg │ │ │ │ ├── filled.svg │ │ │ │ ├── outlined.svg │ │ │ │ └── underlined.svg │ │ │ ├── doughnut │ │ │ │ ├── default-layout.svg │ │ │ │ ├── horizontal-default-layout.svg │ │ │ │ ├── horizontal-with-total-layout.svg │ │ │ │ └── with-total-layout.svg │ │ │ ├── entity-count │ │ │ │ ├── column-layout.svg │ │ │ │ └── row-layout.svg │ │ │ ├── liquid-level │ │ │ │ └── shapes │ │ │ │ │ ├── horizontal-2_1-elliptical.svg │ │ │ │ │ ├── horizontal-capsule.svg │ │ │ │ │ ├── horizontal-cylinder.svg │ │ │ │ │ ├── horizontal-dish-ends.svg │ │ │ │ │ ├── horizontal-ellipse.svg │ │ │ │ │ ├── horizontal-oval.svg │ │ │ │ │ ├── rectangle.svg │ │ │ │ │ ├── vertical-capsule.svg │ │ │ │ │ ├── vertical-cylinder.svg │ │ │ │ │ └── vertical-oval.svg │ │ │ ├── power-button │ │ │ │ ├── default-icon-layout.svg │ │ │ │ ├── default-layout.svg │ │ │ │ ├── default-volume-layout.svg │ │ │ │ ├── outlined-icon-layout.svg │ │ │ │ ├── outlined-layout.svg │ │ │ │ ├── outlined-volume-layout.svg │ │ │ │ ├── simplified-icon-layout.svg │ │ │ │ ├── simplified-layout.svg │ │ │ │ └── simplified-volume-layout.svg │ │ │ ├── progress-bar │ │ │ │ ├── default-layout.svg │ │ │ │ └── simplified-layout.svg │ │ │ ├── segmented-button │ │ │ │ ├── rounded-layout.svg │ │ │ │ └── squared-layout.svg │ │ │ ├── signal-strength │ │ │ │ ├── cellular-bar-layout.svg │ │ │ │ └── wifi-layout.svg │ │ │ ├── simple-gauge │ │ │ │ ├── arc-layout.svg │ │ │ │ ├── donut-layout.svg │ │ │ │ ├── horizontal-bar-layout.svg │ │ │ │ └── vertical-bar-layout.svg │ │ │ ├── single-switch │ │ │ │ ├── centered-layout.svg │ │ │ │ ├── left-layout.svg │ │ │ │ └── right-layout.svg │ │ │ ├── slider │ │ │ │ ├── default-layout.svg │ │ │ │ ├── extended-layout.svg │ │ │ │ └── simplified-layout.svg │ │ │ ├── status-widget │ │ │ │ ├── center-layout.svg │ │ │ │ ├── default-layout.svg │ │ │ │ └── icon-layout.svg │ │ │ ├── value-card │ │ │ │ ├── centered-layout.svg │ │ │ │ ├── horizontal-layout.svg │ │ │ │ ├── horizontal-reversed-layout.svg │ │ │ │ ├── simplified-layout.svg │ │ │ │ ├── square-layout.svg │ │ │ │ └── vertical-layout.svg │ │ │ ├── value-chart-card │ │ │ │ ├── left-layout.svg │ │ │ │ └── right-layout.svg │ │ │ ├── value-stepper │ │ │ │ ├── filled.svg │ │ │ │ ├── simplified.svg │ │ │ │ └── volume.svg │ │ │ └── wind-speed-direction │ │ │ │ ├── advanced-layout.svg │ │ │ │ ├── default-layout.svg │ │ │ │ └── simplified-layout.svg │ │ └── windows.svg │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── form.scss │ ├── index.html │ ├── main.ts │ ├── polyfills.ts │ ├── scss │ │ ├── animations.scss │ │ ├── constants.scss │ │ ├── fonts.scss │ │ └── mixins.scss │ ├── styles.scss │ ├── tb-edge.ico │ ├── theme-overwrites.scss │ ├── theme.scss │ ├── theme │ │ └── datepicker-theme.scss │ ├── thingsboard.ico │ ├── tsconfig.app.json │ ├── typings │ │ ├── jquery.flot.typings.d.ts │ │ ├── jquery.jstree.typings.d.ts │ │ ├── jquery.typings.d.ts │ │ ├── leaflet-extend-tb.d.ts │ │ ├── leaflet-geoman-extend.d.ts │ │ ├── rawloader.typings.d.ts │ │ ├── split.js.typings.d.ts │ │ └── utils.d.ts │ └── zone-flags.ts ├── tailwind.config.js ├── tsconfig.json └── yarn.lock └── update-project-version.sh /.github/ISSUE_TEMPLATE/---bug-report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/.github/ISSUE_TEMPLATE/---bug-report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/.github/ISSUE_TEMPLATE/question.md -------------------------------------------------------------------------------- /.github/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/.github/release.yml -------------------------------------------------------------------------------- /.github/scripts/check_edge_version.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/.github/scripts/check_edge_version.py -------------------------------------------------------------------------------- /.github/workflows/check-configuration-files.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/.github/workflows/check-configuration-files.yml -------------------------------------------------------------------------------- /.github/workflows/check-edge-proto-version.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/.github/workflows/check-edge-proto-version.yml -------------------------------------------------------------------------------- /.github/workflows/license-header-format.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/.github/workflows/license-header-format.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/README.md -------------------------------------------------------------------------------- /add_new_edge_version.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/add_new_edge_version.py -------------------------------------------------------------------------------- /application/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/.gitignore -------------------------------------------------------------------------------- /application/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/pom.xml -------------------------------------------------------------------------------- /application/src/main/conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/conf/logback.xml -------------------------------------------------------------------------------- /application/src/main/conf/tb-edge.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/conf/tb-edge.conf -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/0.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/0.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/1.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/1.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/10.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/10.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/11.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/11.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/12.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/12.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/13.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/13.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/14.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/14.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/15.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/15.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/16.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/16.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/19.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/19.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/2.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/20.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/20.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/2048.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/2048.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/2049.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/2049.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/2050.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/2050.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/2051.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/2051.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/2052.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/2052.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/2053.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/2053.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/2054.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/2054.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/2055.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/2055.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/2056.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/2056.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/2057.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/2057.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/21.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/21.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/22.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/22.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/23.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/23.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/24.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/25.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/25.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/26.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/26.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/27.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/27.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/28.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/28.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3200.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3200.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3201.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3201.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3202.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3202.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3203.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3203.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3300.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3300.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3301.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3301.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3302.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3302.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3303.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3303.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3304.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3304.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3305.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3305.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3306.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3306.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3308.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3308.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3310.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3310.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3311.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3311.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3312.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3312.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3313.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3313.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3314.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3314.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3315.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3315.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3316.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3316.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3317.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3317.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3318.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3318.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3319.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3319.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3320.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3320.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3321.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3321.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3322.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3322.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3323.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3323.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3324.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3324.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3325.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3325.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3326.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3326.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3327.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3327.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3328.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3328.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3329.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3329.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3330.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3330.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3331.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3331.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3332.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3332.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3333.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3333.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3334.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3334.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3335.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3335.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3336.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3336.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3337.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3337.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3338.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3338.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3339.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3339.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3340.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3340.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3341.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3341.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3342.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3342.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3343.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3343.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3344.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3344.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3345.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3345.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3346.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3346.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3347.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3347.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3348.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3348.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3349.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3349.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3350.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3350.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3351.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3351.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3352.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3352.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3353.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3353.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3354.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3354.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3355.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3355.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3356.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3356.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3357.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3357.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3358.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3358.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3359.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3359.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3360.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3360.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3361.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3361.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3362.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3362.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3363.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3363.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3364.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3364.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3365.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3365.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3366.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3366.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3367.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3367.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3368.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3368.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3369.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3369.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3370.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3370.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3371.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3371.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3372.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3372.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3373.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3373.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3374.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3374.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3375.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3375.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3376.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3376.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3377.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3377.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3378.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3378.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3379.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3379.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3380.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3380.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3381.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3381.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3382.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3382.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3383.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3383.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3384.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3384.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3385.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3385.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3386.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3386.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3387.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3387.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3388.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3388.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3389.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3389.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3390.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3390.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3391.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3391.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3392.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3392.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3393.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3393.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3394.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3394.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3395.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3395.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3396.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3396.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3397.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3397.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3398.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3398.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3399.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3399.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3400.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3400.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3401.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3401.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3402.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3402.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3403.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3403.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3404.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3404.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3405.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3405.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3406.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3406.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3407.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3407.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3408.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3408.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3410.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3410.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3411.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3411.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3412.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3412.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3413.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3413.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3414.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3414.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3415.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3415.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3416.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3416.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/3417.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/3417.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/4.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/4.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/5.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/5.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/6.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/6.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/7.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/7.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/8.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/8.xml -------------------------------------------------------------------------------- /application/src/main/data/lwm2m-registry/9.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/data/lwm2m-registry/9.xml -------------------------------------------------------------------------------- /application/src/main/resources/banner.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/resources/banner.txt -------------------------------------------------------------------------------- /application/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/resources/logback.xml -------------------------------------------------------------------------------- /application/src/main/resources/tb-edge.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/main/resources/tb-edge.yml -------------------------------------------------------------------------------- /application/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/test/resources/logback-test.xml -------------------------------------------------------------------------------- /application/src/test/resources/lwm2m/0.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/test/resources/lwm2m/0.xml -------------------------------------------------------------------------------- /application/src/test/resources/lwm2m/1.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/test/resources/lwm2m/1.xml -------------------------------------------------------------------------------- /application/src/test/resources/lwm2m/19.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/test/resources/lwm2m/19.xml -------------------------------------------------------------------------------- /application/src/test/resources/lwm2m/2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/test/resources/lwm2m/2.xml -------------------------------------------------------------------------------- /application/src/test/resources/lwm2m/3-1_0.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/test/resources/lwm2m/3-1_0.xml -------------------------------------------------------------------------------- /application/src/test/resources/lwm2m/3-1_1.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/test/resources/lwm2m/3-1_1.xml -------------------------------------------------------------------------------- /application/src/test/resources/lwm2m/3-1_2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/test/resources/lwm2m/3-1_2.xml -------------------------------------------------------------------------------- /application/src/test/resources/lwm2m/3303.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/test/resources/lwm2m/3303.xml -------------------------------------------------------------------------------- /application/src/test/resources/lwm2m/5.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/test/resources/lwm2m/5.xml -------------------------------------------------------------------------------- /application/src/test/resources/lwm2m/6.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/test/resources/lwm2m/6.xml -------------------------------------------------------------------------------- /application/src/test/resources/lwm2m/9.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/application/src/test/resources/lwm2m/9.xml -------------------------------------------------------------------------------- /application/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker: -------------------------------------------------------------------------------- 1 | mock-maker-inline -------------------------------------------------------------------------------- /common/actor/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/actor/pom.xml -------------------------------------------------------------------------------- /common/cache/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/cache/pom.xml -------------------------------------------------------------------------------- /common/cluster-api/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/cluster-api/pom.xml -------------------------------------------------------------------------------- /common/coap-server/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/coap-server/pom.xml -------------------------------------------------------------------------------- /common/dao-api/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/dao-api/pom.xml -------------------------------------------------------------------------------- /common/data/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/data/pom.xml -------------------------------------------------------------------------------- /common/data/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/data/src/test/resources/logback-test.xml -------------------------------------------------------------------------------- /common/discovery-api/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/discovery-api/pom.xml -------------------------------------------------------------------------------- /common/edge-api/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/edge-api/pom.xml -------------------------------------------------------------------------------- /common/edge-api/src/main/proto/edge.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/edge-api/src/main/proto/edge.proto -------------------------------------------------------------------------------- /common/edqs/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/edqs/pom.xml -------------------------------------------------------------------------------- /common/message/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/message/pom.xml -------------------------------------------------------------------------------- /common/message/src/main/proto/tbmsg.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/message/src/main/proto/tbmsg.proto -------------------------------------------------------------------------------- /common/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/pom.xml -------------------------------------------------------------------------------- /common/proto/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/proto/pom.xml -------------------------------------------------------------------------------- /common/proto/src/main/proto/jsinvoke.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/proto/src/main/proto/jsinvoke.proto -------------------------------------------------------------------------------- /common/proto/src/main/proto/queue.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/proto/src/main/proto/queue.proto -------------------------------------------------------------------------------- /common/proto/src/main/proto/transport.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/proto/src/main/proto/transport.proto -------------------------------------------------------------------------------- /common/queue/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/queue/pom.xml -------------------------------------------------------------------------------- /common/script/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/script/pom.xml -------------------------------------------------------------------------------- /common/script/remote-js-client/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/script/remote-js-client/pom.xml -------------------------------------------------------------------------------- /common/script/script-api/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/script/script-api/pom.xml -------------------------------------------------------------------------------- /common/stats/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/stats/pom.xml -------------------------------------------------------------------------------- /common/transport/coap/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/transport/coap/pom.xml -------------------------------------------------------------------------------- /common/transport/http/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/transport/http/pom.xml -------------------------------------------------------------------------------- /common/transport/lwm2m/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/transport/lwm2m/pom.xml -------------------------------------------------------------------------------- /common/transport/mqtt/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/transport/mqtt/pom.xml -------------------------------------------------------------------------------- /common/transport/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/transport/pom.xml -------------------------------------------------------------------------------- /common/transport/snmp/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/transport/snmp/pom.xml -------------------------------------------------------------------------------- /common/transport/transport-api/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/transport/transport-api/pom.xml -------------------------------------------------------------------------------- /common/util/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/util/pom.xml -------------------------------------------------------------------------------- /common/util/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/util/src/test/resources/logback-test.xml -------------------------------------------------------------------------------- /common/version-control/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/common/version-control/pom.xml -------------------------------------------------------------------------------- /dao/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/dao/pom.xml -------------------------------------------------------------------------------- /dao/src/main/resources/cassandra/schema-ts.cql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/dao/src/main/resources/cassandra/schema-ts.cql -------------------------------------------------------------------------------- /dao/src/main/resources/sql/schema-entities.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/dao/src/main/resources/sql/schema-entities.sql -------------------------------------------------------------------------------- /dao/src/main/resources/sql/schema-timescale.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/dao/src/main/resources/sql/schema-timescale.sql -------------------------------------------------------------------------------- /dao/src/main/resources/sql/schema-ts-psql.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/dao/src/main/resources/sql/schema-ts-psql.sql -------------------------------------------------------------------------------- /dao/src/main/resources/xss-policy.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/dao/src/main/resources/xss-policy.xml -------------------------------------------------------------------------------- /dao/src/test/resources/TestJsonData.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/dao/src/test/resources/TestJsonData.json -------------------------------------------------------------------------------- /dao/src/test/resources/TestJsonDescriptor.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/dao/src/test/resources/TestJsonDescriptor.json -------------------------------------------------------------------------------- /dao/src/test/resources/cassandra-test.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/dao/src/test/resources/cassandra-test.yaml -------------------------------------------------------------------------------- /dao/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/dao/src/test/resources/logback-test.xml -------------------------------------------------------------------------------- /dao/src/test/resources/nosql-test.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/dao/src/test/resources/nosql-test.properties -------------------------------------------------------------------------------- /dao/src/test/resources/sql-test.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/dao/src/test/resources/sql-test.properties -------------------------------------------------------------------------------- /dao/src/test/resources/sql/system-data.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/dao/src/test/resources/sql/system-data.sql -------------------------------------------------------------------------------- /dao/src/test/resources/sql/system-test-psql.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/dao/src/test/resources/sql/system-test-psql.sql -------------------------------------------------------------------------------- /dao/src/test/resources/sql/system-test.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/dao/src/test/resources/sql/system-test.sql -------------------------------------------------------------------------------- /dao/src/test/resources/xss-policy.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/dao/src/test/resources/xss-policy.xml -------------------------------------------------------------------------------- /detect-old-version.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/detect-old-version.sh -------------------------------------------------------------------------------- /docker-edge/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/.env -------------------------------------------------------------------------------- /docker-edge/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/.gitignore -------------------------------------------------------------------------------- /docker-edge/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/README.md -------------------------------------------------------------------------------- /docker-edge/cache-redis-cluster.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/cache-redis-cluster.env -------------------------------------------------------------------------------- /docker-edge/cache-redis-sentinel.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/cache-redis-sentinel.env -------------------------------------------------------------------------------- /docker-edge/cache-redis.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/cache-redis.env -------------------------------------------------------------------------------- /docker-edge/compose-utils.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/compose-utils.sh -------------------------------------------------------------------------------- /docker-edge/docker-check-log-folders.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/docker-check-log-folders.sh -------------------------------------------------------------------------------- /docker-edge/docker-compose.hybrid.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/docker-compose.hybrid.yml -------------------------------------------------------------------------------- /docker-edge/docker-compose.postgres.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/docker-compose.postgres.yml -------------------------------------------------------------------------------- /docker-edge/docker-compose.redis-cluster.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/docker-compose.redis-cluster.yml -------------------------------------------------------------------------------- /docker-edge/docker-compose.redis-sentinel.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/docker-compose.redis-sentinel.yml -------------------------------------------------------------------------------- /docker-edge/docker-compose.redis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/docker-compose.redis.yml -------------------------------------------------------------------------------- /docker-edge/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/docker-compose.yml -------------------------------------------------------------------------------- /docker-edge/docker-create-log-folders.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/docker-create-log-folders.sh -------------------------------------------------------------------------------- /docker-edge/docker-install-tb.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/docker-install-tb.sh -------------------------------------------------------------------------------- /docker-edge/docker-remove-services.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/docker-remove-services.sh -------------------------------------------------------------------------------- /docker-edge/docker-start-services.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/docker-start-services.sh -------------------------------------------------------------------------------- /docker-edge/docker-stop-services.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/docker-stop-services.sh -------------------------------------------------------------------------------- /docker-edge/docker-update-service.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/docker-update-service.sh -------------------------------------------------------------------------------- /docker-edge/docker-upgrade-tb.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/docker-upgrade-tb.sh -------------------------------------------------------------------------------- /docker-edge/haproxy/config/haproxy.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/haproxy/config/haproxy.cfg -------------------------------------------------------------------------------- /docker-edge/kafka.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/kafka.env -------------------------------------------------------------------------------- /docker-edge/monitoring/grafana/config.monitoring: -------------------------------------------------------------------------------- 1 | GF_SECURITY_ADMIN_PASSWORD=foobar 2 | GF_USERS_ALLOW_SIGN_UP=false 3 | -------------------------------------------------------------------------------- /docker-edge/tb-edge.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/tb-edge.env -------------------------------------------------------------------------------- /docker-edge/tb-edge.hybrid.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/tb-edge.hybrid.env -------------------------------------------------------------------------------- /docker-edge/tb-edge.postgres.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/tb-edge.postgres.env -------------------------------------------------------------------------------- /docker-edge/tb-edge/conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/tb-edge/conf/logback.xml -------------------------------------------------------------------------------- /docker-edge/tb-edge/conf/tb-edge.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker-edge/tb-edge/conf/tb-edge.conf -------------------------------------------------------------------------------- /docker/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/.env -------------------------------------------------------------------------------- /docker/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/.gitignore -------------------------------------------------------------------------------- /docker/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/README.md -------------------------------------------------------------------------------- /docker/cache-valkey-cluster.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/cache-valkey-cluster.env -------------------------------------------------------------------------------- /docker/cache-valkey-sentinel.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/cache-valkey-sentinel.env -------------------------------------------------------------------------------- /docker/cache-valkey.env: -------------------------------------------------------------------------------- 1 | CACHE_TYPE=redis 2 | REDIS_HOST=valkey 3 | -------------------------------------------------------------------------------- /docker/compose-utils.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/compose-utils.sh -------------------------------------------------------------------------------- /docker/docker-check-log-folders.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-check-log-folders.sh -------------------------------------------------------------------------------- /docker/docker-compose.cassandra.volumes.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-compose.cassandra.volumes.yml -------------------------------------------------------------------------------- /docker/docker-compose.confluent.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-compose.confluent.yml -------------------------------------------------------------------------------- /docker/docker-compose.edqs.volumes.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-compose.edqs.volumes.yml -------------------------------------------------------------------------------- /docker/docker-compose.edqs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-compose.edqs.yml -------------------------------------------------------------------------------- /docker/docker-compose.hybrid.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-compose.hybrid.yml -------------------------------------------------------------------------------- /docker/docker-compose.kafka.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-compose.kafka.yml -------------------------------------------------------------------------------- /docker/docker-compose.postgres.volumes.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-compose.postgres.volumes.yml -------------------------------------------------------------------------------- /docker/docker-compose.postgres.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-compose.postgres.yml -------------------------------------------------------------------------------- /docker/docker-compose.prometheus-grafana.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-compose.prometheus-grafana.yml -------------------------------------------------------------------------------- /docker/docker-compose.valkey-cluster.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-compose.valkey-cluster.yml -------------------------------------------------------------------------------- /docker/docker-compose.valkey-sentinel.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-compose.valkey-sentinel.yml -------------------------------------------------------------------------------- /docker/docker-compose.valkey.volumes.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-compose.valkey.volumes.yml -------------------------------------------------------------------------------- /docker/docker-compose.valkey.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-compose.valkey.yml -------------------------------------------------------------------------------- /docker/docker-compose.volumes.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-compose.volumes.yml -------------------------------------------------------------------------------- /docker/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-compose.yml -------------------------------------------------------------------------------- /docker/docker-create-log-folders.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-create-log-folders.sh -------------------------------------------------------------------------------- /docker/docker-install-tb.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-install-tb.sh -------------------------------------------------------------------------------- /docker/docker-remove-services.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-remove-services.sh -------------------------------------------------------------------------------- /docker/docker-start-services.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-start-services.sh -------------------------------------------------------------------------------- /docker/docker-stop-services.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-stop-services.sh -------------------------------------------------------------------------------- /docker/docker-update-service.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-update-service.sh -------------------------------------------------------------------------------- /docker/docker-upgrade-tb.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/docker-upgrade-tb.sh -------------------------------------------------------------------------------- /docker/haproxy/config/blocklist.txt: -------------------------------------------------------------------------------- 1 | # Blocked subnets and IPs. Use CIDR or IP by one per line 2 | 5.136.0.0/13 3 | 217.199.254.1 4 | -------------------------------------------------------------------------------- /docker/haproxy/config/haproxy.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/haproxy/config/haproxy.cfg -------------------------------------------------------------------------------- /docker/haproxy/config/trustlist.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/haproxy/config/trustlist.txt -------------------------------------------------------------------------------- /docker/kafka.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/kafka.env -------------------------------------------------------------------------------- /docker/monitoring/grafana/config.monitoring: -------------------------------------------------------------------------------- 1 | GF_SECURITY_ADMIN_PASSWORD=foobar 2 | GF_USERS_ALLOW_SIGN_UP=false 3 | -------------------------------------------------------------------------------- /docker/monitoring/prometheus/prometheus.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/monitoring/prometheus/prometheus.yml -------------------------------------------------------------------------------- /docker/queue-confluent.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/queue-confluent.env -------------------------------------------------------------------------------- /docker/queue-kafka.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/queue-kafka.env -------------------------------------------------------------------------------- /docker/tb-coap-transport.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-coap-transport.env -------------------------------------------------------------------------------- /docker/tb-core-edqs.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-core-edqs.env -------------------------------------------------------------------------------- /docker/tb-edqs.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-edqs.env -------------------------------------------------------------------------------- /docker/tb-edqs/conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-edqs/conf/logback.xml -------------------------------------------------------------------------------- /docker/tb-edqs/conf/tb-edqs.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-edqs/conf/tb-edqs.conf -------------------------------------------------------------------------------- /docker/tb-http-transport.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-http-transport.env -------------------------------------------------------------------------------- /docker/tb-js-executor.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-js-executor.env -------------------------------------------------------------------------------- /docker/tb-lwm2m-transport.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-lwm2m-transport.env -------------------------------------------------------------------------------- /docker/tb-mqtt-transport.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-mqtt-transport.env -------------------------------------------------------------------------------- /docker/tb-node.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-node.env -------------------------------------------------------------------------------- /docker/tb-node.hybrid.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-node.hybrid.env -------------------------------------------------------------------------------- /docker/tb-node.postgres.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-node.postgres.env -------------------------------------------------------------------------------- /docker/tb-node/conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-node/conf/logback.xml -------------------------------------------------------------------------------- /docker/tb-node/conf/thingsboard.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-node/conf/thingsboard.conf -------------------------------------------------------------------------------- /docker/tb-rule-engine-edqs.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-rule-engine-edqs.env -------------------------------------------------------------------------------- /docker/tb-snmp-transport.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-snmp-transport.env -------------------------------------------------------------------------------- /docker/tb-transports/coap/conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-transports/coap/conf/logback.xml -------------------------------------------------------------------------------- /docker/tb-transports/http/conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-transports/http/conf/logback.xml -------------------------------------------------------------------------------- /docker/tb-transports/lwm2m/conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-transports/lwm2m/conf/logback.xml -------------------------------------------------------------------------------- /docker/tb-transports/mqtt/conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-transports/mqtt/conf/logback.xml -------------------------------------------------------------------------------- /docker/tb-transports/snmp/conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-transports/snmp/conf/logback.xml -------------------------------------------------------------------------------- /docker/tb-vc-executor.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-vc-executor.env -------------------------------------------------------------------------------- /docker/tb-vc-executor/conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-vc-executor/conf/logback.xml -------------------------------------------------------------------------------- /docker/tb-vc-executor/conf/tb-vc-executor.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-vc-executor/conf/tb-vc-executor.conf -------------------------------------------------------------------------------- /docker/tb-web-ui.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/docker/tb-web-ui.env -------------------------------------------------------------------------------- /edqs/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/edqs/pom.xml -------------------------------------------------------------------------------- /edqs/src/main/conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/edqs/src/main/conf/logback.xml -------------------------------------------------------------------------------- /edqs/src/main/conf/tb-edqs.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/edqs/src/main/conf/tb-edqs.conf -------------------------------------------------------------------------------- /edqs/src/main/resources/edqs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/edqs/src/main/resources/edqs.yml -------------------------------------------------------------------------------- /edqs/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/edqs/src/main/resources/logback.xml -------------------------------------------------------------------------------- /edqs/src/test/resources/edqs-test.properties: -------------------------------------------------------------------------------- 1 | zk.enabled=false 2 | service.type=edqs 3 | -------------------------------------------------------------------------------- /img/batch-update.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/img/batch-update.png -------------------------------------------------------------------------------- /img/dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/img/dashboard.png -------------------------------------------------------------------------------- /img/data-filtering.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/img/data-filtering.svg -------------------------------------------------------------------------------- /img/local-alarms.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/img/local-alarms.svg -------------------------------------------------------------------------------- /img/local-deployment.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/img/local-deployment.svg -------------------------------------------------------------------------------- /img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/img/logo.png -------------------------------------------------------------------------------- /img/thingsboard-e-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/img/thingsboard-e-icon.png -------------------------------------------------------------------------------- /license-header-template.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/license-header-template.txt -------------------------------------------------------------------------------- /lombok.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/lombok.config -------------------------------------------------------------------------------- /monitoring/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/monitoring/pom.xml -------------------------------------------------------------------------------- /monitoring/src/main/conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/monitoring/src/main/conf/logback.xml -------------------------------------------------------------------------------- /monitoring/src/main/conf/tb-monitoring.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/monitoring/src/main/conf/tb-monitoring.conf -------------------------------------------------------------------------------- /monitoring/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/monitoring/src/main/resources/logback.xml -------------------------------------------------------------------------------- /monitoring/src/main/resources/rule_chain.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/monitoring/src/main/resources/rule_chain.json -------------------------------------------------------------------------------- /monitoring/src/main/resources/tb-monitoring.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/monitoring/src/main/resources/tb-monitoring.yml -------------------------------------------------------------------------------- /msa/black-box-tests/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/black-box-tests/README.md -------------------------------------------------------------------------------- /msa/black-box-tests/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/black-box-tests/pom.xml -------------------------------------------------------------------------------- /msa/black-box-tests/src/test/resources/all.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/black-box-tests/src/test/resources/all.xml -------------------------------------------------------------------------------- /msa/edqs/docker/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/edqs/docker/Dockerfile -------------------------------------------------------------------------------- /msa/edqs/docker/start-tb-edqs.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/edqs/docker/start-tb-edqs.sh -------------------------------------------------------------------------------- /msa/edqs/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/edqs/pom.xml -------------------------------------------------------------------------------- /msa/js-executor/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/js-executor/.gitignore -------------------------------------------------------------------------------- /msa/js-executor/api/httpServer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/js-executor/api/httpServer.ts -------------------------------------------------------------------------------- /msa/js-executor/api/jsExecutor.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/js-executor/api/jsExecutor.models.ts -------------------------------------------------------------------------------- /msa/js-executor/api/jsExecutor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/js-executor/api/jsExecutor.ts -------------------------------------------------------------------------------- /msa/js-executor/api/jsInvokeMessageProcessor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/js-executor/api/jsInvokeMessageProcessor.ts -------------------------------------------------------------------------------- /msa/js-executor/api/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/js-executor/api/utils.ts -------------------------------------------------------------------------------- /msa/js-executor/config/default.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/js-executor/config/default.yml -------------------------------------------------------------------------------- /msa/js-executor/config/logger.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/js-executor/config/logger.ts -------------------------------------------------------------------------------- /msa/js-executor/config/tb-js-executor.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/js-executor/config/tb-js-executor.conf -------------------------------------------------------------------------------- /msa/js-executor/docker/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/js-executor/docker/Dockerfile -------------------------------------------------------------------------------- /msa/js-executor/docker/start-js-executor.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/js-executor/docker/start-js-executor.sh -------------------------------------------------------------------------------- /msa/js-executor/install.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/js-executor/install.js -------------------------------------------------------------------------------- /msa/js-executor/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/js-executor/package.json -------------------------------------------------------------------------------- /msa/js-executor/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/js-executor/pom.xml -------------------------------------------------------------------------------- /msa/js-executor/queue/kafkaTemplate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/js-executor/queue/kafkaTemplate.ts -------------------------------------------------------------------------------- /msa/js-executor/queue/queue.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/js-executor/queue/queue.models.ts -------------------------------------------------------------------------------- /msa/js-executor/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/js-executor/server.ts -------------------------------------------------------------------------------- /msa/js-executor/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/js-executor/tsconfig.json -------------------------------------------------------------------------------- /msa/js-executor/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/js-executor/yarn.lock -------------------------------------------------------------------------------- /msa/monitoring/docker/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/monitoring/docker/Dockerfile -------------------------------------------------------------------------------- /msa/monitoring/docker/start-tb-monitoring.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/monitoring/docker/start-tb-monitoring.sh -------------------------------------------------------------------------------- /msa/monitoring/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/monitoring/pom.xml -------------------------------------------------------------------------------- /msa/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/pom.xml -------------------------------------------------------------------------------- /msa/tb-edge-node/docker/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb-edge-node/docker/Dockerfile -------------------------------------------------------------------------------- /msa/tb-edge-node/docker/start-tb-edge-node.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb-edge-node/docker/start-tb-edge-node.sh -------------------------------------------------------------------------------- /msa/tb-edge-node/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb-edge-node/pom.xml -------------------------------------------------------------------------------- /msa/tb-edge/docker-tb-edge/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb-edge/docker-tb-edge/Dockerfile -------------------------------------------------------------------------------- /msa/tb-edge/docker/install-tb-edge.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb-edge/docker/install-tb-edge.sh -------------------------------------------------------------------------------- /msa/tb-edge/docker/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb-edge/docker/logback.xml -------------------------------------------------------------------------------- /msa/tb-edge/docker/start-tb-edge.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb-edge/docker/start-tb-edge.sh -------------------------------------------------------------------------------- /msa/tb-edge/docker/tb-edge.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb-edge/docker/tb-edge.conf -------------------------------------------------------------------------------- /msa/tb-edge/docker/upgrade-tb-edge.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb-edge/docker/upgrade-tb-edge.sh -------------------------------------------------------------------------------- /msa/tb-edge/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb-edge/pom.xml -------------------------------------------------------------------------------- /msa/tb-node/docker/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb-node/docker/Dockerfile -------------------------------------------------------------------------------- /msa/tb-node/docker/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb-node/docker/logback.xml -------------------------------------------------------------------------------- /msa/tb-node/docker/start-tb-node.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb-node/docker/start-tb-node.sh -------------------------------------------------------------------------------- /msa/tb-node/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb-node/pom.xml -------------------------------------------------------------------------------- /msa/tb/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb/README.md -------------------------------------------------------------------------------- /msa/tb/docker-cassandra/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb/docker-cassandra/Dockerfile -------------------------------------------------------------------------------- /msa/tb/docker-cassandra/start-db.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb/docker-cassandra/start-db.sh -------------------------------------------------------------------------------- /msa/tb/docker-cassandra/stop-db.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb/docker-cassandra/stop-db.sh -------------------------------------------------------------------------------- /msa/tb/docker-postgres/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb/docker-postgres/Dockerfile -------------------------------------------------------------------------------- /msa/tb/docker-postgres/start-db.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb/docker-postgres/start-db.sh -------------------------------------------------------------------------------- /msa/tb/docker-postgres/stop-db.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb/docker-postgres/stop-db.sh -------------------------------------------------------------------------------- /msa/tb/docker/install-tb.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb/docker/install-tb.sh -------------------------------------------------------------------------------- /msa/tb/docker/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb/docker/logback.xml -------------------------------------------------------------------------------- /msa/tb/docker/start-tb.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb/docker/start-tb.sh -------------------------------------------------------------------------------- /msa/tb/docker/thingsboard.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb/docker/thingsboard.conf -------------------------------------------------------------------------------- /msa/tb/docker/upgrade-tb.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb/docker/upgrade-tb.sh -------------------------------------------------------------------------------- /msa/tb/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/tb/pom.xml -------------------------------------------------------------------------------- /msa/transport/coap/docker/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/transport/coap/docker/Dockerfile -------------------------------------------------------------------------------- /msa/transport/coap/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/transport/coap/pom.xml -------------------------------------------------------------------------------- /msa/transport/http/docker/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/transport/http/docker/Dockerfile -------------------------------------------------------------------------------- /msa/transport/http/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/transport/http/pom.xml -------------------------------------------------------------------------------- /msa/transport/lwm2m/docker/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/transport/lwm2m/docker/Dockerfile -------------------------------------------------------------------------------- /msa/transport/lwm2m/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/transport/lwm2m/pom.xml -------------------------------------------------------------------------------- /msa/transport/mqtt/docker/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/transport/mqtt/docker/Dockerfile -------------------------------------------------------------------------------- /msa/transport/mqtt/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/transport/mqtt/pom.xml -------------------------------------------------------------------------------- /msa/transport/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/transport/pom.xml -------------------------------------------------------------------------------- /msa/transport/snmp/docker/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/transport/snmp/docker/Dockerfile -------------------------------------------------------------------------------- /msa/transport/snmp/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/transport/snmp/pom.xml -------------------------------------------------------------------------------- /msa/vc-executor-docker/docker/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/vc-executor-docker/docker/Dockerfile -------------------------------------------------------------------------------- /msa/vc-executor-docker/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/vc-executor-docker/pom.xml -------------------------------------------------------------------------------- /msa/vc-executor/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/vc-executor/pom.xml -------------------------------------------------------------------------------- /msa/vc-executor/src/main/conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/vc-executor/src/main/conf/logback.xml -------------------------------------------------------------------------------- /msa/vc-executor/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/vc-executor/src/main/resources/logback.xml -------------------------------------------------------------------------------- /msa/web-ui/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/web-ui/.gitignore -------------------------------------------------------------------------------- /msa/web-ui/config/default.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/web-ui/config/default.yml -------------------------------------------------------------------------------- /msa/web-ui/config/logger.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/web-ui/config/logger.ts -------------------------------------------------------------------------------- /msa/web-ui/config/tb-web-ui.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/web-ui/config/tb-web-ui.conf -------------------------------------------------------------------------------- /msa/web-ui/docker/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/web-ui/docker/Dockerfile -------------------------------------------------------------------------------- /msa/web-ui/docker/start-web-ui.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/web-ui/docker/start-web-ui.sh -------------------------------------------------------------------------------- /msa/web-ui/install.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/web-ui/install.js -------------------------------------------------------------------------------- /msa/web-ui/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/web-ui/package.json -------------------------------------------------------------------------------- /msa/web-ui/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/web-ui/pom.xml -------------------------------------------------------------------------------- /msa/web-ui/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/web-ui/server.ts -------------------------------------------------------------------------------- /msa/web-ui/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/web-ui/tsconfig.json -------------------------------------------------------------------------------- /msa/web-ui/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/msa/web-ui/yarn.lock -------------------------------------------------------------------------------- /netty-mqtt/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/netty-mqtt/.gitignore -------------------------------------------------------------------------------- /netty-mqtt/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/netty-mqtt/pom.xml -------------------------------------------------------------------------------- /netty-mqtt/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/netty-mqtt/src/test/resources/logback-test.xml -------------------------------------------------------------------------------- /packaging/java/assembly/windows.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/assembly/windows.xml -------------------------------------------------------------------------------- /packaging/java/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/build.gradle -------------------------------------------------------------------------------- /packaging/java/filters/unix.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/filters/unix.properties -------------------------------------------------------------------------------- /packaging/java/filters/windows.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/filters/windows.properties -------------------------------------------------------------------------------- /packaging/java/scripts/control/deb/postinst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/scripts/control/deb/postinst -------------------------------------------------------------------------------- /packaging/java/scripts/control/deb/postrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/scripts/control/deb/postrm -------------------------------------------------------------------------------- /packaging/java/scripts/control/deb/preinst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/scripts/control/deb/preinst -------------------------------------------------------------------------------- /packaging/java/scripts/control/deb/prerm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/scripts/control/deb/prerm -------------------------------------------------------------------------------- /packaging/java/scripts/control/rpm/postinst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/scripts/control/rpm/postinst -------------------------------------------------------------------------------- /packaging/java/scripts/control/rpm/postrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/scripts/control/rpm/postrm -------------------------------------------------------------------------------- /packaging/java/scripts/control/rpm/preinst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/scripts/control/rpm/preinst -------------------------------------------------------------------------------- /packaging/java/scripts/control/rpm/prerm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/scripts/control/rpm/prerm -------------------------------------------------------------------------------- /packaging/java/scripts/control/template.service: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/scripts/control/template.service -------------------------------------------------------------------------------- /packaging/java/scripts/install/install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/scripts/install/install.sh -------------------------------------------------------------------------------- /packaging/java/scripts/install/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/scripts/install/logback.xml -------------------------------------------------------------------------------- /packaging/java/scripts/install/upgrade.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/scripts/install/upgrade.sh -------------------------------------------------------------------------------- /packaging/java/scripts/windows/install.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/scripts/windows/install.bat -------------------------------------------------------------------------------- /packaging/java/scripts/windows/service.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/scripts/windows/service.xml -------------------------------------------------------------------------------- /packaging/java/scripts/windows/uninstall.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/scripts/windows/uninstall.bat -------------------------------------------------------------------------------- /packaging/java/scripts/windows/upgrade.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/java/scripts/windows/upgrade.bat -------------------------------------------------------------------------------- /packaging/js/assembly/windows.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/js/assembly/windows.xml -------------------------------------------------------------------------------- /packaging/js/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/js/build.gradle -------------------------------------------------------------------------------- /packaging/js/filters/unix.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/js/filters/unix.properties -------------------------------------------------------------------------------- /packaging/js/filters/windows.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/js/filters/windows.properties -------------------------------------------------------------------------------- /packaging/js/scripts/control/deb/postinst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/js/scripts/control/deb/postinst -------------------------------------------------------------------------------- /packaging/js/scripts/control/deb/postrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/js/scripts/control/deb/postrm -------------------------------------------------------------------------------- /packaging/js/scripts/control/deb/preinst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/js/scripts/control/deb/preinst -------------------------------------------------------------------------------- /packaging/js/scripts/control/deb/prerm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/js/scripts/control/deb/prerm -------------------------------------------------------------------------------- /packaging/js/scripts/control/rpm/postinst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/js/scripts/control/rpm/postinst -------------------------------------------------------------------------------- /packaging/js/scripts/control/rpm/postrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/js/scripts/control/rpm/postrm -------------------------------------------------------------------------------- /packaging/js/scripts/control/rpm/preinst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/js/scripts/control/rpm/preinst -------------------------------------------------------------------------------- /packaging/js/scripts/control/rpm/prerm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/js/scripts/control/rpm/prerm -------------------------------------------------------------------------------- /packaging/js/scripts/control/template.service: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/js/scripts/control/template.service -------------------------------------------------------------------------------- /packaging/js/scripts/init/template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/js/scripts/init/template -------------------------------------------------------------------------------- /packaging/js/scripts/windows/install.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/js/scripts/windows/install.bat -------------------------------------------------------------------------------- /packaging/js/scripts/windows/service.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/js/scripts/windows/service.xml -------------------------------------------------------------------------------- /packaging/js/scripts/windows/uninstall.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/packaging/js/scripts/windows/uninstall.bat -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/pom.xml -------------------------------------------------------------------------------- /pull_request_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/pull_request_template.md -------------------------------------------------------------------------------- /rest-client/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/rest-client/pom.xml -------------------------------------------------------------------------------- /rest-client/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/rest-client/src/main/resources/logback.xml -------------------------------------------------------------------------------- /rule-engine/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/rule-engine/pom.xml -------------------------------------------------------------------------------- /rule-engine/rule-engine-api/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/rule-engine/rule-engine-api/pom.xml -------------------------------------------------------------------------------- /rule-engine/rule-engine-components/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/rule-engine/rule-engine-components/pom.xml -------------------------------------------------------------------------------- /rule-engine/rule-engine-components/src/test/resources/pem/empty.pem: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /security.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/security.md -------------------------------------------------------------------------------- /tools/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/tools/pom.xml -------------------------------------------------------------------------------- /tools/src/main/python/check_yml_file.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/tools/src/main/python/check_yml_file.py -------------------------------------------------------------------------------- /tools/src/main/python/mqtt-send-telemetry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/tools/src/main/python/mqtt-send-telemetry.py -------------------------------------------------------------------------------- /tools/src/main/python/simple-mqtt-client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/tools/src/main/python/simple-mqtt-client.py -------------------------------------------------------------------------------- /tools/src/main/shell/client.keygen.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/tools/src/main/shell/client.keygen.sh -------------------------------------------------------------------------------- /tools/src/main/shell/keygen.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/tools/src/main/shell/keygen.properties -------------------------------------------------------------------------------- /tools/src/main/shell/server.keygen.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/tools/src/main/shell/server.keygen.sh -------------------------------------------------------------------------------- /transport/coap/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/transport/coap/pom.xml -------------------------------------------------------------------------------- /transport/coap/src/main/conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/transport/coap/src/main/conf/logback.xml -------------------------------------------------------------------------------- /transport/coap/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/transport/coap/src/main/resources/logback.xml -------------------------------------------------------------------------------- /transport/http/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/transport/http/pom.xml -------------------------------------------------------------------------------- /transport/http/src/main/conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/transport/http/src/main/conf/logback.xml -------------------------------------------------------------------------------- /transport/http/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/transport/http/src/main/resources/logback.xml -------------------------------------------------------------------------------- /transport/lwm2m/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/transport/lwm2m/pom.xml -------------------------------------------------------------------------------- /transport/lwm2m/src/main/conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/transport/lwm2m/src/main/conf/logback.xml -------------------------------------------------------------------------------- /transport/lwm2m/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/transport/lwm2m/src/main/resources/logback.xml -------------------------------------------------------------------------------- /transport/mqtt/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/transport/mqtt/pom.xml -------------------------------------------------------------------------------- /transport/mqtt/src/main/conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/transport/mqtt/src/main/conf/logback.xml -------------------------------------------------------------------------------- /transport/mqtt/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/transport/mqtt/src/main/resources/logback.xml -------------------------------------------------------------------------------- /transport/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/transport/pom.xml -------------------------------------------------------------------------------- /transport/snmp/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/transport/snmp/pom.xml -------------------------------------------------------------------------------- /transport/snmp/src/main/conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/transport/snmp/src/main/conf/logback.xml -------------------------------------------------------------------------------- /transport/snmp/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/transport/snmp/src/main/resources/logback.xml -------------------------------------------------------------------------------- /ui-ngx/.browserslistrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/.browserslistrc -------------------------------------------------------------------------------- /ui-ngx/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/.editorconfig -------------------------------------------------------------------------------- /ui-ngx/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/.gitignore -------------------------------------------------------------------------------- /ui-ngx/.yarnrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/.yarnrc -------------------------------------------------------------------------------- /ui-ngx/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/LICENSE -------------------------------------------------------------------------------- /ui-ngx/angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/angular.json -------------------------------------------------------------------------------- /ui-ngx/esbuild/tb-esbuild-plugins.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/esbuild/tb-esbuild-plugins.ts -------------------------------------------------------------------------------- /ui-ngx/esbuild/tb-html-fallback-middleware.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/esbuild/tb-html-fallback-middleware.ts -------------------------------------------------------------------------------- /ui-ngx/eslint.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/eslint.config.mjs -------------------------------------------------------------------------------- /ui-ngx/generate-icon-metadata.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/generate-icon-metadata.js -------------------------------------------------------------------------------- /ui-ngx/generate-types.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/generate-types.js -------------------------------------------------------------------------------- /ui-ngx/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/package.json -------------------------------------------------------------------------------- /ui-ngx/patches/@angular+build+18.2.12.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/patches/@angular+build+18.2.12.patch -------------------------------------------------------------------------------- /ui-ngx/patches/@angular+core+18.2.13.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/patches/@angular+core+18.2.13.patch -------------------------------------------------------------------------------- /ui-ngx/patches/@angular+material+18.2.14.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/patches/@angular+material+18.2.14.patch -------------------------------------------------------------------------------- /ui-ngx/patches/angular-gridster2+18.0.1.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/patches/angular-gridster2+18.0.1.patch -------------------------------------------------------------------------------- /ui-ngx/patches/canvas-gauges+2.1.7.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/patches/canvas-gauges+2.1.7.patch -------------------------------------------------------------------------------- /ui-ngx/patches/jquery.terminal+2.44.1.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/patches/jquery.terminal+2.44.1.patch -------------------------------------------------------------------------------- /ui-ngx/patches/tooltipster+4.2.8.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/patches/tooltipster+4.2.8.patch -------------------------------------------------------------------------------- /ui-ngx/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/pom.xml -------------------------------------------------------------------------------- /ui-ngx/proxy.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/proxy.conf.js -------------------------------------------------------------------------------- /ui-ngx/src/app/app-routing.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/app-routing.module.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/app.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/app.component.html -------------------------------------------------------------------------------- /ui-ngx/src/app/app.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/app.component.scss -------------------------------------------------------------------------------- /ui-ngx/src/app/app.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/app.component.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/app.module.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/api/alarm-data.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/api/alarm-data.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/api/alias-controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/api/alias-controller.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/api/data-aggregator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/api/data-aggregator.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/api/entity-data.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/api/entity-data.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/api/public-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/api/public-api.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/api/widget-api.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/api/widget-api.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/api/widget-subscription.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/api/widget-subscription.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/auth/auth.actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/auth/auth.actions.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/auth/auth.effects.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/auth/auth.effects.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/auth/auth.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/auth/auth.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/auth/auth.reducer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/auth/auth.reducer.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/auth/auth.selectors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/auth/auth.selectors.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/auth/auth.service.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/auth/auth.service.spec.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/auth/auth.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/auth/auth.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/auth/public-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/auth/public-api.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/core.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/core.module.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/core.state.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/core.state.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/css/css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/css/css.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/guards/auth.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/guards/auth.guard.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/admin.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/admin.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/ai-model.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/ai-model.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/alarm.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/alarm.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/api-key.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/api-key.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/asset.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/asset.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/attribute.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/attribute.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/audit-log.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/audit-log.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/customer.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/customer.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/dashboard.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/dashboard.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/device.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/device.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/domain.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/domain.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/edge.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/edge.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/entity-view.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/entity-view.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/entity.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/entity.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/event.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/event.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/git-hub.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/git-hub.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/http-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/http-utils.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/image.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/image.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/mobile-app.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/mobile-app.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/oauth2.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/oauth2.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/ota-package.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/ota-package.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/public-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/public-api.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/queue.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/queue.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/resource.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/resource.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/rule-chain.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/rule-chain.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/tenant.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/tenant.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/ui-settings.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/ui-settings.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/usage-info.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/usage-info.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/user.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/user.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/http/widget.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/http/widget.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/interceptors/load.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/interceptors/load.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/operator/enterZone.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/operator/enterZone.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/public-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/public-api.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/services/dialog.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/services/dialog.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/services/help.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/services/help.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/services/menu.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/services/menu.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/services/menu.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/services/menu.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/services/mobile.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/services/mobile.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/services/public-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/services/public-api.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/services/raf.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/services/raf.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/services/time.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/services/time.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/services/title.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/services/title.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/services/unit.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/services/unit.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/services/utils.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/services/utils.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/services/window.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/services/window.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/settings/settings.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/settings/settings.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/settings/settings.utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/settings/settings.utils.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/utils.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/ws/public-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/ws/public-api.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/core/ws/websocket.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/core/ws/websocket.service.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/modules/common/modules-map.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/modules/common/modules-map.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/modules/home/home.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/modules/home/home.component.html -------------------------------------------------------------------------------- /ui-ngx/src/app/modules/home/home.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/modules/home/home.component.scss -------------------------------------------------------------------------------- /ui-ngx/src/app/modules/home/home.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/modules/home/home.component.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/modules/home/home.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/modules/home/home.module.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/modules/home/pages/public-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/modules/home/pages/public-api.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/modules/home/public-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/modules/home/public-api.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/modules/login/login.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/modules/login/login.module.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/components/breadcrumb.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/components/breadcrumb.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/components/public-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/components/public-api.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/components/tokens.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/components/tokens.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/decorators/coercion.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/decorators/coercion.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/decorators/enumerable.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/decorators/enumerable.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/decorators/public-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/decorators/public-api.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/directives/public-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/directives/public-api.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/legacy/json-form-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/legacy/json-form-utils.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/ace/ace.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/ace/ace.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/ai-model.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/ai-model.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/alarm.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/alarm.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/alias.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/alias.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/api-key.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/api-key.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/asset.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/asset.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/authority.enum.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/authority.enum.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/base-data.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/base-data.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/beautify.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/beautify.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/color.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/color.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/common.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/common.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/constants.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/country.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/country.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/customer.model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/customer.model.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/device.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/device.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/edge.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/edge.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/entity.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/entity.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/error.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/error.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/event.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/event.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/icon.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/icon.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/id/ai-model-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/id/ai-model-id.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/id/alarm-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/id/alarm-id.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/id/api-key-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/id/api-key-id.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/id/asset-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/id/asset-id.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/id/audit-log-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/id/audit-log-id.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/id/customer-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/id/customer-id.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/id/dashboard-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/id/dashboard-id.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/id/device-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/id/device-id.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/id/domain-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/id/domain-id.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/id/edge-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/id/edge-id.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/id/entity-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/id/entity-id.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/id/event-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/id/event-id.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/id/has-uuid.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/id/has-uuid.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/id/public-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/id/public-api.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/id/queue-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/id/queue-id.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/id/rpc-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/id/rpc-id.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/id/rule-node-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/id/rule-node-id.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/id/tenant-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/id/tenant-id.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/id/user-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/id/user-id.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/login.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/login.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/material.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/material.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/mqtt.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/mqtt.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/oauth2.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/oauth2.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/overlay.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/overlay.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/page/page-data.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/page/page-data.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/page/page-link.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/page/page-link.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/page/public-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/page/public-api.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/page/sort-order.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/page/sort-order.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/password.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/password.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/public-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/public-api.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/queue.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/queue.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/regex.constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/regex.constants.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/relation.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/relation.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/resource.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/resource.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/rpc.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/rpc.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/settings.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/settings.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/tenant.model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/tenant.model.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/unit.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/unit.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/acidity.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/acidity.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/angle.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/angle.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/area.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/area.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/charge.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/charge.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/density.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/density.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/digital.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/digital.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/energy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/energy.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/force.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/force.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/frequency.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/frequency.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/length.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/length.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/mass.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/mass.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/power.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/power.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/pressure.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/pressure.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/radiance.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/radiance.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/speed.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/speed.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/time.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/time.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/torque.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/torque.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/turbidity.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/turbidity.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/voltage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/voltage.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/units/volume.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/units/volume.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/usage.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/usage.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/user.model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/user.model.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/vc.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/vc.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/models/widget.models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/models/widget.models.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/pipe/date-ago.pipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/pipe/date-ago.pipe.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/pipe/file-size.pipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/pipe/file-size.pipe.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/pipe/highlight.pipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/pipe/highlight.pipe.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/pipe/image.pipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/pipe/image.pipe.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/pipe/nospace.pipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/pipe/nospace.pipe.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/pipe/public-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/pipe/public-api.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/pipe/safe.pipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/pipe/safe.pipe.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/pipe/short-number.pipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/pipe/short-number.pipe.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/pipe/tbJson.pipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/pipe/tbJson.pipe.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/pipe/truncate.pipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/pipe/truncate.pipe.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/public-api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/public-api.ts -------------------------------------------------------------------------------- /ui-ngx/src/app/shared/shared.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/app/shared/shared.module.ts -------------------------------------------------------------------------------- /ui-ngx/src/assets/copy-code-icon.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/copy-code-icon.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/dashboard/api_usage.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/dashboard/api_usage.json -------------------------------------------------------------------------------- /ui-ngx/src/assets/docker.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/docker.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/fonts/material-icons.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/fonts/material-icons.css -------------------------------------------------------------------------------- /ui-ngx/src/assets/home/greetings_bg.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/home/greetings_bg.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/home/no_data_bg.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/home/no_data_bg.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/home/no_data_folder_bg.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/home/no_data_folder_bg.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/jstree/tb32px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/jstree/tb32px.png -------------------------------------------------------------------------------- /ui-ngx/src/assets/jstree/tb40px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/jstree/tb40px.png -------------------------------------------------------------------------------- /ui-ngx/src/assets/linux.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/linux.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/logo_title_white.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/logo_title_white.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/logo_title_white_edge.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/logo_title_white_edge.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/logo_white.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/logo_white.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/macos.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/macos.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/iconContainer1.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/iconContainer1.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/iconContainer2.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/iconContainer2.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/iconContainer3.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/iconContainer3.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/iconContainer4.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/iconContainer4.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/iconContainer5.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/iconContainer5.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/iconContainer6.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/iconContainer6.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/iconContainer7.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/iconContainer7.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/shape1.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/shape1.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/shape10.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/shape10.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/shape2.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/shape2.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/shape3.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/shape3.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/shape4.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/shape4.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/shape5.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/shape5.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/shape6.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/shape6.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/shape7.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/shape7.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/shape8.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/shape8.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/shape9.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/shape9.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/tripShape1.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/tripShape1.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/tripShape10.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/tripShape10.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/tripShape2.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/tripShape2.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/tripShape3.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/tripShape3.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/tripShape4.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/tripShape4.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/tripShape5.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/tripShape5.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/tripShape6.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/tripShape6.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/tripShape7.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/tripShape7.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/tripShape8.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/tripShape8.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/markers/tripShape9.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/markers/tripShape9.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/metadata/material-icons.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/metadata/material-icons.json -------------------------------------------------------------------------------- /ui-ngx/src/assets/metadata/units.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/metadata/units.json -------------------------------------------------------------------------------- /ui-ngx/src/assets/notification-bell.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/notification-bell.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/shadow.png -------------------------------------------------------------------------------- /ui-ngx/src/assets/split.js/grips/horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/split.js/grips/horizontal.png -------------------------------------------------------------------------------- /ui-ngx/src/assets/split.js/grips/vertical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/split.js/grips/vertical.png -------------------------------------------------------------------------------- /ui-ngx/src/assets/widget-preview-empty.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/widget-preview-empty.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/widget/button/basic.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/widget/button/basic.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/widget/button/filled.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/widget/button/filled.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/widget/button/outlined.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/widget/button/outlined.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/widget/button/underlined.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/widget/button/underlined.svg -------------------------------------------------------------------------------- /ui-ngx/src/assets/windows.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/assets/windows.svg -------------------------------------------------------------------------------- /ui-ngx/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/environments/environment.prod.ts -------------------------------------------------------------------------------- /ui-ngx/src/environments/environment.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/environments/environment.ts -------------------------------------------------------------------------------- /ui-ngx/src/form.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/form.scss -------------------------------------------------------------------------------- /ui-ngx/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/index.html -------------------------------------------------------------------------------- /ui-ngx/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/main.ts -------------------------------------------------------------------------------- /ui-ngx/src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/polyfills.ts -------------------------------------------------------------------------------- /ui-ngx/src/scss/animations.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/scss/animations.scss -------------------------------------------------------------------------------- /ui-ngx/src/scss/constants.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/scss/constants.scss -------------------------------------------------------------------------------- /ui-ngx/src/scss/fonts.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/scss/fonts.scss -------------------------------------------------------------------------------- /ui-ngx/src/scss/mixins.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/scss/mixins.scss -------------------------------------------------------------------------------- /ui-ngx/src/styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/styles.scss -------------------------------------------------------------------------------- /ui-ngx/src/tb-edge.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/tb-edge.ico -------------------------------------------------------------------------------- /ui-ngx/src/theme-overwrites.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/theme-overwrites.scss -------------------------------------------------------------------------------- /ui-ngx/src/theme.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/theme.scss -------------------------------------------------------------------------------- /ui-ngx/src/theme/datepicker-theme.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/theme/datepicker-theme.scss -------------------------------------------------------------------------------- /ui-ngx/src/thingsboard.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/thingsboard.ico -------------------------------------------------------------------------------- /ui-ngx/src/tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/tsconfig.app.json -------------------------------------------------------------------------------- /ui-ngx/src/typings/jquery.flot.typings.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/typings/jquery.flot.typings.d.ts -------------------------------------------------------------------------------- /ui-ngx/src/typings/jquery.jstree.typings.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/typings/jquery.jstree.typings.d.ts -------------------------------------------------------------------------------- /ui-ngx/src/typings/jquery.typings.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/typings/jquery.typings.d.ts -------------------------------------------------------------------------------- /ui-ngx/src/typings/leaflet-extend-tb.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/typings/leaflet-extend-tb.d.ts -------------------------------------------------------------------------------- /ui-ngx/src/typings/leaflet-geoman-extend.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/typings/leaflet-geoman-extend.d.ts -------------------------------------------------------------------------------- /ui-ngx/src/typings/rawloader.typings.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/typings/rawloader.typings.d.ts -------------------------------------------------------------------------------- /ui-ngx/src/typings/split.js.typings.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/typings/split.js.typings.d.ts -------------------------------------------------------------------------------- /ui-ngx/src/typings/utils.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/typings/utils.d.ts -------------------------------------------------------------------------------- /ui-ngx/src/zone-flags.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/src/zone-flags.ts -------------------------------------------------------------------------------- /ui-ngx/tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/tailwind.config.js -------------------------------------------------------------------------------- /ui-ngx/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/tsconfig.json -------------------------------------------------------------------------------- /ui-ngx/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/ui-ngx/yarn.lock -------------------------------------------------------------------------------- /update-project-version.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thingsboard/thingsboard-edge/HEAD/update-project-version.sh --------------------------------------------------------------------------------