Apple Homekit Jablotron 100
- 8 jul 2018
Homekit en Siri voor het Jablotron 100 alarmsysteem
"Begin 2017 kocht en installeerde ik een Jablotron JA-100 alarmsysteem bij mij thuis, het was eenvoudig te installeren, werkt geweldig en biedt veel mogelijkheden voor automatisering. Ik heb 90% van de dingen thuis geautomatiseerd, maar het miste nog 1 functie: Homekit. Laten we dat oplossen! "
Als u niet bekend bent met Homekit, is het de thuisautomatiseringsintegratie van Apple. In feite bundelt het al uw slimme apparaten in de Home-app en kunt u het vanuit 1 app beheren en toegang voor familie en vrienden delen. Maar vooral, een veilige gateway voor externe toegang en locatie gebaseerde automatisering. Zie: https://www.apple.com/ios/home/
Het doel van de Jablotron Homekit-integratie is:
1. Het in- en uitschakelen van het alarm, afhankelijk van de locatie
2. Laat andere apparaten acties uitvoeren op basis van de status van het alarm
3. Neem het alarm op in scènes
4. Bedienen van Jablotron vanuit de Home-app
5. Bedienen van Jablotron met Siri
Aangezien Homekit niet is ingesteld op Jablotron, hebben we een brug nodig om Jablotron met Homekit te verbinden: we zullen Homebridge hiervoor gebruiken.
What is Homebridge?
Homebridge is een lichtgewicht NodeJS-server die u op uw thuisnetwerk kunt gebruiken en die de iOS HomeKit API emuleert. Het ondersteunt Plug-ins, modules die door de community worden bijgedragen en die een basisbrug bieden van HomeKit naar verschillende externe API's die worden aangeboden door fabrikanten van 'smart home'-apparaten. Zie: https://github.com/nfarina/homebridge
Componenten
Componenten gebruikt in deze instructie:
- Raspberry PI Zero W
- Raspberry Pi Zero-hoes
- USB-oplader + micro-USB-kabel
- SD-kaart (32 gb) met Jessie Lite geïnstalleerd
- Jablotron JA-101KR LAN met GSM en radio
- Router met WiFi
De bovenstaande componenten kunnen naar wens worden aangepast, zorg er gewoon voor dat u de compatibiliteit met Homebridge controleert.
Homekit dependencies
In order to use Apple Homekit you need to make sure you meet Apple’s requirements, most notably the requirements on automation and remote access.
Installatie opties
Het volgen van deze tutorial zou redelijk goed moeten zijn, maar je hebt een paar opties om dit in de praktijk te brengen:
1. Volg deze tutorial
2. Download het voorbereide besturingssysteem op:
3. Gebruik een bestaande Homebridge-installatie
4. Download de Homebridge voor de Raspberry Pi-app die al het installatiewerk voor u zal doen https://itunes.apple.com/nl/app/homebridge-for-raspberrypi/id1123183713?mt=8
Het OS besturingssysteem voorbereiden
Voor ons besturingssysteem zullen we Jessie Lite gebruiken, de nieuwste versie ophalen van: http://downloads.raspberrypi.org/raspbian_lite/images/
Volg de instructies voor het installeren op uw SD-kaart: https://www.raspberrypi.org/documentation/installation/installing-images/
Lees de bijgevoegde README.txt
Na het installeren van het besturingssysteem op de SD-kaart, voert u de volgende stappen uit:
1. Open de SD-kaart in Finder of Explorer en ga naar de root / home-map
2. Maak een leeg bestand met de naam "ssh.txt", dit zal ons in staat stellen om SSH naar de Pi toe te voegen
3. Maak een tweede bestand met de naam "wpa_supplicant.conf" met de volgende inhoud:
ctrl_interface=/var/run/wpa_supplicant
network={
ssid=“your_wifi_name”
psk=“your_wifi_password”
}
Dit zorgt ervoor dat de Pi verbinding maakt met je wifi.
Als alternatief kunt u de opdrachtregel gebruiken om deze opdrachten uit te voeren.
Prepping the Pi
Plaats de SD met OS in de Pi, sluit de behuizing en haak de voeding op. Controleer of het werkt, door
controleren of het lampje van de Pi knippert.
Lets get started
Nu we al onze componenten en software hebben is het tijd om de Pi voor het eerst op te starten, de plug-ins te installeren en deze aan te sluiten op je Homekit. Als je het voorbereide besturingssysteem hebt gedownload, ga je door tot de volgende stappen en ga je direct naar "Verbinden met Homekit", als je een bestaande Homebridge-installatie hebt, ga dan naar "Jablotron-plug-in installeren"
Verbinden met de Pi
Nadat de Pi is opgestart, opent u de terminal op MacO's of gebruikt u een SSH-client zoals 'putty' op Windows. Op MacOS verbinden via de terminal met de volgende opdracht:
- ssh pi@raspberrypi.local
Het standaard wachtwoord moet "raspberry" zijn. Na het inloggen, is het eerste wat we doen het wijzigen van het wachtwoord door het uitvoeren van:
- passwd
Homebridge en vereiste packages installeren
Het installeren van Homebirdge kan soms een beetje moeilijk zijn, meestal als gevolg van verschillende versies van Pi's, OS's, enz. Dus de volgende stappen zouden je moeten helpen om het in gebruik te nemen, maar het is het beste om de nieuwste installatiehandleiding te raadplegen en bij voorkeur die gids te volgen: https://github.com/nfarina/homebridge/wiki/Running-HomeBridge-on-a-Raspberry-Pi
Zorg ervoor dat u verbonden bent met de Pi en voer de volgende opdrachten één voor één uit:
- sudo apt-get update
- sudo apt-get upgrade
Install Git:
- sudo apt-get install git make
Install Node:
- curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
- sudo apt-get install -y nodejs
- sudo apt-get install -y build-essential
Set up NPM:
- mkdir ~/.npm-global
- npm config set prefix ‘~/.npm-global’
- export PATH=~/.npm-global/bin:$PATH
- source ~/.profile
Install Avahi:
- sudo apt-get install libavahi-compat-libdnssd-dev
Install Homebridge:
- sudo npm install -g --unsafe-perm homebridge
Start Homebridge at boot of the Pi:
- sudo apt-get install screen
Bewerk het bestand door het uitvoeren:
- sudo nano /etc/rc.local
Voeg deze regel toe vóór de regel exit 0:
- su -c "screen -dmS homebridge homebridge" -s /bin/sh pi
Druk op CTRL + X om op te slaan en af te sluiten.
Installeren van de Jablotron plugin
Op dit moment is het pakket niet op npmjs, dus we zullen het vanuit Github installeren door het volgende commando uit te voeren:
- npm install -g homebridge-jablotron
De homebridge config maken
Op de opdrachtregel, en maak het configuratiebestand aan:
- nano ~/.homebridge/config.json
Als de configuratie leeg is, voegt u het volgende toe aan het bestand, anders gaat u verder met het wijzigen van de referenties:
vraag Credex Alarm Systems...
De Jablotron config maken
Op basis van de output van de configuratietool kunt u beslissen welke services u toevoegt aan de configuratie. Meestal is er een enkele service geconfigureerd (bijv. voor Afwezig) maar sommige mensen hebben mogelijk meer services gedefinieerd (bijv. Afwezig & Nacht)
Elke service moet worden geconfigureerd volgens de kenmerken:
- id: mandatory, ID of service obtained by configuration tool
- name: mandatory, defines a name of a service
- username: mandatory, your Jablotron username, it is advised to create a new account for the sole purpose of controlling the alarm via Siri and limiting the authorization on that account.
- password: mandatory, corresponding Jablotron password
- pincode: mandatory, corresponding PIN code for Jablotron unit
- autoRefresh: optional [default value true], enables autorefresh mode that automatically polls the Jablotron status in interval defined using pollInterval attribute
- pollInterval: optional [default value 60], defines an interval (in seconds) in which plugin periodically checks for service's and its accessories' states
- refreshOnStateChange: optional [default value true], enables automatic refresh upon arm/disarm. This is typically used if you have other Jablotron accessories (eg outlets) set up and configured to automatically switch on/off based on alarm state
- debug: optional [default value false], provides more verbose and detailed logging. Set it to true in case of some issues only!
Configureren van Jablotron secties & accessories
Voor elke service moet er ten minste één accessoire zijn gedefinieerd. De beschikbare accessoires kunnen worden verkregen met behulp van de configuratietool.
De accessoires zijn van 3 soorten:
- section: dit is een segment welke op de Jablotron bedieningspaneel is gemonteerd (JA-192E)
- switch: dit is een schakelbare (PGM device) output verbonden met de Jablotron centrale (bijv. voor garage deur / flitser)
- outlet: dit is een outlet (PGM device) verbonden met de Jablotron centrale
Bovenstaande configuratie definieert:
- 3 secties / segmenten
- 1 switch voor garage deur / flitser
- 1 outlet voor het aan- en uitzetten van een camera
Elk accessoire moet worden geconfigureerd met behulp van de volgende kenmerken:
- name: mandatory, name of the accessory (this will be shown in Homekit and typically corresponds to the name defined in Jablotron setup)
- segment_id: mandatory, ID of a segment assigned in Jablotron setup
- segment_key: mandatory, key of a segment assigned in Jablotron setup
- keyboard_key: optional, is used to define a segment keyboard in order to support partially armed state (see below). Please specify the value only if you have Jablotron segment/section configured for partially armed state!
Ondersteuning voor gedeeltelijk bewapend systeem
Als uw Jablotron alarm is geconfigureerd om de gedeeltelijk bewapende (Partially Armed) status te ondersteunen, dat wil zeggen: wanneer een enkele klik op de segmenttoets gedeeltelijk bewapend en (eventueel) een dubbele klik het alarmsysteem volledig bewapend (Armed / Afwezig), kunt u hetzelfde ook configureren in Homebridge. Alles wat u moet weten is het segment op de toetsenbord. Voor het verkrijgen van deze informatie gaat u verder met stappen voor het 'Identificeren van Jablotron services en apparaten' (zie verderop).
Verbinden met de Homekit
Voer uit op de opdrachtregel:
- screen -S homebridge
- homebridge
Open "Home" op uw iOS-apparaat, klik op het plusteken in de rechterbovenhoek, klik op "add accessory" en scan de QR-code die wordt weergegeven op de opdrachtregel.
Sluit homebridge af op de opdrachtregel door op CTRL +Z te drukken, gevolgd door het uitvoeren van de opdracht:
- sudo reboot
De Pi zal nu opnieuw opstarten en na een paar minuten zal het opnieuw online zijn en zal Homebridge in gebruik zijn.
Homekit integratie
Het alarm integreert zich in Homekit als een standaard beveiligingsalarmapparaat. De Homekit ondersteunt 4 staten:
- Home - Thuis
- Away - Afwezig
- Night - Nacht
- Off - Uit
'Home / Away / Night' staan allemaal in de "Aan" -status en geven een scherp alarm aan. 'Off' geeft aan dat het alarm is "Uit" -geschakeld.
Jablotron-alarm ondersteunt alleen 3 toestanden:
- Disarmed
- Partially armed
- Armed
Gebruik
Nu we de Pi met Jablotron en onze Homekit verbonden hebben, kunnen we het Jablotron 100 alarmsysteem via Homekit niet alleen bedienen, maar ook automatiseren.
De huidige opstelling van Jablotron als een alarmsysteem in Homekit vereist gebruikersauthenticatie bij het uitvoeren van automatiseringen. Wanneer de eerste persoon bijvoorbeeld thuiskomt, schakelt u het alarm uit. Dit zal een melding op uw iOS-apparaat oproepen en vragen of u deze opdracht wilt uitvoeren.
Dit werkt elke keer weer en heeft als bijkomend voordeel dat het veiliger is, of dat het mogelijk is om het Jablotron-alarm als een schakelaar te laten verschijnen en dan zal de automatisering zonder bevestiging werken.
Als u Siri wilt gebruiken om het alarm te regelen, moet u een scène maken, die het alarm in- of uitschakelt en vervolgens Siri vraagt om die scène in te stellen.
Identificeren van Jablotron Services en Apparaten
Zorg ervoor dat alle segmenten op de Jablotron bedienpaneel zijn uitgeschakeld voordat dit hulpprogramma wordt uitgevoerd - dit zorgt ervoor dat toetsenborddetectie voor gedeeltelijk ingeschakelde status naar verwachting werkt: voer de config-helper.js uit om Jablotron services en apparaten (segmenten en PGM's) te identificeren. Zo verkrijg je alle services en gerelateerde segmenten die aan uw account zijn toegewezen.
- cd /usr/local/lib/node_modules/homebridge-jablotron
- node config-helper.js username password