Z-Wave Nodes
In mijn zoektocht naar de perfecte smart home setup heb ik al heel wat Z-Wave nodes mogen uitproberen. In dit artikel deel ik mijn ervaringen met een aantal van deze slimme apparaatjes, van slimme stekkers tot bewegingssensoren en meer.
Z-Wave Stick GEN5
Deze USB-stick trok mijn aandacht voor zijn 'koppeling' van toestellen. Het leuke eraan is dat je de USB-stick verwijderd uit de computer, en vervolgens naar het toestel kan lopen (bv een sensor op je hekken aan de straat), de koppeling kan maken, en nadien deze in je server stoppen. Zodoende kan je dus zonder al te veel problemen deze koppelingen maken...
- Fabrikant: Aeon
- ModelUSB Z-Wave Stick GEN5
- FunctiesGateway op usb
- Ingebouwde batterij
- Pro's
- Makkelijke te koppelen
- Eenvoudig in gebruik (config usbpoort)
- Contra's
- Je kan niks koppelen terwijl de stick is aangesloten
- Geen software voor zaken te testen/analyseren
Wijziging USB-poort
Wat wel een probleem kan zijn, is dat wanneer je vlug de usb-stick terug in de computer stopt, deze soms een ander adres krijgt. Waardoor bv openhab problemen krijgt. Je kan met volgende commando kijken of je USB-stick gezien wordt door je besturingssysteem (linux):
Proxmox (KVM)
Controleer de juiste poort parameters. Hier in ons voorbeel is dit 3-9 en (Bus 3, Poort 9) en 3-4.1 (Bus 3, Poort 4, Poort 1).
lsusb -t
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 1: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 2: Dev 3, If 0, Class=Vendor Specific Class, Driver=gspca_zc3xx, 12M
|__ Port 4: Dev 5, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 1: Dev 6, If 0, Class=Communications, Driver=cdc_acm, 12M
|__ Port 1: Dev 6, If 1, Class=CDC Data, Driver=cdc_acm, 12M
|__ Port 9: Dev 4, If 1, Class=CDC Data, Driver=cdc_acm, 12M
|__ Port 9: Dev 4, If 0, Class=Communications, Driver=cdc_acm, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
Ken nu deze poorten toe als usb poorten (usb3 en usb4) voor de virtuele host (in ons geval 1123)
qm set 1123 -usb3 host=3-9
qm set 1123 -usb4 host=3-4.1
Controleer nu of deze poorten ook daadwerkelijk zijn toegekend:
cat /etc/pve/nodes/proxmoxus/qemu-server/1123 .conf
WMWARE
Op de VMWare machine inloggen met ssh:
lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0658:0200 Sigma Designs, Inc.
...
Hier zie je nu het Sigma Design device staan. ik weet ook niet juist waarom, maar dit is de wijze waarop WMWare het toestel benoemt.
Op je virtuele machine / openhabserver kan je dezelfde oefening maken:
lsusb
Bus 002 Device 002: ID 0658:0200 Sigma Designs, Inc.
De volgende stap is om te kijken welke poort deze toegekend kreeg. Meestal zal dit iets in de stijl van ttyACMx zijn. De vlugste manier is gewoon even dit bestandje opvragen:
ls -l /dev/ttyACM*
/dev/ttyACM0
Openhab
Indien deze poort gewijzigd is tov de vorige keer, of gewoon nog niet bestond, dan moet je dit wijzigen in hetconfiguratiebestandje.
vi /etc/openhab/configuration/openhab.cfg
zwave:port= /dev/ttyACM0
Nog even openhab herstarten, en dit zou klaar moeten zijn...
service openhab restart
ZRC-90 8-Drukknoppen
Alles dat je wenst te automatiseren groeit. Vandaag heb je een lampje, vanavond nog een automatische poort, dan eventjes een automatisch hekken, ook nog een scenario waar je al je buitenverlichting in 1 keer wil doen branden... En snel kom je tot het besef dat alles makkelijker zou gaan met een enkele knop. Geen 5x drukken, geen gsm die je moet opstarten. Maar gewoon, snel een knopje aan de achterdeur indrukken en klaar...
Ook ik kreeg met dit probleem te maken. En gelukkig heeft zwave hier ook een oplossing voor. Namelijk 8 knopjes op een kleine behuizing die je makkelijk kan monteren. Of nog meer, die je kan afklikken en meenemen naar bv je terras op de zonnige zomeravonden.
Algemeen
- FabrikantZwave Plus
- ModelZRC-90
- Functies8x drukschakelaars
- Pro's
- Mooi design
- Overal te kleven
- Elke knop heeft 3 functies (aan, uit en dimmen)
- Contra's
- Moeilijk te ounthouden wat wat doet.
Openhab instellingen
Items
Number Sch_8Knops "8 Knopjes Achterdeur" <contact> { channel="zwave:device:qdsf52q:node11:scene_number" }
Number Sch_8Knops_Batterij "8 Knopjes Achterdeur [%s %%]" <battery> (ALL_bat,WO_bat) {channel="zwave:device:qdsf52q:node11:battery-level" }
Rule
rule "8Knops drukken"
when
Item Sch_8Knops received update
then
if (Sch_8Knops.state == 1.0) {
sendCommand( Light1, ON )
}
if (Sch_8Knops.state == 2.0) {
sendCommand( Light6, ON )
}
...
end
Vision Garage Opener
Een relatief simpele sensor, doet niet zoveel, behalve het melden van de stand van bv een garagepoort. Van zodra de hellingshoek van de sensor wijzigt, wordt er een alarm uitgestuurd. Handig om te controleren of bv je garagepoort open of dicht staat.
Algemeen
- FabrikantVision
- ModelGarage Opener
- FunctiesMelding Horziontaal/Verticaal
- Pro's
- Compact
- Batterij gaat heel lang mee
- Contra's
Items
Number Sensor09_Batterij "Werkplaats Poort [%s %%]" <socket> (ALL_bat,AT_bat) { zwave="43:command=BATTERY" }
Contact Sensor09 "Werkplaats Poort [%s]" <garagedoor> (AT_con,ALL_con) { zwave="43:command=sensor_binary,respond_to_basic=true }
Ring (Fibaro FGWP-102)
Je zal zien dat je op je telefoon onder OH wat extra dingen kan terugvinden.
- Zo zie je onder 'operatie' een knopje 'Ring'. Hiermee kan je de relay aan/uit zetten.
Je kan dit ook 'manueel' doen door op het knopje op de relay te drukken. - Onder 'statussen' zie je een nieuwe groep 'verbruik'. HIer kan je het verbruik meten van het toestel dat eraan hangt. Altijd handig als je es iets wenst uit te meten op verbruik.
Als je meer info wenst over het toestel. Bv hoe je de signaal sterkte van het zwave kan uitmeten, hoe je de kleuren kan aanpassen van de ring... :
Qubino 2-weg relais
Bij het installeren van automatische poorten, bestond er een optie om een externe schakelaar aan te sluiten. En zou het nu ook niet handig zijn om bv de poort te kunnen openen met je gsm? Geen nood aan een extra afstandsbediening in de wagen, je poort openen van in het begin van de staart en zodoende niet meer staan wachten tot ze open is...
Dus wat had ik hiervoor nodig? Een NO-contactje (Normaal Open) die gestuurd werd via zwave (of knx, of...). En mijn oog viel op deze qubino relay. Een extra motivatie voor deze schakeling was dat deze ook de signalen van zwave versterken.
Bij het aankopen van deze relay heb ik wel een foutje begaan, en het laatste model aangekocht. Wat niet meer toelaat om het NO-contact alleen te gebruiken, dit is standaard aangekoppeld aan de fasegeleider. Waardoor je steeds 220V schakelt. Dus een extra relais is nodig om geen overspanning te hebben.
Algemeen
- FabrikantQubino
- Model2-Way Relay
- Functies
- 2x input contact (schakelaar)
- 2x output contact (relay)
- Z-wave versterken
- Meten van huidig Verbruik
- Pro's
- Klein van design, kan ingebouwd worden achter schakelaar.
- Versterkt je z-wave signalen.
- Contra's
- Enkel 220V uitgang, kan dus niet direct gebruikt worden als 'schakelaar' (voor bv garagepoort). Hiervoor is bv een extra relais nodig.
Openhab instellingen
Items
Switch Relay04 "Werkplaats" <garagedoor> (Werkplaats) { zwave="27:2:command=SWITCH_BINARY,autoupdate=false" }
Number Relay04_Vermogen "Werkplaats Poort (Vermogen) [%.2f W]" (Werkplaats) { zwave="27:2:command=sensor_multilevel" }
Number Relay04_Verbruik "Werkplaats Poort (Verbruik) [%.2f KWh]" (Werkplaats) { zwave="27:2:command=meter" }
Sitemap
Switch item=Relay04
Philio 3in1
Deze sensor was eigenlijk 1 van de eerste zaken waarom ik begonnen ben met zwave. Op een bepaald moment hebben we nieuwe ramen laten plaatsen in onze woning, en toen was het het moment om deze sensoren te plaatsen. Ik dacht er eerst aan om bekabelde contacten te plaatsen. Maar als je denkt aan het vele werk (kabels trekken en mooi wegwerken, contacten plaatsen, leessensoren...) is je goesting vlug over. Ook qua prijs spring je ver boven deze sensoren uit, temeer als je weet dat je ook nog extra functionaliteiten hebt.
Deze sensor werkt vrij vlug in openhab, behalve de open/dicht contacten. Dit is nog in testfase voor het moment...
Algemeen
- FabrikantPhilio
- Model3 in 1 Sensor (D-T-L)
- Functies
- Magneetcontact Open/Dicht
- Temperatuur
- Helderheid
- Batterij Niveau
- Pro's
- Makkelijk te installeren
- Vele verschillende sensoren (open/dicht, temperatuur, helderheid, batterij...)
- Contra's
- Open/dicht contact niet out of the box werkend
- Nogal 'omslachtig' om de temperatuur van F naar C te zetten
Openhab instellingen
Items
Contact Sensor01 "Bureau Deur [%s]" <contact> (Door) {zwave="8:command=SENSOR_BINARY,sensor_type=10,respond_to_basic=true"}
Number Sensor01_Temperatuur "Bureau [%.1f C]" <temperature> (tempa) { zwave="8:command=SENSOR_MULTILEVEL,sensor_type=1" }
Number Sensor01_Helderheid "Bureau [%.0f Lux]" <sun> (GF_Living) { zwave="8:command=SENSOR_MULTILEVEL,sensor_type=3" }
Number Sensor01_Batterij "Bureau [%s %%]" <socket> (GF_Living) { zwave="8:command=BATTERY" }
Sitemap
Text item=Sensor01_Batterij
Text item=Sensor01_Temperatuur
Text item=Sensor01_Helderheid
Text item=Sensor01
Temperatuur in Celsius
Wens je de temperatuur in graden Celsius te zien? Dan zal je wat goochelwerk moeten verrichten.
Het makkelijkst (?) loopt je via HABmin. Daar kan je namelijk configuraties op de sensoren wijzigen.
Specifiek voor de graden, moet je parameter 5 de waarde van 8 geven. Van zodra de sensor de volgende maal synct (kan je pushen door op het knopje wat te duwen), zullen de graden correct doorgegeven worden.
Dus even stap per stap:
- Open habmin ( xxx.xxx.xxx.xxx:8080/HABmin )
- Ga naar configurations
- Vervolgens Binding
- Selecteer de Z-wave binding
- Open het 2de tab 'devices'
- Kies de juiste sensor (hopelijk is hij reeds gesynct)
- En onder configuration paramaters
- Wijzig je paramater 5 Operation mode
- Naar 8
Even geduld, en met wat geluk is dit aangepast...
Open / Dicht status
Voor de een of andere duistere reden word de status van het contact niet correct doorgegeven. Zo word er enkel maar een signaal gestuurd als het contact wordt gesloten. Dus niet als het wordt geopend?
Je kan dit aanpassen door de configparameter 7 van 4 te wijzigen naar 22. Ik ben niet 100% zeker dat je wel 22 nodig hebt, daar dit eigenlijk ook de bewegingsdetector wijzigt. Maar aangezien er geen bewegingsdetector in deze sensor zit, laat het ik maar rusten.
Dus even stap per stap:
- Open habmin ( xxx.xxx.xxx.xxx:8080/HABmin )
- Ga naar configurations
- Vervolgens Binding
- Selecteer de Z-wave binding
- Open het 2de tab 'devices'
- Kies de juiste sensor (hopelijk is hij reeds gesynct)
- En onder configuration paramaters
- Wijzig je parameter 7
- Naar 22 (staat normaal op 4)
Even geduld, en met wat geluk is dit aangepast...
Aeon Labs Sirene
Alarm triggeren
Met volgend scriptje kan je een sirene laten triggeren. Dit alarm kan dan uitgezet worden aan de hand van bv je telefoon, een toetsencombinatie of je wacht de duurtijd af.
Openhab instellingen
items
/* Aeon Labs Siren - set sound and activate*/
Number Lower_Kitchen_Siren_Number "Kitchen Siren" <siren> (persist,gAllSirensSet) { zwave="5:command=configuration,parameter=37" }
Number Upper_Hall_Siren_Number "Upper Hall Siren" <siren> (persist,gAllSirensSet) { zwave="12:command=configuration,parameter=37" }
/* Aeon Labs Siren - switch to turn off sirens*/
Switch Lower_Kitchen_Siren_Switch "Kitchen Siren" <siren> (persist,gAllSirensSwitch) { zwave="5:command=switch_binary" }
Switch Upper_Hall_Siren_Switch "Upper Hall Siren" <siren> (persist,gAllSirensSwitch) { zwave="12:command=switch_binary" }
rules
// Alarm System Active Action
rule "rAlarmActivated"
when
Item gMotionSensors changed from CLOSED to OPEN or
Item gDoorSensors changed from CLOSED to OPEN
then
{
if (AlarmSysStatus.state == 2 && gMotionSensors.state == OPEN)
{
logInfo("Security", "SECURITY: ARMED-AWAY Motion Intrusion Detected!")
gAllLights.sendCommand(ON)
Thread::sleep(3000)
gAllSirensSet.sendCommand(259)
Thread::sleep(1200000)
gAllSirensSwitch.sendCommand(OFF)
}
if (AlarmSysStatus.state == 2 && gDoorSensors.state == OPEN)
{
logInfo("Security", "SECURITY: ARMED-AWAY Door Intrusion Detected!")
gAllLights.sendCommand(ON)
Thread::sleep(3000)
gAllSirensSet.sendCommand(259)
Thread::sleep(1200000)
gAllSirensSwitch.sendCommand(OFF)
}
if (AlarmSysStatus.state == 3 && gDoorSensors.state == OPEN)
{
logInfo("Security", "SECURITY: ARMED-STAY Door Intrusion Detected!")
gAllLights.sendCommand(ON)
Thread::sleep(3000)
gAllSirensSet.sendCommand(259)
Thread::sleep(1200000)
gAllSirensSwitch.sendCommand(OFF)
}
}}}}
end
No Comments