Skip to Content
ConfigurationsCondition BLE Sensor

🌡️ BLE Temperature & Humidity Sensor (Rinho Condition)

Reads temperature, humidity and battery from a Rinho Condition (L02S) sensor over Bluetooth Low Energy and sends all three values in every report, on top of basic tracking by time, heading, ignition and battery voltage.

The same .txt works in WebSerial (sent as-is over USB) and in the Configurator (Import button: it recognises labels and rules and lets you adjust everything from the UI).


Features

FeatureValue
SensorRinho Condition (L02S) on BS00, type 10 (Sensor info), 120 s timeout
ReportUC00 = standard HQ report + temp (°C), hum (%), bat (mV)
Periodicevery 30 s with ignition · every 30 min without ignition
Eventsheading change ≥ 30°, ignition ON/OFF, battery low / OK / disconnected
ProtocolTAIP UDP on MAIN and BACK, 60 s keep alive
RequiresSpider/Smart IoT with Nimble firmware, or Zero IoT (this config turns WiFi off)

Prepare the sensor

From the BeaconX Pro app, with the sensor powered on:

  1. SLOT1 with Frame type Sensor info (the factory setting) → that is what the device reads as type 10
  2. Tx power +6 dBm and Ranging data -58 dBm for more range, then save
  3. Write down the MAC (shown in the scan list without connecting): it is entered without the colons
SLOT1 in BeaconX Pro: Sensor info, Tx power +6 dBm, Ranging data -58 dBm
SLOT1 in BeaconX Pro: Sensor info, Tx power +6 dBm, Ranging data -58 dBm

The step-by-step walkthrough with a screenshot of every screen is in the BLE Sensors guide.


What to change before sending

The four lines marked [CAMBIAR] in the file:

LineWhat to enter
>SBS00E,D44A85BF3DD5,10,120,0<Your sensor’s MAC (12 hex characters, no :) instead of D44A85BF3DD5
>SIP0"..."< and >SIP1"..."<Host and port of your platform (MAIN channel)
>SIP4"..."< and >SIP5"..."<Backup server (BACK); if you don’t use one, repeat the MAIN server
>SCXAPN...<Your carrier’s APN

Load it into the device: over USB with WebSerial (file button 📄, or the 🔌 button on the block below), or in the Configurator  with Import → adjust → Send.

A malformed MAC makes the device reject the SBS without storing anything: check that it answers RBS00E,....


Full configuration

This configuration clears all rules, timers, thresholds, waypoints and regions before loading its own. If the device already has a configuration you want to keep, take only the Bluetooth, BLE sensor, User report and Rules blocks.

// ============================================================================ // BLE TEMPERATURE & HUMIDITY SENSOR - RINHO CONDITION (L02S) // ============================================================================ // Before sending, change: MAC in SBS00, servers SIP0/1/4/5 and APN. // ============================================================================ // @rinho v2 // @rinho tag=CONDITION_BLE // @rinho models=zero,spider,smart // --- TAG --- >STAGCONDITION_BLE< // --- IP PROTOCOL: MAIN=TAIP UDP, BACK=TAIP UDP, window=5 --- >SCXIPPP5< // --- SERVERS --- // [CHANGE] MAIN >SIP0"tracking.mycompany.com",5000< >SIP1"tracking.mycompany.com",5000< // [CHANGE] BACK (optional) >SIP4"backup.mycompany.com",5000< >SIP5"backup.mycompany.com",5000< // Keep Alive every 60s on BACK >SKA60,B< // --- WIFI: disabled (on Zero IoT this frees the radio for BLE) --- >SCXWIF0,0,0< // --- CELLULAR --- >SSSCELPWR11< >SCOPS0< // [CHANGE] APN for your carrier (example: Claro Argentina) >SCXAPNigprs.claro.com.ar,clarogprs,clarogprs999< >SCXSIM0< >SCXSMS0100000< // --- DATALOG: all, FIFO --- >SCXDL1,ALL,0,0,0< // --- GPS: mode S1, fix>=3D, PDOP<=1, sats>=5 --- >SCXGPS1< >SCXCQ30105< // --- IGNITION: normal, ON 3.0s, OFF 10.0s --- >SCXIGN0,30,100< // --- INPUT DEBOUNCE: 100ms --- >SIT0000010001< >SIT0100010001< >SIT0200010001< >SIT0300010001< >SIT0400010001< >SIT0500010001< >SIT0600010001< >SIT0700010001< // --- ONEWIRE: disabled --- >SCXOW0,0< // --- OUTPUTS: disabled --- >SCXXP00999999999999< >SCXXP01999999999999< >SCXXP02999999999999< // --- GRADUAL CUT-OFF --- >SGCD,0,30,4,180< // --- BLUETOOTH: on --- >SSSBTHPWR11< // --- BLE SENSOR --- // @label BS00 Rinho Condition // [CHANGE] sensor MAC (12 hex, no ":") · type 10 = Sensor info · 120 s timeout >SBS00E,D44A85BF3DD5,10,120,0< // --- TIMERS --- >STD**D< >STD00E0003000000< // TD00: 30 s with ignition >STD01E0180000000< // TD01: 30 min without ignition // --- HEADING CHANGE: 30° --- >SDC00*030< // --- SPEED: no thresholds --- >SVL**D< // --- VEHICLE VOLTAGE --- >SAR0006+0550+1050100< // AR00: low battery 5.5V–10.5V >SAR0106+1100+9999100< // AR01: battery OK 11V+ >SAR0206+0000+0500100< // AR02: disconnected 0V–5V // --- USER TRIGGERS: clear --- >SUV*55AA< // --- USER REPORT: HQ + temp + hum + bat --- // @label UC00 HQ report + sensor temperature, humidity and battery >SUC00 $RHQ| #| QHQ,5|$temp:| QBS00.temp,0|$hum:| QBS00.hum,0|$bat:| QBS00.batt,0< // --- DRIVER MANAGER: clear --- >SICL*55AA< // --- RULES --- >SRL**D< // @rule 00 Periodic with ignition >SRL00E;TRG=TD00+;CND=IGN;ACC={GU000H;@LOG}< // @rule 01 Periodic without ignition >SRL01E;TRG=TD01+;CND=IGN!;ACC={GU001H;@LOG}< // @rule 02 Heading change >SRL02E;TRG=DC00+;CND=IGN;ACC={GU002H;@LOG}{STD00R}{STD01R;@LOG}< // @rule 03 Ignition on >SRL03E;TRG=IGN+;ACC={GU003H;@LOG}< // @rule 04 Ignition off >SRL04E;TRG=IGN-;ACC={GU004H;@LOG}< // @rule 05 Low battery >SRL05E;TRG=AR00+;ACC={GU005H;@LOG}< // @rule 06 Battery OK >SRL06E;TRG=AR01+;ACC={GU006H;@LOG}< // @rule 07 Battery disconnected >SRL07E;TRG=AR02+;ACC={GU007H;@LOG}< // --- WAYPOINTS AND REGIONS: clear --- >SWP**D< >SRG*55AA<

