Bedoel je zoiets als dit? Waarbij de status van een deur wordt weergegeven als ‘Open’ of ‘Dicht’ i.p.v. ‘Contactalarm Ja/Nee’?
Ik heb dit als volgt gemaakt. Wellicht dat het ook anders/simpeler kan, maar deze werkwijze hanteer ik.
Je hebt nodig de volgende apps:
Met die eerste app kun je een virtueel apparaat aanmaken. Daarin kun je eigen namen aan sensoren geven en eigen waardes weergeven. Het is een soort extra laag waarin je informatie/sensoren uit een of meerdere fysieke apparaten kunt combineren/aanpassen.
De tweede app gebruik je om variabelen te aan te maken. Zoals een variabele die de status van een deur weergeeft (open of dicht). Dit zijn andere variabelen dan de standaard in Homey beschikbare functionaliteit voor variabelen. De reden om deze aparte app hiervoor te gebruiken, is omdat je BLL-variabelen als sensorwaarde in een virtueel apparaat kunt laten weergeven. De ‘gewone’ variabelen (van Homey) kun je daarvoor niet gebruiken.
Ik zal in deze toelichting de status van de voordeur als voorbeeld nemen.
Stap 1: Aanmaken variabele in BLL
Ga naar de instellingen van de BLL app (Apps > Better Logic Library > Tandwiel > App-instellingen).
In de sectie ‘Variabelen’ klik je op variabele toevoegen. Geef een naam en type op (in dit geval een tekstvariabele). In mijn geval heet die variabele ‘bllStatusVoordeur’.
Stap 2: Maak flow die de waarde van de BLL-variabele instelt
In dit voorbeeld moet de variabele (bllStatusVoordeur) ingesteld worden op ‘Open’ als de voordeur open gaat (contactalarm gaat aan) en op ‘Dicht’ gezet worden als de voordeur dicht gaat (contactalarm gaat uit).
In mijn geval geval heb ik ervoor gekozen om de BLL-variabele niet rechtstreeks de waarde ‘Open’ of ‘Dicht’ toe te kennen (wat uiteraard prima mogelijk is), maar om de waarde via een gewone Homey variabele toe te kennen: ‘Status Deur-Raam Open’ en ‘Status Deur-Raam Dicht’. Die heb ik vooraf ingesteld op ‘Open’ cq. ‘Dicht’.
De reden voor deze omweg is, omdat het dan makkelijker is om datgene wat je wilt laten weergeven als de deur open/dicht is, aan te passen als je het voor voor meerdere deuren/ramen gebruikt. Je hoeft dan immers alleen (één keer) de waarde van die variabele aan te passen, die vervolgens voor alle deuren/ramen wordt gebruikt.
Stap 3 Maak een virtueel apparaat aan
Dit gaat op eenzelfde wijze als dat je een ‘echt’ apparaat toevoegt. Klik op de + > Nieuw apparaat en vervolgens
- Klik op de Device Capabilities app;
- Kies Advanced Virtual Device > Installeren;
- Een lege AVD maken;
- Geef een naam op voor het virtuele apparaat en kies een pictogram en klik op Opslaan en gebruiken en rond de vervolgvragen van Homey af (of sla ze over).
Als het goed is, is het virtuele apparaat toegevoegd.
Nu stel je het nieuwe apparaat in: Open de tegel > Klik op het tandwiel (instellingen) > Kies Onderhoud > Probeer te repareren.
Je komt nu in het instellingenschem van het virtuele apparaat, waar je je eigen sensoren definieert. In dit voorbeeld maak je een Tekstveld aan (want je wilt Open/Dicht) weergegeven.
- Geen een naam, selecteer een icoon;
- Kies bij Reflecteer de app Better Logic Library. Daarmee geef je aan dat de sensor een BLL-variabele als basis heeft;
- Selecteer vervolgens de BLL-variabele die je in stap 1 hebt aangemaakt;
- Klik op Apparaat opslaan.
Sluit het Onderhoudsscherm en als het goed is, heeft je virtuele apparaat nu een sensor. Het kan zijn dat die nog geen waarde heeft. Als je de deur een keer open of dicht doet, wordt de in stap 2 aangemaakte flow getriggert en wordt de BLL-variabele en daarmee de sensorwaarde ingesteld.