Anpassad fråga
En anpassad fråga filtrerar enheter på deras egna värden, för villkor som de vanliga filtren inte kan uttrycka - varje enhet som rapporterar en temperatur under 15, till exempel. Den finns överallt där enheter filtreras: enhetslistan, kartan, de vyer som byggs på dem, och rapporter, där den avgör vilka IoT-noder rapporten omfattar.
Hoppa till Färdiga frågor om du vill ha något att kopiera och anpassa.
Var du skriver en
I enhetslistan och på kartan
- Tryck Filter ovanför enhetslistan.
- I panelen som öppnas till höger, gå till Custom query och skriv frågan i rutan.

Rutan har ett exempel som platshållare, temperature<15, och en länk till den här sidan. Frågan
tillämpas som ett aktivt filter vid sidan av de vanliga, så den kan smalna av ett urval de andra
filtren redan gjort.
I en rapport
En rapport använder samma fråga för att avgöra vilka IoT-noder den omfattar, men den skrivs in i
rapportdefinitionen i stället för att skrivas i en panel. Varje källa i definitionen har ett
query-fält, och det tar exakt den syntax som beskrivs på den här sidan:
| I en rapportdefinition | Rapporten omfattar |
|---|---|
"query": "rssi" | Varje enhet som rapporterar en signalstyrka |
"query": "presence" | Varje enhet som rapporterar närvaro |
"query": "contextMap.building=='Building 2';temperature" | Enheter i en byggnad som rapporterar en temperatur |
Ett ensamt fältnamn är den vanligaste formen, eftersom en rapport oftast vill ha varje enhet som mäter det som rapporteras. Allt annat på den här sidan fungerar också där, vilket är så en rapport smalnas av till en byggnad, ett våningsplan eller en enhetsmodell. Se Rapporter för var definitionen finns.
Operatorer
| Operator | Matchar | Fungerar på | Exempel |
|---|---|---|---|
== | Exakt lika | text, tal, datum, booleaner | name=='My Device' |
: | Samma som == | text, tal, datum, booleaner | name:'My Device' |
~= | Innehåller, var som helst i värdet | text | name~=Strips |
!= | Inte lika | text, tal, datum, booleaner | name!='My Device' |
> | Större än | tal, datum | temperature>20 |
>= | Större än eller lika | tal, datum | temperature>=20 |
< | Mindre än | tal, datum | temperature<20 |
<= | Mindre än eller lika | tal, datum | temperature<=20 |
! | Fältet finns inte | vad som helst | !temperature |
| (bara fältnamnet) | Fältet finns | vad som helst | temperature |
Skiftlägeskänslighet
De två beter sig olika, vilket är värt att veta innan en fråga kommer tillbaka tom:
~=bryr sig inte om skiftläge.name~=stripshittar "Strips-Guard" likaväl som "strips-guard".==och!=gör det.name=='strips-guard'matchar inte "Strips-Guard".
Så ~= är oftast den vänligare operatorn för namn som skrivits för hand.
Kombinera villkor
| Tecken | Betydelse | Exempel |
|---|---|---|
; | OCH - alla villkor måste gälla | temperature>25;humidity<40 |
| | ELLER - endera villkoret får gälla | temperature>25|humidity<40 |
, | En lista med värden för ett fält | deviceModelName==strips,presence |
. | Ett nästlat fält | contextMap.floor==3 |
Två saker att se upp med:
- Kommat är inte ett allmänt ELLER. Det listar alternativa värden för fältet framför det.
deviceModelName==strips,presenceär rätt;temperature<15,humidity<50är det inte, eftersom det är två olika fält. Den behöver röret:temperature<15|humidity<50. - Använd en ELLER-grupp per fråga. En fråga kan blanda
;med en|-grupp, som ideviceModelName==strips;temperature>25|humidity<40. En andra ELLER-grupp ersätter den första i stället för att läggas till.
Textvärden
Omge ett värde med enkla citattecken för att hålla det som en bokstavlig sträng: name=='Room 2'.
Det spelar roll när värdet kan läsas som något annat - ett värde som 2026-09-01 blir ett datum om
det inte citeras, och 0102 blir talet 102.
Citattecken krävs när värdet innehåller ett mellanslag.
Söka på datum
Varje värde skrivet som ett ISO 8601-datum behandlas som ett datum av alla operatorer utom ~=. Det
gör att jämförelseoperatorerna fungerar på tid:
| Fråga | Hittar |
|---|---|
reportedAt>2026-09-01 | Enheter som rapporterat sedan 1 september 2026 |
reportedAt<2026-09-01 | Enheter vars senaste rapport var före det datumet |
reportedAt>=2026-09-01T08:00:00Z | Från en viss tidpunkt, UTC |
reportedAt>2026-09-01;reportedAt<2026-09-08 | Rapporterat under den veckan - ett intervall är två villkor, inte ett |
!reportedAt | Enheter som aldrig rapporterat alls |
Accepterade format är vanlig ISO 8601: 2026-09-01, 2026-09-01T08:00:00Z,
2026-09-01T08:00:00.000Z. Ett datum för sig är midnatt vid dygnets början.
Tre saker att känna till:
- Ett intervall tar två villkor sammanfogade med
;, ett för varje ände. ~=fungerar inte på datum. Den behåller ett datumliknande värde som bokstavlig text, så den matchar tecknen snarare än tidpunkten.- Ett ensamt årtal är ett tal, inte ett datum.
reportedAt>2026jämför mot talet 2026 och hittar ingenting. SkrivreportedAt>2026-01-01.
Datum är absoluta, så en sparad vy som innehåller ett fortsätter peka på samma tidpunkt när tiden går. För enheter som tystnat är ett rullande fönster oftast det du vill ha i stället: enhetslistans filter Reported within, eller kartans avsnitt Senast sedd.
Färdiga frågor
Kopiera en och byt fält eller värde.
Hitta enheter
| Fråga | Hittar |
|---|---|
name~=strips | Varje enhet med "strips" i namnet, oavsett skiftläge |
name~='Room 2' | Namn som innehåller "Room 2" |
deviceModelName==strips-guard | En hårdvarumodell |
deviceModelName==strips-guard,strips-drip | Endera av två modeller |
!name | Enheter utan namn |
devEui~=0102 | En del av en DevEUI, användbart från en etikett |
Mätvärden och tröskelvärden
| Fråga | Hittar |
|---|---|
temperature>25 | För varmt |
temperature<15|humidity>70 | För kallt eller för fuktigt |
temperature>=18;temperature<=24 | Inom ett komfortintervall |
temperature<0 | Under noll |
humidity>70;temperature>22 | Varmt och fuktigt samtidigt, mögelrisken |
co2>800 | Mycket dålig luftkvalitet |
occupied==true | Upptaget just nu |
doorOpen==true;temperature<5 | En dörr som lämnats öppen i kylan |
Batteri och hälsa
| Fråga | Hittar |
|---|---|
batteryLevel<20 | Behöver batteri inom kort |
batteryLevel<5 | Behöver ett nu |
!batteryLevel | Enheter som inte rapporterar någon batterinivå alls |
Nätverkskvalitet
Fälten bakom kartan över nätverkstäckning.
| Fråga | Hittar |
|---|---|
rssi<-115 | Svag signal |
rssi<-124 | Signal i fara |
snr<0 | Under brusgolvet, utan marginal |
spreadingFactor>=11 | Långsamt och dyrt för batteriet, oavsett signal |
spreadingFactor>=11;rssi>-110 | Nära gatewayen men sänder ändå dyrt |
!rssi | Enheter utan LoRa-signal, alltså inte LoRaWAN |
Tid
| Fråga | Hittar |
|---|---|
reportedAt>2026-09-01 | Rapporterat den här månaden |
reportedAt<2026-08-01 | Inget sedan juli - troligen dött |
reportedAt>2026-09-01;reportedAt<2026-09-08 | Rapporterat under en vecka |
!reportedAt | Installerat men aldrig hört av sig |
Metadata
Dina egna kontextuella parametrar, vilket är därför det lönar sig att fylla i dem vid installationen.
| Fråga | Hittar |
|---|---|
contextMap.floor==3 | Allt på våningsplan 3 |
contextMap.building=='Building 2' | En byggnad |
contextMap.installer==Olof | Allt en viss person installerat |
contextMap.room~=meeting | Rum med "meeting" i namnet |
!contextMap.floor | Enheter där ingen noterat våningsplanet |
contextMap.floor==1,2,3 | Våningsplan 1, 2 eller 3 |
Kombinera dem
| Fråga | Hittar |
|---|---|
contextMap.building=='Building 2';temperature>25 | För varmt, i en byggnad |
deviceModelName==strips-guard;batteryLevel<20 | En modell som behöver batteri |
contextMap.floor==3;rssi<-115 | Svag täckning på ett våningsplan - signaturen för en dåligt placerad gateway |
temperature;!humidity | Enheter som rapporterar temperatur men inte fuktighet, oftast ett översättarproblem |
contextMap.building=='Building 2';reportedAt<2026-08-01 | Enheter i en byggnad som tystnat |
Om en fråga inte ger något
| Kontrollera | Varför |
|---|---|
| Fältnamnet, tecken för tecken | Fältnamn är skiftlägeskänsliga. Kopiera dem från enhetens Data-avsnitt - se Data |
Om du använde == på text | == är exakt och skiftlägeskänslig. Prova ~= |
| Om ett värde behöver citattecken | Allt med mellanslag gör det, liksom allt som kan läsas som ett tal eller ett datum |
| Om du menade komma eller rör | Ett komma listar värden för ett fält; ett rör ELLER-kombinerar två villkor |
| Om fältet är en sträng | Ett tal lagrat som text svarar inte på > och <. Färgen i Data visar typen |