1Introduction
Square Presence detects whether people are in a room, and reports it over LoRaWAN. Its infrared sensor sees the warmth of a person within a lobe of ±40°, up to 4 m away, so it notices both somebody walking in and somebody sitting still at a desk or in a meeting. It also measures temperature, humidity and ambient light. It is 58 × 58 × 15 mm, for dry indoor rooms (IP30), and has two small holes in its front: the left one for the infrared sensor, the right one an air opening.
A built-in memory logs the readings while the sensor has no network, and uploads them over LoRaWAN once it is connected again, so no data is lost. Wi-Fi positioning can tell you where each sensor is. The battery is built in (4,000 mAh) and lasts well over ten years.
It works with any LoRaWAN network server (LoRaWAN 1.0.4, class A, OTAA) and reaches up to 10 km in line of sight. What it measures, when it reports and what it sends is decided by an application running inside the sensor, on Sensative’s Virtual Sensing Machine (VSM). This manual describes the application Presence 2026, which can be configured, and replaced by a newer version, over the air or with NFC. Sensative can also offer alternative VSM applications for the same sensor, which give it a different task; see Which application is in the sensor.
What’s in the box
- Square Presence, with the adhesive already on the back
The keys (DevEUI and AppKey) come with the delivery information. The Square screw mounting kit is sold separately.
Parts of the sensor
2Before you start
A LoRaWAN sensor needs a little more preparation than a sensor that pairs with a hub. Have this ready first:
You need
- A LoRaWAN gateway within range, powered on and online
- An account on a LoRaWAN network server (for example The Things Network, ChirpStack, Loriot or Actility), with the gateway added to it
- The keys for the sensor: its DevEUI and AppKey, from the delivery information. The JoinEUI is the same for all Square sensors:
70B3D52C0001D4C3. - A phone with NFC, to start the sensor. Most smartphones have it; an iPhone needs an NFC reading app (see Finding the NFC antennas).
- A payload decoder for Sensative VSM sensors in your network server or application (see Decoding the messages)
Choosing the place
Where you put Square Presence decides how well it works. Check the place against these three rules.
Keep it away from heat and cold sources. The sensor reads body warmth, so its surroundings must be stable. Do not put it:
- in sunlight
- near radiators or heaters
- in the airflow from ventilation, air conditioning or an air-to-air heat pump
- on top of or on equipment whose temperature varies, such as a ventilation unit
- near a door or window whose opening changes the temperature right at the sensor
Aim it at the people. The sensor sees people within a lobe of ±40°, up to 4 m away.
- Mount it on a wall, typically at 1.5 to 1.8 m, where it faces the people, so that the people in the room are inside the lobe.
- Do not point it at windows, TVs, radiators or anything else that radiates heat: they can give false detections.
Give it a clear view of the people.
- Place it so that the lobe gets the best possible view of the people in the room.
- Keep the space between the sensor and the people clear: no chair backs, screens or partitions in between.
Also:
- Indoors only: the sensor is IP30, for dry indoor rooms.
- Both front holes free: the left one, the infrared sensor, needs a clear view; the right one, the air opening, needs free air.
- Range: up to 10 km in open line of sight, much less through walls and floors
- Metal is fine: unlike Strips, a Square sensor can be mounted on metal without much effect on the radio. Avoid only closed metal enclosures, such as a shut steel cabinet.
Finding the NFC antennas
NFC only reaches a couple of centimetres, so lay the phone flat against the sensor, antenna over antenna. You need to know where both antennas are, and the easiest way to find the spot is to move the phone slowly over the right area until the phone signals contact:
- On the sensor: at the lower left of the front, with the logo along the bottom edge.
- On an Android phone (recommended): switch NFC on, and turn on vibration or a sound for NFC in the phone’s settings, so that the phone tells you as soon as it has found the sensor. The antenna is usually on the back, near the top, often close to the camera, but it varies between models: the phone’s manual or the maker’s website shows where it is. If you cannot find it, move the back of the phone slowly over the sensor’s lower left corner until the phone vibrates.
- Take off the phone case: a protective case, especially a thick one or one with metal or a magnet, can make it hard to get NFC contact. Remove it while you work with the sensor.
- Then hold it still: to start a join, keep the phone still over the sensor for about 5 seconds. The vibration only means the phone has found the sensor. Keep the phone where it is until the sensor and the app have finished talking. With the Hugin app this takes a few seconds, because the app first unlocks the sensor through Sensative’s server. If you move away too early, the connection breaks and you have to start again.
- On an iPhone: use an NFC reading app, such as NFC Reader & Scanner from the App Store. Open it and tap its NFC button, so that it shows Ready to Scan, before you touch the sensor. The iPhone’s antenna is at the top edge of the back. Hold that edge against the sensor’s lower left corner and keep it still; when the read succeeds, a web link with the sensor’s serial number opens. The iPhone NFC join guide (PDF) shows each step with pictures.
3Step by step: from box to ready
8 steps. Register the sensor in the network server before you hold the phone to it. Then join it, check the settings, and mount it last.
Unpack
Check the sensor and find its keys. The sensor sleeps until it meets an NFC field.
Register the sensor in the network server
- Add a new end device in your network server, with activation OTAA.
- Use these LoRaWAN settings: MAC version 1.0.4, regional parameters RP002-1.0.3, max EIRP 14 dBm, and the frequency plan for your region.
- Enter the DevEUI and the AppKey from the delivery information, and the JoinEUI
70B3D52C0001D4C3. Check them carefully: one wrong character and the join fails. - Set up decoding of the messages (see Decoding the messages).
Join the network with NFC
Hold the phone over the lower left corner of the front of Square Presence and keep it still for about 5 seconds: that starts the join (see Finding the NFC antennas, also for iPhone). The phone may show a web link with the sensor’s serial number; you do not need to open it.
Check the signal where it will sit
Put the sensor at the place where it will be mounted, and look at its messages in the network server: the join, and the first reports.
Configure (optional)
Square Presence comes with the Presence application. With the default settings it reports the room occupied as soon as somebody is detected, and free when the warmth has fallen back, or at the latest after one hour without any movement. It averages temperature and humidity over 60 minutes and reports the battery level once a week. Light reporting is off until you set an Average Lux Report Interval. Change the settings if you need something else, for example light readings or a shorter wait before the room is reported free.
How to change them: see Changing the settings, the settings table and the worked examples.
Install
Placement decides how well Square Presence works. Before you fix it, check the place against the rules in Before you start:
- On a wall, typically at 1.5 to 1.8 m
- The front faces the people, and they are inside the lobe: ±40°, up to 4 m
- Nothing in between: no chair backs, screens or partitions
- Not pointing at windows, TVs, radiators or anything else that radiates heat
- No sun, radiator or heater at the sensor, and not in the airflow from ventilation, air conditioning or a heat pump
- Not on equipment whose temperature varies, and not next to a door or window that changes the temperature at the sensor
Then mount it in one of two ways:
- Adhesive: the surface must be clean and dry. Peel the film off the adhesive on the back and press the sensor firmly in place, with the front facing the people.
- Screws, with the Square screw mounting kit (sold separately): two 2 mm adhesive plates on a marking foil. Use the foil to mark the drill holes, either beside the sensor or hidden behind it (then use ultra-low-profile flat-head screws). Screw the plates on with the thick adhesive side towards you, peel the films off the plates and the sensor, check the alignment, and press the sensor firmly onto the plates.
Test
Walk into the sensor’s view and stay there. With the default settings the room is reported occupied at once. Sit still for a few minutes: it stays occupied. Then leave the room.
Ready
- Registered in the network server, with the JoinEUI and the right region
- Joined with NFC, and the messages are decoded
- Signal checked at the final spot: SF9 or better
- Settings checked, or changed as needed
- Mounted facing the people, away from heat, cold and airflow, with the two front holes free
- Occupied and free arriving
4Using the sensor
The Presence application reports whether the room is free or occupied, and the room climate: average temperature and humidity, and light if you switch it on. The settings named in bold are listed in the settings table.
How presence is detected
Square Presence has an infrared sensor behind the left hole in its front, seen face up. It sees the warmth of people in its field of view, a lobe of ±40° up to 4 m away, and the application looks at it once a minute.
- Someone enters: the room counts as occupied when the infrared reading jumps by more than the Entry Step between two measurements and stands more than the Occupied Level above the level of the empty room. With Fast Detection on, the default, the sensor reports occupied at once; with it off, it waits three minutes.
- Someone sits still: three minutes into an occupancy, the sensor takes note of how warm the occupied room is. The room stays occupied as long as that warmth is there, even if nobody moves.
- The room empties: the room is reported free when enough of the warmth the occupancy added has disappeared, as set by the Release Level. It is also reported free when no movement at all has been seen for the Quiet Release Time, one hour by default.
- What is sent: a message when the room changes between free and occupied, sent confirmed. With Decision Info on, the sensor also sends the state and the readings behind it, for tuning a room.
Field of view and what blocks it
The infrared sensor looks out through the left hole in the front, seen face up, and needs a free line of sight to the people it should detect. Keep that hole uncovered. The right hole is the air opening; it needs free air, so do not cover it either. Chair backs, screens, partitions and glass between the sensor and the people block it: infrared does not pass through glass. Windows, TVs, radiators and anything else that radiates heat in the view can give false detections, and so can sun, airflow or a door near the sensor (see Choosing the place, in Before you start).
Temperature, humidity and light
- Temperature and humidity: the sensor averages both over the Temperature and Humidity Interval, 60 minutes by default, and then sends the average temperature, and the average humidity when it has changed. Both are sent confirmed. Set the interval to 0 to switch temperature and humidity off: the sensors are then not read and nothing is sent.
- Light: off by default. Set the Average Lux Report Interval to switch it on. The sensor then works out the average light level, in lux, over that interval and sends it, confirmed, when it has changed. The light sensor sits behind the front, roughly in the middle, so do not cover the middle of the front or stick labels on it.
Battery and position
Once a week the sensor estimates its remaining battery and sends it as a percentage, confirmed. The estimate is based on the measured running time and the power used by the processor, radio and sensors. Square Presence positions itself by Wi-Fi only. Once a day, while joined, it scans for Wi-Fi access points and sends the result. A cloud geo-solving service, such as the one in Yggio or Munin, turns the scan into a position.
Logged data
Readings taken while the sensor has no network are stored in its memory and sent over LoRaWAN when it is connected again, each with the time it was recorded. The Hugin NFC app cannot read the log out.
How Wi-Fi positioning works
- 2.4 GHz only: the radio scans only the 2.4 GHz band (2412–2484 MHz). Networks that broadcast only on 5 GHz are not seen.
- Passive: the sensor listens for nearby Wi-Fi access points (802.11 b/g/n) and records their MAC addresses and signal strength (RSSI). It does not connect to any network, needs no password and sends nothing over Wi-Fi. The addresses travel in the LoRaWAN uplink.
- How many: at least 2 access points are needed for a position, and more give a better one.
- The position: a cloud service that supports Wi-Fi positioning is needed for a position, for example Yggio (Munin and LoRa Cloud can also do this). It looks the addresses up in a database of mapped access points and returns the position.
- Accuracy: depends on how many known access points are around: typically 5–20 m indoors. With only one or two, expect the area rather than the room. Adding low-cost 2.4 GHz access points improves it.
- Wi-Fi only: Square Presence has no satellite positioning.
Network
- Confirmed messages: presence changes, the averages and the battery level are acknowledged by the network server, and the sensor sends them again if no acknowledgement arrives.
- Rejoining: if the sensor is not joined, it tries to join once every 24 hours. An NFC touch, as in step 3, starts a join attempt at once.
- Losing the network: the sensor gives the network up if it hears nothing from it for the Downlink Timeout (four days by default in this application; see Device registers).
Decoding the messages
The messages are compact binary records, and their meaning depends on the application version. Decode them with a VSM-aware decoder:
- Yggio decodes them with its built-in VSM translator, and keeps track of each sensor’s application version.
- Other platforms: use Munin, Sensative’s open-source MQTT client. It decodes the messages for any network server, keeps the device state the decoder needs and the device time up to date, and solves Wi-Fi positions.
- Your own integration: the open-source VSM translator is the decoder that Munin uses, available as a Node package. It needs two things from you: it must be able to store at least the rulesCrc32 for each sensor between messages, and it must be kept up to date, since new application versions are released without notice. Storing the whole result of the previous message also gets logged data timed correctly.
Changing the settings
There are two ways: over the air, with downlinks from your network server, or on site with the Hugin NFC app. Both usually start in the VSM Configuration Tool, which makes the downlinks for you.
- Pick the application: by name and version, or by the rulesCrc32 from the sensor’s port 15 message (see Which application is in the sensor).
- Choose a configuration: a released profile from the Profile Library (none are released for this application, see Released profiles), or Custom to set your own values. Each setting shows its description, unit and range.
- Take the result: one or more downlinks for port 2, or a single payload for port 7, in hex or base64, to send from your network server. Or a QR code to scan with the Hugin NFC app, which then writes the configuration to the sensor on site.
5The Hugin NFC app
Hugin is an optional Android app for working with the sensor on site, over NFC. It needs an Android phone with NFC and GPS, and an Yggio user account. The sensor must also be registered in Yggio with your organisation as its owner: Hugin checks this with Yggio before it lets you work with the sensor. Hold the phone to the sensor as in Finding the NFC antennas. The app then shows the serial number, the application and its version, the state (for example joined), battery, link and region information, and the DevEUI. Depending on your rights in Yggio, it can read and apply configuration profiles, including one scanned as a QR code from the VSM Configuration Tool, and update the device time and position.
Installation, sign-in, flashing and troubleshooting are in the Hugin NFC app manual.
6Maintenance and removal
Battery
The battery is built in (4,000 mAh) and lasts well over ten years with the default settings in a good network (SF7–SF9). Frequent reporting and a weak link shorten it.
Removing Square Presence
Slide dental floss behind the sensor and saw gently through the adhesive.
Moving to another network server
Delete the device from the old network server and add it to the new one. The sensor gives the old network up once it has heard nothing from it for the Downlink Timeout (four days by default in this application), and then joins the new one by itself, since it tries to join once a day. An NFC touch, as in step 3, starts the join at once. With the Hugin app you can restart it at once instead (Toggle On/Off), but that also resets any custom settings.
Storage and disposal
- Store unused sensors at +10 to +30 °C.
- The sensor contains a non-replaceable lithium manganese dioxide (LiMnO₂) battery, one of the most stable lithium chemistries. Do not open the sensor, and do not puncture it or heat it above +80 °C.
- When the battery is empty, dispose of the whole sensor as a battery, for recycling. Near the end of its life the battery normally swells a little; this is expected.
7Troubleshooting
| Problem | What to do |
|---|---|
| Shows occupied when nobody is there | Something other than people changes the warmth the sensor sees. Look for sun on or near the sensor; a radiator or heater nearby; airflow from ventilation, air conditioning or a heat pump; a door or window opening nearby; and windows, TVs or other warm things in view. Move or turn the sensor (see Choosing the place, in Before you start), or raise the Occupied Level. Decision Info shows the readings behind each decision. |
| Misses people | Check that the people are inside the lobe, ±40° and up to 4 m, and that nothing is in between: chair backs, screens or partitions. Check that the left hole in the front, the infrared sensor, is uncovered. If that is all right, lower the Entry Step or the Occupied Level. |
| Stays occupied after everyone has left | The room is reported free when the warmth has fallen back, or at the latest after the Quiet Release Time without any movement, one hour by default. Shorten the Quiet Release Time if that is too long. |
| Occupied is reported three minutes late | Fast Detection is off. Set it to 1. |
| No light readings | Light is off by default. Set the Average Lux Report Interval. |
| No temperature or humidity | Check that the Temperature and Humidity Interval is not 0. The first averages arrive one interval after the join. |
| No position, or a poor one | A position needs a cloud service that supports Wi-Fi positioning, for example Yggio, and enough 2.4 GHz access points that the service knows; networks on 5 GHz only are not seen. See How Wi-Fi positioning works. |
| Nothing happens when I hold the phone to it | Check that NFC is on and the phone case is off. Lay the phone flat against the lower left corner and move it slowly until it signals contact, then hold it still (see Finding the NFC antennas). |
| Join Request in the network server, but no Join Accept | Check the keys, the JoinEUI 70B3D52C0001D4C3, the LoRaWAN version (1.0.4), the regional parameters (RP002-1.0.3) and the frequency plan. In US915 and AU915, the sub-band must match the gateway. |
| Nothing at all in the network server | Check that the gateway is on and online, and that the sensor is in range and not inside a closed metal enclosure. Then start a new join with NFC, as in step 3. |
| “MIC mismatch” | The keys are wrong. Check that they belong to this sensor and are typed correctly. |
| Messages arrive, but the decoder shows no readings | The decoder has usually missed the application identity: send 00 on port 15, and check that the decoder is up to date (see Which application is in the sensor). |
| The Hugin app loses the connection | Hold the phone still until the app has finished (see Finding the NFC antennas). |
| A new setting has no effect | A downlink arrives only after the sensor’s next message, and later on a busy network (see Changing the settings). Check that it is still queued, and that it was made for the rulesCrc32 your sensor reports. |
| Messages missing or irregular | Check RSSI and SNR. The sensor may be too far from the gateway, or shut inside metal. Some channels can also be disturbed by interference on the same frequency band, for example from a nearby cellular transmitter or an RFID reader. |
8Technical reference
For integrators. The values below are for the application Presence 2026. Other versions can differ: check the VSM application documentation or the VSM Configuration Tool for yours.
Which application is in the sensor
Right after it has joined, the sensor sends its application identity, the rulesCrc32, on port 15. The decoder uses it to pick the right translation, and you need it to make the right downlinks. For this application it is:
| Application | Presence |
| Version | 2026 |
| rulesCrc32 | 4228601043 (hex FC0B54D3) |
If you missed the message, send 00 on port 15 and the sensor sends its identity again. The Hugin NFC app also shows the application and its version on site.
Alternative applications: besides Presence, Sensative can offer other VSM applications for the same hardware. They are available in the Hugin NFC app (Android) and can also be loaded into the sensor over LoRaWAN. Ask Sensative which applications fit your use. After a change, ask for the identity with 00 on port 15 and use the documentation for that application.
LoRaWAN and ports
| LoRaWAN | MAC 1.0.4, regional parameters RP002-1.0.3, class A, OTAA, max EIRP 14 dBm |
| JoinEUI | 70B3D52C0001D4C3 (all Square and Puck sensors) |
| Port | Direction | What it carries |
|---|---|---|
| 1 | Uplink | Presence, temperature, humidity, light and battery, and the decision information when it is switched on (see Messages) |
| 12 | Uplink | Logged data: a message stored while the sensor had no network, sent later with the time it was recorded |
| 15 | Uplink | Application identity (rulesCrc32), first thing after a join |
| 15 | Downlink | 00 asks the sensor to send its application identity again |
| 23 | Uplink | Wi-Fi scan, for positioning |
| 2 | Downlink | Settings and read requests (see Settings on port 2) |
| 2 | Uplink | The sensor’s answer: the values it now has |
| 7 | Downlink | A whole configuration in one payload (see A whole configuration on port 7) |
| 7 | Uplink | The status of that configuration: None, Applied, Error or Dirty |
Messages
Each output has an id and a scale. “Confirmed” outputs are acknowledged by the network server.
| Output | Id | Size and scale | Unit | Confirmed | Sent |
|---|---|---|---|---|---|
| presence | 80 | 1 byte | 0 = free, 1 = occupied | Yes | When the room changes between free and occupied |
| averageTemp | 90 | 2 bytes, × 0.01 | °C | Yes | Every Temperature and Humidity Interval |
| averageHumidity | 91 | 2 bytes, × 0.01 | % RH | Yes | Every Temperature and Humidity Interval, when it has changed |
| averageLux | 92 | 2 bytes | lux | Yes | Every Average Lux Report Interval, when it has changed (off by default) |
| batteryPercent | 81 | 1 byte | % (estimated) | Yes | Once a week |
| dbgState | A0 | 1 byte | 1 Free, 2 AimBusy, 3 Busy, 4 AimFree | No | Only with Decision Info on: on every state change |
| dbgTObject, dbgBaseline, dbgBusyLevel, dbgTPresence, dbgTMotion, dbgMotionLevel | B9 BB BC BA B2 B3 | 2 or 4 bytes | raw infrared units | No | Only with Decision Info on: the readings behind the decision, sent with the state |
Settings
The defaults are the values the sensor starts with. The id is what a port 2 downlink uses. All settings of this application are whole numbers and are sent as they are.
| Setting | Name in the application | Id | What it does | Unit | Range | Default |
|---|---|---|---|---|---|---|
| Fast Detection | pirFastDetect | A4 | 1: the room is reported occupied as soon as somebody is detected. 0: the sensor waits three minutes first. | on/off | 0–1 | 1 |
| Entry Step | pirPromoteDelta | B4 | How sharply the infrared reading must jump between two measurements for the sensor to detect somebody entering. A lower value makes it react to smaller changes. | raw infrared units | 1–32,767 | 200 |
| Occupied Level | pirLevelMin | B5 | How much warmer than the empty room the view must be for the room to count as occupied. A lower value makes it react to smaller changes. | raw infrared units | 1–32,767 | 150 |
| Release Level | pirReleaseQ | A3 | How much of the warmth an occupied room adds must disappear before the room is reported free, as a percentage. | % | 1–100 | 25 |
| Quiet Release Time | pirQuietRelease | BE | How long the room stays occupied with no movement detected before it is reported free. 0 switches this off. | seconds | 0–65,535 | 3,600 |
| Decision Info | pirDecisionInfo | A5 | 1: on every state change, also send the state and the readings behind it, including changes that do not change presence. 0: send only the change of presence. For tuning a room; every extra message costs battery. | on/off | 0–1 | 0 |
| Temperature and Humidity Interval | averageTempHumIntervalMinutes | B6 | The time over which temperature and humidity are averaged before they are sent. 0 switches temperature and humidity off: the sensors are not read and nothing is sent. | minutes | 0–32,000 | 60 |
| Average Lux Report Interval | averageLuxIntervalMinutes | B7 | How often the average light level is worked out, and sent when it has changed. 0 switches light off: the sensor is not read and nothing is sent. | minutes | 0–32,000 | 0 |
Device registers
This belongs to the sensor’s firmware rather than to the application, but the application uses it and it can be changed the same way. Leave it as it is unless you have a reason.
| Register | Name | Id | What it does | Unit | Range | Default |
|---|---|---|---|---|---|---|
| Downlink Timeout | LINKCHECK_TIME | D0 | How long the sensor goes without hearing from the network before it gives the network up and becomes unjoined. Any downlink, an acknowledgement included, starts the time again. From half the time on, every uplink is sent confirmed; from 80 % on, the sensor also sends link checks of its own. 0 turns the check off. | seconds | 300–2,592,000 | 345,600 (four days) |
Released profiles
No ready-made profiles are released for this application. The sensor starts with the defaults in the settings table; to change them, use Custom in the VSM Configuration Tool.
Settings on port 2
A port 2 downlink is a list of records of 5 bytes each: one byte for the setting’s id, then the value as a signed 32-bit integer, most significant byte first. All values of this application are whole numbers: a Quiet Release Time of 30 minutes is sent as 1800 (seconds). Negative values are written in two’s complement, so −10 becomes FF FF FF F6. The sensor applies the values and answers on port 2 with the values it now has.
Reading values
A port 2 downlink of one to four bytes is a read request: the sensor sends back the current value of each id in it.
| Port 2 downlink | The sensor answers with |
|---|---|
04 | Current air temperature, in hundredths of a degree |
05 | Current air humidity, in hundredths of a percent |
0B | Current light level, in lux |
BE | The Quiet Release Time now set (any setting id works the same way) |
A whole configuration on port 7
The VSM Configuration Tool can also pack a configuration into a single port 7 payload. It starts with the application’s CRC and ends with a checksum of the configuration (configCrc32). The sensor reports the result on port 7: None, Applied, Error or Dirty.
Worked example 1: Light readings and a faster climate report
Switch light on with an average every 15 minutes, and average temperature and humidity over 30 minutes instead of 60. Both examples are built from the record format above and were checked with the open-source VSM translator. Send each as a port 2 downlink.
| Setting | Value | Sent as | Record |
|---|---|---|---|
| Average Lux Report Interval | 15 min | 15 | B7 00 00 00 0F |
| Temperature and Humidity Interval | 30 min | 30 | B6 00 00 00 1E |
| Port 2 (hex) | B7 00 00 00 0F B6 00 00 00 1E |
| Port 2 (base64) | twAAAA+2AAAAHg== |
Worked example 2: A shorter wait in a meeting room
Report the room free after 30 minutes without movement, instead of one hour.
| Setting | Value | Sent as | Record |
|---|---|---|---|
| Quiet Release Time | 30 min | 1800 | BE 00 00 07 08 |
| Port 2 (hex) | BE 00 00 07 08 |
| Port 2 (base64) | vgAABwg= |
9Specifications
| Sensors | Infrared presence and motion, temperature, humidity, ambient light |
| Detection | Up to 4 m, ±40° field of view |
| Temperature accuracy | ±0.2 °C |
| Humidity accuracy | ±1.8 % RH |
| Radio | LoRaWAN 1.0.4, class A, OTAA; JoinEUI 70B3D52C0001D4C3 |
| Frequency plans | EU868 · US915 · AU915 · AS923-1 · AS923-2 · KR920 · IN865 |
| Range | Up to 10 km in line of sight |
| Configuration | NFC (Android) and over the air |
| Application | VSM application Presence (2026), rulesCrc32 4228601043 |
| Memory | Built-in data log, uploaded over LoRaWAN when the sensor connects |
| Positioning | Wi-Fi geopositioning via a cloud service |
| Battery | Built-in LiMnO2, 4,000 mAh, well over ten years |
| IP rating | IP30, indoor |
| Operating temperature | −20 to +60 °C |
| Dimensions | 58 × 58 × 15 mm |
| Weight | 55 g |
| Mounting | Adhesive, or the optional Square screw mounting kit |
10Support
- VSM Configuration Tool: vsm-lora-config-app.service.sensative.net
- VSM application documentation for this version: github.com/Sensative/vsm-application-documentation
- Munin MQTT client and decoder (open source): github.com/Sensative/vsm-mqtt-client-open-source
- VSM translator (open source): github.com/Sensative/vsm-translator-open-source
- Hugin NFC app: Sensative Docs
- Support, FAQ and downloads: sensative.com/support
- Product page and product sheet: sensative.com/sensors/square-presence
Sources: VSM application documentation on GitHub (4228601043-Presence); the open-source VSM translator; the Square Presence product sheet (Rev A, April 2026); specifications from the sensative.com product data; Wi-Fi positioning: Semtech, Wi-Fi geolocation with LoRa Edge.