Rules explained

RuleTriggerConditionActionEvent
RL00TD00+ (30 s)Ignition ONGU000H00
RL01TD01+ (30 min)Ignition OFFGU001H01
RL02DC00+ (heading ≥ 30°)Ignition ONGU002H + restart TD00 and TD0102
RL03IGN+GU003H03
RL04IGN-GU004H04
RL05AR00+ (5.5–10.5 V)GU005H05
RL06AR01+ (≥ 11 V)GU006H06
RL07AR02+ (0–5 V)GU007H07

GU0nnH generates user report UC00 with event nn and high priority; @LOG also stores it in the DataLog.

Event table

EventDescription
00Periodic, ignition on (every 30 s)
01Periodic, ignition off (every 30 min)
02Heading change
03Ignition on
04Ignition off
05Vehicle battery low
06Vehicle battery OK
07Vehicle battery disconnected

Customisation

Immediate high-temperature alert

A user trigger (UV) watches QBS00.temp and a rule reports when the threshold is crossed (example: 8 °C, cold chain):

// UV00: active when temperature exceeds 8.0 °C >SUV00FQBS00.temp,0,10,80,9999< // Event 08 when exceeded, event 09 when back to normal >SRL08E;TRG=UV00+;ACC={GU008H;@LOG}< >SRL09E;TRG=UV00-;ACC={GU009H;@LOG}<

Add a second sensor

One Rinho Condition per trailer zone (up to 4, BS00 to BS03):

>SBS01E,AABBCCDDEEFF,10,120,0< // Report with both sensors >SUC00 $RHQ| #| QHQ,5|$t1:| QBS00.temp,0|$h1:| QBS00.hum,0|$t2:| QBS01.temp,0|$h2:| QBS01.hum,0<

For the door (Hall) sensor (mag_st attribute) and other BLE sensors, see the BLE Sensors guide.


Verification

// Is the sensor visible yet? >QBS00< >RBS00E,D44A85BF3DD5,10,120,0,;mag_st:0,mot_st:0,mag_cnt:0,mot_cnt:0,x:12,y:-8,z:1010,temp:23.5,hum:45.0,batt:3012,tag:000001,rssi:-61,type:10,age:2;ID=... // Individual values >QBS00.temp< // 23.5 (°C) >QBS00.hum< // 45.0 (%) >QBS00.batt< // 3012 (mV) // Generate the report manually (UC00, event 00) >GU000H<

Every report is a standard HQ followed by the three sensor fields:

RHQ00<HQ position>,temp:23.5,hum:45.0,bat:3012

In SUC00, $RHQ and # build the header with the event number, QHQ,5 appends the body of the HQ report, and each $label: + QBS00.attribute,0 pair adds one field (the leading space suppresses the comma before the value). Full syntax in UC Command.

ProblemCauseSolution
QBS00 without temp/humBS type does not match the slot frameSensor info → type 10; T&H → type 7
Empty fields in the reportMore than 120 s without signalMove the sensor closer, Tx power +6 dBm, check the battery
Spider/Smart sees no sensorsFirmware without BLELoad the Nimble firmware (guide)
Zero IoT sees no sensorsWiFi still on>SSSWIFPWR00< then >SSSBTHPWR11<

Command reference

CommandDescriptionDocumentation
SBS / QBSBLE sensorsBS IoT Command
SUCUser reportsUC Command
GU0Generate a user reportG Command
STDTimersTD Command
SDCHeading changeDC Command
SARAnalog thresholdsAR Command
SRLEvent engine rulesRL Command
SUVUser triggersUV Command

See also

Last updated