diff --git a/vendor/arwin-technology/as923-profile.yaml b/vendor/arwin-technology/as923-profile.yaml new file mode 100755 index 0000000000..ce474a525d --- /dev/null +++ b/vendor/arwin-technology/as923-profile.yaml @@ -0,0 +1,52 @@ +# 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: 2 + +# 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: 1 +# RX1 data rate offset +#rx1DataRateOffset: 0 +# RX2 data rate index +#rx2DataRateIndex: 0 +# RX2 frequency (MHz) +#rx2Frequency: 923.2 +# Factory preset frequencies (MHz) +#factoryPresetFrequencies: [923.2, 923.4, 923.6, 923.8, 924.0, 924.2, 924.4, 924.6] + +# 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/arwin-technology/eu868-profile.yaml b/vendor/arwin-technology/eu868-profile.yaml new file mode 100755 index 0000000000..711231155b --- /dev/null +++ b/vendor/arwin-technology/eu868-profile.yaml @@ -0,0 +1,52 @@ +# 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/arwin-technology/index.yaml b/vendor/arwin-technology/index.yaml new file mode 100755 index 0000000000..07e4ed7250 --- /dev/null +++ b/vendor/arwin-technology/index.yaml @@ -0,0 +1,7 @@ +# This example contains just one end device: windsensor. It is referenced here in the index. + +endDevices: + # Unique identifier of the end device (lowercase, alphanumeric with dashes, max 36 characters) + - lrs20100 # LRS20100 LoRaWAN temperature/humidity sensor + - lrs20310 # LRS20310 LoRaWAN water leak sensor + - lrs20600 # LRS20600 LoRaWAN open close sensor diff --git a/vendor/arwin-technology/lrs20100-codec.yaml b/vendor/arwin-technology/lrs20100-codec.yaml new file mode 100755 index 0000000000..18b68d3c41 --- /dev/null +++ b/vendor/arwin-technology/lrs20100-codec.yaml @@ -0,0 +1,39 @@ +# Uplink decoder decodes binary data uplink into a JSON object (optional) +# For documentation on writing encoders and decoders, see: https://www.thethingsindustries.com/docs/integrations/payload-formatters/javascript/ +uplinkDecoder: + fileName: lrs20100.js + examples: + - description: 23 C, 58% RH, battery 90%, heartbeat + input: + fPort: 10 + bytes: [1, 1, 90, 0, 230, 2, 68, 0, 0] + output: + data: + event: heartbeat + battery: 90 + temperature: 23.0 + humidity: 58.0 + - description: Firmware version 1.00.001 + input: + fPort: 8 + bytes: [1, 0, 0, 1] + output: + data: + firmwareVersion: '1.00.001' + - description: Device settings, data upload interval = 15 min + input: + fPort: 12 + bytes: [1, 0, 15, 0, 1] + output: + data: + dataUploadInterval: 15 + - description: High temperature threshold 40C, Low temperature threshold 10C, High humidity threshold 95%, Low humidity threshold 35% + input: + fPort: 13 + bytes: [1, 0, 40, 0, 10, 95, 35] + output: + data: + highTemperatureThreshold: 40 + lowTemperatureThreshold: 10 + highHumidityThreshold: 95 + lowHumidityThreshold: 35 diff --git a/vendor/arwin-technology/lrs20100.jpg b/vendor/arwin-technology/lrs20100.jpg new file mode 100755 index 0000000000..716db99322 Binary files /dev/null and b/vendor/arwin-technology/lrs20100.jpg differ diff --git a/vendor/arwin-technology/lrs20100.js b/vendor/arwin-technology/lrs20100.js new file mode 100755 index 0000000000..de971d6192 --- /dev/null +++ b/vendor/arwin-technology/lrs20100.js @@ -0,0 +1,78 @@ +var lrs20100_events = ['heartbeat', 'rsvd', 'temperature_high', 'temperature_low', 'humidity_high', 'humidity_low']; + +function hex2dec(hex) { + var dec = hex&0xFFFF; + if (dec & 0x8000) + dec = -(0x10000-dec) + return dec; +} + +function decodeUplink(input) { + switch (input.fPort) { + case 10: // sensor data + switch (input.bytes[0]) { + case 1: // LRS20100 + var evt=""; + for (let i=0; i<8; i++) { + if ((0x01< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/vendor/arwin-technology/us915-profile.yaml b/vendor/arwin-technology/us915-profile.yaml new file mode 100755 index 0000000000..eaec29b80c --- /dev/null +++ b/vendor/arwin-technology/us915-profile.yaml @@ -0,0 +1,52 @@ +# 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: 1 + +# 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: 30 +# 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/index.yaml b/vendor/index.yaml index a69be53d71..f424b32059 100644 --- a/vendor/index.yaml +++ b/vendor/index.yaml @@ -1981,3 +1981,9 @@ vendors: - id: watteco name: WATTECO vendorID: 296 + + - id: arwin-technology + name: Arwin Technology Limited + website: https://www.senso8.com/ + logo: senso8-logo.svg + linkedin: https://www.linkedin.com/company/arwin-technology-limited/ diff --git a/vendor/micropelt/index.yaml b/vendor/micropelt/index.yaml index 6f70db16d2..d9ba6769ad 100644 --- a/vendor/micropelt/index.yaml +++ b/vendor/micropelt/index.yaml @@ -1,4 +1,4 @@ endDevices: # Unique identifier of the end device (lowercase, alphanumeric with dashes, max 36 characters) - mlr003 # look in mlr003.yaml for the end device definition - - mlrtps01 # look in mlrtps01.yaml for end device definition + - mlrtps1 # look in mlrtps1.yaml for end device definition diff --git a/vendor/micropelt/mlrtps01-codec.yaml b/vendor/micropelt/mlrtps1-codec.yaml similarity index 98% rename from vendor/micropelt/mlrtps01-codec.yaml rename to vendor/micropelt/mlrtps1-codec.yaml index 7c5dae72a0..f15958b22b 100644 --- a/vendor/micropelt/mlrtps01-codec.yaml +++ b/vendor/micropelt/mlrtps1-codec.yaml @@ -1,7 +1,7 @@ # Uplink decoder decodes binary data uplink into a JSON object (optional) # For documentation on writing encoders and decoders, see: https://thethingsstack.io/integrations/payload-formatters/javascript/ uplinkDecoder: - fileName: mlrtps01.js + fileName: mlrtps1.js # Examples (optional) examples: - description: REV1.0 Example 1 diff --git a/vendor/micropelt/mlrtps01-profile.yaml b/vendor/micropelt/mlrtps1-profile.yaml similarity index 100% rename from vendor/micropelt/mlrtps01-profile.yaml rename to vendor/micropelt/mlrtps1-profile.yaml diff --git a/vendor/micropelt/mlrtps01.jpg b/vendor/micropelt/mlrtps1.jpg similarity index 100% rename from vendor/micropelt/mlrtps01.jpg rename to vendor/micropelt/mlrtps1.jpg diff --git a/vendor/micropelt/mlrtps01.js b/vendor/micropelt/mlrtps1.js similarity index 100% rename from vendor/micropelt/mlrtps01.js rename to vendor/micropelt/mlrtps1.js diff --git a/vendor/micropelt/mlrtps01.yaml b/vendor/micropelt/mlrtps1.yaml similarity index 92% rename from vendor/micropelt/mlrtps01.yaml rename to vendor/micropelt/mlrtps1.yaml index de0381bb84..3142b69cd6 100644 --- a/vendor/micropelt/mlrtps01.yaml +++ b/vendor/micropelt/mlrtps1.yaml @@ -1,5 +1,5 @@ -name: MLRTPS01 -description: MLRTPS01 is a wall mount thermostat with presence detection and temperature set point. It is an 868MHz LoRaWAN® Class A device operating in SF7BW125. +name: MLRTPS1 +description: MLRTPS1 is a wall mount thermostat with presence detection and temperature set point. It is an 868MHz LoRaWAN® Class A device operating in SF7BW125. # Hardware versions (optional, use when you have revisions) hardwareVersions: @@ -25,9 +25,9 @@ firmwareVersions: # If vendorID is empty, the current vendor ID is used. In this example, the vendorID is the current vendor ID, # which is verbose. # Identifier of the profile (lowercase, alphanumeric with dashes, max 36 characters) - id: mlrtps01-profile + id: mlrtps1-profile lorawanCertified: true - codec: mlrtps01-codec + codec: mlrtps1-codec # Sensors that this device features (optional) # Valid values are: @@ -73,7 +73,7 @@ productURL: https://www.micropelt.com/en/products/lorawan/mlr003-2 # Photos photos: - main: mlrtps01.jpg + main: mlrtps1.jpg # Regulatory compliances (optional) compliances: