From 89e12477dc1403b1ffd1c0e6a063a3b1c4155e77 Mon Sep 17 00:00:00 2001 From: LDannijs Date: Thu, 4 Apr 2024 16:31:17 +0200 Subject: [PATCH 01/16] add device_type --- schema.json | 6 ++ .../abeeway/abeeway-geolocation-module.yaml | 3 + vendor/aquascope/bvs.yaml | 3 + vendor/aquascope/kfr.yaml | 3 + vendor/arduino/mkr-wan-1310.yaml | 3 + vendor/embit/emb-lr1280-mpci-4x.yaml | 3 + vendor/embit/emb-lr1280s.yaml | 3 + vendor/embit/emb-lr1302-mpci.yaml | 3 + vendor/embit/emb-lrwl55.yaml | 3 + vendor/enginko/mcf-lw13io.yaml | 3 + .../espeasy-rn2483-node-class-a-abp.yaml | 83 +------------------ .../espeasy-rn2483-node-class-a-otaa.yaml | 83 +------------------ .../espeasy-rn2903-node-class-a-abp.yaml | 83 +------------------ .../espeasy-rn2903-node-class-a-otaa.yaml | 83 +------------------ vendor/example/windsensor.yaml | 5 ++ .../cubecell-1-2-aa-node-class-a-abp.yaml | 3 + .../cubecell-1-2-aa-node-class-a-otaa.yaml | 3 + .../cubecell-1-2-aa-node-class-c-abp.yaml | 3 + .../cubecell-1-2-aa-node-class-c-otaa.yaml | 3 + .../cubecell-capsule-sensor-class-a-abp.yaml | 3 + .../cubecell-capsule-sensor-class-a-otaa.yaml | 3 + .../cubecell-capsule-sensor-class-c-abp.yaml | 3 + .../cubecell-capsule-sensor-class-c-otaa.yaml | 3 + .../cubecell-dev-board-class-a-abp.yaml | 3 + .../cubecell-dev-board-class-a-otaa.yaml | 3 + .../cubecell-dev-board-class-c-abp.yaml | 3 + .../cubecell-dev-board-class-c-otaa.yaml | 3 + .../cubecell-dev-board-plus-class-a-abp.yaml | 3 + .../cubecell-dev-board-plus-class-a-otaa.yaml | 3 + .../cubecell-dev-board-plus-class-c-abp.yaml | 3 + .../cubecell-dev-board-plus-class-c-otaa.yaml | 3 + .../heltec/cubecell-gps-6502-class-a-abp.yaml | 3 + .../cubecell-gps-6502-class-a-otaa.yaml | 3 + .../heltec/cubecell-gps-6502-class-c-abp.yaml | 3 + .../cubecell-gps-6502-class-c-otaa.yaml | 3 + .../heltec/cubecell-module-class-a-abp.yaml | 3 + .../heltec/cubecell-module-class-a-otaa.yaml | 3 + .../heltec/cubecell-module-class-c-abp.yaml | 3 + .../heltec/cubecell-module-class-c-otaa.yaml | 3 + .../cubecell-module-plus-class-a-abp.yaml | 3 + .../cubecell-module-plus-class-a-otaa.yaml | 3 + .../cubecell-module-plus-class-c-abp.yaml | 3 + .../cubecell-module-plus-class-c-otaa.yaml | 3 + .../cubecell-solar-sensor-class-a-abp.yaml | 3 + .../cubecell-solar-sensor-class-a-otaa.yaml | 3 + .../cubecell-solar-sensor-class-c-abp.yaml | 3 + .../cubecell-solar-sensor-class-c-otaa.yaml | 3 + vendor/heltec/lora-kit-151-class-a-abp.yaml | 3 + vendor/heltec/lora-kit-151-class-a-otaa.yaml | 3 + vendor/heltec/lora-kit-151-class-c-abp.yaml | 3 + vendor/heltec/lora-kit-151-class-c-otaa.yaml | 3 + vendor/heltec/lora-node-151-class-a-abp.yaml | 3 + vendor/heltec/lora-node-151-class-a-otaa.yaml | 3 + vendor/heltec/lora-node-151-class-c-abp.yaml | 3 + vendor/heltec/lora-node-151-class-c-otaa.yaml | 3 + vendor/heltec/turtle-board-class-a-abp.yaml | 3 + vendor/heltec/turtle-board-class-a-otaa.yaml | 3 + vendor/heltec/turtle-board-class-c-abp.yaml | 3 + vendor/heltec/turtle-board-class-c-otaa.yaml | 3 + vendor/heltec/wifi-lora-32-class-a-abp.yaml | 3 + vendor/heltec/wifi-lora-32-class-a-otaa.yaml | 3 + vendor/heltec/wifi-lora-32-class-c-abp.yaml | 3 + vendor/heltec/wifi-lora-32-class-c-otaa.yaml | 3 + vendor/heltec/wireless-shell-class-a-abp.yaml | 3 + .../heltec/wireless-shell-class-a-otaa.yaml | 3 + vendor/heltec/wireless-shell-class-c-abp.yaml | 3 + .../heltec/wireless-shell-class-c-otaa.yaml | 3 + vendor/heltec/wireless-stick-class-a-abp.yaml | 3 + .../heltec/wireless-stick-class-a-otaa.yaml | 3 + vendor/heltec/wireless-stick-class-c-abp.yaml | 3 + .../heltec/wireless-stick-class-c-otaa.yaml | 3 + .../wireless-stick-lite-class-a-abp.yaml | 3 + .../wireless-stick-lite-class-a-otaa.yaml | 3 + .../wireless-stick-lite-class-c-abp.yaml | 3 + .../wireless-stick-lite-class-c-otaa.yaml | 3 + vendor/ht-micron/htlrbl32l.yaml | 3 + vendor/kuleuven-dramco/dramco-uno.yaml | 3 + vendor/mcci/catena4610.yaml | 3 + vendor/mcci/catena4612.yaml | 3 + vendor/mcci/catena4618.yaml | 3 + vendor/mcci/catena4618m201.yaml | 3 + vendor/mcf88/mcf-lw13io.yaml | 3 + vendor/mclimate/t-valve.yaml | 3 + vendor/mclimate/vicki.yaml | 4 + vendor/micropelt/mlr003.yaml | 3 + vendor/midatronics/sharky-module.yaml | 3 + vendor/midatronics/windy-mkr.yaml | 3 + vendor/midatronics/windy-module.yaml | 3 + vendor/move-x/mamwle.yaml | 3 + vendor/multi-tech/multi-tech-xdot.yaml | 3 + vendor/onethinx/otx18.yaml | 3 + vendor/rakwireless/wisblock-4631.yaml | 3 + vendor/rakwireless/wisblock-kit1.yaml | 8 +- vendor/rakwireless/wisblock-kit4.yaml | 7 ++ vendor/ruixinghengfang-network/rhf0m003.yaml | 3 + vendor/ruixinghengfang-network/rhf0m0e5.yaml | 3 + vendor/seeed/loradevelopkit-e5.yaml | 3 + vendor/sensecap/loramodule-e5.yaml | 3 + vendor/slscorp/nln500a.yaml | 3 + vendor/stmicroelectronics/nucleo-wl55jc1.yaml | 2 + vendor/stmicroelectronics/nucleo-wl55jc2.yaml | 2 + vendor/stmicroelectronics/steval-astra1b.yaml | 2 + vendor/strega/motorized-valve.yaml | 3 + vendor/strega/smart-valve.yaml | 3 + .../generic-node-sensor-edition.yaml | 3 + .../the-things-products/the-things-uno.yaml | 3 + 106 files changed, 325 insertions(+), 325 deletions(-) diff --git a/schema.json b/schema.json index 055256eb52..2ea1b75200 100644 --- a/schema.json +++ b/schema.json @@ -918,6 +918,12 @@ "description": "Instructions for finding firmware version", "examples": ["In the WebFig configuration panel, the firmware version is stated in the top left (e.g RouterOS v6.47.9)"] }, + "devicetype": { + "type": "array", + "items": { + "enum": ["sensor", "devboard", "actuator", "module"] + } + }, "sensors": { "type": "array", "items": { diff --git a/vendor/abeeway/abeeway-geolocation-module.yaml b/vendor/abeeway/abeeway-geolocation-module.yaml index 6227e3669d..f03d8eed97 100644 --- a/vendor/abeeway/abeeway-geolocation-module.yaml +++ b/vendor/abeeway/abeeway-geolocation-module.yaml @@ -40,6 +40,9 @@ firmwareVersions: id: abeeway-geolocation-module-profile lorawanCertified: true +devicetype: + - module + # Sensors that this device features (optional) # Valid values are: # accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co2, current, digital input, diff --git a/vendor/aquascope/bvs.yaml b/vendor/aquascope/bvs.yaml index 5e16cbfe69..12d06def3a 100644 --- a/vendor/aquascope/bvs.yaml +++ b/vendor/aquascope/bvs.yaml @@ -25,6 +25,9 @@ firmwareVersions: lorawanCertified: true codec: bvs-codec +devicetype: + - actuator + sensors: - temperature diff --git a/vendor/aquascope/kfr.yaml b/vendor/aquascope/kfr.yaml index 9984d0b260..7ad0de3b45 100644 --- a/vendor/aquascope/kfr.yaml +++ b/vendor/aquascope/kfr.yaml @@ -27,6 +27,9 @@ firmwareVersions: lorawanCertified: false codec: kfr-codec +devicetype: + - actuator + sensors: - temperature diff --git a/vendor/arduino/mkr-wan-1310.yaml b/vendor/arduino/mkr-wan-1310.yaml index 3201074f3a..ba307f8aac 100644 --- a/vendor/arduino/mkr-wan-1310.yaml +++ b/vendor/arduino/mkr-wan-1310.yaml @@ -50,6 +50,9 @@ firmwareVersions: lorawanCertified: false codec: mkrwan1310-codec +devicetype: + - devboard + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/embit/emb-lr1280-mpci-4x.yaml b/vendor/embit/emb-lr1280-mpci-4x.yaml index 4f7c4d2a2c..942b78a901 100644 --- a/vendor/embit/emb-lr1280-mpci-4x.yaml +++ b/vendor/embit/emb-lr1280-mpci-4x.yaml @@ -13,6 +13,9 @@ firmwareVersions: # Unique identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: emb-lrwl55-profile-eu868 +devicetype: + - module + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/embit/emb-lr1280s.yaml b/vendor/embit/emb-lr1280s.yaml index edae839f05..2782fd1c84 100644 --- a/vendor/embit/emb-lr1280s.yaml +++ b/vendor/embit/emb-lr1280s.yaml @@ -13,6 +13,9 @@ firmwareVersions: # Unique identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: emb-lr1280s-profile +devicetype: + - module + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/embit/emb-lr1302-mpci.yaml b/vendor/embit/emb-lr1302-mpci.yaml index 60df34609b..4ca407c0b7 100644 --- a/vendor/embit/emb-lr1302-mpci.yaml +++ b/vendor/embit/emb-lr1302-mpci.yaml @@ -16,6 +16,9 @@ firmwareVersions: # Unique identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: emb-lr1302-mpci-profile-us915 +devicetype: + - module + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/embit/emb-lrwl55.yaml b/vendor/embit/emb-lrwl55.yaml index a6bd7f356e..4a8a68bbe9 100644 --- a/vendor/embit/emb-lrwl55.yaml +++ b/vendor/embit/emb-lrwl55.yaml @@ -31,6 +31,9 @@ firmwareVersions: RU864-870: id: emb-lrwl55-profile-ru864 +devicetype: + - module + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/enginko/mcf-lw13io.yaml b/vendor/enginko/mcf-lw13io.yaml index 27375fa313..14669aed6a 100644 --- a/vendor/enginko/mcf-lw13io.yaml +++ b/vendor/enginko/mcf-lw13io.yaml @@ -28,6 +28,9 @@ firmwareVersions: lorawanCertified: false codec: mcf-io-codec +devicetype: + - actuator + # Sensors that this device features (optional) # Valid values are: accelerometer, altitude, auxiliary, barometer, battery, button, co2, distance, dust, gps, gyroscope, # humidity, light, link, magnetometer, moisture, ph, pir, proximity, rssi, snr, sound, temperature, tvoc, velocity, diff --git a/vendor/espeasy/espeasy-rn2483-node-class-a-abp.yaml b/vendor/espeasy/espeasy-rn2483-node-class-a-abp.yaml index d77c98e5d4..89bb067cf5 100644 --- a/vendor/espeasy/espeasy-rn2483-node-class-a-abp.yaml +++ b/vendor/espeasy/espeasy-rn2483-node-class-a-abp.yaml @@ -39,87 +39,8 @@ firmwareVersions: lorawanCertified: true codec: espeasy-codec -# Sensors that this device features (optional) -# Valid values are: -# 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, -# current, digital input, dissolved oxygen, distance, dust, energy, gps, gyroscope, h2s, humidity, iaq, level, light, -# lightning, link, magnetometer, moisture, motion, no, no2, o3, particulate matter, ph, pir, pm2.5, pm10, potentiometer, -# power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, smart valve, snr, so2, -# solar radiation, sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, -# vibration, voltage, water potential, water, weight, wifi ssid, wind direction, wind speed. -# -# Note on ESPEasy. -# ESPEasy does support > 100 sensors, which could be used to measure all of these (and more) units of measure. -sensors: - - accelerometer - - altitude - - analog input - - auxiliary - - barometer - - battery - - button - - bvoc - - co - - co2 - - conductivity - - current - - digital input - - dissolved oxygen - - distance - - dust - - energy - - gps - - gyroscope - - h2s - - humidity - - iaq - - level - - light - - lightning - - link - - magnetometer - - moisture - - motion - - no - - no2 - - o3 - - particulate matter - - ph - - pir - - pm2.5 - - pm10 - - potentiometer - - power - - precipitation - - pressure - - proximity - - pulse count - - pulse frequency - - radar - - rainfall - - rssi - - smart valve - - snr - - so2 - - solar radiation - - sound - - strain - - surface temperature - - temperature - - tilt - - time - - tvoc - - uv - - vapor pressure - - velocity - - vibration - - voltage - - water potential - - water - - weight - - wifi ssid - - wind direction - - wind speed +devicetype: + - devboard # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/espeasy/espeasy-rn2483-node-class-a-otaa.yaml b/vendor/espeasy/espeasy-rn2483-node-class-a-otaa.yaml index b534538cd9..e7183cf91a 100644 --- a/vendor/espeasy/espeasy-rn2483-node-class-a-otaa.yaml +++ b/vendor/espeasy/espeasy-rn2483-node-class-a-otaa.yaml @@ -39,87 +39,8 @@ firmwareVersions: lorawanCertified: true codec: espeasy-codec -# Sensors that this device features (optional) -# Valid values are: -# 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, -# current, digital input, dissolved oxygen, distance, dust, energy, gps, gyroscope, h2s, humidity, iaq, level, light, -# lightning, link, magnetometer, moisture, motion, no, no2, o3, particulate matter, ph, pir, pm2.5, pm10, potentiometer, -# power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, smart valve, snr, so2, -# solar radiation, sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, -# vibration, voltage, water potential, water, weight, wifi ssid, wind direction, wind speed. -# -# Note on ESPEasy. -# ESPEasy does support > 100 sensors, which could be used to measure all of these (and more) units of measure. -sensors: - - accelerometer - - altitude - - analog input - - auxiliary - - barometer - - battery - - button - - bvoc - - co - - co2 - - conductivity - - current - - digital input - - dissolved oxygen - - distance - - dust - - energy - - gps - - gyroscope - - h2s - - humidity - - iaq - - level - - light - - lightning - - link - - magnetometer - - moisture - - motion - - no - - no2 - - o3 - - particulate matter - - ph - - pir - - pm2.5 - - pm10 - - potentiometer - - power - - precipitation - - pressure - - proximity - - pulse count - - pulse frequency - - radar - - rainfall - - rssi - - smart valve - - snr - - so2 - - solar radiation - - sound - - strain - - surface temperature - - temperature - - tilt - - time - - tvoc - - uv - - vapor pressure - - velocity - - vibration - - voltage - - water potential - - water - - weight - - wifi ssid - - wind direction - - wind speed +devicetype: + - devboard # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/espeasy/espeasy-rn2903-node-class-a-abp.yaml b/vendor/espeasy/espeasy-rn2903-node-class-a-abp.yaml index c71370f279..039ee419cc 100644 --- a/vendor/espeasy/espeasy-rn2903-node-class-a-abp.yaml +++ b/vendor/espeasy/espeasy-rn2903-node-class-a-abp.yaml @@ -51,87 +51,8 @@ firmwareVersions: lorawanCertified: true codec: espeasy-codec -# Sensors that this device features (optional) -# Valid values are: -# 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, -# current, digital input, dissolved oxygen, distance, dust, energy, gps, gyroscope, h2s, humidity, iaq, level, light, -# lightning, link, magnetometer, moisture, motion, no, no2, o3, particulate matter, ph, pir, pm2.5, pm10, potentiometer, -# power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, smart valve, snr, so2, -# solar radiation, sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, -# vibration, voltage, water potential, water, weight, wifi ssid, wind direction, wind speed. -# -# Note on ESPEasy. -# ESPEasy does support > 100 sensors, which could be used to measure all of these (and more) units of measure. -sensors: - - accelerometer - - altitude - - analog input - - auxiliary - - barometer - - battery - - button - - bvoc - - co - - co2 - - conductivity - - current - - digital input - - dissolved oxygen - - distance - - dust - - energy - - gps - - gyroscope - - h2s - - humidity - - iaq - - level - - light - - lightning - - link - - magnetometer - - moisture - - motion - - no - - no2 - - o3 - - particulate matter - - ph - - pir - - pm2.5 - - pm10 - - potentiometer - - power - - precipitation - - pressure - - proximity - - pulse count - - pulse frequency - - radar - - rainfall - - rssi - - smart valve - - snr - - so2 - - solar radiation - - sound - - strain - - surface temperature - - temperature - - tilt - - time - - tvoc - - uv - - vapor pressure - - velocity - - vibration - - voltage - - water potential - - water - - weight - - wifi ssid - - wind direction - - wind speed +devicetype: + - devboard # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/espeasy/espeasy-rn2903-node-class-a-otaa.yaml b/vendor/espeasy/espeasy-rn2903-node-class-a-otaa.yaml index 3565d0df8b..62d108be87 100644 --- a/vendor/espeasy/espeasy-rn2903-node-class-a-otaa.yaml +++ b/vendor/espeasy/espeasy-rn2903-node-class-a-otaa.yaml @@ -51,87 +51,8 @@ firmwareVersions: lorawanCertified: true codec: espeasy-codec -# Sensors that this device features (optional) -# Valid values are: -# 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, -# current, digital input, dissolved oxygen, distance, dust, energy, gps, gyroscope, h2s, humidity, iaq, level, light, -# lightning, link, magnetometer, moisture, motion, no, no2, o3, particulate matter, ph, pir, pm2.5, pm10, potentiometer, -# power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, smart valve, snr, so2, -# solar radiation, sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, -# vibration, voltage, water potential, water, weight, wifi ssid, wind direction, wind speed. -# -# Note on ESPEasy. -# ESPEasy does support > 100 sensors, which could be used to measure all of these (and more) units of measure. -sensors: - - accelerometer - - altitude - - analog input - - auxiliary - - barometer - - battery - - button - - bvoc - - co - - co2 - - conductivity - - current - - digital input - - dissolved oxygen - - distance - - dust - - energy - - gps - - gyroscope - - h2s - - humidity - - iaq - - level - - light - - lightning - - link - - magnetometer - - moisture - - motion - - no - - no2 - - o3 - - particulate matter - - ph - - pir - - pm2.5 - - pm10 - - potentiometer - - power - - precipitation - - pressure - - proximity - - pulse count - - pulse frequency - - radar - - rainfall - - rssi - - smart valve - - snr - - so2 - - solar radiation - - sound - - strain - - surface temperature - - temperature - - tilt - - time - - tvoc - - uv - - vapor pressure - - velocity - - vibration - - voltage - - water potential - - water - - weight - - wifi ssid - - wind direction - - wind speed +devicetype: + - devboard # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/example/windsensor.yaml b/vendor/example/windsensor.yaml index 760bd0840f..90a4970a3d 100644 --- a/vendor/example/windsensor.yaml +++ b/vendor/example/windsensor.yaml @@ -61,6 +61,11 @@ firmwareVersions: id: windsensor-profile codec: windsensor-codec +# Type of device (optional) +# Valid values are: sensor, devboard, actuator, module +devicetype: + - sensor + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/heltec/cubecell-1-2-aa-node-class-a-abp.yaml b/vendor/heltec/cubecell-1-2-aa-node-class-a-abp.yaml index 0c9c135ede..af76bced9d 100755 --- a/vendor/heltec/cubecell-1-2-aa-node-class-a-abp.yaml +++ b/vendor/heltec/cubecell-1-2-aa-node-class-a-abp.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp +devicetype: + - devboard + dimensions: width: 24 length: 56.6 diff --git a/vendor/heltec/cubecell-1-2-aa-node-class-a-otaa.yaml b/vendor/heltec/cubecell-1-2-aa-node-class-a-otaa.yaml index 940ef7e3df..9a2807ae8a 100755 --- a/vendor/heltec/cubecell-1-2-aa-node-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-1-2-aa-node-class-a-otaa.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa +devicetype: + - devboard + dimensions: width: 24 length: 56.6 diff --git a/vendor/heltec/cubecell-1-2-aa-node-class-c-abp.yaml b/vendor/heltec/cubecell-1-2-aa-node-class-c-abp.yaml index 8665ddd22d..a3fb642191 100755 --- a/vendor/heltec/cubecell-1-2-aa-node-class-c-abp.yaml +++ b/vendor/heltec/cubecell-1-2-aa-node-class-c-abp.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp +devicetype: + - devboard + dimensions: width: 24 length: 56.6 diff --git a/vendor/heltec/cubecell-1-2-aa-node-class-c-otaa.yaml b/vendor/heltec/cubecell-1-2-aa-node-class-c-otaa.yaml index 815c03ea9f..156e92acf6 100755 --- a/vendor/heltec/cubecell-1-2-aa-node-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-1-2-aa-node-class-c-otaa.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa +devicetype: + - devboard + dimensions: width: 24 length: 56.6 diff --git a/vendor/heltec/cubecell-capsule-sensor-class-a-abp.yaml b/vendor/heltec/cubecell-capsule-sensor-class-a-abp.yaml index 867a9d9c7c..2bc4878b99 100755 --- a/vendor/heltec/cubecell-capsule-sensor-class-a-abp.yaml +++ b/vendor/heltec/cubecell-capsule-sensor-class-a-abp.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp +devicetype: + - devboard + dimensions: height: 67 diff --git a/vendor/heltec/cubecell-capsule-sensor-class-a-otaa.yaml b/vendor/heltec/cubecell-capsule-sensor-class-a-otaa.yaml index 7523d73388..e48c0f9e04 100755 --- a/vendor/heltec/cubecell-capsule-sensor-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-capsule-sensor-class-a-otaa.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa +devicetype: + - devboard + dimensions: height: 67 diff --git a/vendor/heltec/cubecell-capsule-sensor-class-c-abp.yaml b/vendor/heltec/cubecell-capsule-sensor-class-c-abp.yaml index d597fee997..3d7af144a2 100755 --- a/vendor/heltec/cubecell-capsule-sensor-class-c-abp.yaml +++ b/vendor/heltec/cubecell-capsule-sensor-class-c-abp.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp +devicetype: + - devboard + dimensions: height: 67 diff --git a/vendor/heltec/cubecell-capsule-sensor-class-c-otaa.yaml b/vendor/heltec/cubecell-capsule-sensor-class-c-otaa.yaml index 21e0fa0804..caccedc2b8 100755 --- a/vendor/heltec/cubecell-capsule-sensor-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-capsule-sensor-class-c-otaa.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa +devicetype: + - devboard + dimensions: height: 67 diff --git a/vendor/heltec/cubecell-dev-board-class-a-abp.yaml b/vendor/heltec/cubecell-dev-board-class-a-abp.yaml index 8957475caf..e4a24f02d1 100755 --- a/vendor/heltec/cubecell-dev-board-class-a-abp.yaml +++ b/vendor/heltec/cubecell-dev-board-class-a-abp.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp +devicetype: + - devboard + dimensions: width: 25 length: 41.5 diff --git a/vendor/heltec/cubecell-dev-board-class-a-otaa.yaml b/vendor/heltec/cubecell-dev-board-class-a-otaa.yaml index f65e49a2de..211156cc50 100755 --- a/vendor/heltec/cubecell-dev-board-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-dev-board-class-a-otaa.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa +devicetype: + - devboard + dimensions: width: 25 length: 41.5 diff --git a/vendor/heltec/cubecell-dev-board-class-c-abp.yaml b/vendor/heltec/cubecell-dev-board-class-c-abp.yaml index b37cf42762..7a7db0dbd5 100755 --- a/vendor/heltec/cubecell-dev-board-class-c-abp.yaml +++ b/vendor/heltec/cubecell-dev-board-class-c-abp.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp +devicetype: + - devboard + dimensions: width: 25 length: 41.5 diff --git a/vendor/heltec/cubecell-dev-board-class-c-otaa.yaml b/vendor/heltec/cubecell-dev-board-class-c-otaa.yaml index 202a4e8b38..33ee0407ec 100755 --- a/vendor/heltec/cubecell-dev-board-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-dev-board-class-c-otaa.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa +devicetype: + - devboard + dimensions: width: 25 length: 41.5 diff --git a/vendor/heltec/cubecell-dev-board-plus-class-a-abp.yaml b/vendor/heltec/cubecell-dev-board-plus-class-a-abp.yaml index f3b5dfdb73..27a36000a3 100755 --- a/vendor/heltec/cubecell-dev-board-plus-class-a-abp.yaml +++ b/vendor/heltec/cubecell-dev-board-plus-class-a-abp.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp +devicetype: + - devboard + dimensions: width: 25 length: 51.9 diff --git a/vendor/heltec/cubecell-dev-board-plus-class-a-otaa.yaml b/vendor/heltec/cubecell-dev-board-plus-class-a-otaa.yaml index 4557c5aacc..f1b7f2e039 100755 --- a/vendor/heltec/cubecell-dev-board-plus-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-dev-board-plus-class-a-otaa.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa +devicetype: + - devboard + dimensions: width: 25 length: 51.9 diff --git a/vendor/heltec/cubecell-dev-board-plus-class-c-abp.yaml b/vendor/heltec/cubecell-dev-board-plus-class-c-abp.yaml index e07b6bd510..45cbbc2093 100755 --- a/vendor/heltec/cubecell-dev-board-plus-class-c-abp.yaml +++ b/vendor/heltec/cubecell-dev-board-plus-class-c-abp.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp +devicetype: + - devboard + dimensions: width: 25 length: 51.9 diff --git a/vendor/heltec/cubecell-dev-board-plus-class-c-otaa.yaml b/vendor/heltec/cubecell-dev-board-plus-class-c-otaa.yaml index c8a36b4282..017b3f9454 100755 --- a/vendor/heltec/cubecell-dev-board-plus-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-dev-board-plus-class-c-otaa.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa +devicetype: + - devboard + dimensions: width: 25 length: 51.9 diff --git a/vendor/heltec/cubecell-gps-6502-class-a-abp.yaml b/vendor/heltec/cubecell-gps-6502-class-a-abp.yaml index f2c8e6b887..02d41fe7a0 100755 --- a/vendor/heltec/cubecell-gps-6502-class-a-abp.yaml +++ b/vendor/heltec/cubecell-gps-6502-class-a-abp.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp +devicetype: + - devboard + dimensions: width: 27.9 length: 55.9 diff --git a/vendor/heltec/cubecell-gps-6502-class-a-otaa.yaml b/vendor/heltec/cubecell-gps-6502-class-a-otaa.yaml index 1324d49399..80ef984931 100755 --- a/vendor/heltec/cubecell-gps-6502-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-gps-6502-class-a-otaa.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa +devicetype: + - devboard + dimensions: width: 27.9 length: 55.9 diff --git a/vendor/heltec/cubecell-gps-6502-class-c-abp.yaml b/vendor/heltec/cubecell-gps-6502-class-c-abp.yaml index 936bbadaab..f3b8029526 100755 --- a/vendor/heltec/cubecell-gps-6502-class-c-abp.yaml +++ b/vendor/heltec/cubecell-gps-6502-class-c-abp.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp +devicetype: + - devboard + dimensions: width: 27.9 length: 55.9 diff --git a/vendor/heltec/cubecell-gps-6502-class-c-otaa.yaml b/vendor/heltec/cubecell-gps-6502-class-c-otaa.yaml index bbc963f6e9..6bc105f34f 100755 --- a/vendor/heltec/cubecell-gps-6502-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-gps-6502-class-c-otaa.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa +devicetype: + - devboard + dimensions: width: 27.9 length: 55.9 diff --git a/vendor/heltec/cubecell-module-class-a-abp.yaml b/vendor/heltec/cubecell-module-class-a-abp.yaml index 3ca4fab6c8..e13d479563 100755 --- a/vendor/heltec/cubecell-module-class-a-abp.yaml +++ b/vendor/heltec/cubecell-module-class-a-abp.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp +devicetype: + - module + dimensions: width: 18 length: 18 diff --git a/vendor/heltec/cubecell-module-class-a-otaa.yaml b/vendor/heltec/cubecell-module-class-a-otaa.yaml index b4018d3a11..38f6bd7e98 100755 --- a/vendor/heltec/cubecell-module-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-module-class-a-otaa.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa +devicetype: + - module + dimensions: width: 18 length: 18 diff --git a/vendor/heltec/cubecell-module-class-c-abp.yaml b/vendor/heltec/cubecell-module-class-c-abp.yaml index e53e3ef3cd..636a96a5f9 100755 --- a/vendor/heltec/cubecell-module-class-c-abp.yaml +++ b/vendor/heltec/cubecell-module-class-c-abp.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp +devicetype: + - module + dimensions: width: 18 length: 18 diff --git a/vendor/heltec/cubecell-module-class-c-otaa.yaml b/vendor/heltec/cubecell-module-class-c-otaa.yaml index f06c2f9b15..2d0f864389 100755 --- a/vendor/heltec/cubecell-module-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-module-class-c-otaa.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa +devicetype: + - module + dimensions: width: 18 length: 18 diff --git a/vendor/heltec/cubecell-module-plus-class-a-abp.yaml b/vendor/heltec/cubecell-module-plus-class-a-abp.yaml index a10fdaeae8..31a0ea0387 100755 --- a/vendor/heltec/cubecell-module-plus-class-a-abp.yaml +++ b/vendor/heltec/cubecell-module-plus-class-a-abp.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp +devicetype: + - module + dimensions: width: 20.4 length: 20.4 diff --git a/vendor/heltec/cubecell-module-plus-class-a-otaa.yaml b/vendor/heltec/cubecell-module-plus-class-a-otaa.yaml index 4bc24f9484..685f338d26 100755 --- a/vendor/heltec/cubecell-module-plus-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-module-plus-class-a-otaa.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa +devicetype: + - module + dimensions: width: 20.4 length: 20.4 diff --git a/vendor/heltec/cubecell-module-plus-class-c-abp.yaml b/vendor/heltec/cubecell-module-plus-class-c-abp.yaml index ef1501666b..9e3eb94854 100755 --- a/vendor/heltec/cubecell-module-plus-class-c-abp.yaml +++ b/vendor/heltec/cubecell-module-plus-class-c-abp.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp +devicetype: + - module + dimensions: width: 20.4 length: 20.4 diff --git a/vendor/heltec/cubecell-module-plus-class-c-otaa.yaml b/vendor/heltec/cubecell-module-plus-class-c-otaa.yaml index e894501c96..331a4de146 100755 --- a/vendor/heltec/cubecell-module-plus-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-module-plus-class-c-otaa.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa +devicetype: + - module + dimensions: width: 20.4 length: 20.4 diff --git a/vendor/heltec/cubecell-solar-sensor-class-a-abp.yaml b/vendor/heltec/cubecell-solar-sensor-class-a-abp.yaml index 07d37eef02..5d97aac885 100755 --- a/vendor/heltec/cubecell-solar-sensor-class-a-abp.yaml +++ b/vendor/heltec/cubecell-solar-sensor-class-a-abp.yaml @@ -29,6 +29,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp +devicetype: + - devboard + dimensions: height: 67 diff --git a/vendor/heltec/cubecell-solar-sensor-class-a-otaa.yaml b/vendor/heltec/cubecell-solar-sensor-class-a-otaa.yaml index 8ec4758fe5..3f40fef3ca 100755 --- a/vendor/heltec/cubecell-solar-sensor-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-solar-sensor-class-a-otaa.yaml @@ -29,6 +29,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa +devicetype: + - devboard + dimensions: height: 67 diff --git a/vendor/heltec/cubecell-solar-sensor-class-c-abp.yaml b/vendor/heltec/cubecell-solar-sensor-class-c-abp.yaml index e3044b8106..bda0aba031 100755 --- a/vendor/heltec/cubecell-solar-sensor-class-c-abp.yaml +++ b/vendor/heltec/cubecell-solar-sensor-class-c-abp.yaml @@ -29,6 +29,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp +devicetype: + - devboard + dimensions: height: 67 diff --git a/vendor/heltec/cubecell-solar-sensor-class-c-otaa.yaml b/vendor/heltec/cubecell-solar-sensor-class-c-otaa.yaml index 3cdcc02cfb..68d1e7e09f 100755 --- a/vendor/heltec/cubecell-solar-sensor-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-solar-sensor-class-c-otaa.yaml @@ -29,6 +29,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa +devicetype: + - devboard + dimensions: height: 67 diff --git a/vendor/heltec/lora-kit-151-class-a-abp.yaml b/vendor/heltec/lora-kit-151-class-a-abp.yaml index 928724e017..c48ff6328c 100755 --- a/vendor/heltec/lora-kit-151-class-a-abp.yaml +++ b/vendor/heltec/lora-kit-151-class-a-abp.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp +devicetype: + - devboard + dimensions: width: 25.5 length: 56.3 diff --git a/vendor/heltec/lora-kit-151-class-a-otaa.yaml b/vendor/heltec/lora-kit-151-class-a-otaa.yaml index 4af82bb2df..9f79a22184 100755 --- a/vendor/heltec/lora-kit-151-class-a-otaa.yaml +++ b/vendor/heltec/lora-kit-151-class-a-otaa.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa +devicetype: + - devboard + dimensions: width: 25.5 length: 56.3 diff --git a/vendor/heltec/lora-kit-151-class-c-abp.yaml b/vendor/heltec/lora-kit-151-class-c-abp.yaml index 85bbc9c75e..195a090fc7 100755 --- a/vendor/heltec/lora-kit-151-class-c-abp.yaml +++ b/vendor/heltec/lora-kit-151-class-c-abp.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp +devicetype: + - devboard + dimensions: width: 25.5 length: 56.3 diff --git a/vendor/heltec/lora-kit-151-class-c-otaa.yaml b/vendor/heltec/lora-kit-151-class-c-otaa.yaml index c75057de42..c45360b4ab 100755 --- a/vendor/heltec/lora-kit-151-class-c-otaa.yaml +++ b/vendor/heltec/lora-kit-151-class-c-otaa.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa +devicetype: + - devboard + dimensions: width: 25.5 length: 56.3 diff --git a/vendor/heltec/lora-node-151-class-a-abp.yaml b/vendor/heltec/lora-node-151-class-a-abp.yaml index 3fc3d191b0..e97c1eae7f 100755 --- a/vendor/heltec/lora-node-151-class-a-abp.yaml +++ b/vendor/heltec/lora-node-151-class-a-abp.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp +devicetype: + - devboard + dimensions: width: 24 length: 56.6 diff --git a/vendor/heltec/lora-node-151-class-a-otaa.yaml b/vendor/heltec/lora-node-151-class-a-otaa.yaml index 486b36f1f9..eaee5faf23 100755 --- a/vendor/heltec/lora-node-151-class-a-otaa.yaml +++ b/vendor/heltec/lora-node-151-class-a-otaa.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa +devicetype: + - devboard + dimensions: width: 24 length: 56.6 diff --git a/vendor/heltec/lora-node-151-class-c-abp.yaml b/vendor/heltec/lora-node-151-class-c-abp.yaml index b7a61d68ec..388d6d44cc 100755 --- a/vendor/heltec/lora-node-151-class-c-abp.yaml +++ b/vendor/heltec/lora-node-151-class-c-abp.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp +devicetype: + - devboard + dimensions: width: 24 length: 56.6 diff --git a/vendor/heltec/lora-node-151-class-c-otaa.yaml b/vendor/heltec/lora-node-151-class-c-otaa.yaml index 1b4b310f9c..86b2270de5 100755 --- a/vendor/heltec/lora-node-151-class-c-otaa.yaml +++ b/vendor/heltec/lora-node-151-class-c-otaa.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa +devicetype: + - devboard + dimensions: width: 24 length: 56.6 diff --git a/vendor/heltec/turtle-board-class-a-abp.yaml b/vendor/heltec/turtle-board-class-a-abp.yaml index 3e66cf58f9..c3c4c10fa3 100755 --- a/vendor/heltec/turtle-board-class-a-abp.yaml +++ b/vendor/heltec/turtle-board-class-a-abp.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp +devicetype: + - devboard + dimensions: width: 31.5 length: 73.5 diff --git a/vendor/heltec/turtle-board-class-a-otaa.yaml b/vendor/heltec/turtle-board-class-a-otaa.yaml index 14ea33baa8..04b15c534b 100755 --- a/vendor/heltec/turtle-board-class-a-otaa.yaml +++ b/vendor/heltec/turtle-board-class-a-otaa.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa +devicetype: + - devboard + dimensions: width: 31.5 length: 73.5 diff --git a/vendor/heltec/turtle-board-class-c-abp.yaml b/vendor/heltec/turtle-board-class-c-abp.yaml index eb5357062c..0cba405a9b 100755 --- a/vendor/heltec/turtle-board-class-c-abp.yaml +++ b/vendor/heltec/turtle-board-class-c-abp.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp +devicetype: + - devboard + dimensions: width: 31.5 length: 73.5 diff --git a/vendor/heltec/turtle-board-class-c-otaa.yaml b/vendor/heltec/turtle-board-class-c-otaa.yaml index 0d4922e3fe..8b81288860 100755 --- a/vendor/heltec/turtle-board-class-c-otaa.yaml +++ b/vendor/heltec/turtle-board-class-c-otaa.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa +devicetype: + - devboard + dimensions: width: 31.5 length: 73.5 diff --git a/vendor/heltec/wifi-lora-32-class-a-abp.yaml b/vendor/heltec/wifi-lora-32-class-a-abp.yaml index 8e01dc2506..0113ac8b45 100755 --- a/vendor/heltec/wifi-lora-32-class-a-abp.yaml +++ b/vendor/heltec/wifi-lora-32-class-a-abp.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp +devicetype: + - devboard + dimensions: width: 25.5 length: 51 diff --git a/vendor/heltec/wifi-lora-32-class-a-otaa.yaml b/vendor/heltec/wifi-lora-32-class-a-otaa.yaml index 3a0c7bbe3c..7769ca0322 100755 --- a/vendor/heltec/wifi-lora-32-class-a-otaa.yaml +++ b/vendor/heltec/wifi-lora-32-class-a-otaa.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa +devicetype: + - devboard + dimensions: width: 25.5 length: 51 diff --git a/vendor/heltec/wifi-lora-32-class-c-abp.yaml b/vendor/heltec/wifi-lora-32-class-c-abp.yaml index 68a55bdf7a..7d457e5f5b 100755 --- a/vendor/heltec/wifi-lora-32-class-c-abp.yaml +++ b/vendor/heltec/wifi-lora-32-class-c-abp.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp +devicetype: + - devboard + dimensions: width: 25.5 length: 51 diff --git a/vendor/heltec/wifi-lora-32-class-c-otaa.yaml b/vendor/heltec/wifi-lora-32-class-c-otaa.yaml index 49a15b7fb8..6af3d822de 100755 --- a/vendor/heltec/wifi-lora-32-class-c-otaa.yaml +++ b/vendor/heltec/wifi-lora-32-class-c-otaa.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa +devicetype: + - devboard + dimensions: width: 25.5 length: 51 diff --git a/vendor/heltec/wireless-shell-class-a-abp.yaml b/vendor/heltec/wireless-shell-class-a-abp.yaml index da2cafff4f..23f88e8d16 100755 --- a/vendor/heltec/wireless-shell-class-a-abp.yaml +++ b/vendor/heltec/wireless-shell-class-a-abp.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp +devicetype: + - module + dimensions: width: 16.1 length: 38.4 diff --git a/vendor/heltec/wireless-shell-class-a-otaa.yaml b/vendor/heltec/wireless-shell-class-a-otaa.yaml index 3df095e27c..1772babc46 100755 --- a/vendor/heltec/wireless-shell-class-a-otaa.yaml +++ b/vendor/heltec/wireless-shell-class-a-otaa.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa +devicetype: + - module + dimensions: width: 16.1 length: 38.4 diff --git a/vendor/heltec/wireless-shell-class-c-abp.yaml b/vendor/heltec/wireless-shell-class-c-abp.yaml index 2ffe1599e1..26e52f802c 100755 --- a/vendor/heltec/wireless-shell-class-c-abp.yaml +++ b/vendor/heltec/wireless-shell-class-c-abp.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp +devicetype: + - module + dimensions: width: 16.1 length: 38.4 diff --git a/vendor/heltec/wireless-shell-class-c-otaa.yaml b/vendor/heltec/wireless-shell-class-c-otaa.yaml index f093709800..2f3a648281 100755 --- a/vendor/heltec/wireless-shell-class-c-otaa.yaml +++ b/vendor/heltec/wireless-shell-class-c-otaa.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa +devicetype: + - module + dimensions: width: 16.1 length: 38.4 diff --git a/vendor/heltec/wireless-stick-class-a-abp.yaml b/vendor/heltec/wireless-stick-class-a-abp.yaml index 8e6a35635b..44855f1fe9 100755 --- a/vendor/heltec/wireless-stick-class-a-abp.yaml +++ b/vendor/heltec/wireless-stick-class-a-abp.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp +devicetype: + - devboard + dimensions: width: 24.8 length: 59.3 diff --git a/vendor/heltec/wireless-stick-class-a-otaa.yaml b/vendor/heltec/wireless-stick-class-a-otaa.yaml index b8b2851504..2bdaf66508 100755 --- a/vendor/heltec/wireless-stick-class-a-otaa.yaml +++ b/vendor/heltec/wireless-stick-class-a-otaa.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa +devicetype: + - devboard + dimensions: width: 24.8 length: 59.3 diff --git a/vendor/heltec/wireless-stick-class-c-abp.yaml b/vendor/heltec/wireless-stick-class-c-abp.yaml index 815cbd3d90..65d5bce846 100755 --- a/vendor/heltec/wireless-stick-class-c-abp.yaml +++ b/vendor/heltec/wireless-stick-class-c-abp.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp +devicetype: + - devboard + dimensions: width: 24.8 length: 59.3 diff --git a/vendor/heltec/wireless-stick-class-c-otaa.yaml b/vendor/heltec/wireless-stick-class-c-otaa.yaml index 7577a6e074..5e4db16f65 100755 --- a/vendor/heltec/wireless-stick-class-c-otaa.yaml +++ b/vendor/heltec/wireless-stick-class-c-otaa.yaml @@ -22,6 +22,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa +devicetype: + - devboard + dimensions: width: 24.8 length: 59.3 diff --git a/vendor/heltec/wireless-stick-lite-class-a-abp.yaml b/vendor/heltec/wireless-stick-lite-class-a-abp.yaml index ad903f8d55..2dcd8b2fa6 100755 --- a/vendor/heltec/wireless-stick-lite-class-a-abp.yaml +++ b/vendor/heltec/wireless-stick-lite-class-a-abp.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp +devicetype: + - devboard + dimensions: width: 24.8 length: 59.3 diff --git a/vendor/heltec/wireless-stick-lite-class-a-otaa.yaml b/vendor/heltec/wireless-stick-lite-class-a-otaa.yaml index a3fb45eee6..4443ae6c78 100755 --- a/vendor/heltec/wireless-stick-lite-class-a-otaa.yaml +++ b/vendor/heltec/wireless-stick-lite-class-a-otaa.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa +devicetype: + - devboard + dimensions: width: 24.8 length: 59.3 diff --git a/vendor/heltec/wireless-stick-lite-class-c-abp.yaml b/vendor/heltec/wireless-stick-lite-class-c-abp.yaml index 234958f38b..c509efd728 100755 --- a/vendor/heltec/wireless-stick-lite-class-c-abp.yaml +++ b/vendor/heltec/wireless-stick-lite-class-c-abp.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp +devicetype: + - devboard + dimensions: width: 24.8 length: 59.3 diff --git a/vendor/heltec/wireless-stick-lite-class-c-otaa.yaml b/vendor/heltec/wireless-stick-lite-class-c-otaa.yaml index 0d30410d02..87b3f1ca23 100755 --- a/vendor/heltec/wireless-stick-lite-class-c-otaa.yaml +++ b/vendor/heltec/wireless-stick-lite-class-c-otaa.yaml @@ -23,6 +23,9 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa +devicetype: + - devboard + dimensions: width: 24.8 length: 59.3 diff --git a/vendor/ht-micron/htlrbl32l.yaml b/vendor/ht-micron/htlrbl32l.yaml index 40dc52f083..b1bb00897a 100644 --- a/vendor/ht-micron/htlrbl32l.yaml +++ b/vendor/ht-micron/htlrbl32l.yaml @@ -38,6 +38,9 @@ firmwareVersions: id: htlrbl32l-profile-915 lorawanCertified: false +devicetype: + - module + # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. additionalRadios: diff --git a/vendor/kuleuven-dramco/dramco-uno.yaml b/vendor/kuleuven-dramco/dramco-uno.yaml index 7ea4f79d94..e39badaff4 100644 --- a/vendor/kuleuven-dramco/dramco-uno.yaml +++ b/vendor/kuleuven-dramco/dramco-uno.yaml @@ -27,6 +27,9 @@ firmwareVersions: lorawanCertified: true # No codec, Cayenne LPP is used +devicetype: + - devboard + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/mcci/catena4610.yaml b/vendor/mcci/catena4610.yaml index 4c3f646b79..8d0e2bb963 100644 --- a/vendor/mcci/catena4610.yaml +++ b/vendor/mcci/catena4610.yaml @@ -46,6 +46,9 @@ firmwareVersions: lorawanCertified: false codec: codec-catena-generic +devicetype: + - devboard + # Sensors that this device features (optional) # Valid values are: # accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co2, current, digital input, diff --git a/vendor/mcci/catena4612.yaml b/vendor/mcci/catena4612.yaml index 6c2b9899ec..bee4902afd 100644 --- a/vendor/mcci/catena4612.yaml +++ b/vendor/mcci/catena4612.yaml @@ -46,6 +46,9 @@ firmwareVersions: lorawanCertified: false codec: codec-catena-generic +devicetype: + - devboard + # Sensors that this device features (optional) # Valid values are: # accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co2, current, digital input, diff --git a/vendor/mcci/catena4618.yaml b/vendor/mcci/catena4618.yaml index 6cdd1736db..74a2d79bae 100644 --- a/vendor/mcci/catena4618.yaml +++ b/vendor/mcci/catena4618.yaml @@ -46,6 +46,9 @@ firmwareVersions: lorawanCertified: false codec: codec-catena-generic +devicetype: + - devboard + # Sensors that this device features (optional) # Valid values are: # accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co2, current, digital input, diff --git a/vendor/mcci/catena4618m201.yaml b/vendor/mcci/catena4618m201.yaml index 1385a705fe..c4cd673a29 100644 --- a/vendor/mcci/catena4618m201.yaml +++ b/vendor/mcci/catena4618m201.yaml @@ -46,6 +46,9 @@ firmwareVersions: lorawanCertified: false codec: codec-catena-generic +devicetype: + - devboard + # Sensors that this device features (optional) # Valid values are: # accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co2, current, digital input, diff --git a/vendor/mcf88/mcf-lw13io.yaml b/vendor/mcf88/mcf-lw13io.yaml index 63928c3779..6ab07745af 100644 --- a/vendor/mcf88/mcf-lw13io.yaml +++ b/vendor/mcf88/mcf-lw13io.yaml @@ -28,6 +28,9 @@ firmwareVersions: lorawanCertified: false codec: mcf-io-codec +devicetype: + - actuator + # Sensors that this device features (optional) # Valid values are: accelerometer, altitude, auxiliary, barometer, battery, button, co2, distance, dust, gps, gyroscope, # humidity, light, link, magnetometer, moisture, ph, pir, proximity, rssi, snr, sound, temperature, tvoc, velocity, diff --git a/vendor/mclimate/t-valve.yaml b/vendor/mclimate/t-valve.yaml index c39fd3db00..e5a1afda99 100644 --- a/vendor/mclimate/t-valve.yaml +++ b/vendor/mclimate/t-valve.yaml @@ -16,6 +16,9 @@ firmwareVersions: lorawanCertified: false codec: t-valve-codec +devicetype: + - actuator + # Sensors that this device features (optional) # Valid values are: accelerometer, altitude, auxiliary, barometer, battery, button, co2, distance, dust, gps, gyroscope, # humidity, light, link, magnetometer, moisture, ph, pir, proximity, rssi, snr, sound, temperature, tvoc, velocity, diff --git a/vendor/mclimate/vicki.yaml b/vendor/mclimate/vicki.yaml index 79bd0d486a..52f522d8cf 100644 --- a/vendor/mclimate/vicki.yaml +++ b/vendor/mclimate/vicki.yaml @@ -70,6 +70,10 @@ firmwareVersions: id: vicki-profile lorawanCertified: true codec: vicki-codec + +devicetype: + - actuator + # Sensors that this device features (optional) # Valid values are: accelerometer, altitude, auxiliary, barometer, battery, button, co2, distance, dust, gps, gyroscope, # humidity, light, link, magnetometer, moisture, ph, pir, proximity, rssi, snr, sound, temperature, tvoc, velocity, diff --git a/vendor/micropelt/mlr003.yaml b/vendor/micropelt/mlr003.yaml index 9135dce570..e3041f4ea1 100644 --- a/vendor/micropelt/mlr003.yaml +++ b/vendor/micropelt/mlr003.yaml @@ -29,6 +29,9 @@ firmwareVersions: lorawanCertified: true codec: mlr003-codec +devicetype: + - actuator + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/midatronics/sharky-module.yaml b/vendor/midatronics/sharky-module.yaml index a0b858fa94..e8e1aaf635 100644 --- a/vendor/midatronics/sharky-module.yaml +++ b/vendor/midatronics/sharky-module.yaml @@ -21,6 +21,9 @@ firmwareVersions: # Unique identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: sharky-module-profile +devicetype: + - module + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/midatronics/windy-mkr.yaml b/vendor/midatronics/windy-mkr.yaml index fafa273f8f..a528d4d42b 100644 --- a/vendor/midatronics/windy-mkr.yaml +++ b/vendor/midatronics/windy-mkr.yaml @@ -21,6 +21,9 @@ firmwareVersions: # Unique identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: windy-mkr-profile +devicetype: + - devboard + # Product and data sheet URLs (optional) productURL: https://midatronics.com/shop/development-boards/mkr-windy/ diff --git a/vendor/midatronics/windy-module.yaml b/vendor/midatronics/windy-module.yaml index 445356b2a4..4638a31ce8 100644 --- a/vendor/midatronics/windy-module.yaml +++ b/vendor/midatronics/windy-module.yaml @@ -21,6 +21,9 @@ firmwareVersions: # Unique identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: windy-module-profile +devicetype: + - module + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/move-x/mamwle.yaml b/vendor/move-x/mamwle.yaml index 039442cf9f..8d6dfd432d 100644 --- a/vendor/move-x/mamwle.yaml +++ b/vendor/move-x/mamwle.yaml @@ -22,6 +22,9 @@ firmwareVersions: id: mamwle-au915-profile lorawanCertified: false +devicetype: + - module + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/multi-tech/multi-tech-xdot.yaml b/vendor/multi-tech/multi-tech-xdot.yaml index 22c2d39fa1..f109bcaf5f 100644 --- a/vendor/multi-tech/multi-tech-xdot.yaml +++ b/vendor/multi-tech/multi-tech-xdot.yaml @@ -26,6 +26,9 @@ firmwareVersions: KR920-923: id: multi-tech-xdot-profile-kr920 +devicetype: + - module + # Sensors that this device features (optional) # Valid values are: # accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co2, current, digital input, diff --git a/vendor/onethinx/otx18.yaml b/vendor/onethinx/otx18.yaml index 1008ed0ac0..181d8efe9c 100644 --- a/vendor/onethinx/otx18.yaml +++ b/vendor/onethinx/otx18.yaml @@ -30,6 +30,9 @@ firmwareVersions: lorawanCertified: false #codec: otx18-eu868-codec +devicetype: + - module + # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. additionalRadios: diff --git a/vendor/rakwireless/wisblock-4631.yaml b/vendor/rakwireless/wisblock-4631.yaml index 46a0f5c5ec..e0ebb2269e 100644 --- a/vendor/rakwireless/wisblock-4631.yaml +++ b/vendor/rakwireless/wisblock-4631.yaml @@ -26,6 +26,9 @@ firmwareVersions: id: rak4631-915-profile lorawanCertified: false +devicetype: + - devboard + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/rakwireless/wisblock-kit1.yaml b/vendor/rakwireless/wisblock-kit1.yaml index 3ac4238ef5..ec82df1924 100644 --- a/vendor/rakwireless/wisblock-kit1.yaml +++ b/vendor/rakwireless/wisblock-kit1.yaml @@ -1,5 +1,5 @@ name: Wisblock Kit 1 - Indoor Ambient Monitor -description: The WisBlock Kit 1 is composed of RAK4631 WisBlock Core, RAK1901 Temperautre and Relative Humidity, RAK1902 Barometric Pressure and RAK1903 Light Sensors. +description: The WisBlock Kit 1 is composed of RAK4631 WisBlock Core, RAK1901 Temperature and Relative Humidity, RAK1902 Barometric Pressure and RAK1903 Light Sensors. # Hardware versions (optional, use when you have revisions) hardwareVersions: @@ -28,6 +28,12 @@ firmwareVersions: lorawanCertified: false codec: wisblock-kit-codec +sensors: + - temperature + - humidity + - barometer + - light + # Battery information (optional) battery: replaceable: true diff --git a/vendor/rakwireless/wisblock-kit4.yaml b/vendor/rakwireless/wisblock-kit4.yaml index 6bf80c3828..0db7c5cd51 100644 --- a/vendor/rakwireless/wisblock-kit4.yaml +++ b/vendor/rakwireless/wisblock-kit4.yaml @@ -28,6 +28,13 @@ firmwareVersions: lorawanCertified: false codec: wisblock-kit-codec +sensors: + - temperature + - humidity + - barometer + - pressure + - iaq + # Battery information (optional) battery: replaceable: true diff --git a/vendor/ruixinghengfang-network/rhf0m003.yaml b/vendor/ruixinghengfang-network/rhf0m003.yaml index a75750b385..91d389aa04 100644 --- a/vendor/ruixinghengfang-network/rhf0m003.yaml +++ b/vendor/ruixinghengfang-network/rhf0m003.yaml @@ -64,6 +64,9 @@ firmwareVersions: #lorawanCertified: true #codec: +devicetype: + - module + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/ruixinghengfang-network/rhf0m0e5.yaml b/vendor/ruixinghengfang-network/rhf0m0e5.yaml index 9260fb5f5b..8dbae4bde5 100644 --- a/vendor/ruixinghengfang-network/rhf0m0e5.yaml +++ b/vendor/ruixinghengfang-network/rhf0m0e5.yaml @@ -60,6 +60,9 @@ firmwareVersions: #lorawanCertified: true #codec: +devicetype: + - module + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/seeed/loradevelopkit-e5.yaml b/vendor/seeed/loradevelopkit-e5.yaml index ba4e52e4bc..d7c6a90a34 100644 --- a/vendor/seeed/loradevelopkit-e5.yaml +++ b/vendor/seeed/loradevelopkit-e5.yaml @@ -38,6 +38,9 @@ firmwareVersions: lorawanCertified: true codec: loradevelopkit-e5-codec +devicetype: + - devboard + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/sensecap/loramodule-e5.yaml b/vendor/sensecap/loramodule-e5.yaml index fcc9c902b8..3a3d614069 100644 --- a/vendor/sensecap/loramodule-e5.yaml +++ b/vendor/sensecap/loramodule-e5.yaml @@ -63,6 +63,9 @@ firmwareVersions: lorawanCertified: true codec: loramodule-e5-codec +devicetype: + - module + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/slscorp/nln500a.yaml b/vendor/slscorp/nln500a.yaml index d8b6e1b046..6f67b09036 100644 --- a/vendor/slscorp/nln500a.yaml +++ b/vendor/slscorp/nln500a.yaml @@ -24,6 +24,9 @@ firmwareVersions: IN865-867: id: nln500a-profile-in865 +devicetype: + - module + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/stmicroelectronics/nucleo-wl55jc1.yaml b/vendor/stmicroelectronics/nucleo-wl55jc1.yaml index 021ee5e154..01bf9ee081 100644 --- a/vendor/stmicroelectronics/nucleo-wl55jc1.yaml +++ b/vendor/stmicroelectronics/nucleo-wl55jc1.yaml @@ -115,6 +115,8 @@ firmwareVersions: id: nucleo-wl55jc-profile-16-lw104 lorawanCertified: false codec: nucleo-wl55jc-codec +devicetype: + - devboard sensors: - light - pressure diff --git a/vendor/stmicroelectronics/nucleo-wl55jc2.yaml b/vendor/stmicroelectronics/nucleo-wl55jc2.yaml index 12987d7271..cc7dbb8902 100644 --- a/vendor/stmicroelectronics/nucleo-wl55jc2.yaml +++ b/vendor/stmicroelectronics/nucleo-wl55jc2.yaml @@ -43,6 +43,8 @@ firmwareVersions: id: nucleo-wl55jc-profile-12-lw104 lorawanCertified: false codec: nucleo-wl55jc-codec +devicetype: + - devboard sensors: - light - pressure diff --git a/vendor/stmicroelectronics/steval-astra1b.yaml b/vendor/stmicroelectronics/steval-astra1b.yaml index 558cb0765a..0c791c3e2e 100644 --- a/vendor/stmicroelectronics/steval-astra1b.yaml +++ b/vendor/stmicroelectronics/steval-astra1b.yaml @@ -41,6 +41,8 @@ firmwareVersions: id: steval-astra1b-profile-16 lorawanCertified: false codec: steval-astra1b-codec +devicetype: + - devboard sensors: - accelerometer - gyroscope diff --git a/vendor/strega/motorized-valve.yaml b/vendor/strega/motorized-valve.yaml index 325fd02314..e24d24164b 100644 --- a/vendor/strega/motorized-valve.yaml +++ b/vendor/strega/motorized-valve.yaml @@ -65,6 +65,9 @@ firmwareVersions: lorawanCertified: true codec: motorized-valve-codec +devicetype: + - actuator + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/strega/smart-valve.yaml b/vendor/strega/smart-valve.yaml index 362e348f77..e64cdd2ce6 100644 --- a/vendor/strega/smart-valve.yaml +++ b/vendor/strega/smart-valve.yaml @@ -40,6 +40,9 @@ firmwareVersions: lorawanCertified: true codec: smart-valve-codec +devicetype: + - actuator + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/the-things-industries/generic-node-sensor-edition.yaml b/vendor/the-things-industries/generic-node-sensor-edition.yaml index b91e3a4c51..37610cd187 100644 --- a/vendor/the-things-industries/generic-node-sensor-edition.yaml +++ b/vendor/the-things-industries/generic-node-sensor-edition.yaml @@ -18,6 +18,9 @@ firmwareVersions: lorawanCertified: false codec: generic-node-sensor-edition-codec +devicetype: + - devboard + sensors: - accelerometer - battery diff --git a/vendor/the-things-products/the-things-uno.yaml b/vendor/the-things-products/the-things-uno.yaml index 8eaa337ae0..f77cf10b23 100644 --- a/vendor/the-things-products/the-things-uno.yaml +++ b/vendor/the-things-products/the-things-uno.yaml @@ -29,6 +29,9 @@ firmwareVersions: lorawanCertified: true codec: the-things-uno-codec-quickstart +devicetype: + - devboard + keyProvisioning: - custom keySecurity: none From 2def65c2ef4d535d258a9d50eca86561dc1616d4 Mon Sep 17 00:00:00 2001 From: LDannijs Date: Thu, 4 Apr 2024 16:50:15 +0200 Subject: [PATCH 02/16] add devicetype to csv --- bin/csv.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bin/csv.js b/bin/csv.js index 0f2d7aec0f..a42473393e 100644 --- a/bin/csv.js +++ b/bin/csv.js @@ -37,6 +37,7 @@ const extractData = (filePath, vendor) => { const name = data.name; const vendorname = vendorNamesMap.get(vendor) || vendor; // Fallback to the vendor ID if no name is found const description = data.description.replace(/"/g, "'"); + const devicetype = Array.isArray(data.devicetype) ? `"${data.devicetype.join(', ')}"` : ''; const sensors = Array.isArray(data.sensors) ? `"${data.sensors.join(', ')}"` : ''; const imageUrl = data.photos?.main ? `"${baseUrl}/${vendor}/${data.photos.main}"` : ''; const additionalRadios = Array.isArray(data.additionalRadios) ? `"${data.additionalRadios.join(', ')}"` : ''; @@ -76,7 +77,7 @@ const extractData = (filePath, vendor) => { }); }); - return `"${id}","${name}","${vendorname}","${description}",${imageUrl},${sensors},${additionalRadios},${height},${width},${length},${weight},"${ipCode}","${battery_replace}","${battery_type}","${productURL}","${dataSheetURL}","${highestMacVersion}",${regionalParametersVersion},${supportsClassB},${supportsClassC}\n`; + return `"${id}","${name}","${vendorname}","${description}",${imageUrl},${sensors},${devicetype},${additionalRadios},${height},${width},${length},${weight},"${ipCode}","${battery_replace}","${battery_type}","${productURL}","${dataSheetURL}","${highestMacVersion}",${regionalParametersVersion},${supportsClassB},${supportsClassC}\n`; } } catch (e) { console.error(`Failed to process ${filePath}: ${e}`); @@ -103,7 +104,7 @@ const walkSync = (dir, vendor = '', csvContent = '') => { // Initialize CSV data let csvHeader = - 'ID,Name,Vendor,Description,Image,Sensor,Radios,Height,Width,Length,Weight,IP Rating,Battery Replaceable?,Battery Type,Product URL,Datasheet URL,MAC Version,Regional Parameter Version,Supports Class B?, Supports Class C?\n'; + 'ID,Name,Vendor,Description,Image,Sensor,Device Type,Radios,Height,Width,Length,Weight,IP Rating,Battery Replaceable?,Battery Type,Product URL,Datasheet URL,MAC Version,Regional Parameter Version,Supports Class B?, Supports Class C?\n'; let csvData = walkSync(startPath); // Save to CSV file From 0f89d522f038ca9e5c2211bb7ef9818376b56432 Mon Sep 17 00:00:00 2001 From: LDannijs Date: Fri, 5 Apr 2024 09:45:46 +0200 Subject: [PATCH 03/16] add type converter --- schema.json | 2 +- vendor/acrios/acr-cv-101l-m-d.yaml | 2 ++ vendor/acrios/acr-cv-101l-m-eac.yaml | 3 +++ vendor/acrios/acr-cv-101l-r-eac.yaml | 3 +++ vendor/adeunis/modbus.yaml | 3 +++ vendor/dragino/rs485-bl.yaml | 3 +++ vendor/dragino/rs485-ln.yaml | 4 ++++ vendor/dragino/sdi-12.yaml | 4 ++++ vendor/enginko/mcf-lw06485.yaml | 3 +++ vendor/enthutech/rs485-bl.yaml | 3 +++ vendor/enthutech/rs485-ln.yaml | 3 +++ vendor/iot-factory/m-bus-gateway.yaml | 3 +++ vendor/koidra/sdi-12-dra.yaml | 3 +++ vendor/koidra/sdi-12-tek.yaml | 3 +++ vendor/milesight-iot/uc100.yaml | 3 +++ vendor/minol-zenner/edc-communication-module.yaml | 7 +++++++ vendor/nke-watteco/modbus-classe-a-sensor.yaml | 3 +++ vendor/nke-watteco/modbus-classe-c-sensor.yaml | 3 +++ vendor/rakwireless/rak7431.yaml | 3 +++ 19 files changed, 60 insertions(+), 1 deletion(-) diff --git a/schema.json b/schema.json index 2ea1b75200..d4434f3801 100644 --- a/schema.json +++ b/schema.json @@ -921,7 +921,7 @@ "devicetype": { "type": "array", "items": { - "enum": ["sensor", "devboard", "actuator", "module"] + "enum": ["sensor", "devboard", "actuator", "module", "converter"] } }, "sensors": { diff --git a/vendor/acrios/acr-cv-101l-m-d.yaml b/vendor/acrios/acr-cv-101l-m-d.yaml index 5efacd49dd..bff0d99d1b 100644 --- a/vendor/acrios/acr-cv-101l-m-d.yaml +++ b/vendor/acrios/acr-cv-101l-m-d.yaml @@ -13,6 +13,8 @@ firmwareVersions: EU863-870: lorawanCertified: true id: acr-cv-101l-m-d-profile +devicetype: + - converter bridgeInterfaces: - m-bus dimensions: diff --git a/vendor/acrios/acr-cv-101l-m-eac.yaml b/vendor/acrios/acr-cv-101l-m-eac.yaml index 348552c8d9..cb023676b6 100644 --- a/vendor/acrios/acr-cv-101l-m-eac.yaml +++ b/vendor/acrios/acr-cv-101l-m-eac.yaml @@ -36,6 +36,9 @@ firmwareVersions: id: acr-cv-otaa-profile lorawanCertified: true +devicetype: + - converter + # Bridge interfaces (optional) # Valid values are: modbus, m-bus, can bus, rs-485, sdi-12, analog. bridgeInterfaces: diff --git a/vendor/acrios/acr-cv-101l-r-eac.yaml b/vendor/acrios/acr-cv-101l-r-eac.yaml index 4d1c5a27a1..fbbbc615cc 100644 --- a/vendor/acrios/acr-cv-101l-r-eac.yaml +++ b/vendor/acrios/acr-cv-101l-r-eac.yaml @@ -36,6 +36,9 @@ firmwareVersions: id: acr-cv-otaa-profile lorawanCertified: true +devicetype: + - converter + # Bridge interfaces (optional) # Valid values are: modbus, m-bus, can bus, rs-485, sdi-12, analog. bridgeInterfaces: diff --git a/vendor/adeunis/modbus.yaml b/vendor/adeunis/modbus.yaml index fa51dd034a..d74783f501 100644 --- a/vendor/adeunis/modbus.yaml +++ b/vendor/adeunis/modbus.yaml @@ -58,6 +58,9 @@ firmwareVersions: lorawanCertified: true codec: modbus-codec +devicetype: + - converter + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/dragino/rs485-bl.yaml b/vendor/dragino/rs485-bl.yaml index 52193f4644..68e58bf8d4 100644 --- a/vendor/dragino/rs485-bl.yaml +++ b/vendor/dragino/rs485-bl.yaml @@ -52,6 +52,9 @@ firmwareVersions: RU864-870: id: ru864-a-abp-profile +devicetype: + - converter + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/dragino/rs485-ln.yaml b/vendor/dragino/rs485-ln.yaml index d17852d0de..841aadb4e7 100644 --- a/vendor/dragino/rs485-ln.yaml +++ b/vendor/dragino/rs485-ln.yaml @@ -61,6 +61,10 @@ firmwareVersions: id: kr920-c-abp-profile RU864-870: id: ru864-c-abp-profile + +devicetype: + - converter + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/dragino/sdi-12.yaml b/vendor/dragino/sdi-12.yaml index 813d50b8aa..2094cdc44d 100644 --- a/vendor/dragino/sdi-12.yaml +++ b/vendor/dragino/sdi-12.yaml @@ -87,6 +87,10 @@ firmwareVersions: id: ru864-a-abp-profile lorawanCertified: true codec: sdi-12-codec + +devicetype: + - converter + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/enginko/mcf-lw06485.yaml b/vendor/enginko/mcf-lw06485.yaml index 48145d6beb..84bd791540 100644 --- a/vendor/enginko/mcf-lw06485.yaml +++ b/vendor/enginko/mcf-lw06485.yaml @@ -27,6 +27,9 @@ firmwareVersions: lorawanCertified: false codec: mcf-lw06485-codec +devicetype: + - converter + # Sensors that this device features (optional) # Valid values are: accelerometer, altitude, auxiliary, barometer, battery, button, co2, distance, dust, gps, gyroscope, # humidity, light, link, magnetometer, moisture, ph, pir, proximity, rssi, snr, sound, temperature, tvoc, velocity, diff --git a/vendor/enthutech/rs485-bl.yaml b/vendor/enthutech/rs485-bl.yaml index 7170836405..1a5230d6a1 100644 --- a/vendor/enthutech/rs485-bl.yaml +++ b/vendor/enthutech/rs485-bl.yaml @@ -28,6 +28,9 @@ firmwareVersions: CN470-510: id: class-a-profile +devicetype: + - converter + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/enthutech/rs485-ln.yaml b/vendor/enthutech/rs485-ln.yaml index fe7786eeec..e7403c4439 100644 --- a/vendor/enthutech/rs485-ln.yaml +++ b/vendor/enthutech/rs485-ln.yaml @@ -38,6 +38,9 @@ firmwareVersions: CN470-510: id: class-a-c-profile +devicetype: + - converter + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/iot-factory/m-bus-gateway.yaml b/vendor/iot-factory/m-bus-gateway.yaml index c0a7f4048d..fa47518e09 100644 --- a/vendor/iot-factory/m-bus-gateway.yaml +++ b/vendor/iot-factory/m-bus-gateway.yaml @@ -34,6 +34,9 @@ firmwareVersions: lorawanCertified: false codec: m-bus-gateway-codec +devicetype: + - converter + # Sensors that this device features #sensors: # - m-bus master diff --git a/vendor/koidra/sdi-12-dra.yaml b/vendor/koidra/sdi-12-dra.yaml index d4008c3396..3bc8609639 100644 --- a/vendor/koidra/sdi-12-dra.yaml +++ b/vendor/koidra/sdi-12-dra.yaml @@ -43,6 +43,9 @@ firmwareVersions: id: sdi-12-dra-profile codec: sdi-12-dra-codec +devicetype: + - converter + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/koidra/sdi-12-tek.yaml b/vendor/koidra/sdi-12-tek.yaml index 11473f6d8d..5425d4bb39 100644 --- a/vendor/koidra/sdi-12-tek.yaml +++ b/vendor/koidra/sdi-12-tek.yaml @@ -43,6 +43,9 @@ firmwareVersions: id: sdi-12-tek-profile codec: sdi-12-tek-codec +devicetype: + - converter + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/milesight-iot/uc100.yaml b/vendor/milesight-iot/uc100.yaml index 347755e5fc..619f16f514 100644 --- a/vendor/milesight-iot/uc100.yaml +++ b/vendor/milesight-iot/uc100.yaml @@ -37,6 +37,9 @@ firmwareVersions: id: profile-ru864 codec: uc100-codec +devicetype: + - converter + #sensors: # modbus channels diff --git a/vendor/minol-zenner/edc-communication-module.yaml b/vendor/minol-zenner/edc-communication-module.yaml index d40a19a781..014d1d89fd 100644 --- a/vendor/minol-zenner/edc-communication-module.yaml +++ b/vendor/minol-zenner/edc-communication-module.yaml @@ -27,5 +27,12 @@ firmwareVersions: lorawanCertified: true codec: edc-communication-module-codec +devicetype: + - sensor + +sensors: + - pulse count + - pulse frequency + photos: main: edc-communication-module.png diff --git a/vendor/nke-watteco/modbus-classe-a-sensor.yaml b/vendor/nke-watteco/modbus-classe-a-sensor.yaml index dbcf32e3d1..8a27423413 100644 --- a/vendor/nke-watteco/modbus-classe-a-sensor.yaml +++ b/vendor/nke-watteco/modbus-classe-a-sensor.yaml @@ -37,6 +37,9 @@ firmwareVersions: lorawanCertified: true codec: modbus-sensor-codec +devicetype: + - converter + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/nke-watteco/modbus-classe-c-sensor.yaml b/vendor/nke-watteco/modbus-classe-c-sensor.yaml index 1eaac09c03..a3b2d9df7b 100644 --- a/vendor/nke-watteco/modbus-classe-c-sensor.yaml +++ b/vendor/nke-watteco/modbus-classe-c-sensor.yaml @@ -37,6 +37,9 @@ firmwareVersions: lorawanCertified: true codec: modbus-sensor-codec +devicetype: + - converter + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/rakwireless/rak7431.yaml b/vendor/rakwireless/rak7431.yaml index 8a69ec6427..9d355de910 100644 --- a/vendor/rakwireless/rak7431.yaml +++ b/vendor/rakwireless/rak7431.yaml @@ -25,6 +25,9 @@ firmwareVersions: id: rak7431-915-profile lorawanCertified: false +devicetype: + - converter + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: From 5e46138c7aa87f25e708d2755e7529f68660b2c7 Mon Sep 17 00:00:00 2001 From: LDannijs Date: Fri, 5 Apr 2024 10:39:54 +0200 Subject: [PATCH 04/16] add coveragetester --- schema.json | 3 ++- vendor/adeunis/ftd-network-tester.yaml | 3 +++ vendor/arduino/portenta-max-carrier.yaml | 3 +++ vendor/atim/acw-tst.yaml | 3 +++ vendor/browan/l0010.yaml | 4 ++-- vendor/cotx/cotxpetfon.yaml | 2 ++ vendor/dragino/lt22222-l.yaml | 7 ++++--- vendor/dragino/lt33222-l.yaml | 7 ++++--- vendor/ks-technologies/kst5420.yaml | 3 +++ 9 files changed, 26 insertions(+), 9 deletions(-) diff --git a/schema.json b/schema.json index d4434f3801..c3d93f1903 100644 --- a/schema.json +++ b/schema.json @@ -921,7 +921,7 @@ "devicetype": { "type": "array", "items": { - "enum": ["sensor", "devboard", "actuator", "module", "converter"] + "enum": ["sensor", "devboard", "actuator", "module", "converter", "coveragetest"] } }, "sensors": { @@ -942,6 +942,7 @@ "conductivity", "current", "digital input", + "digital output", "dissolved oxygen", "distance", "dust", diff --git a/vendor/adeunis/ftd-network-tester.yaml b/vendor/adeunis/ftd-network-tester.yaml index 3cc37e87d4..ce51929f7b 100644 --- a/vendor/adeunis/ftd-network-tester.yaml +++ b/vendor/adeunis/ftd-network-tester.yaml @@ -23,6 +23,9 @@ firmwareVersions: id: ftd-profile-eu868 lorawanCertified: true +devicetype: + - coveragetest + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/arduino/portenta-max-carrier.yaml b/vendor/arduino/portenta-max-carrier.yaml index 7d342742b4..98308e7d16 100644 --- a/vendor/arduino/portenta-max-carrier.yaml +++ b/vendor/arduino/portenta-max-carrier.yaml @@ -50,6 +50,9 @@ firmwareVersions: lorawanCertified: false codec: portentamaxcarrier-codec +devicetype: + - devboard + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/atim/acw-tst.yaml b/vendor/atim/acw-tst.yaml index 919549fdbb..662d6cd60c 100644 --- a/vendor/atim/acw-tst.yaml +++ b/vendor/atim/acw-tst.yaml @@ -37,6 +37,9 @@ firmwareVersions: lorawanCertified: true codec: codec2 +devicetype: + - coveragetest + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/browan/l0010.yaml b/vendor/browan/l0010.yaml index 7a914d4e1f..1f9ca0e47a 100644 --- a/vendor/browan/l0010.yaml +++ b/vendor/browan/l0010.yaml @@ -22,8 +22,8 @@ firmwareVersions: lorawanCertified: true codec: l0010-codec -#sensors: -# - gasmatic sensor +sensors: + - iaq dimensions: width: 180 diff --git a/vendor/cotx/cotxpetfon.yaml b/vendor/cotx/cotxpetfon.yaml index ce8327333c..39ad6299d7 100644 --- a/vendor/cotx/cotxpetfon.yaml +++ b/vendor/cotx/cotxpetfon.yaml @@ -47,6 +47,8 @@ firmwareVersions: # power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, smart valve, snr, so2, # solar radiation, sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, # vibration, voltage, water potential, water, weight, wifi ssid, wind direction, wind speed. +sensors: + - gps # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/dragino/lt22222-l.yaml b/vendor/dragino/lt22222-l.yaml index fc70ef2429..dde0154f6b 100644 --- a/vendor/dragino/lt22222-l.yaml +++ b/vendor/dragino/lt22222-l.yaml @@ -146,9 +146,10 @@ firmwareVersions: # power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, snr, solar radiation, # sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, vibration, voltage, # water potential, water, weight, wifi ssid, wind direction, wind speed. -#sensors: -# - wind direction -# - wind speed +sensors: + - digital input + - digital output + - analog input # Battery information (optional) #battery: diff --git a/vendor/dragino/lt33222-l.yaml b/vendor/dragino/lt33222-l.yaml index 2a66f3caed..7ec7861a09 100644 --- a/vendor/dragino/lt33222-l.yaml +++ b/vendor/dragino/lt33222-l.yaml @@ -105,9 +105,10 @@ firmwareVersions: # power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, snr, solar radiation, # sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, vibration, voltage, # water potential, water, weight, wifi ssid, wind direction, wind speed. -#sensors: -# - wind direction -# - wind speed +sensors: + - digital input + - digital output + - analog input # Battery information (optional) #battery: diff --git a/vendor/ks-technologies/kst5420.yaml b/vendor/ks-technologies/kst5420.yaml index 3819b04c09..ca9a9792b9 100644 --- a/vendor/ks-technologies/kst5420.yaml +++ b/vendor/ks-technologies/kst5420.yaml @@ -25,6 +25,9 @@ firmwareVersions: lorawanCertified: false codec: kst5420-codec +devicetype: + - coveragetest + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: From 14c3eaea02e060d7ef2580a5f6fd0f0d82c8d059 Mon Sep 17 00:00:00 2001 From: Lars Dannijs Date: Fri, 5 Apr 2024 12:14:26 +0200 Subject: [PATCH 05/16] update more devices & add some sensors --- schema.json | 4 ++ vendor/elster/merlin-868.yaml | 4 +- vendor/elsys/elt-lite.yaml | 5 ++ vendor/elsys/ems-desk.yaml | 2 +- vendor/elsys/ers-co2.yaml | 1 + vendor/elsys/ers-eye.yaml | 2 +- vendor/elv/elv-lw-int1.yaml | 3 + vendor/elvaco/cmi4110.yaml | 6 ++ vendor/elvaco/cmi4111.yaml | 6 ++ vendor/elvaco/cmi4130.yaml | 6 ++ vendor/elvaco/cmi4140.yaml | 6 ++ vendor/elvaco/cmi4160.yaml | 6 ++ vendor/imbuildings/comfort-sensor.yaml | 58 ------------------- .../imbuildings-comfort-sensor.yaml | 13 ++--- .../imbuildings-office-occupancy-counter.yaml | 3 + .../imbuildings-people-counter.yaml | 3 + vendor/imbuildings/people-counter.yaml | 44 -------------- vendor/imst/ioke868.yaml | 3 +- vendor/imst/range-extender.yaml | 3 + vendor/jeng-iot/buzzon.yaml | 3 + vendor/milesight-iot/vs121.yaml | 5 +- vendor/milesight-iot/vs133.yaml | 1 + vendor/milesight-iot/vs330.yaml | 3 +- vendor/moirelabs/p1ap.yaml | 3 + vendor/moirelabs/p1at.yaml | 3 + vendor/nexelec/guard.yaml | 2 + vendor/nexelec/origin.yaml | 2 + vendor/orbiwise/sampols21.yaml | 3 + vendor/parametric/rdr.yaml | 4 +- vendor/rakwireless/rak2270.yaml | 4 ++ vendor/rakwireless/rak2560.yaml | 6 ++ vendor/rakwireless/rak7201.yaml | 3 + vendor/seeed/loraeminidevboard-e5.yaml | 3 + vendor/seeed/lorawan-dev-kit.yaml | 3 + vendor/seeed/sensecap-indicator.yaml | 3 + vendor/sensative/strips.yaml | 8 +++ .../sensecap/sensecaps2100-data-logger.yaml | 4 ++ vendor/talkpool/oy1320.yaml | 3 + 38 files changed, 124 insertions(+), 120 deletions(-) delete mode 100644 vendor/imbuildings/comfort-sensor.yaml delete mode 100644 vendor/imbuildings/people-counter.yaml diff --git a/schema.json b/schema.json index c3d93f1903..b123f42462 100644 --- a/schema.json +++ b/schema.json @@ -952,6 +952,7 @@ "h2s", "humidity", "iaq", + "infrared", "leaf wetness", "level", "light", @@ -960,9 +961,11 @@ "magnetometer", "moisture", "motion", + "nfc", "no", "no2", "o3", + "occupancy", "optical meter", "particulate matter", "ph", @@ -981,6 +984,7 @@ "rssi", "sap flow", "smart valve", + "smoke", "snr", "so2", "solar radiation", diff --git a/vendor/elster/merlin-868.yaml b/vendor/elster/merlin-868.yaml index 90ef9e0222..7475f859ef 100644 --- a/vendor/elster/merlin-868.yaml +++ b/vendor/elster/merlin-868.yaml @@ -30,8 +30,8 @@ firmwareVersions: # power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, smart valve, snr, so2, # solar radiation, sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, # vibration, voltage, water potential, water, weight, wifi ssid, wind direction, wind speed. -# sensors: -# - optical +sensors: + - magnetometer # Battery information (optional) battery: diff --git a/vendor/elsys/elt-lite.yaml b/vendor/elsys/elt-lite.yaml index 84ae95aa1e..2a1fbca5f7 100644 --- a/vendor/elsys/elt-lite.yaml +++ b/vendor/elsys/elt-lite.yaml @@ -49,6 +49,11 @@ firmwareVersions: lorawanCertified: true codec: elt-2-codec +sensors: + - digital input + - analog input + - pulse count + # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. additionalRadios: diff --git a/vendor/elsys/ems-desk.yaml b/vendor/elsys/ems-desk.yaml index 7993e44c2f..184abad5c2 100644 --- a/vendor/elsys/ems-desk.yaml +++ b/vendor/elsys/ems-desk.yaml @@ -61,7 +61,7 @@ sensors: - temperature - humidity - accelerometer - #- occupancy + - occupancy # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/elsys/ers-co2.yaml b/vendor/elsys/ers-co2.yaml index 4c786a81bf..50b5e76574 100644 --- a/vendor/elsys/ers-co2.yaml +++ b/vendor/elsys/ers-co2.yaml @@ -57,6 +57,7 @@ sensors: - light - motion - co2 + - pir # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/elsys/ers-eye.yaml b/vendor/elsys/ers-eye.yaml index 45870c64e8..8d066dfc47 100644 --- a/vendor/elsys/ers-eye.yaml +++ b/vendor/elsys/ers-eye.yaml @@ -62,7 +62,7 @@ sensors: - humidity - light - motion - #- occupancy + - occupancy # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/elv/elv-lw-int1.yaml b/vendor/elv/elv-lw-int1.yaml index b97d9d7460..cff6024edd 100644 --- a/vendor/elv/elv-lw-int1.yaml +++ b/vendor/elv/elv-lw-int1.yaml @@ -37,6 +37,9 @@ firmwareVersions: lorawanCertified: true codec: elv-lw-int1-codec +devicetype: + - converter + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/elvaco/cmi4110.yaml b/vendor/elvaco/cmi4110.yaml index 1c1190f7bb..86db60a23c 100644 --- a/vendor/elvaco/cmi4110.yaml +++ b/vendor/elvaco/cmi4110.yaml @@ -33,3 +33,9 @@ firmwareVersions: # lorawanCertified: true # # This is the file name of the codec defintion and must have the .yaml extension. # codec: device-a-codec + +devicetype: + - module + +photos: + main: cmi4110.jpeg diff --git a/vendor/elvaco/cmi4111.yaml b/vendor/elvaco/cmi4111.yaml index 6e94459a88..eed3500f3e 100644 --- a/vendor/elvaco/cmi4111.yaml +++ b/vendor/elvaco/cmi4111.yaml @@ -33,3 +33,9 @@ firmwareVersions: # lorawanCertified: true # # This is the file name of the codec defintion and must have the .yaml extension. # codec: device-a-codec + +devicetype: + - module + +photos: + main: cmi4111.jpeg diff --git a/vendor/elvaco/cmi4130.yaml b/vendor/elvaco/cmi4130.yaml index edd96e057a..7f93aca51a 100644 --- a/vendor/elvaco/cmi4130.yaml +++ b/vendor/elvaco/cmi4130.yaml @@ -33,3 +33,9 @@ firmwareVersions: # lorawanCertified: true # # This is the file name of the codec defintion and must have the .yaml extension. # codec: device-a-codec + +devicetype: + - module + +photos: + main: cmi4130.jpeg diff --git a/vendor/elvaco/cmi4140.yaml b/vendor/elvaco/cmi4140.yaml index 776769e516..1c53caee5e 100644 --- a/vendor/elvaco/cmi4140.yaml +++ b/vendor/elvaco/cmi4140.yaml @@ -33,3 +33,9 @@ firmwareVersions: # lorawanCertified: true # # This is the file name of the codec defintion and must have the .yaml extension. # codec: device-a-codec + +devicetype: + - module + +photos: + main: cmi4140.jpeg diff --git a/vendor/elvaco/cmi4160.yaml b/vendor/elvaco/cmi4160.yaml index 31f85de2e5..c91c8adfea 100644 --- a/vendor/elvaco/cmi4160.yaml +++ b/vendor/elvaco/cmi4160.yaml @@ -33,3 +33,9 @@ firmwareVersions: # lorawanCertified: true # # This is the file name of the codec defintion and must have the .yaml extension. # codec: device-a-codec + +devicetype: + - module + +photos: + main: cmi4160.jpeg diff --git a/vendor/imbuildings/comfort-sensor.yaml b/vendor/imbuildings/comfort-sensor.yaml deleted file mode 100644 index 7dd92346b6..0000000000 --- a/vendor/imbuildings/comfort-sensor.yaml +++ /dev/null @@ -1,58 +0,0 @@ -name: LoRaWAN Comfort Sensor -description: Measure indoor comfort by monitoring CO2, temperature, humidity, presence. - -# Firmware versions (at least one is mandatory) -firmwareVersions: - - # Firmware version - version: '1.0' - numeric: 1 - - # LoRaWAN Device Profiles per region - # Supported regions are EU863-870, US902-928, AU915-928, AS923, CN779-787, EU433, CN470-510, KR920-923, IN865-867, - # RU864-870 - profiles: - EU863-870: - id: imbuildings-eu868-profile - lorawanCertified: true - codec: imbuildings-codec - US902-928: - id: imbuildings-us902-profile - lorawanCertified: true - codec: imbuildings-codec - AS923: - id: imbuildings-as923-profile - lorawanCertified: true - codec: imbuildings-codec - AU915-928: - id: imbuildings-au915-profile - lorawanCertified: true - codec: imbuildings-codec - -# Sensors that this device features (optional) -# Valid values are: -# 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, -# current, digital input, dissolved oxygen, distance, dust, energy, gps, gyroscope, h2s, humidity, iaq, level, light, -# lightning, link, magnetometer, moisture, motion, no, no2, o3, particulate matter, ph, pir, pm2.5, pm10, potentiometer, -# power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, smart valve, snr, so2, -# solar radiation, sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, -# vibration, voltage, water potential, water, weight, wifi ssid, wind direction, wind speed. -sensors: - - temperature - - humidity - - motion - - co2 - -# Dimensions in mm (optional) -# Use width, height, length and/or diameter -dimensions: - width: 88 - length: 88 - height: 25 - -# Battery information (optional) -battery: - replaceable: true - type: 2 x ER14505 3.6V Lithium AA battery - -# Product and data sheet URLs (optional) -productURL: https://www.imbuildings.com/lorawan-comfort-sensor/ diff --git a/vendor/imbuildings/imbuildings-comfort-sensor.yaml b/vendor/imbuildings/imbuildings-comfort-sensor.yaml index 4f43b2af0d..80e2f6181c 100644 --- a/vendor/imbuildings/imbuildings-comfort-sensor.yaml +++ b/vendor/imbuildings/imbuildings-comfort-sensor.yaml @@ -31,13 +31,12 @@ firmwareVersions: id: imbuildings-profile-au915 codec: imbuildings-codec -#sensors: -# - device status -# - battery voltage -# - co2 -# - temperature -# - relative humidity -# - presence +sensors: + - battery + - co2 + - temperature + - humidity + - motion additionalRadios: - nfc diff --git a/vendor/imbuildings/imbuildings-office-occupancy-counter.yaml b/vendor/imbuildings/imbuildings-office-occupancy-counter.yaml index 6c07ad09fe..171ca51ca9 100644 --- a/vendor/imbuildings/imbuildings-office-occupancy-counter.yaml +++ b/vendor/imbuildings/imbuildings-office-occupancy-counter.yaml @@ -31,6 +31,9 @@ firmwareVersions: id: imbuildings-profile-au915 codec: imbuildings-codec +sensors: + - infrared + additionalRadios: - nfc diff --git a/vendor/imbuildings/imbuildings-people-counter.yaml b/vendor/imbuildings/imbuildings-people-counter.yaml index fa45fd3a3e..9ebc6a4be2 100644 --- a/vendor/imbuildings/imbuildings-people-counter.yaml +++ b/vendor/imbuildings/imbuildings-people-counter.yaml @@ -31,6 +31,9 @@ firmwareVersions: id: imbuildings-profile-au915 codec: imbuildings-codec +sensors: + - infrared + additionalRadios: - nfc diff --git a/vendor/imbuildings/people-counter.yaml b/vendor/imbuildings/people-counter.yaml deleted file mode 100644 index b134213f65..0000000000 --- a/vendor/imbuildings/people-counter.yaml +++ /dev/null @@ -1,44 +0,0 @@ -name: LoRaWAN People Counter -description: Easy installation for accurate counting without the need for setting up count lines or calibration and so on... - -# Firmware versions (at least one is mandatory) -firmwareVersions: - - # Firmware version - version: '1.0' - numeric: 1 - - # LoRaWAN Device Profiles per region - # Supported regions are EU863-870, US902-928, AU915-928, AS923, CN779-787, EU433, CN470-510, KR920-923, IN865-867, - # RU864-870 - profiles: - EU863-870: - id: imbuildings-eu868-profile - lorawanCertified: true - codec: imbuildings-codec - US902-928: - id: imbuildings-us902-profile - lorawanCertified: true - codec: imbuildings-codec - AS923: - id: imbuildings-as923-profile - lorawanCertified: true - codec: imbuildings-codec - AU915-928: - id: imbuildings-au915-profile - lorawanCertified: true - codec: imbuildings-codec - -# Dimensions in mm (optional) -# Use width, height, length and/or diameter -dimensions: - width: 69 - length: 116 - height: 22 - -# Battery information (optional) -battery: - replaceable: true - type: 2 x AA - -# Product and data sheet URLs (optional) -productURL: https://www.imbuildings.com/lorawan-people-counter/ diff --git a/vendor/imst/ioke868.yaml b/vendor/imst/ioke868.yaml index 06e7d32e85..1cc12c3fe3 100644 --- a/vendor/imst/ioke868.yaml +++ b/vendor/imst/ioke868.yaml @@ -26,7 +26,8 @@ firmwareVersions: # Valid values are: accelerometer, altitude, auxiliary, barometer, battery, button, co2, distance, dust, gps, gyroscope, # humidity, light, link, magnetometer, moisture, ph, pir, proximity, rssi, snr, sound, temperature, tvoc, velocity, # vibration, water, wind direction and wind speed. -#sensors: +sensors: + - optical meter # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/imst/range-extender.yaml b/vendor/imst/range-extender.yaml index c07891f101..54326e47aa 100644 --- a/vendor/imst/range-extender.yaml +++ b/vendor/imst/range-extender.yaml @@ -35,6 +35,9 @@ firmwareVersions: lorawanCertified: true codec: range-extender-codec +devicetype: + - converter + # Sensors that this device features (optional) # Dimensions in mm (optional) diff --git a/vendor/jeng-iot/buzzon.yaml b/vendor/jeng-iot/buzzon.yaml index a0233f670a..9d1f270b67 100644 --- a/vendor/jeng-iot/buzzon.yaml +++ b/vendor/jeng-iot/buzzon.yaml @@ -35,6 +35,9 @@ firmwareVersions: # lorawanCertified: true # codec: windsensor-codec +sensors: + - button + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/milesight-iot/vs121.yaml b/vendor/milesight-iot/vs121.yaml index 2f7093f1b2..95a5d44e91 100644 --- a/vendor/milesight-iot/vs121.yaml +++ b/vendor/milesight-iot/vs121.yaml @@ -37,9 +37,8 @@ firmwareVersions: id: profile-ru864 codec: vs121-codec -#sensors: -# people_counter_all -# region_count +sensors: + - occupancy dimensions: width: 50 diff --git a/vendor/milesight-iot/vs133.yaml b/vendor/milesight-iot/vs133.yaml index 6fb54c9c5a..ccd82c68e9 100644 --- a/vendor/milesight-iot/vs133.yaml +++ b/vendor/milesight-iot/vs133.yaml @@ -39,6 +39,7 @@ firmwareVersions: sensors: - motion + - distance # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, # current, digital input, dissolved oxygen, distance, dust, energy, gps, gyroscope, h2s, humidity, iaq, level, light, diff --git a/vendor/milesight-iot/vs330.yaml b/vendor/milesight-iot/vs330.yaml index 985e378a8f..2a25106b20 100644 --- a/vendor/milesight-iot/vs330.yaml +++ b/vendor/milesight-iot/vs330.yaml @@ -1,5 +1,5 @@ name: LoRaWAN Bathroom Occupancy Sensor -description: VS330 is a LoRaWAN® bathroom occupancy sensor providingacost-effectivesolution for monitoring the occupancy status of the bathroomsandthecubiclesof a public toilet in different scenarios +description: VS330 is a LoRaWAN® bathroom occupancy sensor providing a cost-effective solution for monitoring the occupancy status of the bathrooms and the cubicles of a public toilet in different scenarios. hardwareVersions: - version: 'V1.0' @@ -40,6 +40,7 @@ firmwareVersions: sensors: - motion - pir + - distance # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, # current, digital input, dissolved oxygen, distance, dust, energy, gps, gyroscope, h2s, humidity, iaq, level, light, diff --git a/vendor/moirelabs/p1ap.yaml b/vendor/moirelabs/p1ap.yaml index 49346e1a25..73e65ec2ee 100644 --- a/vendor/moirelabs/p1ap.yaml +++ b/vendor/moirelabs/p1ap.yaml @@ -11,6 +11,9 @@ firmwareVersions: lorawanCertified: true codec: p1a-codec +sensors: + - pressure + additionalRadios: - ble diff --git a/vendor/moirelabs/p1at.yaml b/vendor/moirelabs/p1at.yaml index e7a7ea3163..a8cc7307c9 100644 --- a/vendor/moirelabs/p1at.yaml +++ b/vendor/moirelabs/p1at.yaml @@ -11,6 +11,9 @@ firmwareVersions: lorawanCertified: true codec: p1a-codec +sensors: + - surface temperature + additionalRadios: - ble diff --git a/vendor/nexelec/guard.yaml b/vendor/nexelec/guard.yaml index 28cdbe449a..2fe7453a49 100644 --- a/vendor/nexelec/guard.yaml +++ b/vendor/nexelec/guard.yaml @@ -45,6 +45,8 @@ firmwareVersions: # power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, smart valve, snr, so2, # solar radiation, sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, # vibration, voltage, water potential, water, weight, wifi ssid, wind direction, wind speed. +sensors: + - smoke # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/nexelec/origin.yaml b/vendor/nexelec/origin.yaml index 3141f4048d..3b01fb6b1b 100644 --- a/vendor/nexelec/origin.yaml +++ b/vendor/nexelec/origin.yaml @@ -45,6 +45,8 @@ firmwareVersions: # power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, smart valve, snr, so2, # solar radiation, sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, # vibration, voltage, water potential, water, weight, wifi ssid, wind direction, wind speed. +sensors: + - smoke # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/orbiwise/sampols21.yaml b/vendor/orbiwise/sampols21.yaml index 4e152ac936..d202490715 100644 --- a/vendor/orbiwise/sampols21.yaml +++ b/vendor/orbiwise/sampols21.yaml @@ -27,6 +27,9 @@ firmwareVersions: id: sampols21-as923-profile lorawanCertified: true +sensors: + - sound + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/parametric/rdr.yaml b/vendor/parametric/rdr.yaml index fd7c1bdb24..42bb5a1254 100644 --- a/vendor/parametric/rdr.yaml +++ b/vendor/parametric/rdr.yaml @@ -44,8 +44,8 @@ firmwareVersions: # power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, smart valve, snr, so2, # solar radiation, sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, # vibration, voltage, water potential, water, weight, wifi ssid, wind direction, wind speed. -#sensors: -# - +sensors: + - nfc # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/rakwireless/rak2270.yaml b/vendor/rakwireless/rak2270.yaml index f2cb7fe550..a4d38001a5 100644 --- a/vendor/rakwireless/rak2270.yaml +++ b/vendor/rakwireless/rak2270.yaml @@ -27,6 +27,10 @@ firmwareVersions: lorawanCertified: false codec: rak2270-codec +sensors: + - temperature + - accelerometer + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/rakwireless/rak2560.yaml b/vendor/rakwireless/rak2560.yaml index ee745f37b0..38773b2750 100644 --- a/vendor/rakwireless/rak2560.yaml +++ b/vendor/rakwireless/rak2560.yaml @@ -27,6 +27,12 @@ firmwareVersions: lorawanCertified: false codec: rak2560-codec +sensors: + - temperature + - humidity + - barometer + - accelerometer + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/rakwireless/rak7201.yaml b/vendor/rakwireless/rak7201.yaml index 44d025e986..a3e890f415 100644 --- a/vendor/rakwireless/rak7201.yaml +++ b/vendor/rakwireless/rak7201.yaml @@ -28,6 +28,9 @@ firmwareVersions: lorawanCertified: false codec: rak7201-codec +sensors: + - button + # Valid values are: none, read protected and secure element. keySecurity: none diff --git a/vendor/seeed/loraeminidevboard-e5.yaml b/vendor/seeed/loraeminidevboard-e5.yaml index b06a02bc63..faa58ac5d9 100644 --- a/vendor/seeed/loraeminidevboard-e5.yaml +++ b/vendor/seeed/loraeminidevboard-e5.yaml @@ -44,6 +44,9 @@ firmwareVersions: lorawanCertified: true codec: loradevelopkit-e5-codec +devicetype: + - devboard + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/seeed/lorawan-dev-kit.yaml b/vendor/seeed/lorawan-dev-kit.yaml index b935272b94..216f7249e0 100644 --- a/vendor/seeed/lorawan-dev-kit.yaml +++ b/vendor/seeed/lorawan-dev-kit.yaml @@ -38,6 +38,9 @@ firmwareVersions: lorawanCertified: true codec: loradevelopkit-e5-codec +devicetype: + - devboard + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/seeed/sensecap-indicator.yaml b/vendor/seeed/sensecap-indicator.yaml index 595ef00711..a380fdf824 100644 --- a/vendor/seeed/sensecap-indicator.yaml +++ b/vendor/seeed/sensecap-indicator.yaml @@ -38,6 +38,9 @@ firmwareVersions: lorawanCertified: true codec: loradevelopkit-e5-codec +devicetype: + - devboard + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/sensative/strips.yaml b/vendor/sensative/strips.yaml index 50334e9dc6..936201472f 100644 --- a/vendor/sensative/strips.yaml +++ b/vendor/sensative/strips.yaml @@ -33,6 +33,14 @@ firmwareVersions: lorawanCertified: true codec: strips-codec +sensors: + - magnetometer + - temperature + - light + - water + - humidity + - infrared + # Photos photos: main: strip.png diff --git a/vendor/sensecap/sensecaps2100-data-logger.yaml b/vendor/sensecap/sensecaps2100-data-logger.yaml index 88d3c3c7dc..a51bde6af8 100644 --- a/vendor/sensecap/sensecaps2100-data-logger.yaml +++ b/vendor/sensecap/sensecaps2100-data-logger.yaml @@ -49,6 +49,10 @@ firmwareVersions: lorawanCertified: true codec: sensecap2100-codec +sensors: + - 4-20 ma + - analog input + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/talkpool/oy1320.yaml b/vendor/talkpool/oy1320.yaml index 101047f1b9..f30a131126 100644 --- a/vendor/talkpool/oy1320.yaml +++ b/vendor/talkpool/oy1320.yaml @@ -28,6 +28,9 @@ firmwareVersions: lorawanCertified: true codec: oy1320-codec +sensors: + - infrared + # Battery information (optional) battery: replaceable: true From a6586c93a78c7a94a559287606ce0eee140ec07a Mon Sep 17 00:00:00 2001 From: Lars Dannijs Date: Mon, 8 Apr 2024 13:19:13 +0200 Subject: [PATCH 06/16] update some more devices --- schema.json | 1 + vendor/gwf/rcm-h200.yaml | 4 +++- vendor/gwf/rcm-lrw10.yaml | 4 +++- vendor/hermann-sewerin/sepem-35x.yaml | 3 ++- vendor/milesight-iot/ws50x.yaml | 9 ++------- vendor/plenom/busylight.yaml | 3 +++ vendor/redz/tlm-lw.yaml | 3 +++ vendor/ruixinghengfang-network/rhf1s052.yaml | 4 ++++ vendor/ruixinghengfang-network/rhf1s213.yaml | 5 ++--- vendor/ruixinghengfang-network/rhf3mr01.yaml | 3 +++ vendor/saninudge/sanisensor2.yaml | 3 +++ vendor/smart-parks/opencollar.yaml | 9 +++++++++ vendor/tip/sinus85.yaml | 3 +++ 13 files changed, 41 insertions(+), 13 deletions(-) diff --git a/schema.json b/schema.json index b123f42462..20c04ef694 100644 --- a/schema.json +++ b/schema.json @@ -991,6 +991,7 @@ "sound", "strain", "surface temperature", + "switch", "temperature", "tilt", "time", diff --git a/vendor/gwf/rcm-h200.yaml b/vendor/gwf/rcm-h200.yaml index 3be010e63e..c59738c92f 100644 --- a/vendor/gwf/rcm-h200.yaml +++ b/vendor/gwf/rcm-h200.yaml @@ -1,5 +1,5 @@ name: RCM-H200 Module for GWFCoder -description: The GWFcoder radio module RCM -H200 from GWF MessSysteme eliminates the need to change meters for the migration of water and gas meters with GWFcoder to an LPWAN network. With simple and quick on-site installation via Plug & Play, no programming is required and is ready for immediate use with a waterproof housing (protection class IP68). +description: The GWFcoder radio module RCM-H200 from GWF MessSysteme eliminates the need to change meters for the migration of water and gas meters with GWFcoder to an LPWAN network. With simple and quick on-site installation via Plug & Play, no programming is required and is ready for immediate use with a waterproof housing (protection class IP68). hardwareVersions: - version: '11' firmwareVersions: @@ -15,6 +15,8 @@ firmwareVersions: id: rcm-h200-915 lorawanCertified: false codec: rcm-h200-codec +devicetype: + - converter battery: replaceable: false type: 1x A diff --git a/vendor/gwf/rcm-lrw10.yaml b/vendor/gwf/rcm-lrw10.yaml index c94f9b14d3..a10ac564fa 100644 --- a/vendor/gwf/rcm-lrw10.yaml +++ b/vendor/gwf/rcm-lrw10.yaml @@ -1,5 +1,5 @@ name: RCM-LRW10 Module for GWFCoder -description: The GWFcoder radio module RCM -LRW10 from GWF MessSysteme eliminates the need to change meters for the migration of water and gas meters with GWFcoder to an LPWAN network. With simple and quick on-site installation via Plug & Play, no programming is required and is ready for immediate use with a waterproof housing (protection class IP68). +description: The GWFcoder radio module RCM-LRW10 from GWF MessSysteme eliminates the need to change meters for the migration of water and gas meters with GWFcoder to an LPWAN network. With simple and quick on-site installation via Plug & Play, no programming is required and is ready for immediate use with a waterproof housing (protection class IP68). hardwareVersions: - version: '21.0' firmwareVersions: @@ -11,6 +11,8 @@ firmwareVersions: id: rcm-lrw10-868 lorawanCertified: true codec: rcm-lrw10-codec +devicetype: + - converter battery: replaceable: false type: 2x A diff --git a/vendor/hermann-sewerin/sepem-35x.yaml b/vendor/hermann-sewerin/sepem-35x.yaml index 1cc9759ed2..8d13362935 100644 --- a/vendor/hermann-sewerin/sepem-35x.yaml +++ b/vendor/hermann-sewerin/sepem-35x.yaml @@ -48,7 +48,8 @@ firmwareVersions: # power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, snr, solar radiation, # sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, vibration, voltage, # water potential, water, weight, wifi ssid, wind direction, wind speed. - +sensors: + - sound # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/milesight-iot/ws50x.yaml b/vendor/milesight-iot/ws50x.yaml index 6059e1940d..6fa2f70d4e 100644 --- a/vendor/milesight-iot/ws50x.yaml +++ b/vendor/milesight-iot/ws50x.yaml @@ -45,13 +45,8 @@ firmwareVersions: lorawanCertified: true codec: ws50x-codec -#sensors: -# switch_1 -# switch_2 -# switch_3 -# switch_1_change -# switch_2_change -# switch_3_change +sensors: + - switch dimensions: width: 86 diff --git a/vendor/plenom/busylight.yaml b/vendor/plenom/busylight.yaml index 99a9499e59..cb6c1dee9b 100644 --- a/vendor/plenom/busylight.yaml +++ b/vendor/plenom/busylight.yaml @@ -46,6 +46,9 @@ firmwareVersions: lorawanCertified: true codec: busylight-codec +devicetype: + - actuator + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/redz/tlm-lw.yaml b/vendor/redz/tlm-lw.yaml index 24ccf8bdeb..a6306466d6 100644 --- a/vendor/redz/tlm-lw.yaml +++ b/vendor/redz/tlm-lw.yaml @@ -51,6 +51,9 @@ firmwareVersions: lorawanCertified: true codec: tlm-lw-codec +devicetype: + - converter + # Bridge interfaces (optional) # Valid values are: modbus, m-bus, can bus, rs-485, sdi-12, analog. bridgeInterfaces: diff --git a/vendor/ruixinghengfang-network/rhf1s052.yaml b/vendor/ruixinghengfang-network/rhf1s052.yaml index cb044ca17a..6483a9ccea 100644 --- a/vendor/ruixinghengfang-network/rhf1s052.yaml +++ b/vendor/ruixinghengfang-network/rhf1s052.yaml @@ -68,6 +68,10 @@ firmwareVersions: #lorawanCertified: true #codec: +devicetype: + - actuator + - sensor + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/ruixinghengfang-network/rhf1s213.yaml b/vendor/ruixinghengfang-network/rhf1s213.yaml index d0a36b8769..1d76f376ad 100644 --- a/vendor/ruixinghengfang-network/rhf1s213.yaml +++ b/vendor/ruixinghengfang-network/rhf1s213.yaml @@ -64,9 +64,8 @@ firmwareVersions: # power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, smart valve, snr, so2, # solar radiation, sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, # vibration, voltage, water potential, water, weight, wifi ssid, wind direction, wind speed. -#sensors: -# - wind direction -# - wind speed +sensors: + - water # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/ruixinghengfang-network/rhf3mr01.yaml b/vendor/ruixinghengfang-network/rhf3mr01.yaml index 693caadbb7..23ed4ef1f1 100644 --- a/vendor/ruixinghengfang-network/rhf3mr01.yaml +++ b/vendor/ruixinghengfang-network/rhf3mr01.yaml @@ -64,6 +64,9 @@ firmwareVersions: #lorawanCertified: true #codec: +devicetype: + - converter + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/saninudge/sanisensor2.yaml b/vendor/saninudge/sanisensor2.yaml index c105ae0201..99cb838524 100644 --- a/vendor/saninudge/sanisensor2.yaml +++ b/vendor/saninudge/sanisensor2.yaml @@ -29,6 +29,9 @@ firmwareVersions: # Identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: sanisensor2-profile +devicetype: + - sensor + # Battery information (optional) battery: replaceable: true diff --git a/vendor/smart-parks/opencollar.yaml b/vendor/smart-parks/opencollar.yaml index 95b75d219e..8b5dcde45f 100644 --- a/vendor/smart-parks/opencollar.yaml +++ b/vendor/smart-parks/opencollar.yaml @@ -25,6 +25,15 @@ firmwareVersions: lorawanCertified: false codec: opencollar-v26-codec +devicetype: + - sensor + +sensors: + - gps + - temperature + - humidity + - accelerometer + # Product and data sheet URLs (optional) productURL: https://www.smartparks.org diff --git a/vendor/tip/sinus85.yaml b/vendor/tip/sinus85.yaml index 41fcb6197b..c11d3550fd 100644 --- a/vendor/tip/sinus85.yaml +++ b/vendor/tip/sinus85.yaml @@ -12,5 +12,8 @@ firmwareVersions: lorawanCertified: true codec: sinus85-codec +devicetype: + - sensor + photos: main: sinus85.png From d0c6bfd02d915b5a691a698f05a7ba18ea81dca0 Mon Sep 17 00:00:00 2001 From: Lars Dannijs Date: Mon, 8 Apr 2024 14:53:16 +0200 Subject: [PATCH 07/16] photos mandatory --- bin/validate.js | 3 + .../grinn/firealarm-radiomodule-profile.yaml | 52 ---------------- vendor/grinn/firealarm-radiomodule.yaml | 57 ------------------ vendor/grinn/grinn-logo.png | Bin 136077 -> 0 bytes vendor/grinn/index.yaml | 3 - vendor/index.yaml | 13 ---- vendor/the-box-development/index.yaml | 2 - .../temp-humid-node-profile.yaml | 8 --- .../the-box-development/temp-humid-node.yaml | 14 ----- 9 files changed, 3 insertions(+), 149 deletions(-) delete mode 100644 vendor/grinn/firealarm-radiomodule-profile.yaml delete mode 100644 vendor/grinn/firealarm-radiomodule.yaml delete mode 100644 vendor/grinn/grinn-logo.png delete mode 100644 vendor/grinn/index.yaml delete mode 100644 vendor/the-box-development/index.yaml delete mode 100644 vendor/the-box-development/temp-humid-node-profile.yaml delete mode 100644 vendor/the-box-development/temp-humid-node.yaml diff --git a/bin/validate.js b/bin/validate.js index d3a638f8d9..2043163861 100644 --- a/bin/validate.js +++ b/bin/validate.js @@ -373,6 +373,9 @@ vendors.vendors.forEach((v) => { }); }); } + } else { + console.error(`${key}: image is missing.`); + process.exit(1); } }); }); diff --git a/vendor/grinn/firealarm-radiomodule-profile.yaml b/vendor/grinn/firealarm-radiomodule-profile.yaml deleted file mode 100644 index 1f0998f81c..0000000000 --- a/vendor/grinn/firealarm-radiomodule-profile.yaml +++ /dev/null @@ -1,52 +0,0 @@ -# Vendor profile ID, can be freely issued by the vendor -# This vendor profile ID is also used on the QR code for LoRaWAN devices, see -# https://lora-alliance.org/sites/default/files/2020-10/LoRa_Alliance_Vendor_ID_for_QR_Code.pdf -vendorProfileID: 0 - -# LoRaWAN MAC version: 1.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4 or 1.1 -macVersion: 1.0.3 -# LoRaWAN Regional Parameters version. Values depend on the LoRaWAN version: -# 1.0: TS001-1.0 -# 1.0.1: TS001-1.0.1 -# 1.0.2: RP001-1.0.2 or RP001-1.0.2-RevB -# 1.0.3: RP001-1.0.3-RevA -# 1.0.4: RP002-1.0.0 or RP002-1.0.1 -# 1.1: RP001-1.1-RevA or RP001-1.1-RevB -regionalParametersVersion: RP001-1.0.3-RevA - -# Whether the end device supports join (OTAA) or not (ABP) -supportsJoin: true -# If your device is an ABP device (supportsJoin is false), uncomment the following fields: -# RX1 delay -#rx1Delay: 5 -# RX1 data rate offset -#rx1DataRateOffset: 0 -# RX2 data rate index -#rx2DataRateIndex: 0 -# RX2 frequency (MHz) -#rx2Frequency: 869.525 -# Factory preset frequencies (MHz) -#factoryPresetFrequencies: [868.1, 868.3, 868.5, 867.1, 867.3, 867.5, 867.7, 867.9] - -# Maximum EIRP -maxEIRP: 16 -# Whether the end device supports 32-bit frame counters -supports32bitFCnt: true - -# Whether the end device supports class B -supportsClassB: false -# If your device supports class B, uncomment the following fields: -# Maximum delay for the end device to answer a MAC request or confirmed downlink frame (seconds) -#classBTimeout: 60 -# Ping slot period (seconds) -#pingSlotPeriod: 128 -# Ping slot data rate index -#pingSlotDataRateIndex: 0 -# Ping slot frequency (MHz). Set to 0 if the band supports ping slot frequency hopping. -#pingSlotFrequency: 869.525 - -# Whether the end device supports class C -supportsClassC: false -# If your device supports class C, uncomment the following fields: -# Maximum delay for the end device to answer a MAC request or confirmed downlink frame (seconds) -#classCTimeout: 60 diff --git a/vendor/grinn/firealarm-radiomodule.yaml b/vendor/grinn/firealarm-radiomodule.yaml deleted file mode 100644 index e6110c7ee8..0000000000 --- a/vendor/grinn/firealarm-radiomodule.yaml +++ /dev/null @@ -1,57 +0,0 @@ -name: FireAlarm RadioModule -description: The Grinn FireAlarm RadioModule is a LoRaWAN® communication interface for X10/H10 smoke/heat detectors. - -# Hardware versions (optional, use when you have revisions) -hardwareVersions: - - version: 'A0' - numeric: 1 - -# Firmware versions (at least one is mandatory) -firmwareVersions: - - # Firmware version - version: '2021.09' - numeric: 1 - # Corresponding hardware versions (optional) - hardwareVersions: - - 'A0' - - # Firmware features (optional) - # Valid values are: remote rejoin (trigger a join from the application layer), transmission interval (configure how - # often he device sends a message). - features: - - remote rejoin - - transmission interval - - # LoRaWAN Device Profiles per region - # Supported regions are EU863-870, US902-928, AU915-928, AS923, CN779-787, EU433, CN470-510, KR920-923, IN865-867, RU864-870 - profiles: - EU863-870: - # Unique identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) - id: firealarm-radiomodule-profile - -# Sensors that this device features (optional) -# Valid values are: -# 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, -# current, digital input, dissolved oxygen, distance, dust, energy, gps, gyroscope, h2s, humidity, iaq, level, light, -# lightning, link, magnetometer, moisture, motion, no, no2, o3, particulate matter, ph, pir, pm2.5, pm10, potentiometer, -# power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, smart valve, snr, so2, -# solar radiation, sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, -# vibration, voltage, water potential, water, weight, wifi ssid, wind direction, wind speed. -sensors: - - battery - - button - - rssi - - temperature - - voltage - -# Dimensions in mm (optional) -# Use width, height, length and/or diameter -dimensions: - width: 45 - length: 73 - height: 20 - -# Battery information (optional) -battery: - replaceable: true - type: ER14505 3.6V Lithium AA battery diff --git a/vendor/grinn/grinn-logo.png b/vendor/grinn/grinn-logo.png deleted file mode 100644 index 790e1b6eadb55f23e0ae8a21fa28c47285fa487d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136077 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

NUL3m9NJhG(#Foy~wX}@h; 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 Date: Mon, 8 Apr 2024 15:10:11 +0200 Subject: [PATCH 08/16] update valid sensor values --- vendor/example/windsensor.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/vendor/example/windsensor.yaml b/vendor/example/windsensor.yaml index 90a4970a3d..8c84b24e3f 100644 --- a/vendor/example/windsensor.yaml +++ b/vendor/example/windsensor.yaml @@ -62,18 +62,18 @@ firmwareVersions: codec: windsensor-codec # Type of device (optional) -# Valid values are: sensor, devboard, actuator, module +# Valid values are: sensor, devboard, actuator, module, converter, coveragetest devicetype: - sensor # Sensors that this device features (optional) # Valid values are: -# 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, -# current, digital input, dissolved oxygen, distance, dust, energy, gps, gyroscope, h2s, humidity, iaq, level, light, -# lightning, link, magnetometer, moisture, motion, no, no2, o3, particulate matter, ph, pir, pm2.5, pm10, potentiometer, -# power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, smart valve, snr, so2, -# solar radiation, sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, -# vibration, voltage, water potential, water, weight, wifi ssid, wind direction, wind speed. +# 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, current, +# digital input, digital output, dissolved oxygen, distance, dust, energy, gps, gyroscope, h2s, humidity, iaq, infrared, leaf wetness, +# level, light, lightning, link, magnetometer, moisture, motion, nfc, no, no2, o3, occupancy, optical meter, particulate matter, ph, +# pir, pm2.5, pm10, potentiometer, power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, +# sap flow, smart valve, smoke, snr, so2, solar radiation, sound, strain, surface temperature, switch, temperature, tilt, time, turbidity, +# tvoc, uv, vapor pressure, velocity, vibration, voltage, water potential, water, weight, wifi ssid, wind direction, wind speed. sensors: - wind direction - wind speed From 8d85e51c5ba5e0aa30e93f4d56e74c8a3db36e67 Mon Sep 17 00:00:00 2001 From: LDannijs Date: Tue, 9 Apr 2024 15:54:50 +0200 Subject: [PATCH 09/16] update netvox --- schema.json | 2 ++ vendor/example/windsensor.yaml | 8 ++++---- vendor/netvox/r211.yaml | 3 +++ vendor/netvox/r309.yaml | 4 ++++ vendor/netvox/r311a.yaml | 3 +++ vendor/netvox/r311ca.yaml | 4 ++-- vendor/netvox/r311cb.yaml | 4 ++-- vendor/netvox/r311cc.yaml | 4 ++-- vendor/netvox/r311d.yaml | 3 +++ vendor/netvox/r311da.yaml | 3 +++ vendor/netvox/r311db.yaml | 3 +++ vendor/netvox/r311fa.yaml | 3 +++ vendor/netvox/r311fb.yaml | 3 +++ vendor/netvox/r311fc.yaml | 3 +++ vendor/netvox/r311k.yaml | 3 +++ vendor/netvox/r311wa.yaml | 5 ++++- vendor/netvox/r31501.yaml | 6 ++++++ vendor/netvox/r31502.yaml | 8 ++++++++ vendor/netvox/r31503.yaml | 8 ++++++++ vendor/netvox/r31504.yaml | 8 ++++++++ vendor/netvox/r31505.yaml | 7 +++++++ vendor/netvox/r31506.yaml | 8 ++++++++ vendor/netvox/r31507.yaml | 7 +++++++ vendor/netvox/r31508.yaml | 8 ++++++++ vendor/netvox/r31509.yaml | 8 ++++++++ vendor/netvox/r31510.yaml | 8 ++++++++ vendor/netvox/r602a.yaml | 3 +++ vendor/netvox/r718da.yaml | 3 +++ vendor/netvox/r718db.yaml | 3 +++ vendor/netvox/r718f.yaml | 3 +++ vendor/netvox/r718f2.yaml | 4 ++-- vendor/netvox/r718ia.yaml | 3 +++ vendor/netvox/r718ia2.yaml | 3 +++ vendor/netvox/r718ib.yaml | 3 +++ vendor/netvox/r718ib2.yaml | 3 +++ vendor/netvox/r718ijk.yaml | 5 +++++ vendor/netvox/r718j.yaml | 3 +++ vendor/netvox/r718j2.yaml | 3 +++ vendor/netvox/r718lb.yaml | 3 +++ vendor/netvox/r718lb2.yaml | 4 ++-- vendor/netvox/r718ma.yaml | 3 +++ vendor/netvox/r718mba.yaml | 3 +++ vendor/netvox/r718mbb.yaml | 3 +++ vendor/netvox/r718mbc.yaml | 3 +++ vendor/netvox/r718pa.yaml | 3 +++ vendor/netvox/r718pa22.yaml | 3 +++ vendor/netvox/r718pa4.yaml | 3 +++ vendor/netvox/r718pb.yaml | 3 +++ vendor/netvox/r718pe.yaml | 3 +++ vendor/netvox/r718q.yaml | 3 +++ vendor/netvox/r718qa.yaml | 5 +++++ vendor/netvox/r718t2.yaml | 3 +++ vendor/netvox/r718ubb.yaml | 8 ++++++++ vendor/netvox/r718ubd.yaml | 3 +++ vendor/netvox/r718va.yaml | 3 +++ vendor/netvox/r718x.yaml | 4 ++++ vendor/netvox/r718y.yaml | 4 ++++ vendor/netvox/r720c.yaml | 4 ++++ vendor/netvox/r720e.yaml | 7 ++++++- vendor/netvox/r720f.yaml | 3 +++ vendor/netvox/r726xx.yaml | 5 +++++ vendor/netvox/r730da.yaml | 3 +++ vendor/netvox/r730db.yaml | 3 +++ vendor/netvox/r730mba.yaml | 3 +++ vendor/netvox/r831a.yaml | 3 +++ vendor/netvox/r831b.yaml | 3 +++ vendor/netvox/r831c.yaml | 4 ++++ vendor/netvox/r831d.yaml | 4 ++++ vendor/netvox/ra02a.yaml | 3 +++ vendor/netvox/ra02c.yaml | 3 +++ vendor/netvox/ra10.yaml | 3 +++ vendor/netvox/rb02b.yaml | 3 +++ vendor/netvox/rb02c.yaml | 3 +++ vendor/netvox/rb11e.yaml | 1 + vendor/netvox/rp02.yaml | 8 ++++++-- 75 files changed, 288 insertions(+), 18 deletions(-) diff --git a/schema.json b/schema.json index 20c04ef694..e54e1ade5d 100644 --- a/schema.json +++ b/schema.json @@ -950,6 +950,7 @@ "gps", "gyroscope", "h2s", + "hall effect", "humidity", "iaq", "infrared", @@ -981,6 +982,7 @@ "pulse frequency", "radar", "rainfall", + "reed switch", "rssi", "sap flow", "smart valve", diff --git a/vendor/example/windsensor.yaml b/vendor/example/windsensor.yaml index 8c84b24e3f..d3edb17a80 100644 --- a/vendor/example/windsensor.yaml +++ b/vendor/example/windsensor.yaml @@ -68,10 +68,10 @@ devicetype: # Sensors that this device features (optional) # Valid values are: -# 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, current, -# digital input, digital output, dissolved oxygen, distance, dust, energy, gps, gyroscope, h2s, humidity, iaq, infrared, leaf wetness, -# level, light, lightning, link, magnetometer, moisture, motion, nfc, no, no2, o3, occupancy, optical meter, particulate matter, ph, -# pir, pm2.5, pm10, potentiometer, power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, +# 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, current, digital input, +# digital output, dissolved oxygen, distance, dust, energy, gps, gyroscope, h2s, hall effect, humidity, iaq, infrared, leaf wetness, level, +# light, lightning, link, magnetometer, moisture, motion, nfc, no, no2, o3, occupancy, optical meter, particulate matter, ph, pir, +# pm2.5, pm10, potentiometer, power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, reed switch, rssi, # sap flow, smart valve, smoke, snr, so2, solar radiation, sound, strain, surface temperature, switch, temperature, tilt, time, turbidity, # tvoc, uv, vapor pressure, velocity, vibration, voltage, water potential, water, weight, wifi ssid, wind direction, wind speed. sensors: diff --git a/vendor/netvox/r211.yaml b/vendor/netvox/r211.yaml index 614767dc5e..754601a04d 100755 --- a/vendor/netvox/r211.yaml +++ b/vendor/netvox/r211.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r211-codec +sensors: + - infrared + dimensions: Diameter: 106 height: 30.5 diff --git a/vendor/netvox/r309.yaml b/vendor/netvox/r309.yaml index 6ce33d4f4b..d7af2e12a9 100755 --- a/vendor/netvox/r309.yaml +++ b/vendor/netvox/r309.yaml @@ -34,6 +34,10 @@ firmwareVersions: id: profile-cn470 codec: r309-codec +sensors: + - button + - vibration + dimensions: width: 48 length: 55 diff --git a/vendor/netvox/r311a.yaml b/vendor/netvox/r311a.yaml index fc5c8a8cc1..551dfc4991 100755 --- a/vendor/netvox/r311a.yaml +++ b/vendor/netvox/r311a.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r311a-codec +sensors: + - reed switch + dimensions: width: 35 length: 57 diff --git a/vendor/netvox/r311ca.yaml b/vendor/netvox/r311ca.yaml index fd66316437..e19b627e10 100644 --- a/vendor/netvox/r311ca.yaml +++ b/vendor/netvox/r311ca.yaml @@ -34,8 +34,8 @@ firmwareVersions: id: profile-cn470 codec: r311ca-codec -#sensors: -# - dry contact +sensors: + - digital input dimensions: width: 57 diff --git a/vendor/netvox/r311cb.yaml b/vendor/netvox/r311cb.yaml index 33767ef63a..cfc85db905 100644 --- a/vendor/netvox/r311cb.yaml +++ b/vendor/netvox/r311cb.yaml @@ -34,8 +34,8 @@ firmwareVersions: id: profile-cn470 codec: r311cb-codec -#sensors: -# - reed switch +sensors: + - reed switch dimensions: width: 57 diff --git a/vendor/netvox/r311cc.yaml b/vendor/netvox/r311cc.yaml index 49bf129fd0..574adf91f5 100644 --- a/vendor/netvox/r311cc.yaml +++ b/vendor/netvox/r311cc.yaml @@ -34,8 +34,8 @@ firmwareVersions: id: profile-cn470 codec: r311cc-codec -#sensors: -# - reed switch +sensors: + - reed switch dimensions: width: 57 diff --git a/vendor/netvox/r311d.yaml b/vendor/netvox/r311d.yaml index 582792f005..a33ecafb67 100644 --- a/vendor/netvox/r311d.yaml +++ b/vendor/netvox/r311d.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r311d-codec +sensors: + - rssi + dimensions: width: 35 length: 57 diff --git a/vendor/netvox/r311da.yaml b/vendor/netvox/r311da.yaml index 0d6f3bb455..ec9b7db1c4 100644 --- a/vendor/netvox/r311da.yaml +++ b/vendor/netvox/r311da.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r311da-codec +sensors: + - vibration + dimensions: width: 57 length: 35 diff --git a/vendor/netvox/r311db.yaml b/vendor/netvox/r311db.yaml index 44bba631ca..8784f6f9a7 100644 --- a/vendor/netvox/r311db.yaml +++ b/vendor/netvox/r311db.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r311db-codec +sensors: + - vibration + dimensions: width: 57 length: 35 diff --git a/vendor/netvox/r311fa.yaml b/vendor/netvox/r311fa.yaml index c661068c43..21f36ebb13 100644 --- a/vendor/netvox/r311fa.yaml +++ b/vendor/netvox/r311fa.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r311fa-codec +sensors: + - accelerometer + dimensions: width: 57 length: 35 diff --git a/vendor/netvox/r311fb.yaml b/vendor/netvox/r311fb.yaml index 350d560966..577bbde4e5 100644 --- a/vendor/netvox/r311fb.yaml +++ b/vendor/netvox/r311fb.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r311fb-codec +sensors: + - vibration + dimensions: width: 35 length: 57 diff --git a/vendor/netvox/r311fc.yaml b/vendor/netvox/r311fc.yaml index ca606e3637..79d2b7e201 100644 --- a/vendor/netvox/r311fc.yaml +++ b/vendor/netvox/r311fc.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r311fc-codec +sensors: + - vibration + dimensions: width: 35 length: 57 diff --git a/vendor/netvox/r311k.yaml b/vendor/netvox/r311k.yaml index ae58571c4c..370fbb03a0 100644 --- a/vendor/netvox/r311k.yaml +++ b/vendor/netvox/r311k.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r311k-codec +sensors: + - tilt + dimensions: width: 35 length: 57 diff --git a/vendor/netvox/r311wa.yaml b/vendor/netvox/r311wa.yaml index 076e82750f..ceabb60672 100755 --- a/vendor/netvox/r311wa.yaml +++ b/vendor/netvox/r311wa.yaml @@ -1,5 +1,5 @@ name: R311WA - Wireless Seat Sensor -description: TThe NETVOX wireless seat sensor (two way) R311W A is a device that detects the presence of a seat and is compatible with the LoRaWAN protocol. If there is someone on the seat, R311WA will send a message to the gateway. When detecting no one on a sensor seat, it will send an normal status message back to the gateway. +description: The NETVOX wireless seat sensor (two way) R311W A is a device that detects the presence of a seat and is compatible with the LoRaWAN protocol. If there is someone on the seat, R311WA will send a message to the gateway. When detecting no one on a sensor seat, it will send an normal status message back to the gateway. hardwareVersions: - version: '11' @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r311wa-codec +sensors: + - occupancy + dimensions: width: 35 length: 57 diff --git a/vendor/netvox/r31501.yaml b/vendor/netvox/r31501.yaml index 48c10461ab..404ac498e4 100755 --- a/vendor/netvox/r31501.yaml +++ b/vendor/netvox/r31501.yaml @@ -34,6 +34,12 @@ firmwareVersions: id: profile-cn470 codec: r315-codec +sensors: + - vibration + - pir + - water + - reed switch + dimensions: width: 44 length: 75.5 diff --git a/vendor/netvox/r31502.yaml b/vendor/netvox/r31502.yaml index 77180617c7..f9e5202ccb 100755 --- a/vendor/netvox/r31502.yaml +++ b/vendor/netvox/r31502.yaml @@ -34,6 +34,14 @@ firmwareVersions: id: profile-cn470 codec: r315-codec +sensors: + - temperature + - humidity + - light + - tilt + - reed switch + - vibration + dimensions: width: 44 length: 75.5 diff --git a/vendor/netvox/r31503.yaml b/vendor/netvox/r31503.yaml index 9269fc3635..2c1adf4842 100755 --- a/vendor/netvox/r31503.yaml +++ b/vendor/netvox/r31503.yaml @@ -34,6 +34,14 @@ firmwareVersions: id: profile-cn470 codec: r315-codec +sensors: + - temperature + - humidity + - pir + - tilt + - button + - water + dimensions: width: 44 length: 75.5 diff --git a/vendor/netvox/r31504.yaml b/vendor/netvox/r31504.yaml index 3a2d295cdf..5bcfbb4687 100755 --- a/vendor/netvox/r31504.yaml +++ b/vendor/netvox/r31504.yaml @@ -34,6 +34,14 @@ firmwareVersions: id: profile-cn470 codec: r315-codec +sensors: + - temperature + - humidity + - pir + - button + - reed switch + - occupancy + dimensions: width: 44 length: 75.5 diff --git a/vendor/netvox/r31505.yaml b/vendor/netvox/r31505.yaml index b8c0927a19..87be9b5f93 100755 --- a/vendor/netvox/r31505.yaml +++ b/vendor/netvox/r31505.yaml @@ -34,6 +34,13 @@ firmwareVersions: id: profile-cn470 codec: r315-codec +sensors: + - temperature + - humidity + - tilt + - reed switch + - vibration + dimensions: width: 44 length: 75.5 diff --git a/vendor/netvox/r31506.yaml b/vendor/netvox/r31506.yaml index 96e266016a..48496049e7 100755 --- a/vendor/netvox/r31506.yaml +++ b/vendor/netvox/r31506.yaml @@ -34,6 +34,14 @@ firmwareVersions: id: profile-cn470 codec: r315-codec +sensors: + - temperature + - humidity + - pir + - button + - reed switch + - vibration + dimensions: width: 44 length: 75.5 diff --git a/vendor/netvox/r31507.yaml b/vendor/netvox/r31507.yaml index e7c1304269..17aa0c47c9 100755 --- a/vendor/netvox/r31507.yaml +++ b/vendor/netvox/r31507.yaml @@ -34,6 +34,13 @@ firmwareVersions: id: profile-cn470 codec: r315-codec +sensors: + - pir + - button + - digital input + - digital output + - vibration + dimensions: width: 44 length: 75.5 diff --git a/vendor/netvox/r31508.yaml b/vendor/netvox/r31508.yaml index f17568b755..12c7b78291 100755 --- a/vendor/netvox/r31508.yaml +++ b/vendor/netvox/r31508.yaml @@ -34,6 +34,14 @@ firmwareVersions: id: profile-cn470 codec: r315-codec +sensors: + - temperature + - humidity + - pir + - tilt + - digital input + - digital output + dimensions: width: 44 length: 75.5 diff --git a/vendor/netvox/r31509.yaml b/vendor/netvox/r31509.yaml index e8025d06fd..68c5b5e610 100755 --- a/vendor/netvox/r31509.yaml +++ b/vendor/netvox/r31509.yaml @@ -34,6 +34,14 @@ firmwareVersions: id: profile-cn470 codec: r315-codec +sensors: + - temperature + - humidity + - light + - water + - reed switch + - digital input + dimensions: width: 44 length: 75.5 diff --git a/vendor/netvox/r31510.yaml b/vendor/netvox/r31510.yaml index 99706f9f54..0258d5bfac 100755 --- a/vendor/netvox/r31510.yaml +++ b/vendor/netvox/r31510.yaml @@ -34,6 +34,14 @@ firmwareVersions: id: profile-cn470 codec: r315-codec +sensors: + - temperature + - humidity + - light + - pir + - water + - vibration + dimensions: width: 44 length: 75.5 diff --git a/vendor/netvox/r602a.yaml b/vendor/netvox/r602a.yaml index cea05c6e78..b1f31340ff 100755 --- a/vendor/netvox/r602a.yaml +++ b/vendor/netvox/r602a.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r602a-codec +devicetype: + - actuator + dimensions: diameter: 85 height: 52 diff --git a/vendor/netvox/r718da.yaml b/vendor/netvox/r718da.yaml index be1e52676e..7a1972c967 100644 --- a/vendor/netvox/r718da.yaml +++ b/vendor/netvox/r718da.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718da-codec +sensors: + - vibration + dimensions: width: 65 length: 112 diff --git a/vendor/netvox/r718db.yaml b/vendor/netvox/r718db.yaml index b657038727..e82203158d 100644 --- a/vendor/netvox/r718db.yaml +++ b/vendor/netvox/r718db.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718db-codec +sensors: + - vibration + dimensions: width: 65 length: 112 diff --git a/vendor/netvox/r718f.yaml b/vendor/netvox/r718f.yaml index 3b47825b0b..b5b2b704f0 100755 --- a/vendor/netvox/r718f.yaml +++ b/vendor/netvox/r718f.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718f-codec +sensors: + - reed switch + dimensions: width: 65 length: 112 diff --git a/vendor/netvox/r718f2.yaml b/vendor/netvox/r718f2.yaml index c973a50a05..746980ff6b 100644 --- a/vendor/netvox/r718f2.yaml +++ b/vendor/netvox/r718f2.yaml @@ -34,8 +34,8 @@ firmwareVersions: id: profile-cn470 codec: r718f2-codec -#sensors: -#- switch +sensors: + - reed switch dimensions: width: 65 diff --git a/vendor/netvox/r718ia.yaml b/vendor/netvox/r718ia.yaml index 3f008bc524..7d6a73149c 100755 --- a/vendor/netvox/r718ia.yaml +++ b/vendor/netvox/r718ia.yaml @@ -35,6 +35,9 @@ firmwareVersions: id: profile-cn470 codec: r718ia-codec +sensors: + - voltage + dimensions: width: 65 length: 112 diff --git a/vendor/netvox/r718ia2.yaml b/vendor/netvox/r718ia2.yaml index 74b20ac976..817fab57d8 100755 --- a/vendor/netvox/r718ia2.yaml +++ b/vendor/netvox/r718ia2.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718ia2-codec +sensors: + - voltage + dimensions: width: 65 length: 112 diff --git a/vendor/netvox/r718ib.yaml b/vendor/netvox/r718ib.yaml index cfe30beef0..6347a27dfd 100755 --- a/vendor/netvox/r718ib.yaml +++ b/vendor/netvox/r718ib.yaml @@ -35,6 +35,9 @@ firmwareVersions: id: profile-cn470 codec: r718ib-codec +sensors: + - voltage + dimensions: width: 65 length: 112 diff --git a/vendor/netvox/r718ib2.yaml b/vendor/netvox/r718ib2.yaml index 70802d078a..858c393d86 100755 --- a/vendor/netvox/r718ib2.yaml +++ b/vendor/netvox/r718ib2.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718ib2-codec +sensors: + - voltage + dimensions: width: 65 length: 112 diff --git a/vendor/netvox/r718ijk.yaml b/vendor/netvox/r718ijk.yaml index c9031f063e..9daf2622ec 100755 --- a/vendor/netvox/r718ijk.yaml +++ b/vendor/netvox/r718ijk.yaml @@ -34,6 +34,11 @@ firmwareVersions: id: profile-cn470 codec: r718ijk-codec +sensors: + - voltage + - digital input + - 4-20 ma + dimensions: width: 88.19 length: 112 diff --git a/vendor/netvox/r718j.yaml b/vendor/netvox/r718j.yaml index e206860aba..338b62936c 100644 --- a/vendor/netvox/r718j.yaml +++ b/vendor/netvox/r718j.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718j-codec +sensors: + - digital input + dimensions: width: 65 length: 112 diff --git a/vendor/netvox/r718j2.yaml b/vendor/netvox/r718j2.yaml index 6363ca5a86..c3b4bdae25 100644 --- a/vendor/netvox/r718j2.yaml +++ b/vendor/netvox/r718j2.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718j2-codec +sensors: + - digital input + dimensions: width: 65 length: 112 diff --git a/vendor/netvox/r718lb.yaml b/vendor/netvox/r718lb.yaml index b6f2ca97a6..222d754376 100644 --- a/vendor/netvox/r718lb.yaml +++ b/vendor/netvox/r718lb.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718lb-codec +sensors: + - hall effect + dimensions: width: 65 length: 112 diff --git a/vendor/netvox/r718lb2.yaml b/vendor/netvox/r718lb2.yaml index de72b75247..e3f1aaaf52 100644 --- a/vendor/netvox/r718lb2.yaml +++ b/vendor/netvox/r718lb2.yaml @@ -34,8 +34,8 @@ firmwareVersions: id: profile-cn470 codec: r718lb2-codec -#sensors: -# - hall +sensors: + - hall effect dimensions: width: 65 diff --git a/vendor/netvox/r718ma.yaml b/vendor/netvox/r718ma.yaml index e0b44b406e..421d0fd674 100644 --- a/vendor/netvox/r718ma.yaml +++ b/vendor/netvox/r718ma.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718ma-codec +sensors: + - rssi + dimensions: width: 65 length: 112 diff --git a/vendor/netvox/r718mba.yaml b/vendor/netvox/r718mba.yaml index ed6d4e699d..9c7cb9b9b0 100644 --- a/vendor/netvox/r718mba.yaml +++ b/vendor/netvox/r718mba.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718mba-codec +sensors: + - vibration + dimensions: width: 65 length: 112 diff --git a/vendor/netvox/r718mbb.yaml b/vendor/netvox/r718mbb.yaml index ef74d761d4..4cfef28831 100644 --- a/vendor/netvox/r718mbb.yaml +++ b/vendor/netvox/r718mbb.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718mbb-codec +sensors: + - vibration + dimensions: width: 65 length: 112 diff --git a/vendor/netvox/r718mbc.yaml b/vendor/netvox/r718mbc.yaml index e3ec241400..ed69036acd 100644 --- a/vendor/netvox/r718mbc.yaml +++ b/vendor/netvox/r718mbc.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718mbc-codec +sensors: + - vibration + dimensions: width: 65 length: 112 diff --git a/vendor/netvox/r718pa.yaml b/vendor/netvox/r718pa.yaml index 9407e6d225..2372c9d355 100755 --- a/vendor/netvox/r718pa.yaml +++ b/vendor/netvox/r718pa.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718pa-codec +sensors: + - level + dimensions: width: 88.19 length: 112 diff --git a/vendor/netvox/r718pa22.yaml b/vendor/netvox/r718pa22.yaml index cbb2b0828e..6ba4d3aa6f 100755 --- a/vendor/netvox/r718pa22.yaml +++ b/vendor/netvox/r718pa22.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718pa22-codec +sensors: + - level + dimensions: width: 88.19 length: 112 diff --git a/vendor/netvox/r718pa4.yaml b/vendor/netvox/r718pa4.yaml index 92c653087b..b34dbdbf03 100755 --- a/vendor/netvox/r718pa4.yaml +++ b/vendor/netvox/r718pa4.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718pa4-codec +sensors: + - level + dimensions: width: 88.19 length: 112 diff --git a/vendor/netvox/r718pb.yaml b/vendor/netvox/r718pb.yaml index dc7f0b79e2..5edecad159 100755 --- a/vendor/netvox/r718pb.yaml +++ b/vendor/netvox/r718pb.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718pb-codec +sensors: + - level + dimensions: width: 88.19 length: 112 diff --git a/vendor/netvox/r718pe.yaml b/vendor/netvox/r718pe.yaml index 7f8f0a16e5..e769011b0b 100755 --- a/vendor/netvox/r718pe.yaml +++ b/vendor/netvox/r718pe.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718pe-codec +sensors: + - distance + dimensions: width: 88.19 length: 112 diff --git a/vendor/netvox/r718q.yaml b/vendor/netvox/r718q.yaml index 31708c5aa2..5afdd90a62 100644 --- a/vendor/netvox/r718q.yaml +++ b/vendor/netvox/r718q.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718q-codec +sensors: + - pir + dimensions: width: 65 length: 112 diff --git a/vendor/netvox/r718qa.yaml b/vendor/netvox/r718qa.yaml index f00d30635b..d17fe30a6f 100644 --- a/vendor/netvox/r718qa.yaml +++ b/vendor/netvox/r718qa.yaml @@ -34,6 +34,11 @@ firmwareVersions: id: profile-cn470 codec: r718qa-codec +sensors: + - reed switch + - pir + - occupancy + dimensions: width: 88.19 length: 112 diff --git a/vendor/netvox/r718t2.yaml b/vendor/netvox/r718t2.yaml index ee5387f1c7..8c3f2fa03a 100755 --- a/vendor/netvox/r718t2.yaml +++ b/vendor/netvox/r718t2.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718t2-codec +sensors: + - digital input + dimensions: width: 65 length: 112 diff --git a/vendor/netvox/r718ubb.yaml b/vendor/netvox/r718ubb.yaml index c33452a14a..8486d3caa4 100755 --- a/vendor/netvox/r718ubb.yaml +++ b/vendor/netvox/r718ubb.yaml @@ -34,6 +34,14 @@ firmwareVersions: id: profile-cn470 codec: r718ubb-codec +sensors: + - temperature + - humidity + - co2 + - vibration + - pressure + - light + dimensions: width: 93.71 length: 112 diff --git a/vendor/netvox/r718ubd.yaml b/vendor/netvox/r718ubd.yaml index de725306be..237af27068 100755 --- a/vendor/netvox/r718ubd.yaml +++ b/vendor/netvox/r718ubd.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718ubb-codec +sensors: + - co2 + dimensions: width: 116.9 length: 112 diff --git a/vendor/netvox/r718va.yaml b/vendor/netvox/r718va.yaml index 7320a42e41..c13e82493b 100644 --- a/vendor/netvox/r718va.yaml +++ b/vendor/netvox/r718va.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r718va-codec +sensors: + - level + dimensions: width: 88.19 length: 112 diff --git a/vendor/netvox/r718x.yaml b/vendor/netvox/r718x.yaml index c08f20e84c..15a41fff05 100755 --- a/vendor/netvox/r718x.yaml +++ b/vendor/netvox/r718x.yaml @@ -34,6 +34,10 @@ firmwareVersions: id: profile-cn470 codec: r718x-codec +sensors: + - distance + - temperature + weight: 143 dimensions: diff --git a/vendor/netvox/r718y.yaml b/vendor/netvox/r718y.yaml index 5a102d6822..b778c41002 100755 --- a/vendor/netvox/r718y.yaml +++ b/vendor/netvox/r718y.yaml @@ -35,6 +35,10 @@ firmwareVersions: id: profile-cn470 codec: r718y-codec +sensors: + - pressure + - temperature + dimensions: width: 65 length: 112 diff --git a/vendor/netvox/r720c.yaml b/vendor/netvox/r720c.yaml index 81523cc5c9..235d1866f3 100755 --- a/vendor/netvox/r720c.yaml +++ b/vendor/netvox/r720c.yaml @@ -34,6 +34,10 @@ firmwareVersions: id: profile-cn470 codec: r720c-codec +sensors: + - pressure + - temperature + dimensions: width: 65 length: 88 diff --git a/vendor/netvox/r720e.yaml b/vendor/netvox/r720e.yaml index 600e300cea..4401c9ba30 100755 --- a/vendor/netvox/r720e.yaml +++ b/vendor/netvox/r720e.yaml @@ -1,5 +1,5 @@ name: R720E - Wireless TVOC Detection Sensor -description: R720E is a wireless communication device that detects temperature, humility and TVOC. TVOC refers to all organic gaseous substances in a space, and generally refers to the indoor volatile organic substances. TVOC is also the much serious one of the three types of pollution affecting indoor air quality. R720E can detect the concentration value of TVOC. +description: R720E is a wireless communication device that detects temperature, humidity and TVOC. TVOC refers to all organic gaseous substances in a space, and generally refers to the indoor volatile organic substances. TVOC is also the much serious one of the three types of pollution affecting indoor air quality. R720E can detect the concentration value of TVOC. hardwareVersions: - version: '1' @@ -34,6 +34,11 @@ firmwareVersions: id: profile-cn470 codec: r720e-codec +sensors: + - temperature + - humidity + - tvoc + weight: 113 dimensions: diff --git a/vendor/netvox/r720f.yaml b/vendor/netvox/r720f.yaml index dede6c1b82..53680ec3a6 100644 --- a/vendor/netvox/r720f.yaml +++ b/vendor/netvox/r720f.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r720f-codec +sensors: + - water + dimensions: width: 65 length: 88 diff --git a/vendor/netvox/r726xx.yaml b/vendor/netvox/r726xx.yaml index 0131802565..a944f5779e 100755 --- a/vendor/netvox/r726xx.yaml +++ b/vendor/netvox/r726xx.yaml @@ -33,6 +33,11 @@ firmwareVersions: id: profile-cn470 codec: r726xx-codec +sensors: + - co2 + - temperature + - humidity + battery: type: solar and rechargeable lithium batteries diff --git a/vendor/netvox/r730da.yaml b/vendor/netvox/r730da.yaml index 2e5bea351f..7673aca366 100644 --- a/vendor/netvox/r730da.yaml +++ b/vendor/netvox/r730da.yaml @@ -33,6 +33,9 @@ firmwareVersions: id: profile-cn470 codec: r730da-codec +sensors: + - vibration + battery: replaceable: true type: 2 x ER14505 3.6V Lithium AA battery diff --git a/vendor/netvox/r730db.yaml b/vendor/netvox/r730db.yaml index 608c54a620..85121d7044 100644 --- a/vendor/netvox/r730db.yaml +++ b/vendor/netvox/r730db.yaml @@ -33,6 +33,9 @@ firmwareVersions: id: profile-cn470 codec: r730db-codec +sensors: + - vibration + battery: replaceable: true type: 2 x ER14505 3.6V Lithium AA battery diff --git a/vendor/netvox/r730mba.yaml b/vendor/netvox/r730mba.yaml index 1d141adf57..39aafb5b10 100644 --- a/vendor/netvox/r730mba.yaml +++ b/vendor/netvox/r730mba.yaml @@ -33,6 +33,9 @@ firmwareVersions: id: profile-cn470 codec: r730mba-codec +sensors: + - vibration + dimensions: width: 65 length: 112 diff --git a/vendor/netvox/r831a.yaml b/vendor/netvox/r831a.yaml index a1f9b33130..5866fe3c0d 100755 --- a/vendor/netvox/r831a.yaml +++ b/vendor/netvox/r831a.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r831a-codec +sensors: + - digital output + dimensions: width: 47 length: 66 diff --git a/vendor/netvox/r831b.yaml b/vendor/netvox/r831b.yaml index d7277d916a..60f3aa7225 100755 --- a/vendor/netvox/r831b.yaml +++ b/vendor/netvox/r831b.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: r831b-codec +sensors: + - digital output + dimensions: width: 47 length: 66 diff --git a/vendor/netvox/r831c.yaml b/vendor/netvox/r831c.yaml index 40224447d9..6dc7861aef 100755 --- a/vendor/netvox/r831c.yaml +++ b/vendor/netvox/r831c.yaml @@ -34,6 +34,10 @@ firmwareVersions: id: profile-cn470 codec: r831c-codec +sensors: + - digital output + - digital input + dimensions: width: 47 length: 66 diff --git a/vendor/netvox/r831d.yaml b/vendor/netvox/r831d.yaml index 3c004a7175..dd50f4a089 100755 --- a/vendor/netvox/r831d.yaml +++ b/vendor/netvox/r831d.yaml @@ -34,6 +34,10 @@ firmwareVersions: id: profile-cn470 codec: r831d-codec +sensors: + - digital input + - digital output + dimensions: width: 47 length: 66 diff --git a/vendor/netvox/ra02a.yaml b/vendor/netvox/ra02a.yaml index edcdb5ae1a..5fb2c87608 100755 --- a/vendor/netvox/ra02a.yaml +++ b/vendor/netvox/ra02a.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: ra02a-codec +sensors: + - smoke + dimensions: diameter: 106 height: 40.6 diff --git a/vendor/netvox/ra02c.yaml b/vendor/netvox/ra02c.yaml index 8f424eb27c..b888830e1a 100755 --- a/vendor/netvox/ra02c.yaml +++ b/vendor/netvox/ra02c.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: ra02c-codec +sensors: + - co + dimensions: diameter: 106 height: 36 diff --git a/vendor/netvox/ra10.yaml b/vendor/netvox/ra10.yaml index 653a9f0792..34fba8ada9 100755 --- a/vendor/netvox/ra10.yaml +++ b/vendor/netvox/ra10.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: ra10-codec +devicetype: + - actuator + dimensions: width: 70.99 length: 152.99 diff --git a/vendor/netvox/rb02b.yaml b/vendor/netvox/rb02b.yaml index d172ee5984..a9220dd6ad 100755 --- a/vendor/netvox/rb02b.yaml +++ b/vendor/netvox/rb02b.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: rb02b-codec +sensors: + - button + dimensions: width: 82 length: 82 diff --git a/vendor/netvox/rb02c.yaml b/vendor/netvox/rb02c.yaml index 98ffd4d9e3..7c61a4226a 100755 --- a/vendor/netvox/rb02c.yaml +++ b/vendor/netvox/rb02c.yaml @@ -34,6 +34,9 @@ firmwareVersions: id: profile-cn470 codec: rb02c-codec +sensors: + - button + dimensions: width: 82 length: 82 diff --git a/vendor/netvox/rb11e.yaml b/vendor/netvox/rb11e.yaml index a9a6b1c2e1..34e2d7abb9 100755 --- a/vendor/netvox/rb11e.yaml +++ b/vendor/netvox/rb11e.yaml @@ -37,6 +37,7 @@ firmwareVersions: sensors: - light - temperature + - occupancy dimensions: width: 78 diff --git a/vendor/netvox/rp02.yaml b/vendor/netvox/rp02.yaml index d391802f9a..c88dde33b5 100755 --- a/vendor/netvox/rp02.yaml +++ b/vendor/netvox/rp02.yaml @@ -1,5 +1,5 @@ -name: RP02 - Wireless Bottom-installed Ultrasonic Liquid Level Sensor -description: The RP02 is a wireless communication device that measures the liquid level with an ultrasonic liquid level sensor. Ultrasonic liquid level sensor installed at the bottom of the container, it may measure water, gasoline, diesel and small, medium, large capacity storage tanks (metal, plastic, glass material). RP0222 main unit and the ultrasonic liquid level sensor communicate via RS485 interface, and the detected data is sent to the other equipment shown which employs compliance LoraWANTM wireless communication protocol standards. +name: RP02 - Wireless 1P+N Miniature Circuit Breaker with Power Meter +description: RP02 is a class C smart 1P+N Miniature Circuit Breaker with Power Meter based on LoRaWAN open protocol.It can monitor the status of all external circuit breakers in real time. (connect up to 9 poles). When the power line is abnormal (such as undervoltage, overvoltage, overload, etc.), the system will automatically give early warning, alarm and power off to prevent electrical fire to the greatest extent. At the same time, it can periodically monitor the temperature, electric quantity, current, voltage, power, leakage current, circuit breaker status and other data information of all external circuit breakers and report to the gateway platform. hardwareVersions: - version: '4' @@ -34,6 +34,10 @@ firmwareVersions: id: profile-cn470 codec: rp02-codec +sensors: + - current + - voltage + dimensions: width: 88.19 length: 112 From 6b743b0fd3d05e6dda17d6830a3d1dc863c4c132 Mon Sep 17 00:00:00 2001 From: LDannijs Date: Tue, 9 Apr 2024 16:09:22 +0200 Subject: [PATCH 10/16] update radio-bridge --- vendor/radio-bridge/rbs101-con.yaml | 4 ++++ vendor/radio-bridge/rbs301-1.yaml | 4 ++++ vendor/radio-bridge/rbs301-abm.yaml | 4 ++++ vendor/radio-bridge/rbs301-dws.yaml | 4 ++++ vendor/radio-bridge/rbs301-temp-ext.yaml | 4 ++++ vendor/radio-bridge/rbs301-temp-int.yaml | 4 ++++ vendor/radio-bridge/rbs301-tilt.yaml | 4 ++++ vendor/radio-bridge/rbs301-wat.yaml | 4 ++++ vendor/radio-bridge/rbs301-wr1m.yaml | 4 ++++ vendor/radio-bridge/rbs305-ath.yaml | 5 +++++ vendor/radio-bridge/rbs306-420ma.yaml | 4 ++++ vendor/radio-bridge/rbs306-abm.yaml | 4 ++++ vendor/radio-bridge/rbs306-ath-ext.yaml | 5 +++++ vendor/radio-bridge/rbs306-con.yaml | 4 ++++ vendor/radio-bridge/rbs306-mbhr.yaml | 4 ++++ vendor/radio-bridge/rbs306-temp-ext.yaml | 4 ++++ vendor/radio-bridge/rbs306-temp-tc.yaml | 4 ++++ vendor/radio-bridge/rbs306-tilt-hp.yaml | 4 ++++ vendor/radio-bridge/rbs306-us10m.yaml | 4 ++++ vendor/radio-bridge/rbs306-vm30.yaml | 4 ++++ vendor/radio-bridge/rbs306-vshb.yaml | 4 ++++ vendor/radio-bridge/rbs306-wr1m.yaml | 4 ++++ 22 files changed, 90 insertions(+) diff --git a/vendor/radio-bridge/rbs101-con.yaml b/vendor/radio-bridge/rbs101-con.yaml index 667e01d53d..7539dd7ba9 100644 --- a/vendor/radio-bridge/rbs101-con.yaml +++ b/vendor/radio-bridge/rbs101-con.yaml @@ -19,6 +19,10 @@ firmwareVersions: id: rbs101-con-profile lorawanCertified: true codec: rbs101-con-codec + +sensors: + - digital input + # Photos photos: main: rbs101-con.png diff --git a/vendor/radio-bridge/rbs301-1.yaml b/vendor/radio-bridge/rbs301-1.yaml index 8f1c99e859..1d58d29fa6 100644 --- a/vendor/radio-bridge/rbs301-1.yaml +++ b/vendor/radio-bridge/rbs301-1.yaml @@ -19,5 +19,9 @@ firmwareVersions: id: rbs301-1-profile lorawanCertified: true codec: rbs301-1-codec + +sensors: + - button + photos: main: rbs301-1.png diff --git a/vendor/radio-bridge/rbs301-abm.yaml b/vendor/radio-bridge/rbs301-abm.yaml index 8c0c5e1a93..e78eb5a22a 100644 --- a/vendor/radio-bridge/rbs301-abm.yaml +++ b/vendor/radio-bridge/rbs301-abm.yaml @@ -19,6 +19,10 @@ firmwareVersions: id: rbs301-abm-profile lorawanCertified: true codec: rbs301-abm-codec + +sensors: + - accelerometer + # Photos photos: main: rbs301-abm.png diff --git a/vendor/radio-bridge/rbs301-dws.yaml b/vendor/radio-bridge/rbs301-dws.yaml index 30d01798f9..2c91fee5e9 100644 --- a/vendor/radio-bridge/rbs301-dws.yaml +++ b/vendor/radio-bridge/rbs301-dws.yaml @@ -19,6 +19,10 @@ firmwareVersions: id: rbs301-dws-profile lorawanCertified: true codec: rbs301-dws-codec + +sensors: + - reed switch + # Photos photos: main: rbs301-dws.png diff --git a/vendor/radio-bridge/rbs301-temp-ext.yaml b/vendor/radio-bridge/rbs301-temp-ext.yaml index 428c34a739..c23f0d847a 100644 --- a/vendor/radio-bridge/rbs301-temp-ext.yaml +++ b/vendor/radio-bridge/rbs301-temp-ext.yaml @@ -19,6 +19,10 @@ firmwareVersions: id: rbs301-temp-ext-profile lorawanCertified: true codec: rbs301-temp-ext-codec + +sensors: + - temperature + # Photos photos: main: rbs301-temp-ext.png diff --git a/vendor/radio-bridge/rbs301-temp-int.yaml b/vendor/radio-bridge/rbs301-temp-int.yaml index 8fb6da3d9a..db38fa2961 100644 --- a/vendor/radio-bridge/rbs301-temp-int.yaml +++ b/vendor/radio-bridge/rbs301-temp-int.yaml @@ -19,6 +19,10 @@ firmwareVersions: id: rbs301-temp-int-profile lorawanCertified: true codec: rbs301-temp-int-codec + +sensors: + - temperature + # Photos photos: main: rbs301-temp-int.png diff --git a/vendor/radio-bridge/rbs301-tilt.yaml b/vendor/radio-bridge/rbs301-tilt.yaml index 58a0a59f0b..7545a23467 100644 --- a/vendor/radio-bridge/rbs301-tilt.yaml +++ b/vendor/radio-bridge/rbs301-tilt.yaml @@ -19,6 +19,10 @@ firmwareVersions: id: rbs301-tilt-profile lorawanCertified: true codec: rbs301-tilt-codec + +sensors: + - tilt + # Photos photos: main: rbs301-tilt.png diff --git a/vendor/radio-bridge/rbs301-wat.yaml b/vendor/radio-bridge/rbs301-wat.yaml index 521418c4c9..8677cffb66 100644 --- a/vendor/radio-bridge/rbs301-wat.yaml +++ b/vendor/radio-bridge/rbs301-wat.yaml @@ -19,6 +19,10 @@ firmwareVersions: id: rbs301-wat-profile lorawanCertified: true codec: rbs301-wat-codec + +sensors: + - water + # Photos photos: main: rbs301-wat.png diff --git a/vendor/radio-bridge/rbs301-wr1m.yaml b/vendor/radio-bridge/rbs301-wr1m.yaml index cf7b4c43cf..0387fa289a 100644 --- a/vendor/radio-bridge/rbs301-wr1m.yaml +++ b/vendor/radio-bridge/rbs301-wr1m.yaml @@ -19,6 +19,10 @@ firmwareVersions: id: rbs301-wr1m-profile lorawanCertified: true codec: rbs301-wr1m-codec + +sensors: + - water + # Photos photos: main: rbs301-wr1m.png diff --git a/vendor/radio-bridge/rbs305-ath.yaml b/vendor/radio-bridge/rbs305-ath.yaml index 6ae17de5be..bfd6a7ccd7 100644 --- a/vendor/radio-bridge/rbs305-ath.yaml +++ b/vendor/radio-bridge/rbs305-ath.yaml @@ -19,6 +19,11 @@ firmwareVersions: id: rbs305-ath-profile lorawanCertified: true codec: rbs305-ath-codec + +sensors: + - temperature + - humidity + # Photos photos: main: rbs305-ath.png diff --git a/vendor/radio-bridge/rbs306-420ma.yaml b/vendor/radio-bridge/rbs306-420ma.yaml index b108c77fab..8d364aad04 100644 --- a/vendor/radio-bridge/rbs306-420ma.yaml +++ b/vendor/radio-bridge/rbs306-420ma.yaml @@ -19,6 +19,10 @@ firmwareVersions: id: rbs306-420ma-profile lorawanCertified: true codec: rbs306-420ma-codec + +sensors: + - 4-20 ma + # Photos photos: main: rbs306-420ma.png diff --git a/vendor/radio-bridge/rbs306-abm.yaml b/vendor/radio-bridge/rbs306-abm.yaml index d934d926f7..c25509cefd 100644 --- a/vendor/radio-bridge/rbs306-abm.yaml +++ b/vendor/radio-bridge/rbs306-abm.yaml @@ -19,6 +19,10 @@ firmwareVersions: id: rbs306-abm-profile lorawanCertified: true codec: rbs306-abm-codec + +sensors: + - accelerometer + # Photos photos: main: rbs306-abm.png diff --git a/vendor/radio-bridge/rbs306-ath-ext.yaml b/vendor/radio-bridge/rbs306-ath-ext.yaml index 452d6b41bd..84067be859 100644 --- a/vendor/radio-bridge/rbs306-ath-ext.yaml +++ b/vendor/radio-bridge/rbs306-ath-ext.yaml @@ -19,6 +19,11 @@ firmwareVersions: id: rbs306-ath-ext-profile lorawanCertified: true codec: rbs306-ath-ext-codec + +sensors: + - temperature + - humidity + # Photos photos: main: rbs306-ath-ext.png diff --git a/vendor/radio-bridge/rbs306-con.yaml b/vendor/radio-bridge/rbs306-con.yaml index afa3ebd2fc..6c7a688d36 100644 --- a/vendor/radio-bridge/rbs306-con.yaml +++ b/vendor/radio-bridge/rbs306-con.yaml @@ -19,6 +19,10 @@ firmwareVersions: id: rbs306-con-profile lorawanCertified: true codec: rbs306-con-codec + +sensors: + - digital input + # Photos photos: main: rbs306-con.png diff --git a/vendor/radio-bridge/rbs306-mbhr.yaml b/vendor/radio-bridge/rbs306-mbhr.yaml index fa5a70301c..288286208c 100644 --- a/vendor/radio-bridge/rbs306-mbhr.yaml +++ b/vendor/radio-bridge/rbs306-mbhr.yaml @@ -19,6 +19,10 @@ firmwareVersions: id: rbs306-mbhr-profile lorawanCertified: true codec: rbs306-mbhr-codec + +sensors: + - distance + # Photos photos: main: rbs306-mbhr.png diff --git a/vendor/radio-bridge/rbs306-temp-ext.yaml b/vendor/radio-bridge/rbs306-temp-ext.yaml index dec170195c..9ae1d082d5 100644 --- a/vendor/radio-bridge/rbs306-temp-ext.yaml +++ b/vendor/radio-bridge/rbs306-temp-ext.yaml @@ -19,6 +19,10 @@ firmwareVersions: id: rbs306-temp-ext-profile lorawanCertified: true codec: rbs306-temp-ext-codec + +sensors: + - temperature + # Photos photos: main: rbs306-temp-ext.png diff --git a/vendor/radio-bridge/rbs306-temp-tc.yaml b/vendor/radio-bridge/rbs306-temp-tc.yaml index 1261790e68..27c2742351 100644 --- a/vendor/radio-bridge/rbs306-temp-tc.yaml +++ b/vendor/radio-bridge/rbs306-temp-tc.yaml @@ -19,6 +19,10 @@ firmwareVersions: id: rbs306-temp-tc-profile lorawanCertified: true codec: rbs306-temp-tc-codec + +sensors: + - temperature + # Photos photos: main: rbs306-temp-tc.png diff --git a/vendor/radio-bridge/rbs306-tilt-hp.yaml b/vendor/radio-bridge/rbs306-tilt-hp.yaml index 569605c7b1..17b4a16249 100644 --- a/vendor/radio-bridge/rbs306-tilt-hp.yaml +++ b/vendor/radio-bridge/rbs306-tilt-hp.yaml @@ -19,6 +19,10 @@ firmwareVersions: id: rbs306-tilt-hp-profile lorawanCertified: true codec: rbs306-tilt-hp-codec + +sensors: + - tilt + # Photos photos: main: rbs306-tilt-hp.png diff --git a/vendor/radio-bridge/rbs306-us10m.yaml b/vendor/radio-bridge/rbs306-us10m.yaml index 4bd623fea2..373ded9908 100644 --- a/vendor/radio-bridge/rbs306-us10m.yaml +++ b/vendor/radio-bridge/rbs306-us10m.yaml @@ -19,6 +19,10 @@ firmwareVersions: id: rbs306-us10m-profile lorawanCertified: true codec: rbs306-us10m-codec + +sensors: + - level + # Photos photos: main: rbs306-us10m.png diff --git a/vendor/radio-bridge/rbs306-vm30.yaml b/vendor/radio-bridge/rbs306-vm30.yaml index 03dcf8977f..e3f1f02a61 100644 --- a/vendor/radio-bridge/rbs306-vm30.yaml +++ b/vendor/radio-bridge/rbs306-vm30.yaml @@ -19,6 +19,10 @@ firmwareVersions: id: rbs306-vm30-profile lorawanCertified: true codec: rbs306-vm30-codec + +sensors: + - voltage + # Photos photos: main: rbs306-vm30.png diff --git a/vendor/radio-bridge/rbs306-vshb.yaml b/vendor/radio-bridge/rbs306-vshb.yaml index 1e4336018d..84790f326c 100644 --- a/vendor/radio-bridge/rbs306-vshb.yaml +++ b/vendor/radio-bridge/rbs306-vshb.yaml @@ -19,6 +19,10 @@ firmwareVersions: id: rbs306-vshb-profile lorawanCertified: true codec: rbs306-vshb-codec + +sensors: + - vibration + # Photos photos: main: rbs306-vshb.png diff --git a/vendor/radio-bridge/rbs306-wr1m.yaml b/vendor/radio-bridge/rbs306-wr1m.yaml index fe04402be1..0a708cb938 100644 --- a/vendor/radio-bridge/rbs306-wr1m.yaml +++ b/vendor/radio-bridge/rbs306-wr1m.yaml @@ -19,6 +19,10 @@ firmwareVersions: id: rbs306-wr1m-profile lorawanCertified: true codec: rbs306-wr1m-codec + +sensors: + - water + # Photos photos: main: rbs306-wr1m.png From 004197d17c19ea0ddcac32f6255bbc14d7c1d5d7 Mon Sep 17 00:00:00 2001 From: LDannijs Date: Tue, 9 Apr 2024 16:37:51 +0200 Subject: [PATCH 11/16] update tektelic --- schema.json | 2 +- vendor/example/windsensor.yaml | 2 +- vendor/tektelic/t000489x-smart-room-base.yaml | 4 ++-- vendor/tektelic/t00053xx-industrial-transceiver.yaml | 6 ++++++ vendor/tektelic/t00055xx-industrial-transceiver.yaml | 6 ++++++ vendor/tektelic/t00056xx-industrial-transceiver.yaml | 6 ++++++ vendor/tektelic/t000589x-ac-outlet-gen1.yaml | 4 ++++ vendor/tektelic/t000589x-ac-switch-gen1.yaml | 3 +++ vendor/tektelic/t00059xx-clover.yaml | 5 +++++ vendor/tektelic/t00059xx-kiwi.yaml | 5 +++++ vendor/tektelic/t0006129-orca.yaml | 4 ++++ vendor/tektelic/t00061xx-comfort.yaml | 7 ++++++- vendor/tektelic/t00061xx-vivid.yaml | 8 ++++++++ vendor/tektelic/t0006377-memo.yaml | 3 +++ vendor/tektelic/t0006377-tempo.yaml | 3 +++ vendor/tektelic/t000662x-aura.yaml | 3 +++ vendor/tektelic/t000662x-flux.yaml | 4 ++++ vendor/tektelic/t00067xx-tundra-sensor.yaml | 3 +++ vendor/tektelic/t0006909-pelican.yaml | 3 +++ vendor/tektelic/t0006923-edoctor.yaml | 3 +++ vendor/tektelic/t0007127-robin.yaml | 3 +++ vendor/tektelic/t0007367-pelican-ex.yaml | 3 +++ vendor/tektelic/t0007377-pelican.yaml | 3 +++ vendor/tektelic/t0007392-finch.yaml | 3 +++ vendor/tektelic/t00073xx-tundra-sensor.yaml | 3 +++ vendor/tektelic/t0007405-ebeat.yaml | 3 +++ vendor/tektelic/t0007705-seal.yaml | 6 +++++- vendor/tektelic/t0007806-breeze-v.yaml | 4 ++++ vendor/tektelic/t0007xxx-sparrow.yaml | 3 +++ vendor/tektelic/t0008375-stork.yaml | 4 ++++ 30 files changed, 113 insertions(+), 6 deletions(-) diff --git a/schema.json b/schema.json index e54e1ade5d..c66403b3fc 100644 --- a/schema.json +++ b/schema.json @@ -921,7 +921,7 @@ "devicetype": { "type": "array", "items": { - "enum": ["sensor", "devboard", "actuator", "module", "converter", "coveragetest"] + "enum": ["sensor", "devboard", "actuator", "module", "converter", "coveragetest", "display"] } }, "sensors": { diff --git a/vendor/example/windsensor.yaml b/vendor/example/windsensor.yaml index d3edb17a80..e178612394 100644 --- a/vendor/example/windsensor.yaml +++ b/vendor/example/windsensor.yaml @@ -62,7 +62,7 @@ firmwareVersions: codec: windsensor-codec # Type of device (optional) -# Valid values are: sensor, devboard, actuator, module, converter, coveragetest +# Valid values are: sensor, devboard, actuator, module, converter, coveragetest, display devicetype: - sensor diff --git a/vendor/tektelic/t000489x-smart-room-base.yaml b/vendor/tektelic/t000489x-smart-room-base.yaml index 24db3f72a5..b2ae0ccd46 100644 --- a/vendor/tektelic/t000489x-smart-room-base.yaml +++ b/vendor/tektelic/t000489x-smart-room-base.yaml @@ -1,5 +1,5 @@ -name: Smart Room Sensor - Base -description: The TEKTELIC Kona Smart Room Sensor (Base Edition) is a multi-purpose LoRaWAN® end device suitable for home and office environment monitoring. It contains a temperature sensor, humidity sensor, light sensor, magnetic switch, accelerometer, pulse reader, capacitive transducer, and external contacts for adding extra sensors. The smart room sensor can be powered by a single CR2477 battery and allows retrieving battery status for easy maintenance. +name: COMFORT - Smart Room Sensor - Base +description: The TEKTELIC Smart Room Sensor (Base Edition) is a multi-purpose LoRaWAN® end device suitable for home and office environment monitoring. It contains a temperature sensor, humidity sensor, light sensor, magnetic switch, accelerometer, pulse reader, capacitive transducer, and external contacts for adding extra sensors. The smart room sensor can be powered by a single CR2477 battery and allows retrieving battery status for easy maintenance. # Hardware versions (optional, use when you have revisions) hardwareVersions: diff --git a/vendor/tektelic/t00053xx-industrial-transceiver.yaml b/vendor/tektelic/t00053xx-industrial-transceiver.yaml index 066485f3e1..961455e03f 100644 --- a/vendor/tektelic/t00053xx-industrial-transceiver.yaml +++ b/vendor/tektelic/t00053xx-industrial-transceiver.yaml @@ -21,6 +21,12 @@ firmwareVersions: lorawanCertified: true codec: t00053xx-codec +sensors: + - digital input + - digital output + - temperature + - humidity + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t00055xx-industrial-transceiver.yaml b/vendor/tektelic/t00055xx-industrial-transceiver.yaml index 6a344fd632..a686bf490b 100644 --- a/vendor/tektelic/t00055xx-industrial-transceiver.yaml +++ b/vendor/tektelic/t00055xx-industrial-transceiver.yaml @@ -21,6 +21,12 @@ firmwareVersions: lorawanCertified: true codec: t00055xx-codec +sensors: + - digital input + - digital output + - temperature + - humidity + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t00056xx-industrial-transceiver.yaml b/vendor/tektelic/t00056xx-industrial-transceiver.yaml index 59f183b6bb..4b769d2f41 100644 --- a/vendor/tektelic/t00056xx-industrial-transceiver.yaml +++ b/vendor/tektelic/t00056xx-industrial-transceiver.yaml @@ -21,6 +21,12 @@ firmwareVersions: lorawanCertified: true codec: t00056xx-codec +sensors: + - digital input + - digital output + - temperature + - humidity + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t000589x-ac-outlet-gen1.yaml b/vendor/tektelic/t000589x-ac-outlet-gen1.yaml index be3057db7f..bb996526fb 100644 --- a/vendor/tektelic/t000589x-ac-outlet-gen1.yaml +++ b/vendor/tektelic/t000589x-ac-outlet-gen1.yaml @@ -21,6 +21,10 @@ firmwareVersions: lorawanCertified: true codec: t000589x-codec +sensors: + - voltage + - current + operatingConditions: temperature: min: 0 diff --git a/vendor/tektelic/t000589x-ac-switch-gen1.yaml b/vendor/tektelic/t000589x-ac-switch-gen1.yaml index b66a716a45..1ebc6aac77 100644 --- a/vendor/tektelic/t000589x-ac-switch-gen1.yaml +++ b/vendor/tektelic/t000589x-ac-switch-gen1.yaml @@ -21,6 +21,9 @@ firmwareVersions: lorawanCertified: true codec: t000589x-codec +sensors: + - switch + operatingConditions: temperature: min: 0 diff --git a/vendor/tektelic/t00059xx-clover.yaml b/vendor/tektelic/t00059xx-clover.yaml index 1c93e3df5c..99586e2760 100644 --- a/vendor/tektelic/t00059xx-clover.yaml +++ b/vendor/tektelic/t00059xx-clover.yaml @@ -43,6 +43,11 @@ firmwareVersions: lorawanCertified: true codec: t00059xx-codec +sensors: + - moisture + - temperature + - humidity + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t00059xx-kiwi.yaml b/vendor/tektelic/t00059xx-kiwi.yaml index 0c45b8a352..cc894dafe8 100644 --- a/vendor/tektelic/t00059xx-kiwi.yaml +++ b/vendor/tektelic/t00059xx-kiwi.yaml @@ -43,6 +43,11 @@ firmwareVersions: lorawanCertified: true codec: t00059xx-codec +sensors: + - moisture + - temperature + - humidity + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t0006129-orca.yaml b/vendor/tektelic/t0006129-orca.yaml index af6f696077..346a47bf7f 100644 --- a/vendor/tektelic/t0006129-orca.yaml +++ b/vendor/tektelic/t0006129-orca.yaml @@ -45,6 +45,10 @@ firmwareVersions: lorawanCertified: true codec: t0006129-codec +sensors: + - gps + - accelerometer + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t00061xx-comfort.yaml b/vendor/tektelic/t00061xx-comfort.yaml index bdc779edd9..822716b219 100644 --- a/vendor/tektelic/t00061xx-comfort.yaml +++ b/vendor/tektelic/t00061xx-comfort.yaml @@ -48,7 +48,12 @@ firmwareVersions: id: t00061xx-864-profile lorawanCertified: true codec: t00061xx-codec - +sensors: + - temperature + - humidity + - light + - water + - reed switch # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t00061xx-vivid.yaml b/vendor/tektelic/t00061xx-vivid.yaml index f3ad506e82..7223291ace 100644 --- a/vendor/tektelic/t00061xx-vivid.yaml +++ b/vendor/tektelic/t00061xx-vivid.yaml @@ -49,6 +49,14 @@ firmwareVersions: lorawanCertified: true codec: t00061xx-codec +sensors: + - temperature + - humidity + - light + - pir + - water + - reed switch + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t0006377-memo.yaml b/vendor/tektelic/t0006377-memo.yaml index c600dc982b..7aa403bc65 100644 --- a/vendor/tektelic/t0006377-memo.yaml +++ b/vendor/tektelic/t0006377-memo.yaml @@ -20,6 +20,9 @@ firmwareVersions: lorawanCertified: false codec: t0006086-codec +devicetype: + - display + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t0006377-tempo.yaml b/vendor/tektelic/t0006377-tempo.yaml index 34d3195a3f..ca8ede1acc 100644 --- a/vendor/tektelic/t0006377-tempo.yaml +++ b/vendor/tektelic/t0006377-tempo.yaml @@ -20,6 +20,9 @@ firmwareVersions: lorawanCertified: false codec: t0006086-codec +devicetype: + - display + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t000662x-aura.yaml b/vendor/tektelic/t000662x-aura.yaml index 7551707f3f..b2587d7366 100644 --- a/vendor/tektelic/t000662x-aura.yaml +++ b/vendor/tektelic/t000662x-aura.yaml @@ -23,6 +23,9 @@ firmwareVersions: lorawanCertified: true codec: t000662x-codec +sensors: + - switch + operatingConditions: temperature: min: 0 diff --git a/vendor/tektelic/t000662x-flux.yaml b/vendor/tektelic/t000662x-flux.yaml index 98b577ac63..a2247fadbd 100644 --- a/vendor/tektelic/t000662x-flux.yaml +++ b/vendor/tektelic/t000662x-flux.yaml @@ -23,6 +23,10 @@ firmwareVersions: lorawanCertified: true codec: t000662x-codec +sensors: + - voltage + - current + operatingConditions: temperature: min: 0 diff --git a/vendor/tektelic/t00067xx-tundra-sensor.yaml b/vendor/tektelic/t00067xx-tundra-sensor.yaml index dd6df46e79..65d7fcf7d0 100644 --- a/vendor/tektelic/t00067xx-tundra-sensor.yaml +++ b/vendor/tektelic/t00067xx-tundra-sensor.yaml @@ -41,6 +41,9 @@ firmwareVersions: lorawanCertified: true codec: t00067xx-codec +sensors: + - temperature + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t0006909-pelican.yaml b/vendor/tektelic/t0006909-pelican.yaml index f28bb23394..dcef4d79a9 100644 --- a/vendor/tektelic/t0006909-pelican.yaml +++ b/vendor/tektelic/t0006909-pelican.yaml @@ -47,6 +47,9 @@ firmwareVersions: lorawanCertified: false codec: t0006909-codec +sensors: + - accelerometer + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t0006923-edoctor.yaml b/vendor/tektelic/t0006923-edoctor.yaml index 991581b8d1..76da67c54e 100644 --- a/vendor/tektelic/t0006923-edoctor.yaml +++ b/vendor/tektelic/t0006923-edoctor.yaml @@ -45,6 +45,9 @@ firmwareVersions: lorawanCertified: false codec: t0006923-codec +sensors: + - temperature + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t0007127-robin.yaml b/vendor/tektelic/t0007127-robin.yaml index c6ccab5e0c..d3e13560cd 100644 --- a/vendor/tektelic/t0007127-robin.yaml +++ b/vendor/tektelic/t0007127-robin.yaml @@ -45,6 +45,9 @@ firmwareVersions: lorawanCertified: false codec: t0007127-codec +sensors: + - button + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t0007367-pelican-ex.yaml b/vendor/tektelic/t0007367-pelican-ex.yaml index f75976e4b1..62abdeed4e 100644 --- a/vendor/tektelic/t0007367-pelican-ex.yaml +++ b/vendor/tektelic/t0007367-pelican-ex.yaml @@ -47,6 +47,9 @@ firmwareVersions: lorawanCertified: false codec: t0007367-codec +sensors: + - accelerometer + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t0007377-pelican.yaml b/vendor/tektelic/t0007377-pelican.yaml index a8ae22f756..1e46a534df 100644 --- a/vendor/tektelic/t0007377-pelican.yaml +++ b/vendor/tektelic/t0007377-pelican.yaml @@ -46,6 +46,9 @@ firmwareVersions: lorawanCertified: false codec: t0007377-codec +sensors: + - accelerometer + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t0007392-finch.yaml b/vendor/tektelic/t0007392-finch.yaml index d9d56af73a..d75f2d8d18 100644 --- a/vendor/tektelic/t0007392-finch.yaml +++ b/vendor/tektelic/t0007392-finch.yaml @@ -45,6 +45,9 @@ firmwareVersions: lorawanCertified: false codec: t0007392-codec +sensors: + - button + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t00073xx-tundra-sensor.yaml b/vendor/tektelic/t00073xx-tundra-sensor.yaml index 3e48c47104..28a6d17f78 100644 --- a/vendor/tektelic/t00073xx-tundra-sensor.yaml +++ b/vendor/tektelic/t00073xx-tundra-sensor.yaml @@ -41,6 +41,9 @@ firmwareVersions: lorawanCertified: true codec: t00067xx-codec +sensors: + - temperature + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t0007405-ebeat.yaml b/vendor/tektelic/t0007405-ebeat.yaml index 5395ab976c..de36f71306 100644 --- a/vendor/tektelic/t0007405-ebeat.yaml +++ b/vendor/tektelic/t0007405-ebeat.yaml @@ -45,6 +45,9 @@ firmwareVersions: lorawanCertified: false codec: t0007405-codec +sensors: + - temperature + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t0007705-seal.yaml b/vendor/tektelic/t0007705-seal.yaml index c0f5f1e07c..66761a9e41 100644 --- a/vendor/tektelic/t0007705-seal.yaml +++ b/vendor/tektelic/t0007705-seal.yaml @@ -1,4 +1,4 @@ -name: SEAL Wearble Safety & GPS Trcker +name: SEAL Wearable Safety & GPS Tracker description: Wearable industrial device for comprehensive safety monitoring and location tracking of personnel # Firmware versions (at least one is mandatory) @@ -20,6 +20,10 @@ firmwareVersions: lorawanCertified: false codec: t0007705-codec +sensors: + - gps + - accelerometer + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t0007806-breeze-v.yaml b/vendor/tektelic/t0007806-breeze-v.yaml index d170e3b12c..7d05a05313 100644 --- a/vendor/tektelic/t0007806-breeze-v.yaml +++ b/vendor/tektelic/t0007806-breeze-v.yaml @@ -40,6 +40,10 @@ firmwareVersions: lorawanCertified: false codec: t0007806-codec +sensors: + - co2 + - occupancy + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t0007xxx-sparrow.yaml b/vendor/tektelic/t0007xxx-sparrow.yaml index faa836672d..4addc6250b 100644 --- a/vendor/tektelic/t0007xxx-sparrow.yaml +++ b/vendor/tektelic/t0007xxx-sparrow.yaml @@ -45,6 +45,9 @@ firmwareVersions: lorawanCertified: true codec: t0007xxx-codec +sensors: + - accelerometer + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/tektelic/t0008375-stork.yaml b/vendor/tektelic/t0008375-stork.yaml index 7d68d0a41b..6dcf59aca7 100644 --- a/vendor/tektelic/t0008375-stork.yaml +++ b/vendor/tektelic/t0008375-stork.yaml @@ -20,6 +20,10 @@ firmwareVersions: lorawanCertified: false codec: t0008375-codec +sensors: + - gps + - accelerometer + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: From 98f4e5384e726c7ae98669d035f72adffe69f4d0 Mon Sep 17 00:00:00 2001 From: Lars Dannijs Date: Thu, 11 Apr 2024 14:24:00 +0200 Subject: [PATCH 12/16] remove digital output --- schema.json | 1 - vendor/dragino/lt22222-l.yaml | 6 +++++- vendor/dragino/lt33222-l.yaml | 6 +++++- vendor/netvox/r31507.yaml | 5 ++++- vendor/netvox/r31508.yaml | 5 ++++- vendor/netvox/r831a.yaml | 4 ++-- vendor/netvox/r831b.yaml | 4 ++-- vendor/netvox/r831c.yaml | 5 ++++- vendor/netvox/r831d.yaml | 5 ++++- vendor/tektelic/t00053xx-industrial-transceiver.yaml | 5 ++++- vendor/tektelic/t00055xx-industrial-transceiver.yaml | 5 ++++- vendor/tektelic/t00056xx-industrial-transceiver.yaml | 5 ++++- 12 files changed, 42 insertions(+), 14 deletions(-) diff --git a/schema.json b/schema.json index c66403b3fc..dc3f4dd8dc 100644 --- a/schema.json +++ b/schema.json @@ -942,7 +942,6 @@ "conductivity", "current", "digital input", - "digital output", "dissolved oxygen", "distance", "dust", diff --git a/vendor/dragino/lt22222-l.yaml b/vendor/dragino/lt22222-l.yaml index dde0154f6b..280554dcc3 100644 --- a/vendor/dragino/lt22222-l.yaml +++ b/vendor/dragino/lt22222-l.yaml @@ -138,6 +138,11 @@ firmwareVersions: id: ru864-c-abp-profile lorawanCertified: true codec: lt22222-l-codec + +devicetype: + - sensor + - actuator + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, @@ -148,7 +153,6 @@ firmwareVersions: # water potential, water, weight, wifi ssid, wind direction, wind speed. sensors: - digital input - - digital output - analog input # Battery information (optional) diff --git a/vendor/dragino/lt33222-l.yaml b/vendor/dragino/lt33222-l.yaml index 7ec7861a09..215361d559 100644 --- a/vendor/dragino/lt33222-l.yaml +++ b/vendor/dragino/lt33222-l.yaml @@ -97,6 +97,11 @@ firmwareVersions: id: ru864-c-abp-profile lorawanCertified: true codec: lt33222-l-codec + +devicetype: + - sensor + - actuator + # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, @@ -107,7 +112,6 @@ firmwareVersions: # water potential, water, weight, wifi ssid, wind direction, wind speed. sensors: - digital input - - digital output - analog input # Battery information (optional) diff --git a/vendor/netvox/r31507.yaml b/vendor/netvox/r31507.yaml index 17aa0c47c9..b13d0b4ff9 100755 --- a/vendor/netvox/r31507.yaml +++ b/vendor/netvox/r31507.yaml @@ -34,11 +34,14 @@ firmwareVersions: id: profile-cn470 codec: r315-codec +devicetype: + - sensor + - actuator + sensors: - pir - button - digital input - - digital output - vibration dimensions: diff --git a/vendor/netvox/r31508.yaml b/vendor/netvox/r31508.yaml index 12c7b78291..8109558cf8 100755 --- a/vendor/netvox/r31508.yaml +++ b/vendor/netvox/r31508.yaml @@ -34,13 +34,16 @@ firmwareVersions: id: profile-cn470 codec: r315-codec +devicetype: + - sensor + - actuator + sensors: - temperature - humidity - pir - tilt - digital input - - digital output dimensions: width: 44 diff --git a/vendor/netvox/r831a.yaml b/vendor/netvox/r831a.yaml index 5866fe3c0d..560fba4409 100755 --- a/vendor/netvox/r831a.yaml +++ b/vendor/netvox/r831a.yaml @@ -34,8 +34,8 @@ firmwareVersions: id: profile-cn470 codec: r831a-codec -sensors: - - digital output +devicetype: + - actuator dimensions: width: 47 diff --git a/vendor/netvox/r831b.yaml b/vendor/netvox/r831b.yaml index 60f3aa7225..b87ab8bbb2 100755 --- a/vendor/netvox/r831b.yaml +++ b/vendor/netvox/r831b.yaml @@ -34,8 +34,8 @@ firmwareVersions: id: profile-cn470 codec: r831b-codec -sensors: - - digital output +devicetype: + - actuator dimensions: width: 47 diff --git a/vendor/netvox/r831c.yaml b/vendor/netvox/r831c.yaml index 6dc7861aef..16a57c9ed0 100755 --- a/vendor/netvox/r831c.yaml +++ b/vendor/netvox/r831c.yaml @@ -34,8 +34,11 @@ firmwareVersions: id: profile-cn470 codec: r831c-codec +devicetype: + - sensor + - actuator + sensors: - - digital output - digital input dimensions: diff --git a/vendor/netvox/r831d.yaml b/vendor/netvox/r831d.yaml index dd50f4a089..8c224f9dd1 100755 --- a/vendor/netvox/r831d.yaml +++ b/vendor/netvox/r831d.yaml @@ -34,9 +34,12 @@ firmwareVersions: id: profile-cn470 codec: r831d-codec +devicetype: + - sensor + - actuator + sensors: - digital input - - digital output dimensions: width: 47 diff --git a/vendor/tektelic/t00053xx-industrial-transceiver.yaml b/vendor/tektelic/t00053xx-industrial-transceiver.yaml index 961455e03f..c447d69c4c 100644 --- a/vendor/tektelic/t00053xx-industrial-transceiver.yaml +++ b/vendor/tektelic/t00053xx-industrial-transceiver.yaml @@ -21,9 +21,12 @@ firmwareVersions: lorawanCertified: true codec: t00053xx-codec +devicetype: + - sensor + - actuator + sensors: - digital input - - digital output - temperature - humidity diff --git a/vendor/tektelic/t00055xx-industrial-transceiver.yaml b/vendor/tektelic/t00055xx-industrial-transceiver.yaml index a686bf490b..c5c6fbac27 100644 --- a/vendor/tektelic/t00055xx-industrial-transceiver.yaml +++ b/vendor/tektelic/t00055xx-industrial-transceiver.yaml @@ -21,9 +21,12 @@ firmwareVersions: lorawanCertified: true codec: t00055xx-codec +devicetype: + - sensor + - actuator + sensors: - digital input - - digital output - temperature - humidity diff --git a/vendor/tektelic/t00056xx-industrial-transceiver.yaml b/vendor/tektelic/t00056xx-industrial-transceiver.yaml index 4b769d2f41..d66936a964 100644 --- a/vendor/tektelic/t00056xx-industrial-transceiver.yaml +++ b/vendor/tektelic/t00056xx-industrial-transceiver.yaml @@ -21,9 +21,12 @@ firmwareVersions: lorawanCertified: true codec: t00056xx-codec +devicetype: + - sensor + - actuator + sensors: - digital input - - digital output - temperature - humidity From 28cb26ef083bd2f77d167b4aa5cf540d1a298c5e Mon Sep 17 00:00:00 2001 From: LDannijs Date: Mon, 15 Apr 2024 11:32:11 +0200 Subject: [PATCH 13/16] remove some devicetypes & add missing bridgeInterfaces --- schema.json | 2 +- vendor/acrios/acr-cv-101l-m-d.yaml | 2 -- vendor/acrios/acr-cv-101l-m-eac.yaml | 3 --- vendor/acrios/acr-cv-101l-r-eac.yaml | 3 --- vendor/adeunis/modbus.yaml | 7 +++---- vendor/aquascope/bvs.yaml | 3 --- vendor/aquascope/kfr.yaml | 3 --- vendor/dragino/lt22222-l.yaml | 4 ---- vendor/dragino/lt33222-l.yaml | 4 ---- vendor/dragino/rs485-bl.yaml | 16 ++-------------- vendor/dragino/rs485-ln.yaml | 16 ++-------------- vendor/dragino/sdi-12.yaml | 6 +++--- vendor/elv/elv-lw-int1.yaml | 12 +----------- vendor/enginko/mcf-lw06485.yaml | 6 +++--- vendor/enginko/mcf-lw13io.yaml | 3 --- vendor/enthutech/rs485-bl.yaml | 16 ++-------------- vendor/enthutech/rs485-ln.yaml | 16 ++-------------- vendor/example/windsensor.yaml | 4 ++-- vendor/gwf/rcm-h200.yaml | 4 ++-- vendor/gwf/rcm-lrw10.yaml | 4 ++-- vendor/imst/range-extender.yaml | 6 ++---- vendor/iot-factory/m-bus-gateway.yaml | 6 +++--- vendor/koidra/sdi-12-dra.yaml | 16 ++-------------- vendor/koidra/sdi-12-tek.yaml | 16 ++-------------- vendor/mcf88/mcf-lw13io.yaml | 3 --- vendor/mclimate/t-valve.yaml | 3 --- vendor/mclimate/vicki.yaml | 3 --- vendor/micropelt/mlr003.yaml | 3 --- vendor/milesight-iot/uc100.yaml | 3 --- .../minol-zenner/edc-communication-module.yaml | 3 --- vendor/netvox/r31507.yaml | 4 ---- vendor/netvox/r31508.yaml | 4 ---- vendor/netvox/r602a.yaml | 3 --- vendor/netvox/r831a.yaml | 3 --- vendor/netvox/r831b.yaml | 3 --- vendor/netvox/r831c.yaml | 4 ---- vendor/netvox/r831d.yaml | 4 ---- vendor/netvox/ra10.yaml | 3 --- vendor/nke-watteco/modbus-classe-a-sensor.yaml | 3 --- vendor/nke-watteco/modbus-classe-c-sensor.yaml | 3 --- vendor/plenom/busylight.yaml | 3 --- vendor/rakwireless/rak7431.yaml | 4 ++-- vendor/redz/tlm-lw.yaml | 3 --- vendor/ruixinghengfang-network/rhf1s052.yaml | 4 ---- vendor/ruixinghengfang-network/rhf3mr01.yaml | 9 ++------- vendor/saninudge/sanisensor2.yaml | 3 --- vendor/smart-parks/opencollar.yaml | 3 --- vendor/strega/motorized-valve.yaml | 3 --- vendor/strega/smart-valve.yaml | 3 --- .../t00053xx-industrial-transceiver.yaml | 4 ---- .../t00055xx-industrial-transceiver.yaml | 4 ---- .../t00056xx-industrial-transceiver.yaml | 4 ---- vendor/tip/sinus85.yaml | 3 --- 53 files changed, 38 insertions(+), 242 deletions(-) diff --git a/schema.json b/schema.json index 9567404760..6704320630 100644 --- a/schema.json +++ b/schema.json @@ -954,7 +954,7 @@ "devicetype": { "type": "array", "items": { - "enum": ["sensor", "devboard", "actuator", "module", "converter", "coveragetest", "display"] + "enum": ["devboard", "module", "coveragetest", "display"] } }, "sensors": { diff --git a/vendor/acrios/acr-cv-101l-m-d.yaml b/vendor/acrios/acr-cv-101l-m-d.yaml index bff0d99d1b..5efacd49dd 100644 --- a/vendor/acrios/acr-cv-101l-m-d.yaml +++ b/vendor/acrios/acr-cv-101l-m-d.yaml @@ -13,8 +13,6 @@ firmwareVersions: EU863-870: lorawanCertified: true id: acr-cv-101l-m-d-profile -devicetype: - - converter bridgeInterfaces: - m-bus dimensions: diff --git a/vendor/acrios/acr-cv-101l-m-eac.yaml b/vendor/acrios/acr-cv-101l-m-eac.yaml index cb023676b6..348552c8d9 100644 --- a/vendor/acrios/acr-cv-101l-m-eac.yaml +++ b/vendor/acrios/acr-cv-101l-m-eac.yaml @@ -36,9 +36,6 @@ firmwareVersions: id: acr-cv-otaa-profile lorawanCertified: true -devicetype: - - converter - # Bridge interfaces (optional) # Valid values are: modbus, m-bus, can bus, rs-485, sdi-12, analog. bridgeInterfaces: diff --git a/vendor/acrios/acr-cv-101l-r-eac.yaml b/vendor/acrios/acr-cv-101l-r-eac.yaml index fbbbc615cc..4d1c5a27a1 100644 --- a/vendor/acrios/acr-cv-101l-r-eac.yaml +++ b/vendor/acrios/acr-cv-101l-r-eac.yaml @@ -36,9 +36,6 @@ firmwareVersions: id: acr-cv-otaa-profile lorawanCertified: true -devicetype: - - converter - # Bridge interfaces (optional) # Valid values are: modbus, m-bus, can bus, rs-485, sdi-12, analog. bridgeInterfaces: diff --git a/vendor/adeunis/modbus.yaml b/vendor/adeunis/modbus.yaml index d74783f501..0a3689cac7 100644 --- a/vendor/adeunis/modbus.yaml +++ b/vendor/adeunis/modbus.yaml @@ -58,9 +58,6 @@ firmwareVersions: lorawanCertified: true codec: modbus-codec -devicetype: - - converter - # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, @@ -71,7 +68,9 @@ devicetype: # vibration, voltage, water potential, water, weight, wifi ssid, wind direction, wind speed. sensors: - pulse count - # modbus + +bridgeInterfaces: + - modbus # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/aquascope/bvs.yaml b/vendor/aquascope/bvs.yaml index 12d06def3a..5e16cbfe69 100644 --- a/vendor/aquascope/bvs.yaml +++ b/vendor/aquascope/bvs.yaml @@ -25,9 +25,6 @@ firmwareVersions: lorawanCertified: true codec: bvs-codec -devicetype: - - actuator - sensors: - temperature diff --git a/vendor/aquascope/kfr.yaml b/vendor/aquascope/kfr.yaml index 7ad0de3b45..9984d0b260 100644 --- a/vendor/aquascope/kfr.yaml +++ b/vendor/aquascope/kfr.yaml @@ -27,9 +27,6 @@ firmwareVersions: lorawanCertified: false codec: kfr-codec -devicetype: - - actuator - sensors: - temperature diff --git a/vendor/dragino/lt22222-l.yaml b/vendor/dragino/lt22222-l.yaml index 280554dcc3..a2faf32a5b 100644 --- a/vendor/dragino/lt22222-l.yaml +++ b/vendor/dragino/lt22222-l.yaml @@ -139,10 +139,6 @@ firmwareVersions: lorawanCertified: true codec: lt22222-l-codec -devicetype: - - sensor - - actuator - # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/dragino/lt33222-l.yaml b/vendor/dragino/lt33222-l.yaml index 215361d559..f4fd960fb3 100644 --- a/vendor/dragino/lt33222-l.yaml +++ b/vendor/dragino/lt33222-l.yaml @@ -98,10 +98,6 @@ firmwareVersions: lorawanCertified: true codec: lt33222-l-codec -devicetype: - - sensor - - actuator - # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/dragino/rs485-bl.yaml b/vendor/dragino/rs485-bl.yaml index 68e58bf8d4..7b5f5cb19d 100644 --- a/vendor/dragino/rs485-bl.yaml +++ b/vendor/dragino/rs485-bl.yaml @@ -52,20 +52,8 @@ firmwareVersions: RU864-870: id: ru864-a-abp-profile -devicetype: - - converter - -# Sensors that this device features (optional) -# Valid values are: -# 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, -# current, digital input, dissolved oxygen, distance, dust, energy, gps, gyroscope, h2s, humidity, iaq, level, light, -# lightning, link, magnetometer, moisture, motion, no, no2, o3, particulate matter, ph, pir, pm2.5, pm10, potentiometer, -# power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, snr, solar radiation, -# sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, vibration, voltage, -# water potential, water, weight, wifi ssid, wind direction, wind speed. -#sensors: -# - wind direction -# - wind speed +bridgeInterfaces: + - rs-485 # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/dragino/rs485-ln.yaml b/vendor/dragino/rs485-ln.yaml index 841aadb4e7..5a8035e43e 100644 --- a/vendor/dragino/rs485-ln.yaml +++ b/vendor/dragino/rs485-ln.yaml @@ -62,20 +62,8 @@ firmwareVersions: RU864-870: id: ru864-c-abp-profile -devicetype: - - converter - -# Sensors that this device features (optional) -# Valid values are: -# 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, -# current, digital input, dissolved oxygen, distance, dust, energy, gps, gyroscope, h2s, humidity, iaq, level, light, -# lightning, link, magnetometer, moisture, motion, no, no2, o3, particulate matter, ph, pir, pm2.5, pm10, potentiometer, -# power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, snr, solar radiation, -# sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, vibration, voltage, -# water potential, water, weight, wifi ssid, wind direction, wind speed. -#sensors: -# - wind direction -# - wind speed +bridgeInterfaces: + - rs-485 # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/dragino/sdi-12.yaml b/vendor/dragino/sdi-12.yaml index 2094cdc44d..f96ada92dd 100644 --- a/vendor/dragino/sdi-12.yaml +++ b/vendor/dragino/sdi-12.yaml @@ -88,9 +88,6 @@ firmwareVersions: lorawanCertified: true codec: sdi-12-codec -devicetype: - - converter - # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, @@ -102,6 +99,9 @@ devicetype: sensors: - water +bridgeInterfaces: + - sdi-12 + # Product and data sheet URLs (optional) productURL: https://www.dragino.com/products/agriculture-weather-station/item/252-sdi-12-lb.html dataSheetURL: https://www.dropbox.com/sh/g99v0fxcltn9r1y/AAAE_8hHxu8y2Ests4OlLB0ja/SDI-12-LB?dl=0&subfolder_nav_tracking=1 diff --git a/vendor/elv/elv-lw-int1.yaml b/vendor/elv/elv-lw-int1.yaml index cff6024edd..7987b986a4 100644 --- a/vendor/elv/elv-lw-int1.yaml +++ b/vendor/elv/elv-lw-int1.yaml @@ -38,17 +38,7 @@ firmwareVersions: codec: elv-lw-int1-codec devicetype: - - converter - -# Sensors that this device features (optional) -# Valid values are: -# 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, -# current, digital input, dissolved oxygen, distance, dust, energy, gps, gyroscope, h2s, humidity, iaq, level, light, -# lightning, link, magnetometer, moisture, motion, no, no2, o3, particulate matter, ph, pir, pm2.5, pm10, potentiometer, -# power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, smart valve, snr, so2, -# solar radiation, sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, -# vibration, voltage, water potential, water, weight, wifi ssid, wind direction, wind speed. -#sensors: + - devboard # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/enginko/mcf-lw06485.yaml b/vendor/enginko/mcf-lw06485.yaml index 84bd791540..eca90f99bd 100644 --- a/vendor/enginko/mcf-lw06485.yaml +++ b/vendor/enginko/mcf-lw06485.yaml @@ -27,9 +27,6 @@ firmwareVersions: lorawanCertified: false codec: mcf-lw06485-codec -devicetype: - - converter - # Sensors that this device features (optional) # Valid values are: accelerometer, altitude, auxiliary, barometer, battery, button, co2, distance, dust, gps, gyroscope, # humidity, light, link, magnetometer, moisture, ph, pir, proximity, rssi, snr, sound, temperature, tvoc, velocity, @@ -37,6 +34,9 @@ devicetype: sensors: - auxiliary +bridgeInterfaces: + - modbus + # Dimensions in mm (optional) # Use width, height, length and/or diameter dimensions: diff --git a/vendor/enginko/mcf-lw13io.yaml b/vendor/enginko/mcf-lw13io.yaml index 14669aed6a..27375fa313 100644 --- a/vendor/enginko/mcf-lw13io.yaml +++ b/vendor/enginko/mcf-lw13io.yaml @@ -28,9 +28,6 @@ firmwareVersions: lorawanCertified: false codec: mcf-io-codec -devicetype: - - actuator - # Sensors that this device features (optional) # Valid values are: accelerometer, altitude, auxiliary, barometer, battery, button, co2, distance, dust, gps, gyroscope, # humidity, light, link, magnetometer, moisture, ph, pir, proximity, rssi, snr, sound, temperature, tvoc, velocity, diff --git a/vendor/enthutech/rs485-bl.yaml b/vendor/enthutech/rs485-bl.yaml index 1a5230d6a1..411f1b524e 100644 --- a/vendor/enthutech/rs485-bl.yaml +++ b/vendor/enthutech/rs485-bl.yaml @@ -28,20 +28,8 @@ firmwareVersions: CN470-510: id: class-a-profile -devicetype: - - converter - -# Sensors that this device features (optional) -# Valid values are: -# 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, -# current, digital input, dissolved oxygen, distance, dust, energy, gps, gyroscope, h2s, humidity, iaq, level, light, -# lightning, link, magnetometer, moisture, motion, no, no2, o3, particulate matter, ph, pir, pm2.5, pm10, potentiometer, -# power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, snr, solar radiation, -# sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, vibration, voltage, -# water potential, water, weight, wifi ssid, wind direction, wind speed. -#sensors: -# - wind direction -# - wind speed +bridgeInterfaces: + - rs-485 # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/enthutech/rs485-ln.yaml b/vendor/enthutech/rs485-ln.yaml index e7403c4439..1ff7a6e9d3 100644 --- a/vendor/enthutech/rs485-ln.yaml +++ b/vendor/enthutech/rs485-ln.yaml @@ -38,20 +38,8 @@ firmwareVersions: CN470-510: id: class-a-c-profile -devicetype: - - converter - -# Sensors that this device features (optional) -# Valid values are: -# 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, -# current, digital input, dissolved oxygen, distance, dust, energy, gps, gyroscope, h2s, humidity, iaq, level, light, -# lightning, link, magnetometer, moisture, motion, no, no2, o3, particulate matter, ph, pir, pm2.5, pm10, potentiometer, -# power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, snr, solar radiation, -# sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, vibration, voltage, -# water potential, water, weight, wifi ssid, wind direction, wind speed. -#sensors: -# - wind direction -# - wind speed +bridgeInterfaces: + - rs-485 # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/example/windsensor.yaml b/vendor/example/windsensor.yaml index e178612394..8a4053a655 100644 --- a/vendor/example/windsensor.yaml +++ b/vendor/example/windsensor.yaml @@ -62,9 +62,9 @@ firmwareVersions: codec: windsensor-codec # Type of device (optional) -# Valid values are: sensor, devboard, actuator, module, converter, coveragetest, display +# Valid values are: devboard, module, coveragetest, display devicetype: - - sensor + - devboard # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/gwf/rcm-h200.yaml b/vendor/gwf/rcm-h200.yaml index c59738c92f..97afc8b744 100644 --- a/vendor/gwf/rcm-h200.yaml +++ b/vendor/gwf/rcm-h200.yaml @@ -15,8 +15,8 @@ firmwareVersions: id: rcm-h200-915 lorawanCertified: false codec: rcm-h200-codec -devicetype: - - converter +bridgeInterfaces: + - analog battery: replaceable: false type: 1x A diff --git a/vendor/gwf/rcm-lrw10.yaml b/vendor/gwf/rcm-lrw10.yaml index a10ac564fa..b4895751a0 100644 --- a/vendor/gwf/rcm-lrw10.yaml +++ b/vendor/gwf/rcm-lrw10.yaml @@ -11,8 +11,8 @@ firmwareVersions: id: rcm-lrw10-868 lorawanCertified: true codec: rcm-lrw10-codec -devicetype: - - converter +bridgeInterfaces: + - analog battery: replaceable: false type: 2x A diff --git a/vendor/imst/range-extender.yaml b/vendor/imst/range-extender.yaml index 54326e47aa..7880adedfa 100644 --- a/vendor/imst/range-extender.yaml +++ b/vendor/imst/range-extender.yaml @@ -35,10 +35,8 @@ firmwareVersions: lorawanCertified: true codec: range-extender-codec -devicetype: - - converter - -# Sensors that this device features (optional) +bridgeInterfaces: + - m-bus # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/iot-factory/m-bus-gateway.yaml b/vendor/iot-factory/m-bus-gateway.yaml index fa47518e09..5ec834c4e5 100644 --- a/vendor/iot-factory/m-bus-gateway.yaml +++ b/vendor/iot-factory/m-bus-gateway.yaml @@ -34,15 +34,15 @@ firmwareVersions: lorawanCertified: false codec: m-bus-gateway-codec -devicetype: - - converter - # Sensors that this device features #sensors: # - m-bus master # - 8-24V DC # - 230V AC +bridgeInterfaces: + - m-bus + # Additional radios that this device has additionalRadios: - ble diff --git a/vendor/koidra/sdi-12-dra.yaml b/vendor/koidra/sdi-12-dra.yaml index 3bc8609639..54d8e7c3c9 100644 --- a/vendor/koidra/sdi-12-dra.yaml +++ b/vendor/koidra/sdi-12-dra.yaml @@ -43,20 +43,8 @@ firmwareVersions: id: sdi-12-dra-profile codec: sdi-12-dra-codec -devicetype: - - converter - -# Sensors that this device features (optional) -# Valid values are: -# 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, -# current, digital input, dissolved oxygen, distance, dust, energy, gps, gyroscope, h2s, humidity, iaq, level, light, -# lightning, link, magnetometer, moisture, motion, no, no2, o3, particulate matter, ph, pir, pm2.5, pm10, potentiometer, -# power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, snr, solar radiation, -# sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, vibration, voltage, -# water potential, water, weight, wifi ssid, wind direction, wind speed. -#sensors: -# - wind direction -# - wind speed +bridgeInterfaces: + - sdi-12 # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/koidra/sdi-12-tek.yaml b/vendor/koidra/sdi-12-tek.yaml index 5425d4bb39..2d0435f027 100644 --- a/vendor/koidra/sdi-12-tek.yaml +++ b/vendor/koidra/sdi-12-tek.yaml @@ -43,20 +43,8 @@ firmwareVersions: id: sdi-12-tek-profile codec: sdi-12-tek-codec -devicetype: - - converter - -# Sensors that this device features (optional) -# Valid values are: -# 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, -# current, digital input, dissolved oxygen, distance, dust, energy, gps, gyroscope, h2s, humidity, iaq, level, light, -# lightning, link, magnetometer, moisture, motion, no, no2, o3, particulate matter, ph, pir, pm2.5, pm10, potentiometer, -# power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, snr, solar radiation, -# sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, vibration, voltage, -# water potential, water, weight, wifi ssid, wind direction, wind speed. -#sensors: -# - wind direction -# - wind speed +bridgeInterfaces: + - sdi-12 # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/mcf88/mcf-lw13io.yaml b/vendor/mcf88/mcf-lw13io.yaml index 6ab07745af..63928c3779 100644 --- a/vendor/mcf88/mcf-lw13io.yaml +++ b/vendor/mcf88/mcf-lw13io.yaml @@ -28,9 +28,6 @@ firmwareVersions: lorawanCertified: false codec: mcf-io-codec -devicetype: - - actuator - # Sensors that this device features (optional) # Valid values are: accelerometer, altitude, auxiliary, barometer, battery, button, co2, distance, dust, gps, gyroscope, # humidity, light, link, magnetometer, moisture, ph, pir, proximity, rssi, snr, sound, temperature, tvoc, velocity, diff --git a/vendor/mclimate/t-valve.yaml b/vendor/mclimate/t-valve.yaml index e5a1afda99..c39fd3db00 100644 --- a/vendor/mclimate/t-valve.yaml +++ b/vendor/mclimate/t-valve.yaml @@ -16,9 +16,6 @@ firmwareVersions: lorawanCertified: false codec: t-valve-codec -devicetype: - - actuator - # Sensors that this device features (optional) # Valid values are: accelerometer, altitude, auxiliary, barometer, battery, button, co2, distance, dust, gps, gyroscope, # humidity, light, link, magnetometer, moisture, ph, pir, proximity, rssi, snr, sound, temperature, tvoc, velocity, diff --git a/vendor/mclimate/vicki.yaml b/vendor/mclimate/vicki.yaml index 52f522d8cf..613f9935ed 100644 --- a/vendor/mclimate/vicki.yaml +++ b/vendor/mclimate/vicki.yaml @@ -71,9 +71,6 @@ firmwareVersions: lorawanCertified: true codec: vicki-codec -devicetype: - - actuator - # Sensors that this device features (optional) # Valid values are: accelerometer, altitude, auxiliary, barometer, battery, button, co2, distance, dust, gps, gyroscope, # humidity, light, link, magnetometer, moisture, ph, pir, proximity, rssi, snr, sound, temperature, tvoc, velocity, diff --git a/vendor/micropelt/mlr003.yaml b/vendor/micropelt/mlr003.yaml index e3041f4ea1..9135dce570 100644 --- a/vendor/micropelt/mlr003.yaml +++ b/vendor/micropelt/mlr003.yaml @@ -29,9 +29,6 @@ firmwareVersions: lorawanCertified: true codec: mlr003-codec -devicetype: - - actuator - # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/milesight-iot/uc100.yaml b/vendor/milesight-iot/uc100.yaml index 619f16f514..347755e5fc 100644 --- a/vendor/milesight-iot/uc100.yaml +++ b/vendor/milesight-iot/uc100.yaml @@ -37,9 +37,6 @@ firmwareVersions: id: profile-ru864 codec: uc100-codec -devicetype: - - converter - #sensors: # modbus channels diff --git a/vendor/minol-zenner/edc-communication-module.yaml b/vendor/minol-zenner/edc-communication-module.yaml index 014d1d89fd..c5eb588c48 100644 --- a/vendor/minol-zenner/edc-communication-module.yaml +++ b/vendor/minol-zenner/edc-communication-module.yaml @@ -27,9 +27,6 @@ firmwareVersions: lorawanCertified: true codec: edc-communication-module-codec -devicetype: - - sensor - sensors: - pulse count - pulse frequency diff --git a/vendor/netvox/r31507.yaml b/vendor/netvox/r31507.yaml index b13d0b4ff9..5d74b34d0c 100755 --- a/vendor/netvox/r31507.yaml +++ b/vendor/netvox/r31507.yaml @@ -34,10 +34,6 @@ firmwareVersions: id: profile-cn470 codec: r315-codec -devicetype: - - sensor - - actuator - sensors: - pir - button diff --git a/vendor/netvox/r31508.yaml b/vendor/netvox/r31508.yaml index 8109558cf8..47a5172b49 100755 --- a/vendor/netvox/r31508.yaml +++ b/vendor/netvox/r31508.yaml @@ -34,10 +34,6 @@ firmwareVersions: id: profile-cn470 codec: r315-codec -devicetype: - - sensor - - actuator - sensors: - temperature - humidity diff --git a/vendor/netvox/r602a.yaml b/vendor/netvox/r602a.yaml index b1f31340ff..cea05c6e78 100755 --- a/vendor/netvox/r602a.yaml +++ b/vendor/netvox/r602a.yaml @@ -34,9 +34,6 @@ firmwareVersions: id: profile-cn470 codec: r602a-codec -devicetype: - - actuator - dimensions: diameter: 85 height: 52 diff --git a/vendor/netvox/r831a.yaml b/vendor/netvox/r831a.yaml index 560fba4409..a1f9b33130 100755 --- a/vendor/netvox/r831a.yaml +++ b/vendor/netvox/r831a.yaml @@ -34,9 +34,6 @@ firmwareVersions: id: profile-cn470 codec: r831a-codec -devicetype: - - actuator - dimensions: width: 47 length: 66 diff --git a/vendor/netvox/r831b.yaml b/vendor/netvox/r831b.yaml index b87ab8bbb2..d7277d916a 100755 --- a/vendor/netvox/r831b.yaml +++ b/vendor/netvox/r831b.yaml @@ -34,9 +34,6 @@ firmwareVersions: id: profile-cn470 codec: r831b-codec -devicetype: - - actuator - dimensions: width: 47 length: 66 diff --git a/vendor/netvox/r831c.yaml b/vendor/netvox/r831c.yaml index 16a57c9ed0..e40cc11fa4 100755 --- a/vendor/netvox/r831c.yaml +++ b/vendor/netvox/r831c.yaml @@ -34,10 +34,6 @@ firmwareVersions: id: profile-cn470 codec: r831c-codec -devicetype: - - sensor - - actuator - sensors: - digital input diff --git a/vendor/netvox/r831d.yaml b/vendor/netvox/r831d.yaml index 8c224f9dd1..fc6793ce6f 100755 --- a/vendor/netvox/r831d.yaml +++ b/vendor/netvox/r831d.yaml @@ -34,10 +34,6 @@ firmwareVersions: id: profile-cn470 codec: r831d-codec -devicetype: - - sensor - - actuator - sensors: - digital input diff --git a/vendor/netvox/ra10.yaml b/vendor/netvox/ra10.yaml index 34fba8ada9..653a9f0792 100755 --- a/vendor/netvox/ra10.yaml +++ b/vendor/netvox/ra10.yaml @@ -34,9 +34,6 @@ firmwareVersions: id: profile-cn470 codec: ra10-codec -devicetype: - - actuator - dimensions: width: 70.99 length: 152.99 diff --git a/vendor/nke-watteco/modbus-classe-a-sensor.yaml b/vendor/nke-watteco/modbus-classe-a-sensor.yaml index 8a27423413..dbcf32e3d1 100644 --- a/vendor/nke-watteco/modbus-classe-a-sensor.yaml +++ b/vendor/nke-watteco/modbus-classe-a-sensor.yaml @@ -37,9 +37,6 @@ firmwareVersions: lorawanCertified: true codec: modbus-sensor-codec -devicetype: - - converter - # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/nke-watteco/modbus-classe-c-sensor.yaml b/vendor/nke-watteco/modbus-classe-c-sensor.yaml index a3b2d9df7b..1eaac09c03 100644 --- a/vendor/nke-watteco/modbus-classe-c-sensor.yaml +++ b/vendor/nke-watteco/modbus-classe-c-sensor.yaml @@ -37,9 +37,6 @@ firmwareVersions: lorawanCertified: true codec: modbus-sensor-codec -devicetype: - - converter - # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/plenom/busylight.yaml b/vendor/plenom/busylight.yaml index cb6c1dee9b..99a9499e59 100644 --- a/vendor/plenom/busylight.yaml +++ b/vendor/plenom/busylight.yaml @@ -46,9 +46,6 @@ firmwareVersions: lorawanCertified: true codec: busylight-codec -devicetype: - - actuator - # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/rakwireless/rak7431.yaml b/vendor/rakwireless/rak7431.yaml index 9d355de910..0ed6142271 100644 --- a/vendor/rakwireless/rak7431.yaml +++ b/vendor/rakwireless/rak7431.yaml @@ -25,8 +25,8 @@ firmwareVersions: id: rak7431-915-profile lorawanCertified: false -devicetype: - - converter +bridgeInterfaces: + - rs-485 # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/redz/tlm-lw.yaml b/vendor/redz/tlm-lw.yaml index a6306466d6..24ccf8bdeb 100644 --- a/vendor/redz/tlm-lw.yaml +++ b/vendor/redz/tlm-lw.yaml @@ -51,9 +51,6 @@ firmwareVersions: lorawanCertified: true codec: tlm-lw-codec -devicetype: - - converter - # Bridge interfaces (optional) # Valid values are: modbus, m-bus, can bus, rs-485, sdi-12, analog. bridgeInterfaces: diff --git a/vendor/ruixinghengfang-network/rhf1s052.yaml b/vendor/ruixinghengfang-network/rhf1s052.yaml index 6483a9ccea..cb044ca17a 100644 --- a/vendor/ruixinghengfang-network/rhf1s052.yaml +++ b/vendor/ruixinghengfang-network/rhf1s052.yaml @@ -68,10 +68,6 @@ firmwareVersions: #lorawanCertified: true #codec: -devicetype: - - actuator - - sensor - # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/ruixinghengfang-network/rhf3mr01.yaml b/vendor/ruixinghengfang-network/rhf3mr01.yaml index 23ed4ef1f1..2ccb6a9f2a 100644 --- a/vendor/ruixinghengfang-network/rhf3mr01.yaml +++ b/vendor/ruixinghengfang-network/rhf3mr01.yaml @@ -64,9 +64,6 @@ firmwareVersions: #lorawanCertified: true #codec: -devicetype: - - converter - # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, @@ -75,10 +72,8 @@ devicetype: # power, precipitation, pressure, proximity, pulse count, pulse frequency, radar, rainfall, rssi, smart valve, snr, so2, # solar radiation, sound, strain, surface temperature, temperature, tilt, time, tvoc, uv, vapor pressure, velocity, # vibration, voltage, water potential, water, weight, wifi ssid, wind direction, wind speed. -#sensors: -# - wind direction -# - wind speed - +sensors: + - button # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. #additionalRadios: diff --git a/vendor/saninudge/sanisensor2.yaml b/vendor/saninudge/sanisensor2.yaml index 99cb838524..c105ae0201 100644 --- a/vendor/saninudge/sanisensor2.yaml +++ b/vendor/saninudge/sanisensor2.yaml @@ -29,9 +29,6 @@ firmwareVersions: # Identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: sanisensor2-profile -devicetype: - - sensor - # Battery information (optional) battery: replaceable: true diff --git a/vendor/smart-parks/opencollar.yaml b/vendor/smart-parks/opencollar.yaml index 8b5dcde45f..9abf1b341e 100644 --- a/vendor/smart-parks/opencollar.yaml +++ b/vendor/smart-parks/opencollar.yaml @@ -25,9 +25,6 @@ firmwareVersions: lorawanCertified: false codec: opencollar-v26-codec -devicetype: - - sensor - sensors: - gps - temperature diff --git a/vendor/strega/motorized-valve.yaml b/vendor/strega/motorized-valve.yaml index e24d24164b..325fd02314 100644 --- a/vendor/strega/motorized-valve.yaml +++ b/vendor/strega/motorized-valve.yaml @@ -65,9 +65,6 @@ firmwareVersions: lorawanCertified: true codec: motorized-valve-codec -devicetype: - - actuator - # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/strega/smart-valve.yaml b/vendor/strega/smart-valve.yaml index e64cdd2ce6..362e348f77 100644 --- a/vendor/strega/smart-valve.yaml +++ b/vendor/strega/smart-valve.yaml @@ -40,9 +40,6 @@ firmwareVersions: lorawanCertified: true codec: smart-valve-codec -devicetype: - - actuator - # Sensors that this device features (optional) # Valid values are: # 4-20 ma, accelerometer, altitude, analog input, auxiliary, barometer, battery, button, bvoc, co, co2, conductivity, diff --git a/vendor/tektelic/t00053xx-industrial-transceiver.yaml b/vendor/tektelic/t00053xx-industrial-transceiver.yaml index c447d69c4c..6b84943556 100644 --- a/vendor/tektelic/t00053xx-industrial-transceiver.yaml +++ b/vendor/tektelic/t00053xx-industrial-transceiver.yaml @@ -21,10 +21,6 @@ firmwareVersions: lorawanCertified: true codec: t00053xx-codec -devicetype: - - sensor - - actuator - sensors: - digital input - temperature diff --git a/vendor/tektelic/t00055xx-industrial-transceiver.yaml b/vendor/tektelic/t00055xx-industrial-transceiver.yaml index c5c6fbac27..4658085434 100644 --- a/vendor/tektelic/t00055xx-industrial-transceiver.yaml +++ b/vendor/tektelic/t00055xx-industrial-transceiver.yaml @@ -21,10 +21,6 @@ firmwareVersions: lorawanCertified: true codec: t00055xx-codec -devicetype: - - sensor - - actuator - sensors: - digital input - temperature diff --git a/vendor/tektelic/t00056xx-industrial-transceiver.yaml b/vendor/tektelic/t00056xx-industrial-transceiver.yaml index d66936a964..1b915ed17a 100644 --- a/vendor/tektelic/t00056xx-industrial-transceiver.yaml +++ b/vendor/tektelic/t00056xx-industrial-transceiver.yaml @@ -21,10 +21,6 @@ firmwareVersions: lorawanCertified: true codec: t00056xx-codec -devicetype: - - sensor - - actuator - sensors: - digital input - temperature diff --git a/vendor/tip/sinus85.yaml b/vendor/tip/sinus85.yaml index c11d3550fd..41fcb6197b 100644 --- a/vendor/tip/sinus85.yaml +++ b/vendor/tip/sinus85.yaml @@ -12,8 +12,5 @@ firmwareVersions: lorawanCertified: true codec: sinus85-codec -devicetype: - - sensor - photos: main: sinus85.png From 4467c1470a3b3cf70f38fde7a3cd174f0b3ebf93 Mon Sep 17 00:00:00 2001 From: LDannijs Date: Tue, 16 Apr 2024 15:11:23 +0200 Subject: [PATCH 14/16] change to devkit, module, cots --- bin/csv.js | 2 +- schema.json | 5 +---- vendor/abeeway/abeeway-geolocation-module.yaml | 3 +-- vendor/adeunis/ftd-network-tester.yaml | 3 +-- vendor/arduino/mkr-wan-1310.yaml | 3 +-- vendor/arduino/portenta-max-carrier.yaml | 3 +-- vendor/atim/acw-tst.yaml | 3 +-- vendor/elv/elv-lw-int1.yaml | 3 +-- vendor/elvaco/cmi4110.yaml | 3 +-- vendor/elvaco/cmi4111.yaml | 3 +-- vendor/elvaco/cmi4130.yaml | 3 +-- vendor/elvaco/cmi4140.yaml | 3 +-- vendor/elvaco/cmi4160.yaml | 3 +-- vendor/embit/emb-lr1280-mpci-4x.yaml | 3 +-- vendor/embit/emb-lr1280s.yaml | 3 +-- vendor/embit/emb-lr1302-mpci.yaml | 3 +-- vendor/embit/emb-lrwl55.yaml | 3 +-- vendor/espeasy/espeasy-rn2483-node-class-a-abp.yaml | 3 +-- vendor/espeasy/espeasy-rn2483-node-class-a-otaa.yaml | 3 +-- vendor/espeasy/espeasy-rn2903-node-class-a-abp.yaml | 3 +-- vendor/espeasy/espeasy-rn2903-node-class-a-otaa.yaml | 3 +-- vendor/example/windsensor.yaml | 5 ++--- vendor/heltec/cubecell-1-2-aa-node-class-a-abp.yaml | 3 +-- vendor/heltec/cubecell-1-2-aa-node-class-a-otaa.yaml | 3 +-- vendor/heltec/cubecell-1-2-aa-node-class-c-abp.yaml | 3 +-- vendor/heltec/cubecell-1-2-aa-node-class-c-otaa.yaml | 3 +-- vendor/heltec/cubecell-capsule-sensor-class-a-abp.yaml | 3 +-- vendor/heltec/cubecell-capsule-sensor-class-a-otaa.yaml | 3 +-- vendor/heltec/cubecell-capsule-sensor-class-c-abp.yaml | 3 +-- vendor/heltec/cubecell-capsule-sensor-class-c-otaa.yaml | 3 +-- vendor/heltec/cubecell-dev-board-class-a-abp.yaml | 3 +-- vendor/heltec/cubecell-dev-board-class-a-otaa.yaml | 3 +-- vendor/heltec/cubecell-dev-board-class-c-abp.yaml | 3 +-- vendor/heltec/cubecell-dev-board-class-c-otaa.yaml | 3 +-- vendor/heltec/cubecell-dev-board-plus-class-a-abp.yaml | 3 +-- vendor/heltec/cubecell-dev-board-plus-class-a-otaa.yaml | 3 +-- vendor/heltec/cubecell-dev-board-plus-class-c-abp.yaml | 3 +-- vendor/heltec/cubecell-dev-board-plus-class-c-otaa.yaml | 3 +-- vendor/heltec/cubecell-gps-6502-class-a-abp.yaml | 3 +-- vendor/heltec/cubecell-gps-6502-class-a-otaa.yaml | 3 +-- vendor/heltec/cubecell-gps-6502-class-c-abp.yaml | 3 +-- vendor/heltec/cubecell-gps-6502-class-c-otaa.yaml | 3 +-- vendor/heltec/cubecell-module-class-a-abp.yaml | 3 +-- vendor/heltec/cubecell-module-class-a-otaa.yaml | 3 +-- vendor/heltec/cubecell-module-class-c-abp.yaml | 3 +-- vendor/heltec/cubecell-module-class-c-otaa.yaml | 3 +-- vendor/heltec/cubecell-module-plus-class-a-abp.yaml | 3 +-- vendor/heltec/cubecell-module-plus-class-a-otaa.yaml | 3 +-- vendor/heltec/cubecell-module-plus-class-c-abp.yaml | 3 +-- vendor/heltec/cubecell-module-plus-class-c-otaa.yaml | 3 +-- vendor/heltec/cubecell-solar-sensor-class-a-abp.yaml | 3 +-- vendor/heltec/cubecell-solar-sensor-class-a-otaa.yaml | 3 +-- vendor/heltec/cubecell-solar-sensor-class-c-abp.yaml | 3 +-- vendor/heltec/cubecell-solar-sensor-class-c-otaa.yaml | 3 +-- vendor/heltec/lora-kit-151-class-a-abp.yaml | 3 +-- vendor/heltec/lora-kit-151-class-a-otaa.yaml | 3 +-- vendor/heltec/lora-kit-151-class-c-abp.yaml | 3 +-- vendor/heltec/lora-kit-151-class-c-otaa.yaml | 3 +-- vendor/heltec/lora-node-151-class-a-abp.yaml | 3 +-- vendor/heltec/lora-node-151-class-a-otaa.yaml | 3 +-- vendor/heltec/lora-node-151-class-c-abp.yaml | 3 +-- vendor/heltec/lora-node-151-class-c-otaa.yaml | 3 +-- vendor/heltec/turtle-board-class-a-abp.yaml | 3 +-- vendor/heltec/turtle-board-class-a-otaa.yaml | 3 +-- vendor/heltec/turtle-board-class-c-abp.yaml | 3 +-- vendor/heltec/turtle-board-class-c-otaa.yaml | 3 +-- vendor/heltec/wifi-lora-32-class-a-abp.yaml | 3 +-- vendor/heltec/wifi-lora-32-class-a-otaa.yaml | 3 +-- vendor/heltec/wifi-lora-32-class-c-abp.yaml | 3 +-- vendor/heltec/wifi-lora-32-class-c-otaa.yaml | 3 +-- vendor/heltec/wireless-shell-class-a-abp.yaml | 3 +-- vendor/heltec/wireless-shell-class-a-otaa.yaml | 3 +-- vendor/heltec/wireless-shell-class-c-abp.yaml | 3 +-- vendor/heltec/wireless-shell-class-c-otaa.yaml | 3 +-- vendor/heltec/wireless-stick-class-a-abp.yaml | 3 +-- vendor/heltec/wireless-stick-class-a-otaa.yaml | 3 +-- vendor/heltec/wireless-stick-class-c-abp.yaml | 3 +-- vendor/heltec/wireless-stick-class-c-otaa.yaml | 3 +-- vendor/heltec/wireless-stick-lite-class-a-abp.yaml | 3 +-- vendor/heltec/wireless-stick-lite-class-a-otaa.yaml | 3 +-- vendor/heltec/wireless-stick-lite-class-c-abp.yaml | 3 +-- vendor/heltec/wireless-stick-lite-class-c-otaa.yaml | 3 +-- vendor/ht-micron/htlrbl32l.yaml | 3 +-- vendor/ks-technologies/kst5420.yaml | 3 +-- vendor/kuleuven-dramco/dramco-uno.yaml | 3 +-- vendor/mcci/catena4610.yaml | 3 +-- vendor/mcci/catena4612.yaml | 3 +-- vendor/mcci/catena4618.yaml | 3 +-- vendor/mcci/catena4618m201.yaml | 3 +-- vendor/midatronics/sharky-module.yaml | 3 +-- vendor/midatronics/windy-mkr.yaml | 3 +-- vendor/midatronics/windy-module.yaml | 3 +-- vendor/move-x/mamwle.yaml | 3 +-- vendor/multi-tech/multi-tech-xdot.yaml | 3 +-- vendor/onethinx/otx18.yaml | 3 +-- vendor/rakwireless/wisblock-4631.yaml | 3 +-- vendor/ruixinghengfang-network/rhf0m003.yaml | 3 +-- vendor/ruixinghengfang-network/rhf0m0e5.yaml | 3 +-- vendor/seeed/loradevelopkit-e5.yaml | 3 +-- vendor/seeed/loraeminidevboard-e5.yaml | 3 +-- vendor/seeed/lorawan-dev-kit.yaml | 3 +-- vendor/seeed/sensecap-indicator.yaml | 3 +-- vendor/sensecap/loramodule-e5.yaml | 3 +-- vendor/slscorp/nln500a.yaml | 3 +-- vendor/stmicroelectronics/nucleo-wl55jc1.yaml | 3 +-- vendor/stmicroelectronics/nucleo-wl55jc2.yaml | 3 +-- vendor/stmicroelectronics/steval-astra1b.yaml | 3 +-- vendor/tektelic/t0006377-memo.yaml | 3 +-- vendor/tektelic/t0006377-tempo.yaml | 3 +-- .../the-things-industries/generic-node-sensor-edition.yaml | 3 +-- vendor/the-things-products/the-things-uno.yaml | 3 +-- 111 files changed, 112 insertions(+), 224 deletions(-) diff --git a/bin/csv.js b/bin/csv.js index a42473393e..8b3ffef198 100644 --- a/bin/csv.js +++ b/bin/csv.js @@ -37,7 +37,7 @@ const extractData = (filePath, vendor) => { const name = data.name; const vendorname = vendorNamesMap.get(vendor) || vendor; // Fallback to the vendor ID if no name is found const description = data.description.replace(/"/g, "'"); - const devicetype = Array.isArray(data.devicetype) ? `"${data.devicetype.join(', ')}"` : ''; + const devicetype = data.devicetype || ''; const sensors = Array.isArray(data.sensors) ? `"${data.sensors.join(', ')}"` : ''; const imageUrl = data.photos?.main ? `"${baseUrl}/${vendor}/${data.photos.main}"` : ''; const additionalRadios = Array.isArray(data.additionalRadios) ? `"${data.additionalRadios.join(', ')}"` : ''; diff --git a/schema.json b/schema.json index 6704320630..a21c96b3ce 100644 --- a/schema.json +++ b/schema.json @@ -952,10 +952,7 @@ "examples": ["In the WebFig configuration panel, the firmware version is stated in the top left (e.g RouterOS v6.47.9)"] }, "devicetype": { - "type": "array", - "items": { - "enum": ["devboard", "module", "coveragetest", "display"] - } + "enum": ["devkit", "module", "cots"] }, "sensors": { "type": "array", diff --git a/vendor/abeeway/abeeway-geolocation-module.yaml b/vendor/abeeway/abeeway-geolocation-module.yaml index f03d8eed97..24c048f818 100644 --- a/vendor/abeeway/abeeway-geolocation-module.yaml +++ b/vendor/abeeway/abeeway-geolocation-module.yaml @@ -40,8 +40,7 @@ firmwareVersions: id: abeeway-geolocation-module-profile lorawanCertified: true -devicetype: - - module +devicetype: module # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/adeunis/ftd-network-tester.yaml b/vendor/adeunis/ftd-network-tester.yaml index ce51929f7b..4ac550a155 100644 --- a/vendor/adeunis/ftd-network-tester.yaml +++ b/vendor/adeunis/ftd-network-tester.yaml @@ -23,8 +23,7 @@ firmwareVersions: id: ftd-profile-eu868 lorawanCertified: true -devicetype: - - coveragetest +devicetype: cots # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/arduino/mkr-wan-1310.yaml b/vendor/arduino/mkr-wan-1310.yaml index ba307f8aac..6558f64fdd 100644 --- a/vendor/arduino/mkr-wan-1310.yaml +++ b/vendor/arduino/mkr-wan-1310.yaml @@ -50,8 +50,7 @@ firmwareVersions: lorawanCertified: false codec: mkrwan1310-codec -devicetype: - - devboard +devicetype: devkit # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/arduino/portenta-max-carrier.yaml b/vendor/arduino/portenta-max-carrier.yaml index 98308e7d16..bf03f3f82a 100644 --- a/vendor/arduino/portenta-max-carrier.yaml +++ b/vendor/arduino/portenta-max-carrier.yaml @@ -50,8 +50,7 @@ firmwareVersions: lorawanCertified: false codec: portentamaxcarrier-codec -devicetype: - - devboard +devicetype: devkit # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/atim/acw-tst.yaml b/vendor/atim/acw-tst.yaml index 662d6cd60c..387a6c0e7d 100644 --- a/vendor/atim/acw-tst.yaml +++ b/vendor/atim/acw-tst.yaml @@ -37,8 +37,7 @@ firmwareVersions: lorawanCertified: true codec: codec2 -devicetype: - - coveragetest +devicetype: cots # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/elv/elv-lw-int1.yaml b/vendor/elv/elv-lw-int1.yaml index 7987b986a4..db6f1a03f8 100644 --- a/vendor/elv/elv-lw-int1.yaml +++ b/vendor/elv/elv-lw-int1.yaml @@ -37,8 +37,7 @@ firmwareVersions: lorawanCertified: true codec: elv-lw-int1-codec -devicetype: - - devboard +devicetype: devkit # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/elvaco/cmi4110.yaml b/vendor/elvaco/cmi4110.yaml index 86db60a23c..ddd15751e8 100644 --- a/vendor/elvaco/cmi4110.yaml +++ b/vendor/elvaco/cmi4110.yaml @@ -34,8 +34,7 @@ firmwareVersions: # # This is the file name of the codec defintion and must have the .yaml extension. # codec: device-a-codec -devicetype: - - module +devicetype: module photos: main: cmi4110.jpeg diff --git a/vendor/elvaco/cmi4111.yaml b/vendor/elvaco/cmi4111.yaml index eed3500f3e..d296ffc99a 100644 --- a/vendor/elvaco/cmi4111.yaml +++ b/vendor/elvaco/cmi4111.yaml @@ -34,8 +34,7 @@ firmwareVersions: # # This is the file name of the codec defintion and must have the .yaml extension. # codec: device-a-codec -devicetype: - - module +devicetype: module photos: main: cmi4111.jpeg diff --git a/vendor/elvaco/cmi4130.yaml b/vendor/elvaco/cmi4130.yaml index 7f93aca51a..75bb6440cf 100644 --- a/vendor/elvaco/cmi4130.yaml +++ b/vendor/elvaco/cmi4130.yaml @@ -34,8 +34,7 @@ firmwareVersions: # # This is the file name of the codec defintion and must have the .yaml extension. # codec: device-a-codec -devicetype: - - module +devicetype: module photos: main: cmi4130.jpeg diff --git a/vendor/elvaco/cmi4140.yaml b/vendor/elvaco/cmi4140.yaml index 1c53caee5e..43b9b0015f 100644 --- a/vendor/elvaco/cmi4140.yaml +++ b/vendor/elvaco/cmi4140.yaml @@ -34,8 +34,7 @@ firmwareVersions: # # This is the file name of the codec defintion and must have the .yaml extension. # codec: device-a-codec -devicetype: - - module +devicetype: module photos: main: cmi4140.jpeg diff --git a/vendor/elvaco/cmi4160.yaml b/vendor/elvaco/cmi4160.yaml index c91c8adfea..44aa9a973e 100644 --- a/vendor/elvaco/cmi4160.yaml +++ b/vendor/elvaco/cmi4160.yaml @@ -34,8 +34,7 @@ firmwareVersions: # # This is the file name of the codec defintion and must have the .yaml extension. # codec: device-a-codec -devicetype: - - module +devicetype: module photos: main: cmi4160.jpeg diff --git a/vendor/embit/emb-lr1280-mpci-4x.yaml b/vendor/embit/emb-lr1280-mpci-4x.yaml index 942b78a901..9fc86ff8ab 100644 --- a/vendor/embit/emb-lr1280-mpci-4x.yaml +++ b/vendor/embit/emb-lr1280-mpci-4x.yaml @@ -13,8 +13,7 @@ firmwareVersions: # Unique identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: emb-lrwl55-profile-eu868 -devicetype: - - module +devicetype: module # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/embit/emb-lr1280s.yaml b/vendor/embit/emb-lr1280s.yaml index 2782fd1c84..7b0593b9a2 100644 --- a/vendor/embit/emb-lr1280s.yaml +++ b/vendor/embit/emb-lr1280s.yaml @@ -13,8 +13,7 @@ firmwareVersions: # Unique identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: emb-lr1280s-profile -devicetype: - - module +devicetype: module # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/embit/emb-lr1302-mpci.yaml b/vendor/embit/emb-lr1302-mpci.yaml index 4ca407c0b7..961b45e8f2 100644 --- a/vendor/embit/emb-lr1302-mpci.yaml +++ b/vendor/embit/emb-lr1302-mpci.yaml @@ -16,8 +16,7 @@ firmwareVersions: # Unique identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: emb-lr1302-mpci-profile-us915 -devicetype: - - module +devicetype: module # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/embit/emb-lrwl55.yaml b/vendor/embit/emb-lrwl55.yaml index 4a8a68bbe9..d7454f1867 100644 --- a/vendor/embit/emb-lrwl55.yaml +++ b/vendor/embit/emb-lrwl55.yaml @@ -31,8 +31,7 @@ firmwareVersions: RU864-870: id: emb-lrwl55-profile-ru864 -devicetype: - - module +devicetype: module # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/espeasy/espeasy-rn2483-node-class-a-abp.yaml b/vendor/espeasy/espeasy-rn2483-node-class-a-abp.yaml index 89bb067cf5..ae6161b661 100644 --- a/vendor/espeasy/espeasy-rn2483-node-class-a-abp.yaml +++ b/vendor/espeasy/espeasy-rn2483-node-class-a-abp.yaml @@ -39,8 +39,7 @@ firmwareVersions: lorawanCertified: true codec: espeasy-codec -devicetype: - - devboard +devicetype: devkit # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/espeasy/espeasy-rn2483-node-class-a-otaa.yaml b/vendor/espeasy/espeasy-rn2483-node-class-a-otaa.yaml index e7183cf91a..de144ce7d4 100644 --- a/vendor/espeasy/espeasy-rn2483-node-class-a-otaa.yaml +++ b/vendor/espeasy/espeasy-rn2483-node-class-a-otaa.yaml @@ -39,8 +39,7 @@ firmwareVersions: lorawanCertified: true codec: espeasy-codec -devicetype: - - devboard +devicetype: devkit # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/espeasy/espeasy-rn2903-node-class-a-abp.yaml b/vendor/espeasy/espeasy-rn2903-node-class-a-abp.yaml index 039ee419cc..d1cad17c43 100644 --- a/vendor/espeasy/espeasy-rn2903-node-class-a-abp.yaml +++ b/vendor/espeasy/espeasy-rn2903-node-class-a-abp.yaml @@ -51,8 +51,7 @@ firmwareVersions: lorawanCertified: true codec: espeasy-codec -devicetype: - - devboard +devicetype: devkit # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/espeasy/espeasy-rn2903-node-class-a-otaa.yaml b/vendor/espeasy/espeasy-rn2903-node-class-a-otaa.yaml index 62d108be87..464bd5ed91 100644 --- a/vendor/espeasy/espeasy-rn2903-node-class-a-otaa.yaml +++ b/vendor/espeasy/espeasy-rn2903-node-class-a-otaa.yaml @@ -51,8 +51,7 @@ firmwareVersions: lorawanCertified: true codec: espeasy-codec -devicetype: - - devboard +devicetype: devkit # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/example/windsensor.yaml b/vendor/example/windsensor.yaml index 8a4053a655..4d473cb918 100644 --- a/vendor/example/windsensor.yaml +++ b/vendor/example/windsensor.yaml @@ -62,9 +62,8 @@ firmwareVersions: codec: windsensor-codec # Type of device (optional) -# Valid values are: devboard, module, coveragetest, display -devicetype: - - devboard +# Valid values are: devkit, module, cots +devicetype: cots # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/heltec/cubecell-1-2-aa-node-class-a-abp.yaml b/vendor/heltec/cubecell-1-2-aa-node-class-a-abp.yaml index af76bced9d..4c66d8767a 100755 --- a/vendor/heltec/cubecell-1-2-aa-node-class-a-abp.yaml +++ b/vendor/heltec/cubecell-1-2-aa-node-class-a-abp.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 24 diff --git a/vendor/heltec/cubecell-1-2-aa-node-class-a-otaa.yaml b/vendor/heltec/cubecell-1-2-aa-node-class-a-otaa.yaml index 9a2807ae8a..6052fd4d7c 100755 --- a/vendor/heltec/cubecell-1-2-aa-node-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-1-2-aa-node-class-a-otaa.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 24 diff --git a/vendor/heltec/cubecell-1-2-aa-node-class-c-abp.yaml b/vendor/heltec/cubecell-1-2-aa-node-class-c-abp.yaml index a3fb642191..f38b732e6a 100755 --- a/vendor/heltec/cubecell-1-2-aa-node-class-c-abp.yaml +++ b/vendor/heltec/cubecell-1-2-aa-node-class-c-abp.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 24 diff --git a/vendor/heltec/cubecell-1-2-aa-node-class-c-otaa.yaml b/vendor/heltec/cubecell-1-2-aa-node-class-c-otaa.yaml index 156e92acf6..969817dc10 100755 --- a/vendor/heltec/cubecell-1-2-aa-node-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-1-2-aa-node-class-c-otaa.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 24 diff --git a/vendor/heltec/cubecell-capsule-sensor-class-a-abp.yaml b/vendor/heltec/cubecell-capsule-sensor-class-a-abp.yaml index 2bc4878b99..b1dd86bd79 100755 --- a/vendor/heltec/cubecell-capsule-sensor-class-a-abp.yaml +++ b/vendor/heltec/cubecell-capsule-sensor-class-a-abp.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: - - devboard +devicetype: devkit dimensions: height: 67 diff --git a/vendor/heltec/cubecell-capsule-sensor-class-a-otaa.yaml b/vendor/heltec/cubecell-capsule-sensor-class-a-otaa.yaml index e48c0f9e04..9f7cdfcde0 100755 --- a/vendor/heltec/cubecell-capsule-sensor-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-capsule-sensor-class-a-otaa.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: - - devboard +devicetype: devkit dimensions: height: 67 diff --git a/vendor/heltec/cubecell-capsule-sensor-class-c-abp.yaml b/vendor/heltec/cubecell-capsule-sensor-class-c-abp.yaml index 3d7af144a2..f330bafde4 100755 --- a/vendor/heltec/cubecell-capsule-sensor-class-c-abp.yaml +++ b/vendor/heltec/cubecell-capsule-sensor-class-c-abp.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: - - devboard +devicetype: devkit dimensions: height: 67 diff --git a/vendor/heltec/cubecell-capsule-sensor-class-c-otaa.yaml b/vendor/heltec/cubecell-capsule-sensor-class-c-otaa.yaml index caccedc2b8..69408ff81f 100755 --- a/vendor/heltec/cubecell-capsule-sensor-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-capsule-sensor-class-c-otaa.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: - - devboard +devicetype: devkit dimensions: height: 67 diff --git a/vendor/heltec/cubecell-dev-board-class-a-abp.yaml b/vendor/heltec/cubecell-dev-board-class-a-abp.yaml index e4a24f02d1..50e64b2df2 100755 --- a/vendor/heltec/cubecell-dev-board-class-a-abp.yaml +++ b/vendor/heltec/cubecell-dev-board-class-a-abp.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 25 diff --git a/vendor/heltec/cubecell-dev-board-class-a-otaa.yaml b/vendor/heltec/cubecell-dev-board-class-a-otaa.yaml index 211156cc50..256c6d92cf 100755 --- a/vendor/heltec/cubecell-dev-board-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-dev-board-class-a-otaa.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 25 diff --git a/vendor/heltec/cubecell-dev-board-class-c-abp.yaml b/vendor/heltec/cubecell-dev-board-class-c-abp.yaml index 7a7db0dbd5..b7da761e4b 100755 --- a/vendor/heltec/cubecell-dev-board-class-c-abp.yaml +++ b/vendor/heltec/cubecell-dev-board-class-c-abp.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 25 diff --git a/vendor/heltec/cubecell-dev-board-class-c-otaa.yaml b/vendor/heltec/cubecell-dev-board-class-c-otaa.yaml index 33ee0407ec..bfc62ce061 100755 --- a/vendor/heltec/cubecell-dev-board-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-dev-board-class-c-otaa.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 25 diff --git a/vendor/heltec/cubecell-dev-board-plus-class-a-abp.yaml b/vendor/heltec/cubecell-dev-board-plus-class-a-abp.yaml index 27a36000a3..e76e5e137b 100755 --- a/vendor/heltec/cubecell-dev-board-plus-class-a-abp.yaml +++ b/vendor/heltec/cubecell-dev-board-plus-class-a-abp.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 25 diff --git a/vendor/heltec/cubecell-dev-board-plus-class-a-otaa.yaml b/vendor/heltec/cubecell-dev-board-plus-class-a-otaa.yaml index f1b7f2e039..dcf39771d6 100755 --- a/vendor/heltec/cubecell-dev-board-plus-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-dev-board-plus-class-a-otaa.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 25 diff --git a/vendor/heltec/cubecell-dev-board-plus-class-c-abp.yaml b/vendor/heltec/cubecell-dev-board-plus-class-c-abp.yaml index 45cbbc2093..22e6a879f4 100755 --- a/vendor/heltec/cubecell-dev-board-plus-class-c-abp.yaml +++ b/vendor/heltec/cubecell-dev-board-plus-class-c-abp.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 25 diff --git a/vendor/heltec/cubecell-dev-board-plus-class-c-otaa.yaml b/vendor/heltec/cubecell-dev-board-plus-class-c-otaa.yaml index 017b3f9454..d808c8de7d 100755 --- a/vendor/heltec/cubecell-dev-board-plus-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-dev-board-plus-class-c-otaa.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 25 diff --git a/vendor/heltec/cubecell-gps-6502-class-a-abp.yaml b/vendor/heltec/cubecell-gps-6502-class-a-abp.yaml index 02d41fe7a0..5e70053a35 100755 --- a/vendor/heltec/cubecell-gps-6502-class-a-abp.yaml +++ b/vendor/heltec/cubecell-gps-6502-class-a-abp.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 27.9 diff --git a/vendor/heltec/cubecell-gps-6502-class-a-otaa.yaml b/vendor/heltec/cubecell-gps-6502-class-a-otaa.yaml index 80ef984931..e30647ea7e 100755 --- a/vendor/heltec/cubecell-gps-6502-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-gps-6502-class-a-otaa.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 27.9 diff --git a/vendor/heltec/cubecell-gps-6502-class-c-abp.yaml b/vendor/heltec/cubecell-gps-6502-class-c-abp.yaml index f3b8029526..d081a65c1f 100755 --- a/vendor/heltec/cubecell-gps-6502-class-c-abp.yaml +++ b/vendor/heltec/cubecell-gps-6502-class-c-abp.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 27.9 diff --git a/vendor/heltec/cubecell-gps-6502-class-c-otaa.yaml b/vendor/heltec/cubecell-gps-6502-class-c-otaa.yaml index 6bc105f34f..6be99d6556 100755 --- a/vendor/heltec/cubecell-gps-6502-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-gps-6502-class-c-otaa.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 27.9 diff --git a/vendor/heltec/cubecell-module-class-a-abp.yaml b/vendor/heltec/cubecell-module-class-a-abp.yaml index e13d479563..aa0d8cb58d 100755 --- a/vendor/heltec/cubecell-module-class-a-abp.yaml +++ b/vendor/heltec/cubecell-module-class-a-abp.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: - - module +devicetype: module dimensions: width: 18 diff --git a/vendor/heltec/cubecell-module-class-a-otaa.yaml b/vendor/heltec/cubecell-module-class-a-otaa.yaml index 38f6bd7e98..6395c6e2d7 100755 --- a/vendor/heltec/cubecell-module-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-module-class-a-otaa.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: - - module +devicetype: module dimensions: width: 18 diff --git a/vendor/heltec/cubecell-module-class-c-abp.yaml b/vendor/heltec/cubecell-module-class-c-abp.yaml index 636a96a5f9..2556b28305 100755 --- a/vendor/heltec/cubecell-module-class-c-abp.yaml +++ b/vendor/heltec/cubecell-module-class-c-abp.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: - - module +devicetype: module dimensions: width: 18 diff --git a/vendor/heltec/cubecell-module-class-c-otaa.yaml b/vendor/heltec/cubecell-module-class-c-otaa.yaml index 2d0f864389..1e7888694e 100755 --- a/vendor/heltec/cubecell-module-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-module-class-c-otaa.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: - - module +devicetype: module dimensions: width: 18 diff --git a/vendor/heltec/cubecell-module-plus-class-a-abp.yaml b/vendor/heltec/cubecell-module-plus-class-a-abp.yaml index 31a0ea0387..42d8665f58 100755 --- a/vendor/heltec/cubecell-module-plus-class-a-abp.yaml +++ b/vendor/heltec/cubecell-module-plus-class-a-abp.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: - - module +devicetype: module dimensions: width: 20.4 diff --git a/vendor/heltec/cubecell-module-plus-class-a-otaa.yaml b/vendor/heltec/cubecell-module-plus-class-a-otaa.yaml index 685f338d26..ebaa4bb6a5 100755 --- a/vendor/heltec/cubecell-module-plus-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-module-plus-class-a-otaa.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: - - module +devicetype: module dimensions: width: 20.4 diff --git a/vendor/heltec/cubecell-module-plus-class-c-abp.yaml b/vendor/heltec/cubecell-module-plus-class-c-abp.yaml index 9e3eb94854..b382e4e169 100755 --- a/vendor/heltec/cubecell-module-plus-class-c-abp.yaml +++ b/vendor/heltec/cubecell-module-plus-class-c-abp.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: - - module +devicetype: module dimensions: width: 20.4 diff --git a/vendor/heltec/cubecell-module-plus-class-c-otaa.yaml b/vendor/heltec/cubecell-module-plus-class-c-otaa.yaml index 331a4de146..73d39a64ea 100755 --- a/vendor/heltec/cubecell-module-plus-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-module-plus-class-c-otaa.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: - - module +devicetype: module dimensions: width: 20.4 diff --git a/vendor/heltec/cubecell-solar-sensor-class-a-abp.yaml b/vendor/heltec/cubecell-solar-sensor-class-a-abp.yaml index 5d97aac885..d3889dce4d 100755 --- a/vendor/heltec/cubecell-solar-sensor-class-a-abp.yaml +++ b/vendor/heltec/cubecell-solar-sensor-class-a-abp.yaml @@ -29,8 +29,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: - - devboard +devicetype: devkit dimensions: height: 67 diff --git a/vendor/heltec/cubecell-solar-sensor-class-a-otaa.yaml b/vendor/heltec/cubecell-solar-sensor-class-a-otaa.yaml index 3f40fef3ca..b7e35401af 100755 --- a/vendor/heltec/cubecell-solar-sensor-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-solar-sensor-class-a-otaa.yaml @@ -29,8 +29,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: - - devboard +devicetype: devkit dimensions: height: 67 diff --git a/vendor/heltec/cubecell-solar-sensor-class-c-abp.yaml b/vendor/heltec/cubecell-solar-sensor-class-c-abp.yaml index bda0aba031..d78dd691e7 100755 --- a/vendor/heltec/cubecell-solar-sensor-class-c-abp.yaml +++ b/vendor/heltec/cubecell-solar-sensor-class-c-abp.yaml @@ -29,8 +29,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: - - devboard +devicetype: devkit dimensions: height: 67 diff --git a/vendor/heltec/cubecell-solar-sensor-class-c-otaa.yaml b/vendor/heltec/cubecell-solar-sensor-class-c-otaa.yaml index 68d1e7e09f..60dc3e5c60 100755 --- a/vendor/heltec/cubecell-solar-sensor-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-solar-sensor-class-c-otaa.yaml @@ -29,8 +29,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: - - devboard +devicetype: devkit dimensions: height: 67 diff --git a/vendor/heltec/lora-kit-151-class-a-abp.yaml b/vendor/heltec/lora-kit-151-class-a-abp.yaml index c48ff6328c..259b3c04aa 100755 --- a/vendor/heltec/lora-kit-151-class-a-abp.yaml +++ b/vendor/heltec/lora-kit-151-class-a-abp.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 25.5 diff --git a/vendor/heltec/lora-kit-151-class-a-otaa.yaml b/vendor/heltec/lora-kit-151-class-a-otaa.yaml index 9f79a22184..9a1173cc7d 100755 --- a/vendor/heltec/lora-kit-151-class-a-otaa.yaml +++ b/vendor/heltec/lora-kit-151-class-a-otaa.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 25.5 diff --git a/vendor/heltec/lora-kit-151-class-c-abp.yaml b/vendor/heltec/lora-kit-151-class-c-abp.yaml index 195a090fc7..e521d81ea5 100755 --- a/vendor/heltec/lora-kit-151-class-c-abp.yaml +++ b/vendor/heltec/lora-kit-151-class-c-abp.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 25.5 diff --git a/vendor/heltec/lora-kit-151-class-c-otaa.yaml b/vendor/heltec/lora-kit-151-class-c-otaa.yaml index c45360b4ab..5c23f47770 100755 --- a/vendor/heltec/lora-kit-151-class-c-otaa.yaml +++ b/vendor/heltec/lora-kit-151-class-c-otaa.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 25.5 diff --git a/vendor/heltec/lora-node-151-class-a-abp.yaml b/vendor/heltec/lora-node-151-class-a-abp.yaml index e97c1eae7f..4a3067bd92 100755 --- a/vendor/heltec/lora-node-151-class-a-abp.yaml +++ b/vendor/heltec/lora-node-151-class-a-abp.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 24 diff --git a/vendor/heltec/lora-node-151-class-a-otaa.yaml b/vendor/heltec/lora-node-151-class-a-otaa.yaml index eaee5faf23..2faeae6789 100755 --- a/vendor/heltec/lora-node-151-class-a-otaa.yaml +++ b/vendor/heltec/lora-node-151-class-a-otaa.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 24 diff --git a/vendor/heltec/lora-node-151-class-c-abp.yaml b/vendor/heltec/lora-node-151-class-c-abp.yaml index 388d6d44cc..792de8771c 100755 --- a/vendor/heltec/lora-node-151-class-c-abp.yaml +++ b/vendor/heltec/lora-node-151-class-c-abp.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 24 diff --git a/vendor/heltec/lora-node-151-class-c-otaa.yaml b/vendor/heltec/lora-node-151-class-c-otaa.yaml index 86b2270de5..95eb274f7b 100755 --- a/vendor/heltec/lora-node-151-class-c-otaa.yaml +++ b/vendor/heltec/lora-node-151-class-c-otaa.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 24 diff --git a/vendor/heltec/turtle-board-class-a-abp.yaml b/vendor/heltec/turtle-board-class-a-abp.yaml index c3c4c10fa3..9900148645 100755 --- a/vendor/heltec/turtle-board-class-a-abp.yaml +++ b/vendor/heltec/turtle-board-class-a-abp.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 31.5 diff --git a/vendor/heltec/turtle-board-class-a-otaa.yaml b/vendor/heltec/turtle-board-class-a-otaa.yaml index 04b15c534b..bc01f002e6 100755 --- a/vendor/heltec/turtle-board-class-a-otaa.yaml +++ b/vendor/heltec/turtle-board-class-a-otaa.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 31.5 diff --git a/vendor/heltec/turtle-board-class-c-abp.yaml b/vendor/heltec/turtle-board-class-c-abp.yaml index 0cba405a9b..698e647b09 100755 --- a/vendor/heltec/turtle-board-class-c-abp.yaml +++ b/vendor/heltec/turtle-board-class-c-abp.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 31.5 diff --git a/vendor/heltec/turtle-board-class-c-otaa.yaml b/vendor/heltec/turtle-board-class-c-otaa.yaml index 8b81288860..9132ac93d9 100755 --- a/vendor/heltec/turtle-board-class-c-otaa.yaml +++ b/vendor/heltec/turtle-board-class-c-otaa.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 31.5 diff --git a/vendor/heltec/wifi-lora-32-class-a-abp.yaml b/vendor/heltec/wifi-lora-32-class-a-abp.yaml index 0113ac8b45..4307f24148 100755 --- a/vendor/heltec/wifi-lora-32-class-a-abp.yaml +++ b/vendor/heltec/wifi-lora-32-class-a-abp.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 25.5 diff --git a/vendor/heltec/wifi-lora-32-class-a-otaa.yaml b/vendor/heltec/wifi-lora-32-class-a-otaa.yaml index 7769ca0322..17714db6e4 100755 --- a/vendor/heltec/wifi-lora-32-class-a-otaa.yaml +++ b/vendor/heltec/wifi-lora-32-class-a-otaa.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 25.5 diff --git a/vendor/heltec/wifi-lora-32-class-c-abp.yaml b/vendor/heltec/wifi-lora-32-class-c-abp.yaml index 7d457e5f5b..9e38654345 100755 --- a/vendor/heltec/wifi-lora-32-class-c-abp.yaml +++ b/vendor/heltec/wifi-lora-32-class-c-abp.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 25.5 diff --git a/vendor/heltec/wifi-lora-32-class-c-otaa.yaml b/vendor/heltec/wifi-lora-32-class-c-otaa.yaml index 6af3d822de..7dec7cc6e9 100755 --- a/vendor/heltec/wifi-lora-32-class-c-otaa.yaml +++ b/vendor/heltec/wifi-lora-32-class-c-otaa.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 25.5 diff --git a/vendor/heltec/wireless-shell-class-a-abp.yaml b/vendor/heltec/wireless-shell-class-a-abp.yaml index 23f88e8d16..f7772d2d40 100755 --- a/vendor/heltec/wireless-shell-class-a-abp.yaml +++ b/vendor/heltec/wireless-shell-class-a-abp.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: - - module +devicetype: module dimensions: width: 16.1 diff --git a/vendor/heltec/wireless-shell-class-a-otaa.yaml b/vendor/heltec/wireless-shell-class-a-otaa.yaml index 1772babc46..4eda254055 100755 --- a/vendor/heltec/wireless-shell-class-a-otaa.yaml +++ b/vendor/heltec/wireless-shell-class-a-otaa.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: - - module +devicetype: module dimensions: width: 16.1 diff --git a/vendor/heltec/wireless-shell-class-c-abp.yaml b/vendor/heltec/wireless-shell-class-c-abp.yaml index 26e52f802c..7a37418507 100755 --- a/vendor/heltec/wireless-shell-class-c-abp.yaml +++ b/vendor/heltec/wireless-shell-class-c-abp.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: - - module +devicetype: module dimensions: width: 16.1 diff --git a/vendor/heltec/wireless-shell-class-c-otaa.yaml b/vendor/heltec/wireless-shell-class-c-otaa.yaml index 2f3a648281..3abd60a11c 100755 --- a/vendor/heltec/wireless-shell-class-c-otaa.yaml +++ b/vendor/heltec/wireless-shell-class-c-otaa.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: - - module +devicetype: module dimensions: width: 16.1 diff --git a/vendor/heltec/wireless-stick-class-a-abp.yaml b/vendor/heltec/wireless-stick-class-a-abp.yaml index 44855f1fe9..cba90203fe 100755 --- a/vendor/heltec/wireless-stick-class-a-abp.yaml +++ b/vendor/heltec/wireless-stick-class-a-abp.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 24.8 diff --git a/vendor/heltec/wireless-stick-class-a-otaa.yaml b/vendor/heltec/wireless-stick-class-a-otaa.yaml index 2bdaf66508..b70e854361 100755 --- a/vendor/heltec/wireless-stick-class-a-otaa.yaml +++ b/vendor/heltec/wireless-stick-class-a-otaa.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 24.8 diff --git a/vendor/heltec/wireless-stick-class-c-abp.yaml b/vendor/heltec/wireless-stick-class-c-abp.yaml index 65d5bce846..e52ab226e1 100755 --- a/vendor/heltec/wireless-stick-class-c-abp.yaml +++ b/vendor/heltec/wireless-stick-class-c-abp.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 24.8 diff --git a/vendor/heltec/wireless-stick-class-c-otaa.yaml b/vendor/heltec/wireless-stick-class-c-otaa.yaml index 5e4db16f65..6f3e768291 100755 --- a/vendor/heltec/wireless-stick-class-c-otaa.yaml +++ b/vendor/heltec/wireless-stick-class-c-otaa.yaml @@ -22,8 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 24.8 diff --git a/vendor/heltec/wireless-stick-lite-class-a-abp.yaml b/vendor/heltec/wireless-stick-lite-class-a-abp.yaml index 2dcd8b2fa6..5bfeb73db5 100755 --- a/vendor/heltec/wireless-stick-lite-class-a-abp.yaml +++ b/vendor/heltec/wireless-stick-lite-class-a-abp.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 24.8 diff --git a/vendor/heltec/wireless-stick-lite-class-a-otaa.yaml b/vendor/heltec/wireless-stick-lite-class-a-otaa.yaml index 4443ae6c78..c90256f577 100755 --- a/vendor/heltec/wireless-stick-lite-class-a-otaa.yaml +++ b/vendor/heltec/wireless-stick-lite-class-a-otaa.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 24.8 diff --git a/vendor/heltec/wireless-stick-lite-class-c-abp.yaml b/vendor/heltec/wireless-stick-lite-class-c-abp.yaml index c509efd728..7ad62edb29 100755 --- a/vendor/heltec/wireless-stick-lite-class-c-abp.yaml +++ b/vendor/heltec/wireless-stick-lite-class-c-abp.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: - - devboard +devicetype: devkit dimensions: width: 24.8 diff --git a/vendor/heltec/wireless-stick-lite-class-c-otaa.yaml b/vendor/heltec/wireless-stick-lite-class-c-otaa.yaml index 87b3f1ca23..89767e8734 100755 --- a/vendor/heltec/wireless-stick-lite-class-c-otaa.yaml +++ b/vendor/heltec/wireless-stick-lite-class-c-otaa.yaml @@ -23,8 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: - - devboard +devicetype: devkit dimensions: width: 24.8 diff --git a/vendor/ht-micron/htlrbl32l.yaml b/vendor/ht-micron/htlrbl32l.yaml index b1bb00897a..fbc81a3110 100644 --- a/vendor/ht-micron/htlrbl32l.yaml +++ b/vendor/ht-micron/htlrbl32l.yaml @@ -38,8 +38,7 @@ firmwareVersions: id: htlrbl32l-profile-915 lorawanCertified: false -devicetype: - - module +devicetype: module # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/ks-technologies/kst5420.yaml b/vendor/ks-technologies/kst5420.yaml index ca9a9792b9..f5088974d2 100644 --- a/vendor/ks-technologies/kst5420.yaml +++ b/vendor/ks-technologies/kst5420.yaml @@ -25,8 +25,7 @@ firmwareVersions: lorawanCertified: false codec: kst5420-codec -devicetype: - - coveragetest +devicetype: cots # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/kuleuven-dramco/dramco-uno.yaml b/vendor/kuleuven-dramco/dramco-uno.yaml index e39badaff4..cf40fac591 100644 --- a/vendor/kuleuven-dramco/dramco-uno.yaml +++ b/vendor/kuleuven-dramco/dramco-uno.yaml @@ -27,8 +27,7 @@ firmwareVersions: lorawanCertified: true # No codec, Cayenne LPP is used -devicetype: - - devboard +devicetype: devkit # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/mcci/catena4610.yaml b/vendor/mcci/catena4610.yaml index 8d0e2bb963..3adac0d852 100644 --- a/vendor/mcci/catena4610.yaml +++ b/vendor/mcci/catena4610.yaml @@ -46,8 +46,7 @@ firmwareVersions: lorawanCertified: false codec: codec-catena-generic -devicetype: - - devboard +devicetype: devkit # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/mcci/catena4612.yaml b/vendor/mcci/catena4612.yaml index bee4902afd..a4be82fc32 100644 --- a/vendor/mcci/catena4612.yaml +++ b/vendor/mcci/catena4612.yaml @@ -46,8 +46,7 @@ firmwareVersions: lorawanCertified: false codec: codec-catena-generic -devicetype: - - devboard +devicetype: devkit # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/mcci/catena4618.yaml b/vendor/mcci/catena4618.yaml index 74a2d79bae..49b5791504 100644 --- a/vendor/mcci/catena4618.yaml +++ b/vendor/mcci/catena4618.yaml @@ -46,8 +46,7 @@ firmwareVersions: lorawanCertified: false codec: codec-catena-generic -devicetype: - - devboard +devicetype: devkit # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/mcci/catena4618m201.yaml b/vendor/mcci/catena4618m201.yaml index c4cd673a29..446e86ecff 100644 --- a/vendor/mcci/catena4618m201.yaml +++ b/vendor/mcci/catena4618m201.yaml @@ -46,8 +46,7 @@ firmwareVersions: lorawanCertified: false codec: codec-catena-generic -devicetype: - - devboard +devicetype: devkit # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/midatronics/sharky-module.yaml b/vendor/midatronics/sharky-module.yaml index e8e1aaf635..f780cb299a 100644 --- a/vendor/midatronics/sharky-module.yaml +++ b/vendor/midatronics/sharky-module.yaml @@ -21,8 +21,7 @@ firmwareVersions: # Unique identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: sharky-module-profile -devicetype: - - module +devicetype: module # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/midatronics/windy-mkr.yaml b/vendor/midatronics/windy-mkr.yaml index a528d4d42b..028d7a102f 100644 --- a/vendor/midatronics/windy-mkr.yaml +++ b/vendor/midatronics/windy-mkr.yaml @@ -21,8 +21,7 @@ firmwareVersions: # Unique identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: windy-mkr-profile -devicetype: - - devboard +devicetype: devkit # Product and data sheet URLs (optional) productURL: https://midatronics.com/shop/development-boards/mkr-windy/ diff --git a/vendor/midatronics/windy-module.yaml b/vendor/midatronics/windy-module.yaml index 4638a31ce8..47b640f52d 100644 --- a/vendor/midatronics/windy-module.yaml +++ b/vendor/midatronics/windy-module.yaml @@ -21,8 +21,7 @@ firmwareVersions: # Unique identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: windy-module-profile -devicetype: - - module +devicetype: module # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/move-x/mamwle.yaml b/vendor/move-x/mamwle.yaml index 8d6dfd432d..0daa42265b 100644 --- a/vendor/move-x/mamwle.yaml +++ b/vendor/move-x/mamwle.yaml @@ -22,8 +22,7 @@ firmwareVersions: id: mamwle-au915-profile lorawanCertified: false -devicetype: - - module +devicetype: module # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/multi-tech/multi-tech-xdot.yaml b/vendor/multi-tech/multi-tech-xdot.yaml index f109bcaf5f..00918c74c9 100644 --- a/vendor/multi-tech/multi-tech-xdot.yaml +++ b/vendor/multi-tech/multi-tech-xdot.yaml @@ -26,8 +26,7 @@ firmwareVersions: KR920-923: id: multi-tech-xdot-profile-kr920 -devicetype: - - module +devicetype: module # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/onethinx/otx18.yaml b/vendor/onethinx/otx18.yaml index 181d8efe9c..9d904cfc03 100644 --- a/vendor/onethinx/otx18.yaml +++ b/vendor/onethinx/otx18.yaml @@ -30,8 +30,7 @@ firmwareVersions: lorawanCertified: false #codec: otx18-eu868-codec -devicetype: - - module +devicetype: module # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/rakwireless/wisblock-4631.yaml b/vendor/rakwireless/wisblock-4631.yaml index e0ebb2269e..7a34ec5cb3 100644 --- a/vendor/rakwireless/wisblock-4631.yaml +++ b/vendor/rakwireless/wisblock-4631.yaml @@ -26,8 +26,7 @@ firmwareVersions: id: rak4631-915-profile lorawanCertified: false -devicetype: - - devboard +devicetype: devkit # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/ruixinghengfang-network/rhf0m003.yaml b/vendor/ruixinghengfang-network/rhf0m003.yaml index 91d389aa04..52d4ca54d3 100644 --- a/vendor/ruixinghengfang-network/rhf0m003.yaml +++ b/vendor/ruixinghengfang-network/rhf0m003.yaml @@ -64,8 +64,7 @@ firmwareVersions: #lorawanCertified: true #codec: -devicetype: - - module +devicetype: module # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/ruixinghengfang-network/rhf0m0e5.yaml b/vendor/ruixinghengfang-network/rhf0m0e5.yaml index 8dbae4bde5..b2eebcb35c 100644 --- a/vendor/ruixinghengfang-network/rhf0m0e5.yaml +++ b/vendor/ruixinghengfang-network/rhf0m0e5.yaml @@ -60,8 +60,7 @@ firmwareVersions: #lorawanCertified: true #codec: -devicetype: - - module +devicetype: module # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/seeed/loradevelopkit-e5.yaml b/vendor/seeed/loradevelopkit-e5.yaml index d7c6a90a34..aaa5c0a2d4 100644 --- a/vendor/seeed/loradevelopkit-e5.yaml +++ b/vendor/seeed/loradevelopkit-e5.yaml @@ -38,8 +38,7 @@ firmwareVersions: lorawanCertified: true codec: loradevelopkit-e5-codec -devicetype: - - devboard +devicetype: devkit # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/seeed/loraeminidevboard-e5.yaml b/vendor/seeed/loraeminidevboard-e5.yaml index faa58ac5d9..1b1f91dda5 100644 --- a/vendor/seeed/loraeminidevboard-e5.yaml +++ b/vendor/seeed/loraeminidevboard-e5.yaml @@ -44,8 +44,7 @@ firmwareVersions: lorawanCertified: true codec: loradevelopkit-e5-codec -devicetype: - - devboard +devicetype: devkit # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/seeed/lorawan-dev-kit.yaml b/vendor/seeed/lorawan-dev-kit.yaml index 216f7249e0..fbf30ceda0 100644 --- a/vendor/seeed/lorawan-dev-kit.yaml +++ b/vendor/seeed/lorawan-dev-kit.yaml @@ -38,8 +38,7 @@ firmwareVersions: lorawanCertified: true codec: loradevelopkit-e5-codec -devicetype: - - devboard +devicetype: devkit # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/seeed/sensecap-indicator.yaml b/vendor/seeed/sensecap-indicator.yaml index a380fdf824..cfd052c9f6 100644 --- a/vendor/seeed/sensecap-indicator.yaml +++ b/vendor/seeed/sensecap-indicator.yaml @@ -38,8 +38,7 @@ firmwareVersions: lorawanCertified: true codec: loradevelopkit-e5-codec -devicetype: - - devboard +devicetype: devkit # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/sensecap/loramodule-e5.yaml b/vendor/sensecap/loramodule-e5.yaml index 3a3d614069..9f5ae90f4d 100644 --- a/vendor/sensecap/loramodule-e5.yaml +++ b/vendor/sensecap/loramodule-e5.yaml @@ -63,8 +63,7 @@ firmwareVersions: lorawanCertified: true codec: loramodule-e5-codec -devicetype: - - module +devicetype: module # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/slscorp/nln500a.yaml b/vendor/slscorp/nln500a.yaml index 6f67b09036..c094eb47b7 100644 --- a/vendor/slscorp/nln500a.yaml +++ b/vendor/slscorp/nln500a.yaml @@ -24,8 +24,7 @@ firmwareVersions: IN865-867: id: nln500a-profile-in865 -devicetype: - - module +devicetype: module # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/stmicroelectronics/nucleo-wl55jc1.yaml b/vendor/stmicroelectronics/nucleo-wl55jc1.yaml index 01bf9ee081..ad87607f46 100644 --- a/vendor/stmicroelectronics/nucleo-wl55jc1.yaml +++ b/vendor/stmicroelectronics/nucleo-wl55jc1.yaml @@ -115,8 +115,7 @@ firmwareVersions: id: nucleo-wl55jc-profile-16-lw104 lorawanCertified: false codec: nucleo-wl55jc-codec -devicetype: - - devboard +devicetype: devkit sensors: - light - pressure diff --git a/vendor/stmicroelectronics/nucleo-wl55jc2.yaml b/vendor/stmicroelectronics/nucleo-wl55jc2.yaml index cc7dbb8902..118a4da212 100644 --- a/vendor/stmicroelectronics/nucleo-wl55jc2.yaml +++ b/vendor/stmicroelectronics/nucleo-wl55jc2.yaml @@ -43,8 +43,7 @@ firmwareVersions: id: nucleo-wl55jc-profile-12-lw104 lorawanCertified: false codec: nucleo-wl55jc-codec -devicetype: - - devboard +devicetype: devkit sensors: - light - pressure diff --git a/vendor/stmicroelectronics/steval-astra1b.yaml b/vendor/stmicroelectronics/steval-astra1b.yaml index 0c791c3e2e..ef079ea7a8 100644 --- a/vendor/stmicroelectronics/steval-astra1b.yaml +++ b/vendor/stmicroelectronics/steval-astra1b.yaml @@ -41,8 +41,7 @@ firmwareVersions: id: steval-astra1b-profile-16 lorawanCertified: false codec: steval-astra1b-codec -devicetype: - - devboard +devicetype: devkit sensors: - accelerometer - gyroscope diff --git a/vendor/tektelic/t0006377-memo.yaml b/vendor/tektelic/t0006377-memo.yaml index 7aa403bc65..d39de1c717 100644 --- a/vendor/tektelic/t0006377-memo.yaml +++ b/vendor/tektelic/t0006377-memo.yaml @@ -20,8 +20,7 @@ firmwareVersions: lorawanCertified: false codec: t0006086-codec -devicetype: - - display +devicetype: cots # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/tektelic/t0006377-tempo.yaml b/vendor/tektelic/t0006377-tempo.yaml index ca8ede1acc..073b1dedf0 100644 --- a/vendor/tektelic/t0006377-tempo.yaml +++ b/vendor/tektelic/t0006377-tempo.yaml @@ -20,8 +20,7 @@ firmwareVersions: lorawanCertified: false codec: t0006086-codec -devicetype: - - display +devicetype: cots # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/the-things-industries/generic-node-sensor-edition.yaml b/vendor/the-things-industries/generic-node-sensor-edition.yaml index 37610cd187..3f3933cca4 100644 --- a/vendor/the-things-industries/generic-node-sensor-edition.yaml +++ b/vendor/the-things-industries/generic-node-sensor-edition.yaml @@ -18,8 +18,7 @@ firmwareVersions: lorawanCertified: false codec: generic-node-sensor-edition-codec -devicetype: - - devboard +devicetype: devkit sensors: - accelerometer diff --git a/vendor/the-things-products/the-things-uno.yaml b/vendor/the-things-products/the-things-uno.yaml index f77cf10b23..2902b942ce 100644 --- a/vendor/the-things-products/the-things-uno.yaml +++ b/vendor/the-things-products/the-things-uno.yaml @@ -29,8 +29,7 @@ firmwareVersions: lorawanCertified: true codec: the-things-uno-codec-quickstart -devicetype: - - devboard +devicetype: devkit keyProvisioning: - custom From 61b39935b1608c2aec2a3f3319e05e7f85e15836 Mon Sep 17 00:00:00 2001 From: LDannijs Date: Wed, 17 Apr 2024 09:32:34 +0200 Subject: [PATCH 15/16] lowerCamelCase --- bin/csv.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/csv.js b/bin/csv.js index 8b3ffef198..aa6bcc9395 100644 --- a/bin/csv.js +++ b/bin/csv.js @@ -37,7 +37,7 @@ const extractData = (filePath, vendor) => { const name = data.name; const vendorname = vendorNamesMap.get(vendor) || vendor; // Fallback to the vendor ID if no name is found const description = data.description.replace(/"/g, "'"); - const devicetype = data.devicetype || ''; + const deviceType = data.devicetype || ''; const sensors = Array.isArray(data.sensors) ? `"${data.sensors.join(', ')}"` : ''; const imageUrl = data.photos?.main ? `"${baseUrl}/${vendor}/${data.photos.main}"` : ''; const additionalRadios = Array.isArray(data.additionalRadios) ? `"${data.additionalRadios.join(', ')}"` : ''; @@ -77,7 +77,7 @@ const extractData = (filePath, vendor) => { }); }); - return `"${id}","${name}","${vendorname}","${description}",${imageUrl},${sensors},${devicetype},${additionalRadios},${height},${width},${length},${weight},"${ipCode}","${battery_replace}","${battery_type}","${productURL}","${dataSheetURL}","${highestMacVersion}",${regionalParametersVersion},${supportsClassB},${supportsClassC}\n`; + return `"${id}","${name}","${vendorname}","${description}",${imageUrl},${sensors},${deviceType},${additionalRadios},${height},${width},${length},${weight},"${ipCode}","${battery_replace}","${battery_type}","${productURL}","${dataSheetURL}","${highestMacVersion}",${regionalParametersVersion},${supportsClassB},${supportsClassC}\n`; } } catch (e) { console.error(`Failed to process ${filePath}: ${e}`); From 825fcdf03439788bdf50b7ab007e842119216478 Mon Sep 17 00:00:00 2001 From: LDannijs Date: Fri, 19 Apr 2024 09:31:50 +0200 Subject: [PATCH 16/16] change to deviceType --- bin/csv.js | 2 +- schema.json | 2 +- vendor/abeeway/abeeway-geolocation-module.yaml | 2 +- vendor/adeunis/ftd-network-tester.yaml | 2 +- vendor/arduino/mkr-wan-1310.yaml | 2 +- vendor/arduino/portenta-max-carrier.yaml | 2 +- vendor/atim/acw-tst.yaml | 2 +- vendor/elv/elv-lw-int1.yaml | 2 +- vendor/elvaco/cmi4110.yaml | 2 +- vendor/elvaco/cmi4111.yaml | 2 +- vendor/elvaco/cmi4130.yaml | 2 +- vendor/elvaco/cmi4140.yaml | 2 +- vendor/elvaco/cmi4160.yaml | 2 +- vendor/embit/emb-lr1280-mpci-4x.yaml | 2 +- vendor/embit/emb-lr1280s.yaml | 2 +- vendor/embit/emb-lr1302-mpci.yaml | 2 +- vendor/embit/emb-lrwl55.yaml | 2 +- vendor/espeasy/espeasy-rn2483-node-class-a-abp.yaml | 2 +- vendor/espeasy/espeasy-rn2483-node-class-a-otaa.yaml | 2 +- vendor/espeasy/espeasy-rn2903-node-class-a-abp.yaml | 2 +- vendor/espeasy/espeasy-rn2903-node-class-a-otaa.yaml | 2 +- vendor/example/windsensor.yaml | 2 +- vendor/heltec/cubecell-1-2-aa-node-class-a-abp.yaml | 2 +- vendor/heltec/cubecell-1-2-aa-node-class-a-otaa.yaml | 2 +- vendor/heltec/cubecell-1-2-aa-node-class-c-abp.yaml | 2 +- vendor/heltec/cubecell-1-2-aa-node-class-c-otaa.yaml | 2 +- vendor/heltec/cubecell-capsule-sensor-class-a-abp.yaml | 2 +- vendor/heltec/cubecell-capsule-sensor-class-a-otaa.yaml | 2 +- vendor/heltec/cubecell-capsule-sensor-class-c-abp.yaml | 2 +- vendor/heltec/cubecell-capsule-sensor-class-c-otaa.yaml | 2 +- vendor/heltec/cubecell-dev-board-class-a-abp.yaml | 2 +- vendor/heltec/cubecell-dev-board-class-a-otaa.yaml | 2 +- vendor/heltec/cubecell-dev-board-class-c-abp.yaml | 2 +- vendor/heltec/cubecell-dev-board-class-c-otaa.yaml | 2 +- vendor/heltec/cubecell-dev-board-plus-class-a-abp.yaml | 2 +- vendor/heltec/cubecell-dev-board-plus-class-a-otaa.yaml | 2 +- vendor/heltec/cubecell-dev-board-plus-class-c-abp.yaml | 2 +- vendor/heltec/cubecell-dev-board-plus-class-c-otaa.yaml | 2 +- vendor/heltec/cubecell-gps-6502-class-a-abp.yaml | 2 +- vendor/heltec/cubecell-gps-6502-class-a-otaa.yaml | 2 +- vendor/heltec/cubecell-gps-6502-class-c-abp.yaml | 2 +- vendor/heltec/cubecell-gps-6502-class-c-otaa.yaml | 2 +- vendor/heltec/cubecell-module-class-a-abp.yaml | 2 +- vendor/heltec/cubecell-module-class-a-otaa.yaml | 2 +- vendor/heltec/cubecell-module-class-c-abp.yaml | 2 +- vendor/heltec/cubecell-module-class-c-otaa.yaml | 2 +- vendor/heltec/cubecell-module-plus-class-a-abp.yaml | 2 +- vendor/heltec/cubecell-module-plus-class-a-otaa.yaml | 2 +- vendor/heltec/cubecell-module-plus-class-c-abp.yaml | 2 +- vendor/heltec/cubecell-module-plus-class-c-otaa.yaml | 2 +- vendor/heltec/cubecell-solar-sensor-class-a-abp.yaml | 2 +- vendor/heltec/cubecell-solar-sensor-class-a-otaa.yaml | 2 +- vendor/heltec/cubecell-solar-sensor-class-c-abp.yaml | 2 +- vendor/heltec/cubecell-solar-sensor-class-c-otaa.yaml | 2 +- vendor/heltec/lora-kit-151-class-a-abp.yaml | 2 +- vendor/heltec/lora-kit-151-class-a-otaa.yaml | 2 +- vendor/heltec/lora-kit-151-class-c-abp.yaml | 2 +- vendor/heltec/lora-kit-151-class-c-otaa.yaml | 2 +- vendor/heltec/lora-node-151-class-a-abp.yaml | 2 +- vendor/heltec/lora-node-151-class-a-otaa.yaml | 2 +- vendor/heltec/lora-node-151-class-c-abp.yaml | 2 +- vendor/heltec/lora-node-151-class-c-otaa.yaml | 2 +- vendor/heltec/turtle-board-class-a-abp.yaml | 2 +- vendor/heltec/turtle-board-class-a-otaa.yaml | 2 +- vendor/heltec/turtle-board-class-c-abp.yaml | 2 +- vendor/heltec/turtle-board-class-c-otaa.yaml | 2 +- vendor/heltec/wifi-lora-32-class-a-abp.yaml | 2 +- vendor/heltec/wifi-lora-32-class-a-otaa.yaml | 2 +- vendor/heltec/wifi-lora-32-class-c-abp.yaml | 2 +- vendor/heltec/wifi-lora-32-class-c-otaa.yaml | 2 +- vendor/heltec/wireless-shell-class-a-abp.yaml | 2 +- vendor/heltec/wireless-shell-class-a-otaa.yaml | 2 +- vendor/heltec/wireless-shell-class-c-abp.yaml | 2 +- vendor/heltec/wireless-shell-class-c-otaa.yaml | 2 +- vendor/heltec/wireless-stick-class-a-abp.yaml | 2 +- vendor/heltec/wireless-stick-class-a-otaa.yaml | 2 +- vendor/heltec/wireless-stick-class-c-abp.yaml | 2 +- vendor/heltec/wireless-stick-class-c-otaa.yaml | 2 +- vendor/heltec/wireless-stick-lite-class-a-abp.yaml | 2 +- vendor/heltec/wireless-stick-lite-class-a-otaa.yaml | 2 +- vendor/heltec/wireless-stick-lite-class-c-abp.yaml | 2 +- vendor/heltec/wireless-stick-lite-class-c-otaa.yaml | 2 +- vendor/ht-micron/htlrbl32l.yaml | 2 +- vendor/ks-technologies/kst5420.yaml | 2 +- vendor/kuleuven-dramco/dramco-uno.yaml | 2 +- vendor/mcci/catena4610.yaml | 2 +- vendor/mcci/catena4612.yaml | 2 +- vendor/mcci/catena4618.yaml | 2 +- vendor/mcci/catena4618m201.yaml | 2 +- vendor/midatronics/sharky-module.yaml | 2 +- vendor/midatronics/windy-mkr.yaml | 2 +- vendor/midatronics/windy-module.yaml | 2 +- vendor/move-x/mamwle.yaml | 2 +- vendor/multi-tech/multi-tech-xdot.yaml | 2 +- vendor/onethinx/otx18.yaml | 2 +- vendor/rakwireless/wisblock-4631.yaml | 2 +- vendor/ruixinghengfang-network/rhf0m003.yaml | 2 +- vendor/ruixinghengfang-network/rhf0m0e5.yaml | 2 +- vendor/seeed/loradevelopkit-e5.yaml | 2 +- vendor/seeed/loraeminidevboard-e5.yaml | 2 +- vendor/seeed/lorawan-dev-kit.yaml | 2 +- vendor/seeed/sensecap-indicator.yaml | 2 +- vendor/sensecap/loramodule-e5.yaml | 2 +- vendor/slscorp/nln500a.yaml | 2 +- vendor/stmicroelectronics/nucleo-wl55jc1.yaml | 2 +- vendor/stmicroelectronics/nucleo-wl55jc2.yaml | 2 +- vendor/stmicroelectronics/steval-astra1b.yaml | 2 +- vendor/tektelic/t0006377-memo.yaml | 2 +- vendor/tektelic/t0006377-tempo.yaml | 2 +- vendor/the-things-industries/generic-node-sensor-edition.yaml | 2 +- vendor/the-things-products/the-things-uno.yaml | 2 +- 111 files changed, 111 insertions(+), 111 deletions(-) diff --git a/bin/csv.js b/bin/csv.js index aa6bcc9395..622e04440d 100644 --- a/bin/csv.js +++ b/bin/csv.js @@ -37,7 +37,7 @@ const extractData = (filePath, vendor) => { const name = data.name; const vendorname = vendorNamesMap.get(vendor) || vendor; // Fallback to the vendor ID if no name is found const description = data.description.replace(/"/g, "'"); - const deviceType = data.devicetype || ''; + const deviceType = data.deviceType || ''; const sensors = Array.isArray(data.sensors) ? `"${data.sensors.join(', ')}"` : ''; const imageUrl = data.photos?.main ? `"${baseUrl}/${vendor}/${data.photos.main}"` : ''; const additionalRadios = Array.isArray(data.additionalRadios) ? `"${data.additionalRadios.join(', ')}"` : ''; diff --git a/schema.json b/schema.json index a21c96b3ce..0fe08828d9 100644 --- a/schema.json +++ b/schema.json @@ -951,7 +951,7 @@ "description": "Instructions for finding firmware version", "examples": ["In the WebFig configuration panel, the firmware version is stated in the top left (e.g RouterOS v6.47.9)"] }, - "devicetype": { + "deviceType": { "enum": ["devkit", "module", "cots"] }, "sensors": { diff --git a/vendor/abeeway/abeeway-geolocation-module.yaml b/vendor/abeeway/abeeway-geolocation-module.yaml index 24c048f818..6a4d8fdd10 100644 --- a/vendor/abeeway/abeeway-geolocation-module.yaml +++ b/vendor/abeeway/abeeway-geolocation-module.yaml @@ -40,7 +40,7 @@ firmwareVersions: id: abeeway-geolocation-module-profile lorawanCertified: true -devicetype: module +deviceType: module # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/adeunis/ftd-network-tester.yaml b/vendor/adeunis/ftd-network-tester.yaml index 4ac550a155..20f4798eee 100644 --- a/vendor/adeunis/ftd-network-tester.yaml +++ b/vendor/adeunis/ftd-network-tester.yaml @@ -23,7 +23,7 @@ firmwareVersions: id: ftd-profile-eu868 lorawanCertified: true -devicetype: cots +deviceType: cots # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/arduino/mkr-wan-1310.yaml b/vendor/arduino/mkr-wan-1310.yaml index 6558f64fdd..e2dc4ab785 100644 --- a/vendor/arduino/mkr-wan-1310.yaml +++ b/vendor/arduino/mkr-wan-1310.yaml @@ -50,7 +50,7 @@ firmwareVersions: lorawanCertified: false codec: mkrwan1310-codec -devicetype: devkit +deviceType: devkit # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/arduino/portenta-max-carrier.yaml b/vendor/arduino/portenta-max-carrier.yaml index bf03f3f82a..461c2f643b 100644 --- a/vendor/arduino/portenta-max-carrier.yaml +++ b/vendor/arduino/portenta-max-carrier.yaml @@ -50,7 +50,7 @@ firmwareVersions: lorawanCertified: false codec: portentamaxcarrier-codec -devicetype: devkit +deviceType: devkit # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/atim/acw-tst.yaml b/vendor/atim/acw-tst.yaml index 387a6c0e7d..bf39fafcfc 100644 --- a/vendor/atim/acw-tst.yaml +++ b/vendor/atim/acw-tst.yaml @@ -37,7 +37,7 @@ firmwareVersions: lorawanCertified: true codec: codec2 -devicetype: cots +deviceType: cots # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/elv/elv-lw-int1.yaml b/vendor/elv/elv-lw-int1.yaml index db6f1a03f8..2d6a0ca758 100644 --- a/vendor/elv/elv-lw-int1.yaml +++ b/vendor/elv/elv-lw-int1.yaml @@ -37,7 +37,7 @@ firmwareVersions: lorawanCertified: true codec: elv-lw-int1-codec -devicetype: devkit +deviceType: devkit # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/elvaco/cmi4110.yaml b/vendor/elvaco/cmi4110.yaml index ddd15751e8..2eb7525b7f 100644 --- a/vendor/elvaco/cmi4110.yaml +++ b/vendor/elvaco/cmi4110.yaml @@ -34,7 +34,7 @@ firmwareVersions: # # This is the file name of the codec defintion and must have the .yaml extension. # codec: device-a-codec -devicetype: module +deviceType: module photos: main: cmi4110.jpeg diff --git a/vendor/elvaco/cmi4111.yaml b/vendor/elvaco/cmi4111.yaml index d296ffc99a..b632155c47 100644 --- a/vendor/elvaco/cmi4111.yaml +++ b/vendor/elvaco/cmi4111.yaml @@ -34,7 +34,7 @@ firmwareVersions: # # This is the file name of the codec defintion and must have the .yaml extension. # codec: device-a-codec -devicetype: module +deviceType: module photos: main: cmi4111.jpeg diff --git a/vendor/elvaco/cmi4130.yaml b/vendor/elvaco/cmi4130.yaml index 75bb6440cf..be09d520e4 100644 --- a/vendor/elvaco/cmi4130.yaml +++ b/vendor/elvaco/cmi4130.yaml @@ -34,7 +34,7 @@ firmwareVersions: # # This is the file name of the codec defintion and must have the .yaml extension. # codec: device-a-codec -devicetype: module +deviceType: module photos: main: cmi4130.jpeg diff --git a/vendor/elvaco/cmi4140.yaml b/vendor/elvaco/cmi4140.yaml index 43b9b0015f..796c2a406c 100644 --- a/vendor/elvaco/cmi4140.yaml +++ b/vendor/elvaco/cmi4140.yaml @@ -34,7 +34,7 @@ firmwareVersions: # # This is the file name of the codec defintion and must have the .yaml extension. # codec: device-a-codec -devicetype: module +deviceType: module photos: main: cmi4140.jpeg diff --git a/vendor/elvaco/cmi4160.yaml b/vendor/elvaco/cmi4160.yaml index 44aa9a973e..7dadf77a46 100644 --- a/vendor/elvaco/cmi4160.yaml +++ b/vendor/elvaco/cmi4160.yaml @@ -34,7 +34,7 @@ firmwareVersions: # # This is the file name of the codec defintion and must have the .yaml extension. # codec: device-a-codec -devicetype: module +deviceType: module photos: main: cmi4160.jpeg diff --git a/vendor/embit/emb-lr1280-mpci-4x.yaml b/vendor/embit/emb-lr1280-mpci-4x.yaml index 9fc86ff8ab..cdf2e5e5fd 100644 --- a/vendor/embit/emb-lr1280-mpci-4x.yaml +++ b/vendor/embit/emb-lr1280-mpci-4x.yaml @@ -13,7 +13,7 @@ firmwareVersions: # Unique identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: emb-lrwl55-profile-eu868 -devicetype: module +deviceType: module # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/embit/emb-lr1280s.yaml b/vendor/embit/emb-lr1280s.yaml index 7b0593b9a2..866fb5c5e2 100644 --- a/vendor/embit/emb-lr1280s.yaml +++ b/vendor/embit/emb-lr1280s.yaml @@ -13,7 +13,7 @@ firmwareVersions: # Unique identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: emb-lr1280s-profile -devicetype: module +deviceType: module # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/embit/emb-lr1302-mpci.yaml b/vendor/embit/emb-lr1302-mpci.yaml index 961b45e8f2..8542010972 100644 --- a/vendor/embit/emb-lr1302-mpci.yaml +++ b/vendor/embit/emb-lr1302-mpci.yaml @@ -16,7 +16,7 @@ firmwareVersions: # Unique identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: emb-lr1302-mpci-profile-us915 -devicetype: module +deviceType: module # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/embit/emb-lrwl55.yaml b/vendor/embit/emb-lrwl55.yaml index d7454f1867..064938646a 100644 --- a/vendor/embit/emb-lrwl55.yaml +++ b/vendor/embit/emb-lrwl55.yaml @@ -31,7 +31,7 @@ firmwareVersions: RU864-870: id: emb-lrwl55-profile-ru864 -devicetype: module +deviceType: module # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/espeasy/espeasy-rn2483-node-class-a-abp.yaml b/vendor/espeasy/espeasy-rn2483-node-class-a-abp.yaml index ae6161b661..820e9108b7 100644 --- a/vendor/espeasy/espeasy-rn2483-node-class-a-abp.yaml +++ b/vendor/espeasy/espeasy-rn2483-node-class-a-abp.yaml @@ -39,7 +39,7 @@ firmwareVersions: lorawanCertified: true codec: espeasy-codec -devicetype: devkit +deviceType: devkit # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/espeasy/espeasy-rn2483-node-class-a-otaa.yaml b/vendor/espeasy/espeasy-rn2483-node-class-a-otaa.yaml index de144ce7d4..5e7aedb40a 100644 --- a/vendor/espeasy/espeasy-rn2483-node-class-a-otaa.yaml +++ b/vendor/espeasy/espeasy-rn2483-node-class-a-otaa.yaml @@ -39,7 +39,7 @@ firmwareVersions: lorawanCertified: true codec: espeasy-codec -devicetype: devkit +deviceType: devkit # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/espeasy/espeasy-rn2903-node-class-a-abp.yaml b/vendor/espeasy/espeasy-rn2903-node-class-a-abp.yaml index d1cad17c43..bfe31ed7f6 100644 --- a/vendor/espeasy/espeasy-rn2903-node-class-a-abp.yaml +++ b/vendor/espeasy/espeasy-rn2903-node-class-a-abp.yaml @@ -51,7 +51,7 @@ firmwareVersions: lorawanCertified: true codec: espeasy-codec -devicetype: devkit +deviceType: devkit # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/espeasy/espeasy-rn2903-node-class-a-otaa.yaml b/vendor/espeasy/espeasy-rn2903-node-class-a-otaa.yaml index 464bd5ed91..1011cdfb52 100644 --- a/vendor/espeasy/espeasy-rn2903-node-class-a-otaa.yaml +++ b/vendor/espeasy/espeasy-rn2903-node-class-a-otaa.yaml @@ -51,7 +51,7 @@ firmwareVersions: lorawanCertified: true codec: espeasy-codec -devicetype: devkit +deviceType: devkit # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/example/windsensor.yaml b/vendor/example/windsensor.yaml index 4d473cb918..1b9015f5ee 100644 --- a/vendor/example/windsensor.yaml +++ b/vendor/example/windsensor.yaml @@ -63,7 +63,7 @@ firmwareVersions: # Type of device (optional) # Valid values are: devkit, module, cots -devicetype: cots +deviceType: cots # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/heltec/cubecell-1-2-aa-node-class-a-abp.yaml b/vendor/heltec/cubecell-1-2-aa-node-class-a-abp.yaml index 4c66d8767a..5224dde84b 100755 --- a/vendor/heltec/cubecell-1-2-aa-node-class-a-abp.yaml +++ b/vendor/heltec/cubecell-1-2-aa-node-class-a-abp.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: devkit +deviceType: devkit dimensions: width: 24 diff --git a/vendor/heltec/cubecell-1-2-aa-node-class-a-otaa.yaml b/vendor/heltec/cubecell-1-2-aa-node-class-a-otaa.yaml index 6052fd4d7c..0b44ca74a1 100755 --- a/vendor/heltec/cubecell-1-2-aa-node-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-1-2-aa-node-class-a-otaa.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 24 diff --git a/vendor/heltec/cubecell-1-2-aa-node-class-c-abp.yaml b/vendor/heltec/cubecell-1-2-aa-node-class-c-abp.yaml index f38b732e6a..f5e5733877 100755 --- a/vendor/heltec/cubecell-1-2-aa-node-class-c-abp.yaml +++ b/vendor/heltec/cubecell-1-2-aa-node-class-c-abp.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: devkit +deviceType: devkit dimensions: width: 24 diff --git a/vendor/heltec/cubecell-1-2-aa-node-class-c-otaa.yaml b/vendor/heltec/cubecell-1-2-aa-node-class-c-otaa.yaml index 969817dc10..7a79a8f759 100755 --- a/vendor/heltec/cubecell-1-2-aa-node-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-1-2-aa-node-class-c-otaa.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 24 diff --git a/vendor/heltec/cubecell-capsule-sensor-class-a-abp.yaml b/vendor/heltec/cubecell-capsule-sensor-class-a-abp.yaml index b1dd86bd79..36b03f3893 100755 --- a/vendor/heltec/cubecell-capsule-sensor-class-a-abp.yaml +++ b/vendor/heltec/cubecell-capsule-sensor-class-a-abp.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: devkit +deviceType: devkit dimensions: height: 67 diff --git a/vendor/heltec/cubecell-capsule-sensor-class-a-otaa.yaml b/vendor/heltec/cubecell-capsule-sensor-class-a-otaa.yaml index 9f7cdfcde0..1b9419fcc9 100755 --- a/vendor/heltec/cubecell-capsule-sensor-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-capsule-sensor-class-a-otaa.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: devkit +deviceType: devkit dimensions: height: 67 diff --git a/vendor/heltec/cubecell-capsule-sensor-class-c-abp.yaml b/vendor/heltec/cubecell-capsule-sensor-class-c-abp.yaml index f330bafde4..608e18a527 100755 --- a/vendor/heltec/cubecell-capsule-sensor-class-c-abp.yaml +++ b/vendor/heltec/cubecell-capsule-sensor-class-c-abp.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: devkit +deviceType: devkit dimensions: height: 67 diff --git a/vendor/heltec/cubecell-capsule-sensor-class-c-otaa.yaml b/vendor/heltec/cubecell-capsule-sensor-class-c-otaa.yaml index 69408ff81f..ce51a1f7c2 100755 --- a/vendor/heltec/cubecell-capsule-sensor-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-capsule-sensor-class-c-otaa.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: devkit +deviceType: devkit dimensions: height: 67 diff --git a/vendor/heltec/cubecell-dev-board-class-a-abp.yaml b/vendor/heltec/cubecell-dev-board-class-a-abp.yaml index 50e64b2df2..d015ae37fe 100755 --- a/vendor/heltec/cubecell-dev-board-class-a-abp.yaml +++ b/vendor/heltec/cubecell-dev-board-class-a-abp.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: devkit +deviceType: devkit dimensions: width: 25 diff --git a/vendor/heltec/cubecell-dev-board-class-a-otaa.yaml b/vendor/heltec/cubecell-dev-board-class-a-otaa.yaml index 256c6d92cf..4036289be2 100755 --- a/vendor/heltec/cubecell-dev-board-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-dev-board-class-a-otaa.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 25 diff --git a/vendor/heltec/cubecell-dev-board-class-c-abp.yaml b/vendor/heltec/cubecell-dev-board-class-c-abp.yaml index b7da761e4b..5bf010f062 100755 --- a/vendor/heltec/cubecell-dev-board-class-c-abp.yaml +++ b/vendor/heltec/cubecell-dev-board-class-c-abp.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: devkit +deviceType: devkit dimensions: width: 25 diff --git a/vendor/heltec/cubecell-dev-board-class-c-otaa.yaml b/vendor/heltec/cubecell-dev-board-class-c-otaa.yaml index bfc62ce061..7f4c81e4d6 100755 --- a/vendor/heltec/cubecell-dev-board-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-dev-board-class-c-otaa.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 25 diff --git a/vendor/heltec/cubecell-dev-board-plus-class-a-abp.yaml b/vendor/heltec/cubecell-dev-board-plus-class-a-abp.yaml index e76e5e137b..bef5df6e3f 100755 --- a/vendor/heltec/cubecell-dev-board-plus-class-a-abp.yaml +++ b/vendor/heltec/cubecell-dev-board-plus-class-a-abp.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: devkit +deviceType: devkit dimensions: width: 25 diff --git a/vendor/heltec/cubecell-dev-board-plus-class-a-otaa.yaml b/vendor/heltec/cubecell-dev-board-plus-class-a-otaa.yaml index dcf39771d6..04122176b2 100755 --- a/vendor/heltec/cubecell-dev-board-plus-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-dev-board-plus-class-a-otaa.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 25 diff --git a/vendor/heltec/cubecell-dev-board-plus-class-c-abp.yaml b/vendor/heltec/cubecell-dev-board-plus-class-c-abp.yaml index 22e6a879f4..abc9bcf917 100755 --- a/vendor/heltec/cubecell-dev-board-plus-class-c-abp.yaml +++ b/vendor/heltec/cubecell-dev-board-plus-class-c-abp.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: devkit +deviceType: devkit dimensions: width: 25 diff --git a/vendor/heltec/cubecell-dev-board-plus-class-c-otaa.yaml b/vendor/heltec/cubecell-dev-board-plus-class-c-otaa.yaml index d808c8de7d..8c6f8c0d0f 100755 --- a/vendor/heltec/cubecell-dev-board-plus-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-dev-board-plus-class-c-otaa.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 25 diff --git a/vendor/heltec/cubecell-gps-6502-class-a-abp.yaml b/vendor/heltec/cubecell-gps-6502-class-a-abp.yaml index 5e70053a35..c2fc2e1acd 100755 --- a/vendor/heltec/cubecell-gps-6502-class-a-abp.yaml +++ b/vendor/heltec/cubecell-gps-6502-class-a-abp.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: devkit +deviceType: devkit dimensions: width: 27.9 diff --git a/vendor/heltec/cubecell-gps-6502-class-a-otaa.yaml b/vendor/heltec/cubecell-gps-6502-class-a-otaa.yaml index e30647ea7e..d8f059f404 100755 --- a/vendor/heltec/cubecell-gps-6502-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-gps-6502-class-a-otaa.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 27.9 diff --git a/vendor/heltec/cubecell-gps-6502-class-c-abp.yaml b/vendor/heltec/cubecell-gps-6502-class-c-abp.yaml index d081a65c1f..f67f8180e7 100755 --- a/vendor/heltec/cubecell-gps-6502-class-c-abp.yaml +++ b/vendor/heltec/cubecell-gps-6502-class-c-abp.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: devkit +deviceType: devkit dimensions: width: 27.9 diff --git a/vendor/heltec/cubecell-gps-6502-class-c-otaa.yaml b/vendor/heltec/cubecell-gps-6502-class-c-otaa.yaml index 6be99d6556..efbb0d6250 100755 --- a/vendor/heltec/cubecell-gps-6502-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-gps-6502-class-c-otaa.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 27.9 diff --git a/vendor/heltec/cubecell-module-class-a-abp.yaml b/vendor/heltec/cubecell-module-class-a-abp.yaml index aa0d8cb58d..fb63ab315b 100755 --- a/vendor/heltec/cubecell-module-class-a-abp.yaml +++ b/vendor/heltec/cubecell-module-class-a-abp.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: module +deviceType: module dimensions: width: 18 diff --git a/vendor/heltec/cubecell-module-class-a-otaa.yaml b/vendor/heltec/cubecell-module-class-a-otaa.yaml index 6395c6e2d7..861d89db60 100755 --- a/vendor/heltec/cubecell-module-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-module-class-a-otaa.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: module +deviceType: module dimensions: width: 18 diff --git a/vendor/heltec/cubecell-module-class-c-abp.yaml b/vendor/heltec/cubecell-module-class-c-abp.yaml index 2556b28305..dee191e160 100755 --- a/vendor/heltec/cubecell-module-class-c-abp.yaml +++ b/vendor/heltec/cubecell-module-class-c-abp.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: module +deviceType: module dimensions: width: 18 diff --git a/vendor/heltec/cubecell-module-class-c-otaa.yaml b/vendor/heltec/cubecell-module-class-c-otaa.yaml index 1e7888694e..841f28a875 100755 --- a/vendor/heltec/cubecell-module-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-module-class-c-otaa.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: module +deviceType: module dimensions: width: 18 diff --git a/vendor/heltec/cubecell-module-plus-class-a-abp.yaml b/vendor/heltec/cubecell-module-plus-class-a-abp.yaml index 42d8665f58..8f09132f3c 100755 --- a/vendor/heltec/cubecell-module-plus-class-a-abp.yaml +++ b/vendor/heltec/cubecell-module-plus-class-a-abp.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: module +deviceType: module dimensions: width: 20.4 diff --git a/vendor/heltec/cubecell-module-plus-class-a-otaa.yaml b/vendor/heltec/cubecell-module-plus-class-a-otaa.yaml index ebaa4bb6a5..0550badff1 100755 --- a/vendor/heltec/cubecell-module-plus-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-module-plus-class-a-otaa.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: module +deviceType: module dimensions: width: 20.4 diff --git a/vendor/heltec/cubecell-module-plus-class-c-abp.yaml b/vendor/heltec/cubecell-module-plus-class-c-abp.yaml index b382e4e169..0406ad1036 100755 --- a/vendor/heltec/cubecell-module-plus-class-c-abp.yaml +++ b/vendor/heltec/cubecell-module-plus-class-c-abp.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: module +deviceType: module dimensions: width: 20.4 diff --git a/vendor/heltec/cubecell-module-plus-class-c-otaa.yaml b/vendor/heltec/cubecell-module-plus-class-c-otaa.yaml index 73d39a64ea..18e8e2ec97 100755 --- a/vendor/heltec/cubecell-module-plus-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-module-plus-class-c-otaa.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: module +deviceType: module dimensions: width: 20.4 diff --git a/vendor/heltec/cubecell-solar-sensor-class-a-abp.yaml b/vendor/heltec/cubecell-solar-sensor-class-a-abp.yaml index d3889dce4d..60d51f5f80 100755 --- a/vendor/heltec/cubecell-solar-sensor-class-a-abp.yaml +++ b/vendor/heltec/cubecell-solar-sensor-class-a-abp.yaml @@ -29,7 +29,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: devkit +deviceType: devkit dimensions: height: 67 diff --git a/vendor/heltec/cubecell-solar-sensor-class-a-otaa.yaml b/vendor/heltec/cubecell-solar-sensor-class-a-otaa.yaml index b7e35401af..72d1ad4fe1 100755 --- a/vendor/heltec/cubecell-solar-sensor-class-a-otaa.yaml +++ b/vendor/heltec/cubecell-solar-sensor-class-a-otaa.yaml @@ -29,7 +29,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: devkit +deviceType: devkit dimensions: height: 67 diff --git a/vendor/heltec/cubecell-solar-sensor-class-c-abp.yaml b/vendor/heltec/cubecell-solar-sensor-class-c-abp.yaml index d78dd691e7..9d664108e5 100755 --- a/vendor/heltec/cubecell-solar-sensor-class-c-abp.yaml +++ b/vendor/heltec/cubecell-solar-sensor-class-c-abp.yaml @@ -29,7 +29,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: devkit +deviceType: devkit dimensions: height: 67 diff --git a/vendor/heltec/cubecell-solar-sensor-class-c-otaa.yaml b/vendor/heltec/cubecell-solar-sensor-class-c-otaa.yaml index 60dc3e5c60..ab3d15b9c2 100755 --- a/vendor/heltec/cubecell-solar-sensor-class-c-otaa.yaml +++ b/vendor/heltec/cubecell-solar-sensor-class-c-otaa.yaml @@ -29,7 +29,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: devkit +deviceType: devkit dimensions: height: 67 diff --git a/vendor/heltec/lora-kit-151-class-a-abp.yaml b/vendor/heltec/lora-kit-151-class-a-abp.yaml index 259b3c04aa..ad1f903637 100755 --- a/vendor/heltec/lora-kit-151-class-a-abp.yaml +++ b/vendor/heltec/lora-kit-151-class-a-abp.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: devkit +deviceType: devkit dimensions: width: 25.5 diff --git a/vendor/heltec/lora-kit-151-class-a-otaa.yaml b/vendor/heltec/lora-kit-151-class-a-otaa.yaml index 9a1173cc7d..214a29f15c 100755 --- a/vendor/heltec/lora-kit-151-class-a-otaa.yaml +++ b/vendor/heltec/lora-kit-151-class-a-otaa.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 25.5 diff --git a/vendor/heltec/lora-kit-151-class-c-abp.yaml b/vendor/heltec/lora-kit-151-class-c-abp.yaml index e521d81ea5..b43c50692e 100755 --- a/vendor/heltec/lora-kit-151-class-c-abp.yaml +++ b/vendor/heltec/lora-kit-151-class-c-abp.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: devkit +deviceType: devkit dimensions: width: 25.5 diff --git a/vendor/heltec/lora-kit-151-class-c-otaa.yaml b/vendor/heltec/lora-kit-151-class-c-otaa.yaml index 5c23f47770..05c2d635bc 100755 --- a/vendor/heltec/lora-kit-151-class-c-otaa.yaml +++ b/vendor/heltec/lora-kit-151-class-c-otaa.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 25.5 diff --git a/vendor/heltec/lora-node-151-class-a-abp.yaml b/vendor/heltec/lora-node-151-class-a-abp.yaml index 4a3067bd92..9fbff0187b 100755 --- a/vendor/heltec/lora-node-151-class-a-abp.yaml +++ b/vendor/heltec/lora-node-151-class-a-abp.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: devkit +deviceType: devkit dimensions: width: 24 diff --git a/vendor/heltec/lora-node-151-class-a-otaa.yaml b/vendor/heltec/lora-node-151-class-a-otaa.yaml index 2faeae6789..0b501eba7a 100755 --- a/vendor/heltec/lora-node-151-class-a-otaa.yaml +++ b/vendor/heltec/lora-node-151-class-a-otaa.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 24 diff --git a/vendor/heltec/lora-node-151-class-c-abp.yaml b/vendor/heltec/lora-node-151-class-c-abp.yaml index 792de8771c..ff630e7cb7 100755 --- a/vendor/heltec/lora-node-151-class-c-abp.yaml +++ b/vendor/heltec/lora-node-151-class-c-abp.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: devkit +deviceType: devkit dimensions: width: 24 diff --git a/vendor/heltec/lora-node-151-class-c-otaa.yaml b/vendor/heltec/lora-node-151-class-c-otaa.yaml index 95eb274f7b..9b6bc1b74b 100755 --- a/vendor/heltec/lora-node-151-class-c-otaa.yaml +++ b/vendor/heltec/lora-node-151-class-c-otaa.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 24 diff --git a/vendor/heltec/turtle-board-class-a-abp.yaml b/vendor/heltec/turtle-board-class-a-abp.yaml index 9900148645..537e32a23d 100755 --- a/vendor/heltec/turtle-board-class-a-abp.yaml +++ b/vendor/heltec/turtle-board-class-a-abp.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: devkit +deviceType: devkit dimensions: width: 31.5 diff --git a/vendor/heltec/turtle-board-class-a-otaa.yaml b/vendor/heltec/turtle-board-class-a-otaa.yaml index bc01f002e6..e5a44fef85 100755 --- a/vendor/heltec/turtle-board-class-a-otaa.yaml +++ b/vendor/heltec/turtle-board-class-a-otaa.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 31.5 diff --git a/vendor/heltec/turtle-board-class-c-abp.yaml b/vendor/heltec/turtle-board-class-c-abp.yaml index 698e647b09..928ff87f61 100755 --- a/vendor/heltec/turtle-board-class-c-abp.yaml +++ b/vendor/heltec/turtle-board-class-c-abp.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: devkit +deviceType: devkit dimensions: width: 31.5 diff --git a/vendor/heltec/turtle-board-class-c-otaa.yaml b/vendor/heltec/turtle-board-class-c-otaa.yaml index 9132ac93d9..121aa8b116 100755 --- a/vendor/heltec/turtle-board-class-c-otaa.yaml +++ b/vendor/heltec/turtle-board-class-c-otaa.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 31.5 diff --git a/vendor/heltec/wifi-lora-32-class-a-abp.yaml b/vendor/heltec/wifi-lora-32-class-a-abp.yaml index 4307f24148..e08a05bd15 100755 --- a/vendor/heltec/wifi-lora-32-class-a-abp.yaml +++ b/vendor/heltec/wifi-lora-32-class-a-abp.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: devkit +deviceType: devkit dimensions: width: 25.5 diff --git a/vendor/heltec/wifi-lora-32-class-a-otaa.yaml b/vendor/heltec/wifi-lora-32-class-a-otaa.yaml index 17714db6e4..4fb0a764c3 100755 --- a/vendor/heltec/wifi-lora-32-class-a-otaa.yaml +++ b/vendor/heltec/wifi-lora-32-class-a-otaa.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 25.5 diff --git a/vendor/heltec/wifi-lora-32-class-c-abp.yaml b/vendor/heltec/wifi-lora-32-class-c-abp.yaml index 9e38654345..528a21fdc8 100755 --- a/vendor/heltec/wifi-lora-32-class-c-abp.yaml +++ b/vendor/heltec/wifi-lora-32-class-c-abp.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: devkit +deviceType: devkit dimensions: width: 25.5 diff --git a/vendor/heltec/wifi-lora-32-class-c-otaa.yaml b/vendor/heltec/wifi-lora-32-class-c-otaa.yaml index 7dec7cc6e9..994ef2e9b9 100755 --- a/vendor/heltec/wifi-lora-32-class-c-otaa.yaml +++ b/vendor/heltec/wifi-lora-32-class-c-otaa.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 25.5 diff --git a/vendor/heltec/wireless-shell-class-a-abp.yaml b/vendor/heltec/wireless-shell-class-a-abp.yaml index f7772d2d40..1bf6584d9f 100755 --- a/vendor/heltec/wireless-shell-class-a-abp.yaml +++ b/vendor/heltec/wireless-shell-class-a-abp.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: module +deviceType: module dimensions: width: 16.1 diff --git a/vendor/heltec/wireless-shell-class-a-otaa.yaml b/vendor/heltec/wireless-shell-class-a-otaa.yaml index 4eda254055..23c2cf7bb8 100755 --- a/vendor/heltec/wireless-shell-class-a-otaa.yaml +++ b/vendor/heltec/wireless-shell-class-a-otaa.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: module +deviceType: module dimensions: width: 16.1 diff --git a/vendor/heltec/wireless-shell-class-c-abp.yaml b/vendor/heltec/wireless-shell-class-c-abp.yaml index 7a37418507..a435482e3d 100755 --- a/vendor/heltec/wireless-shell-class-c-abp.yaml +++ b/vendor/heltec/wireless-shell-class-c-abp.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: module +deviceType: module dimensions: width: 16.1 diff --git a/vendor/heltec/wireless-shell-class-c-otaa.yaml b/vendor/heltec/wireless-shell-class-c-otaa.yaml index 3abd60a11c..ba3e1926c0 100755 --- a/vendor/heltec/wireless-shell-class-c-otaa.yaml +++ b/vendor/heltec/wireless-shell-class-c-otaa.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: module +deviceType: module dimensions: width: 16.1 diff --git a/vendor/heltec/wireless-stick-class-a-abp.yaml b/vendor/heltec/wireless-stick-class-a-abp.yaml index cba90203fe..658988553d 100755 --- a/vendor/heltec/wireless-stick-class-a-abp.yaml +++ b/vendor/heltec/wireless-stick-class-a-abp.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: devkit +deviceType: devkit dimensions: width: 24.8 diff --git a/vendor/heltec/wireless-stick-class-a-otaa.yaml b/vendor/heltec/wireless-stick-class-a-otaa.yaml index b70e854361..bb7ba856b1 100755 --- a/vendor/heltec/wireless-stick-class-a-otaa.yaml +++ b/vendor/heltec/wireless-stick-class-a-otaa.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 24.8 diff --git a/vendor/heltec/wireless-stick-class-c-abp.yaml b/vendor/heltec/wireless-stick-class-c-abp.yaml index e52ab226e1..949096bb1f 100755 --- a/vendor/heltec/wireless-stick-class-c-abp.yaml +++ b/vendor/heltec/wireless-stick-class-c-abp.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: devkit +deviceType: devkit dimensions: width: 24.8 diff --git a/vendor/heltec/wireless-stick-class-c-otaa.yaml b/vendor/heltec/wireless-stick-class-c-otaa.yaml index 6f3e768291..96c26b530f 100755 --- a/vendor/heltec/wireless-stick-class-c-otaa.yaml +++ b/vendor/heltec/wireless-stick-class-c-otaa.yaml @@ -22,7 +22,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 24.8 diff --git a/vendor/heltec/wireless-stick-lite-class-a-abp.yaml b/vendor/heltec/wireless-stick-lite-class-a-abp.yaml index 5bfeb73db5..e1f14e3d19 100755 --- a/vendor/heltec/wireless-stick-lite-class-a-abp.yaml +++ b/vendor/heltec/wireless-stick-lite-class-a-abp.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-abp -devicetype: devkit +deviceType: devkit dimensions: width: 24.8 diff --git a/vendor/heltec/wireless-stick-lite-class-a-otaa.yaml b/vendor/heltec/wireless-stick-lite-class-a-otaa.yaml index c90256f577..4293d01a98 100755 --- a/vendor/heltec/wireless-stick-lite-class-a-otaa.yaml +++ b/vendor/heltec/wireless-stick-lite-class-a-otaa.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-a-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 24.8 diff --git a/vendor/heltec/wireless-stick-lite-class-c-abp.yaml b/vendor/heltec/wireless-stick-lite-class-c-abp.yaml index 7ad62edb29..15b4f0ce4a 100755 --- a/vendor/heltec/wireless-stick-lite-class-c-abp.yaml +++ b/vendor/heltec/wireless-stick-lite-class-c-abp.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-abp -devicetype: devkit +deviceType: devkit dimensions: width: 24.8 diff --git a/vendor/heltec/wireless-stick-lite-class-c-otaa.yaml b/vendor/heltec/wireless-stick-lite-class-c-otaa.yaml index 89767e8734..a83e332103 100755 --- a/vendor/heltec/wireless-stick-lite-class-c-otaa.yaml +++ b/vendor/heltec/wireless-stick-lite-class-c-otaa.yaml @@ -23,7 +23,7 @@ firmwareVersions: KR920-923: id: profile-kr920-class-c-otaa -devicetype: devkit +deviceType: devkit dimensions: width: 24.8 diff --git a/vendor/ht-micron/htlrbl32l.yaml b/vendor/ht-micron/htlrbl32l.yaml index fbc81a3110..57c5b2bda3 100644 --- a/vendor/ht-micron/htlrbl32l.yaml +++ b/vendor/ht-micron/htlrbl32l.yaml @@ -38,7 +38,7 @@ firmwareVersions: id: htlrbl32l-profile-915 lorawanCertified: false -devicetype: module +deviceType: module # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/ks-technologies/kst5420.yaml b/vendor/ks-technologies/kst5420.yaml index f5088974d2..2592b51e04 100644 --- a/vendor/ks-technologies/kst5420.yaml +++ b/vendor/ks-technologies/kst5420.yaml @@ -25,7 +25,7 @@ firmwareVersions: lorawanCertified: false codec: kst5420-codec -devicetype: cots +deviceType: cots # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/kuleuven-dramco/dramco-uno.yaml b/vendor/kuleuven-dramco/dramco-uno.yaml index cf40fac591..0e5e2d08cd 100644 --- a/vendor/kuleuven-dramco/dramco-uno.yaml +++ b/vendor/kuleuven-dramco/dramco-uno.yaml @@ -27,7 +27,7 @@ firmwareVersions: lorawanCertified: true # No codec, Cayenne LPP is used -devicetype: devkit +deviceType: devkit # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/mcci/catena4610.yaml b/vendor/mcci/catena4610.yaml index 3adac0d852..1a778bb09c 100644 --- a/vendor/mcci/catena4610.yaml +++ b/vendor/mcci/catena4610.yaml @@ -46,7 +46,7 @@ firmwareVersions: lorawanCertified: false codec: codec-catena-generic -devicetype: devkit +deviceType: devkit # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/mcci/catena4612.yaml b/vendor/mcci/catena4612.yaml index a4be82fc32..18ac45aaa6 100644 --- a/vendor/mcci/catena4612.yaml +++ b/vendor/mcci/catena4612.yaml @@ -46,7 +46,7 @@ firmwareVersions: lorawanCertified: false codec: codec-catena-generic -devicetype: devkit +deviceType: devkit # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/mcci/catena4618.yaml b/vendor/mcci/catena4618.yaml index 49b5791504..25b4652787 100644 --- a/vendor/mcci/catena4618.yaml +++ b/vendor/mcci/catena4618.yaml @@ -46,7 +46,7 @@ firmwareVersions: lorawanCertified: false codec: codec-catena-generic -devicetype: devkit +deviceType: devkit # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/mcci/catena4618m201.yaml b/vendor/mcci/catena4618m201.yaml index 446e86ecff..5444a84464 100644 --- a/vendor/mcci/catena4618m201.yaml +++ b/vendor/mcci/catena4618m201.yaml @@ -46,7 +46,7 @@ firmwareVersions: lorawanCertified: false codec: codec-catena-generic -devicetype: devkit +deviceType: devkit # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/midatronics/sharky-module.yaml b/vendor/midatronics/sharky-module.yaml index f780cb299a..bcf018e110 100644 --- a/vendor/midatronics/sharky-module.yaml +++ b/vendor/midatronics/sharky-module.yaml @@ -21,7 +21,7 @@ firmwareVersions: # Unique identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: sharky-module-profile -devicetype: module +deviceType: module # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/midatronics/windy-mkr.yaml b/vendor/midatronics/windy-mkr.yaml index 028d7a102f..e1fd62dc4b 100644 --- a/vendor/midatronics/windy-mkr.yaml +++ b/vendor/midatronics/windy-mkr.yaml @@ -21,7 +21,7 @@ firmwareVersions: # Unique identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: windy-mkr-profile -devicetype: devkit +deviceType: devkit # Product and data sheet URLs (optional) productURL: https://midatronics.com/shop/development-boards/mkr-windy/ diff --git a/vendor/midatronics/windy-module.yaml b/vendor/midatronics/windy-module.yaml index 47b640f52d..3888e80772 100644 --- a/vendor/midatronics/windy-module.yaml +++ b/vendor/midatronics/windy-module.yaml @@ -21,7 +21,7 @@ firmwareVersions: # Unique identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) id: windy-module-profile -devicetype: module +deviceType: module # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/move-x/mamwle.yaml b/vendor/move-x/mamwle.yaml index 0daa42265b..ee36415705 100644 --- a/vendor/move-x/mamwle.yaml +++ b/vendor/move-x/mamwle.yaml @@ -22,7 +22,7 @@ firmwareVersions: id: mamwle-au915-profile lorawanCertified: false -devicetype: module +deviceType: module # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/multi-tech/multi-tech-xdot.yaml b/vendor/multi-tech/multi-tech-xdot.yaml index 00918c74c9..85edeceb01 100644 --- a/vendor/multi-tech/multi-tech-xdot.yaml +++ b/vendor/multi-tech/multi-tech-xdot.yaml @@ -26,7 +26,7 @@ firmwareVersions: KR920-923: id: multi-tech-xdot-profile-kr920 -devicetype: module +deviceType: module # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/onethinx/otx18.yaml b/vendor/onethinx/otx18.yaml index 9d904cfc03..346cbc1037 100644 --- a/vendor/onethinx/otx18.yaml +++ b/vendor/onethinx/otx18.yaml @@ -30,7 +30,7 @@ firmwareVersions: lorawanCertified: false #codec: otx18-eu868-codec -devicetype: module +deviceType: module # Additional radios that this device has (optional) # Valid values are: ble, nfc, wifi, cellular. diff --git a/vendor/rakwireless/wisblock-4631.yaml b/vendor/rakwireless/wisblock-4631.yaml index 7a34ec5cb3..9609eb2f7f 100644 --- a/vendor/rakwireless/wisblock-4631.yaml +++ b/vendor/rakwireless/wisblock-4631.yaml @@ -26,7 +26,7 @@ firmwareVersions: id: rak4631-915-profile lorawanCertified: false -devicetype: devkit +deviceType: devkit # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/ruixinghengfang-network/rhf0m003.yaml b/vendor/ruixinghengfang-network/rhf0m003.yaml index 52d4ca54d3..5a8283b731 100644 --- a/vendor/ruixinghengfang-network/rhf0m003.yaml +++ b/vendor/ruixinghengfang-network/rhf0m003.yaml @@ -64,7 +64,7 @@ firmwareVersions: #lorawanCertified: true #codec: -devicetype: module +deviceType: module # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/ruixinghengfang-network/rhf0m0e5.yaml b/vendor/ruixinghengfang-network/rhf0m0e5.yaml index b2eebcb35c..fc14a6a9c7 100644 --- a/vendor/ruixinghengfang-network/rhf0m0e5.yaml +++ b/vendor/ruixinghengfang-network/rhf0m0e5.yaml @@ -60,7 +60,7 @@ firmwareVersions: #lorawanCertified: true #codec: -devicetype: module +deviceType: module # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/seeed/loradevelopkit-e5.yaml b/vendor/seeed/loradevelopkit-e5.yaml index aaa5c0a2d4..803abf9d97 100644 --- a/vendor/seeed/loradevelopkit-e5.yaml +++ b/vendor/seeed/loradevelopkit-e5.yaml @@ -38,7 +38,7 @@ firmwareVersions: lorawanCertified: true codec: loradevelopkit-e5-codec -devicetype: devkit +deviceType: devkit # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/seeed/loraeminidevboard-e5.yaml b/vendor/seeed/loraeminidevboard-e5.yaml index 1b1f91dda5..5bcfdec9b3 100644 --- a/vendor/seeed/loraeminidevboard-e5.yaml +++ b/vendor/seeed/loraeminidevboard-e5.yaml @@ -44,7 +44,7 @@ firmwareVersions: lorawanCertified: true codec: loradevelopkit-e5-codec -devicetype: devkit +deviceType: devkit # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/seeed/lorawan-dev-kit.yaml b/vendor/seeed/lorawan-dev-kit.yaml index fbf30ceda0..4601d0d233 100644 --- a/vendor/seeed/lorawan-dev-kit.yaml +++ b/vendor/seeed/lorawan-dev-kit.yaml @@ -38,7 +38,7 @@ firmwareVersions: lorawanCertified: true codec: loradevelopkit-e5-codec -devicetype: devkit +deviceType: devkit # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/seeed/sensecap-indicator.yaml b/vendor/seeed/sensecap-indicator.yaml index cfd052c9f6..cf421e241c 100644 --- a/vendor/seeed/sensecap-indicator.yaml +++ b/vendor/seeed/sensecap-indicator.yaml @@ -38,7 +38,7 @@ firmwareVersions: lorawanCertified: true codec: loradevelopkit-e5-codec -devicetype: devkit +deviceType: devkit # Sensors that this device features (optional) # Valid values are: diff --git a/vendor/sensecap/loramodule-e5.yaml b/vendor/sensecap/loramodule-e5.yaml index 9f5ae90f4d..865aa0080f 100644 --- a/vendor/sensecap/loramodule-e5.yaml +++ b/vendor/sensecap/loramodule-e5.yaml @@ -63,7 +63,7 @@ firmwareVersions: lorawanCertified: true codec: loramodule-e5-codec -devicetype: module +deviceType: module # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/slscorp/nln500a.yaml b/vendor/slscorp/nln500a.yaml index c094eb47b7..ae886bac57 100644 --- a/vendor/slscorp/nln500a.yaml +++ b/vendor/slscorp/nln500a.yaml @@ -24,7 +24,7 @@ firmwareVersions: IN865-867: id: nln500a-profile-in865 -devicetype: module +deviceType: module # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/stmicroelectronics/nucleo-wl55jc1.yaml b/vendor/stmicroelectronics/nucleo-wl55jc1.yaml index ad87607f46..319b277789 100644 --- a/vendor/stmicroelectronics/nucleo-wl55jc1.yaml +++ b/vendor/stmicroelectronics/nucleo-wl55jc1.yaml @@ -115,7 +115,7 @@ firmwareVersions: id: nucleo-wl55jc-profile-16-lw104 lorawanCertified: false codec: nucleo-wl55jc-codec -devicetype: devkit +deviceType: devkit sensors: - light - pressure diff --git a/vendor/stmicroelectronics/nucleo-wl55jc2.yaml b/vendor/stmicroelectronics/nucleo-wl55jc2.yaml index 118a4da212..95e5fabf2d 100644 --- a/vendor/stmicroelectronics/nucleo-wl55jc2.yaml +++ b/vendor/stmicroelectronics/nucleo-wl55jc2.yaml @@ -43,7 +43,7 @@ firmwareVersions: id: nucleo-wl55jc-profile-12-lw104 lorawanCertified: false codec: nucleo-wl55jc-codec -devicetype: devkit +deviceType: devkit sensors: - light - pressure diff --git a/vendor/stmicroelectronics/steval-astra1b.yaml b/vendor/stmicroelectronics/steval-astra1b.yaml index ef079ea7a8..35ad2067ef 100644 --- a/vendor/stmicroelectronics/steval-astra1b.yaml +++ b/vendor/stmicroelectronics/steval-astra1b.yaml @@ -41,7 +41,7 @@ firmwareVersions: id: steval-astra1b-profile-16 lorawanCertified: false codec: steval-astra1b-codec -devicetype: devkit +deviceType: devkit sensors: - accelerometer - gyroscope diff --git a/vendor/tektelic/t0006377-memo.yaml b/vendor/tektelic/t0006377-memo.yaml index d39de1c717..491a734abd 100644 --- a/vendor/tektelic/t0006377-memo.yaml +++ b/vendor/tektelic/t0006377-memo.yaml @@ -20,7 +20,7 @@ firmwareVersions: lorawanCertified: false codec: t0006086-codec -devicetype: cots +deviceType: cots # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/tektelic/t0006377-tempo.yaml b/vendor/tektelic/t0006377-tempo.yaml index 073b1dedf0..e514599dcc 100644 --- a/vendor/tektelic/t0006377-tempo.yaml +++ b/vendor/tektelic/t0006377-tempo.yaml @@ -20,7 +20,7 @@ firmwareVersions: lorawanCertified: false codec: t0006086-codec -devicetype: cots +deviceType: cots # Dimensions in mm (optional) # Use width, height, length and/or diameter diff --git a/vendor/the-things-industries/generic-node-sensor-edition.yaml b/vendor/the-things-industries/generic-node-sensor-edition.yaml index 3f3933cca4..dc04ccf0c1 100644 --- a/vendor/the-things-industries/generic-node-sensor-edition.yaml +++ b/vendor/the-things-industries/generic-node-sensor-edition.yaml @@ -18,7 +18,7 @@ firmwareVersions: lorawanCertified: false codec: generic-node-sensor-edition-codec -devicetype: devkit +deviceType: devkit sensors: - accelerometer diff --git a/vendor/the-things-products/the-things-uno.yaml b/vendor/the-things-products/the-things-uno.yaml index 2902b942ce..245924d07d 100644 --- a/vendor/the-things-products/the-things-uno.yaml +++ b/vendor/the-things-products/the-things-uno.yaml @@ -29,7 +29,7 @@ firmwareVersions: lorawanCertified: true codec: the-things-uno-codec-quickstart -devicetype: devkit +deviceType: devkit keyProvisioning: - custom