# Hoe filter ik een door komma's gescheiden lijst?

**URL:** <https://community.homey.app/t/hoe-filter-ik-een-door-kommas-gescheiden-lijst/110382>\
**Category:** Vragen & hulp\
**Tags:** mqtt\
**Created:** [May 24, 2024, 7:34am UTC](https://community.homey.app/t/hoe-filter-ik-een-door-kommas-gescheiden-lijst/110382 "2024-05-24T07:34:03Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![iBosvelt](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ibosvelt/32/47824_2.png) [@iBosvelt](https://community.homey.app/u/iBosvelt)\
**Post date:** [May 24, 2024, 7:34am UTC](https://community.homey.app/t/hoe-filter-ik-een-door-kommas-gescheiden-lijst/110382/1 "2024-05-24T07:34:03Z")

</div>

Continuing the discussion from [MQTT met de Siemens LOGO! 8.4](https://community.homey.app/t/mqtt-met-de-siemens-logo-8-4/110189/7):

---

<div class="post-metadata">

**Author:** ![iBosvelt](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ibosvelt/32/47824_2.png) [@iBosvelt](https://community.homey.app/u/iBosvelt)\
**Post date:** [May 22, 2024, 10:40pm UTC](https://community.homey.app/t/hoe-filter-ik-een-door-kommas-gescheiden-lijst/110382/2 "2024-05-22T22:40:38Z")

</div>

Beetje offtopic, maar ik gebruik, voor zover ik er verstand van heb, MQTT voor mijn Nuki Smartlock Pro.  
Hiervoor gebruik ik de Broker en Client op Homey.

Ik heb de Nuki verbonden met de broker en de berichten komen binnen op homey.  
Ik gebruik hiervoor de kaart:  
 ![Schermafbeelding 2024-05-23 om 00.36.56](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/3/6/362137f9b17e459638544cd9b1a516e3af3058c4.png)

Nu zie ik dat het Siemen-MQTT verhaal in JSON-format is. Geldt dit ook voor Nuki?  
Dit is wat ik bijvoorbeeld krijg:  
 ![Schermafbeelding 2024-05-23 om 00.36.06](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/8/b/8b7dad944bd897a161d1b6923a577717c192b63a.png)

Zo ja, wat is bijvoorbeeld een manier om het getal ‘3431645’ uit het bericht te filteren?

Alvast bedankt.

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [May 24, 2024, 12:24pm UTC](https://community.homey.app/t/hoe-filter-ik-een-door-kommas-gescheiden-lijst/110382/3 "2024-05-24T12:24:12Z")

</div>

> [@iBosvelt](#):
>
> Ik heb de Nuki verbonden met de broker en de berichten komen binnen op homey.  
> Ik gebruik hiervoor de kaart:  
> ![Schermafbeelding 2024-05-23 om 00.36.56](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/3/6/362137f9b17e459638544cd9b1a516e3af3058c4.png)
> 
> Nu zie ik dat het Siemen-MQTT verhaal in JSON-format is. Geldt dit ook voor Nuki?  
> Dit is wat ik bijvoorbeeld krijg:  
> ![Schermafbeelding 2024-05-23 om 00.36.06](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/8/b/8b7dad944bd897a161d1b6923a577717c192b63a.png)
> 
> Zo ja, wat is bijvoorbeeld een manier om het getal ‘3431645’ uit het bericht te filteren?

Hmm, dat is comma separated, oftewel spreadsheet formaat.  
Daar je inmiddels hebt laten weten of van het eerste deel `2,0,` de nul echt altijd een nul is, zou je dit filter kunnen gebruiken:

Ik heb ter de test de waarde `2,0,3431645,0,0` even in een variabele gezet  
Gebruik deze Homeyscript “Dan” kaart: “Run code met argument en return Nummer-tag”:

 ![Screenshot from 2024-05-24 14-08-24](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/8/d/8d5539f97ff7d658c24cbc901e15b0df4f5eba77.png)

Met gefilterd getal op de tijdlijn:

 ![Screenshot from 2024-05-24 14-10-16](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/c/3/c363a9cf35b9abaa22ba60b7e643afa610ec3c58.png)

Je MQTT flowtrigger maakt deze tag beschikbaar [Message received from topic], welke je als argument invoert in het argumentveld van het HS kaartje

 ![Screenshot from 2024-05-24 14-12-26](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/1/2/1292177b4fbe2e1a3dce7335131bc7492cf1fd80.png)

De code:

```auto
// Filter the big number out of the MQTT argument from the Nuki lock
const arg = args[0];
var nukiNumber = Number('' + arg.split("0")[1].slice(1).split(",")[0]);
console.log('Argument: ', args[0]);
return nukiNumber;

```

En even nieuwsgierig, waarom loopt Nuki via MQTT bij jou, en hoe heb je dat gedaan? Als in, Nuki heeft zelf geen MQTT dacht ik?

Ik heb de Smartlock 4, met Matter (via HomeAssistant) en dat reageert vrij vlot.  
Bluetooth is echt verschrikkelijk traag haha

---

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [May 24, 2024, 12:27pm UTC](https://community.homey.app/t/hoe-filter-ik-een-door-kommas-gescheiden-lijst/110382/4 "2024-05-24T12:27:46Z")

</div>

> [@Peter\_Kawa](#):
>
> Als in, Nuki heeft zelf geen MQTT dacht ik?

> **[MQTT integration](https://help.nuki.io/hc/en-001/articles/12947926779409-MQTT-integration)**
>
> This article concerns:
> 
> Smart Lock Ultra
> Smart Lock Pro (5th Gen.)
> Smart Lock Go
> Smart Locks (4th Generation)
> Smart Lock 3.0 Pro
> Which Smart Lock do I have?
> 
> MQTT offers a simple and stable option ...

Maar MQTT over WiFi lijkt me niet ideaal voor een slot met batterijen, WiFi is niet echt een energiezuinig protocol.

Als je geen externe controls hebt voor je Nuki (keypad en zo) is het denk ik ook niet echt nuttig om te gebruiken. Voor die controls kan het handig zijn omdat je zo (vermoed ik) b.v. kunt zien wie precies de deur heeft geopend.

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [May 24, 2024, 12:42pm UTC](https://community.homey.app/t/hoe-filter-ik-een-door-kommas-gescheiden-lijst/110382/5 "2024-05-24T12:42:56Z")

</div>

Ah, is enkel beschikbaar op de Pro. De niet-pro heeft ook geen wifi haha.

---

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [May 24, 2024, 12:48pm UTC](https://community.homey.app/t/hoe-filter-ik-een-door-kommas-gescheiden-lijst/110382/6 "2024-05-24T12:48:58Z")

</div>

[Of over Thread](https://support.nuki.io/hc/en-us/articles/14052016143249-Activate-MQTT-via-the-Nuki-app), wat de niet-pro ook kan:

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/b/e/be34ecfd8eda12f3b0cb0a159ab7109b19875587.png)

Vraag me af of je MQTT en Matter tegelijkertijd kunt gebruiken over Thread.

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [May 24, 2024, 1:25pm UTC](https://community.homey.app/t/hoe-filter-ik-een-door-kommas-gescheiden-lijst/110382/7 "2024-05-24T13:25:30Z")

</div>

Haha, ik lees steeds net niet ver genoeg denk ik 😜

In de app staat het MQTT gedeelte ook net ergens anders, onder smart home.  
Maar goed, nu kan ik het niet activeren, waarschijnlijn omdat het slot niet als ‘echt’ Thread apparaat is toegevoegd.  
Óf omdat hij al via Matter verbonden is.

 ![signal-2024-05-24-151133_002](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/9/3/9399f56be66c08e7eac751ab8b913fce4ed6ca68.jpeg)

> [@robertklep](#):
>
> Vraag me af of je MQTT en Matter tegelijkertijd kunt gebruiken over Thread.

Dit gaat over de bridge, maar het lijkt erop dat je moet kiezen tussen Matter OF Thread:

 ![Screenshot from 2024-05-24 15-22-49](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/4/e/4e18320be49394547c92d6cafada760d03354c05.png)

Oh, @iBosvelt ik vond de betekenis van de getallen:

> ![signal-2024-05-24-151133_003](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/3/e/3e95ab5b770215f61fdceb4e5ee5c68d1e70d3f0.jpeg)

---

<div class="post-metadata">

**Author:** ![iBosvelt](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ibosvelt/32/47824_2.png) [@iBosvelt](https://community.homey.app/u/iBosvelt)\
**Post date:** [May 24, 2024, 2:55pm UTC](https://community.homey.app/t/hoe-filter-ik-een-door-kommas-gescheiden-lijst/110382/8 "2024-05-24T14:55:05Z")

</div>

Thanks! Jouw uitgebreide antwoorden zijn altijd fijn 🙂

Dat script kan ik mooi gebruiken. Alleen geeft het eerste cijfer in de reeks aan of het een ‘lock’ of ‘unlock’ is van een bepaalde gebruiker.

1.0.365162.0.0 = unlock  
2.0.365162.0.0 = lock.

Kan het script ook bekijken of de eerste cijfer een 1 of 2 is? En daarna het grote getal eruit filteren?

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [May 25, 2024, 12:16am UTC](https://community.homey.app/t/hoe-filter-ik-een-door-kommas-gescheiden-lijst/110382/9 "2024-05-25T00:16:10Z")

</div>

Heel graag gedaan. Voor mij ook weer leerzaam 😉

Het eerste cijfer kun je er uit filteren, zie de regel in de code onder “// filter out the first digit, …”.  
Maar nu hebben we geen nummer maar tekst als resultaat: gebruik dan het kaartje “Run code met Argument en return Text-tag”

```auto
// Filter the auth.id from the MQTT msg argument from the Nuki lock
// 1.0.365162.0.0 : unlock/Jantje
// 2.0.365162.0.0 : lock/Jantje
var arg = args[0];
console.log('Used Argument =', arg);
// filter out the auth.id
const nukiNumber = Number('' + arg.split("0")[1].slice(1).split(",")[0]);
console.log('nukiNumber =', nukiNumber);
// filter out the first digit, representing lock action
const nukiAction = Number('' + arg.slice(0,1));
console.log('nukiAction =', nukiAction);
// replace 1 with "Unlock" and 2 with "Lock"
// replace auth.id 365162 with "Jantje" and 369999 with "Pietje"
if (nukiAction === 1 && nukiNumber === 365162) {
   return `Ontgrendeld door Jantje`
};
if (nukiAction === 1 && nukiNumber === 369999) {
   return `Ontgrendeld door Pietje`
};
if (nukiAction === 2 && nukiNumber === 365162) {
   return `Vergrendeld door Jantje`
};
if (nukiAction === 2 && nukiNumber === 369999) {
   return `Vergrendeld door Pietje`
};

```

 ![Screenshot from 2024-05-25 02-10-55](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/f/c/fc72773daba9e2619f500a64ed758fc960cfad7e.png)  
 ![Screenshot from 2024-05-25 02-10-17](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/a/8/a814371fcbf8c08426239f4cf648ad9e8a53396b.png)

---

<div class="post-metadata">

**Author:** ![Anton\_De\_Graaf](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/anton_de_graaf/32/81924_2.png) [@Anton\_De\_Graaf](https://community.homey.app/u/Anton_De_Graaf)\
**Post date:** [June 25, 2025, 7:09pm UTC](https://community.homey.app/t/hoe-filter-ik-een-door-kommas-gescheiden-lijst/110382/10 "2025-06-25T19:09:17Z")

</div>

![1000009167](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/9/5/9511a198617f34072839e9f0467574dcd8772aee.jpeg)  
Misschien heb je hier wat aan
