Instellingen Instellingen.....................................................................................................................................................1 Introductie.................................................................................................................................................2 Basis..........................................................................................................................................................2 port.......................................................................................................................................................2 standalone............................................................................................................................................2 pid-file...................................................................................................................................................2 log-file...................................................................................................................................................2 log-level................................................................................................................................................2 whitelist.................................................................................................................................................3 stats-enable..........................................................................................................................................3 watchdog-enable..................................................................................................................................3 Module paden...........................................................................................................................................4 action-root............................................................................................................................................4 function-root.........................................................................................................................................4 hardware-root.......................................................................................................................................4 operator-root.........................................................................................................................................4 protocol-root.........................................................................................................................................4 Webserver.................................................................................................................................................5 webgui-websockets..............................................................................................................................5 webserver-authentication.....................................................................................................................5 webserver-cache..................................................................................................................................5 webserver-enable.................................................................................................................................5 webserver-http-port..............................................................................................................................6 webserver-https-port............................................................................................................................6 webserver-root.....................................................................................................................................6 webserver-user....................................................................................................................................6 Firmware...................................................................................................................................................7 firmware-gpio-miso...............................................................................................................................7 firmware-gpio-mosi...............................................................................................................................7 firmware-gpio-reset..............................................................................................................................7 firmware-gpio-sck.................................................................................................................................7 SMTP........................................................................................................................................................8 smtp-sender.........................................................................................................................................8 smtp-user.............................................................................................................................................8 smtp-password.....................................................................................................................................8 smtp-host..............................................................................................................................................8 smtp-port..............................................................................................................................................8 Overige......................................................................................................................................................9 ntp-servers...........................................................................................................................................9
Introductie De manier waarop pilight werkt kan aangepast worden door het veranderen van verschillende instellingen. Al deze pilight instellingen zullen beschreven worden in dit hoofdstuk gecategoriseerd besproken worden. In het globale configuratie bestand worden de instellingen geplaatst onder het onderdeel setings.
Basis port Linux, *BSD, and Windows no default value
1
"port": 5000
pilight kiest standaard een willekeurige poort voor zijn socket server. Voeg de port instelling toe met een valide poort als je deze poort vast wil zetten.
standalone Linux, *BSD, and Windows
1
"standalone": 0
Zodra pilight wordt gestart, zal het eerst kijken of pilight niet op een andere computer actief is in het netwerk. Als blijkt dat dit wel zo is dan zal pilight daarmee verbinding maken om een AdHoc netwerk te beginnen of uit te breiden. Als je wil dat pilight op zichzelf blijft draaien zet de standalone setting dan op 1. Een op zichzelf draaiende pilight zal zijn SSDP server uitzetten waardoor deze niet meer vindbaar is via SSDP.
pid-file Linux and *BSD
1
"pid-file": "/var/run/pilight.pid"
De pid-file wordt door pilight gebruikt om de pilight daemon proces ID nummer in op te slaan. pilight gebruikt dit nummer als een van de manieren om vast te stellen of pilight al actief is of niet. Deze instelling moet een valide pad bevatten om het pid bestand in op te kunnen slaan.
log-file Linux and *BSD Windows
1 2
"log-file": "/var/log/pilight.log" "log-file": "c:/pilight/pilight.log"
De log-file wordt door pilight gebruikt om allerlei informatie in op te slaan terwijl pilight actief is. Deze informatie kan gebruikt worden om problemen op te sporen of om te zien of om te zien of de event regles goed worden uitgevoerd. Deze instelling moet een valide pad bevatten om het log bestand in op te kunnen slaan.
log-level Linux, *BSD, and Windows
1
"log-level": 4
Het log-level verteld pilight wat voor een soort informatie hij moet zetten in het log bestand. Hoe hoger dit getal hoe meer informatie er wordt geplaatst in dit log bestand. De hoogste waarde is 6 en de laagste waarde is 0. De verschillende niveaus corresponderen met de volgende types: 0 = nood, 1 = alert, 2 = kritiek, 3 = fout, 4 = waarschuwing, 5 = notificatie en 6 = informatie.
whitelist Linux, *BSD, and Windows
1
"whitelist": [ "*.*.*.*" ]
Elk programma is in staat om via een socket verbinding met pilight te communiceren. Dit kan pilight-receive zijn, een gebruiker die de webGUI bezoekt, of externe pilight plugins zoals beschikbaar gesteld door onder anderen FHEM. Als je wil voorkomen dat elke computer verbinding kan maken met pilight, is het mogelijk om een whitelist in te stellen. Deze instelling moet een lijst van valide IPv4 adressen bevatten die wel verbinding mogen maken met pilight. Alle andere IPv4 adressen zullen worden geblokkeerd. Om een groep IPv4 adressen één keer te definiëren, kan je gebruik maken van zogenoemde wildcards. Een voorbeeld, om alle IPv4 adressen toe te staan vanaf 192.168.1.0 tot 192.168.1.254 kunnen we het IP adres 192.168.1.* toevoegen aan de whitelist. Om alle IPv4 adressen toe te staan vanaf 10.0.0.0 tot 10.0.255.255 kunnen we het IP adres 10.0.*.* toevoegen aan de whitelist. Deze lijst kan alleen valide IPv4 adressen bevatten met of zonder wildcards.
stats-enable Linux, *BSD, and Windows
1
"stats-enable": 1
pilight monitort zijn eigen CPU en RAM gebruik. Deze informatie kan gedeeld worden met externe programma's en wordt standaard gecommuniceerd over de websockets verbinding. Als je deze CPU en RAM statistieken niet wenst te zien of wil dat deze niet wordt gecommuniceerd over de websocket verbinding, zet stats-enable dan op 0. Deze instelling kan 0 of 1 zijn.
watchdog-enable Linux, *BSD, and Windows
1
"watchdog-enable": 1
pilight monitort zijn eigen CPU en RAM gebruik. Deze informatie wordt gebruik om pilight automatisch af te sluiten of te stoppen zodra pilight teveel CPU of RAM gebruikt. Als je deze mogelijkheid wil uitzetten, zet dat watchdog-enable op 0. Deze instelling kan 0 of 1 zijn.
Module paden pilight heeft de mogelijk om verschillende soorten externe modules te laden om zo de functionaliteit uit te breiden. Deze modules zijn losstaande bestanden die in specifieke folders moeten worden gezet om ze vervolgens in te kunnen laden. Waar pilight zoekt naar deze modules kan ingesteld worden. Er is normaal gesproken geen reden om externe modules in te laden. De laatste pilight versie bevat altijd de laatste protocollen, hardware drivers, event operatoren, functies en acties.
action-root Linux and *BSD
1
"action-root": "/usr/local/lib/pilight/action"
pilight event acties worden geladen uit de action-root folder. De action-root instelling moet een valide pad bevatten.
function-root Linux and *BSD
1
"function-root": "/usr/local/lib/pilight/function"
pilight event functies worden geladen uit de function-root folder. De function-root instelling moest een valide pad bevatten.
hardware-root Linux and *BSD
1
"hardware-root": "/usr/local/lib/pilight/hardware"
Externe pilight hardware drivers worden geladen uit hardware-root folder. De hardware-root instelling moet een valide pad bevatten.
operator-root Linux and *BSD
1
"operator-root": "/usr/local/lib/pilight/operator"
pilight event operatoren worden geladen uit de operators-root folder. De operators-root instelling moet een valide pad bevatten.
protocol-root Linux and *BSD
1
"protocol-root": "/usr/local/lib/pilight/protocol"
Externe pilight protocollen worden geladen uit de protocol-root folder. De protocol-root instelling moet een valide pad bevatten,
Webserver De volgende instellingen bepalen hoe de interne webserver de interne webGUI serveert or kan in zijn geheel uitgezet worden.
webgui-websockets Linux, *BSD, and Windows
1
"webgui-websockets": 1
Standaard communiceert de pilight webGUI met pilight door gebruik te maken van websocket. Dit is een relatief nieuwe techniek die het mogelijk maakt om veranderingen automatisch door te krijgen wanneer ze plaats vinden in plaats van periodiek na te gaan of er veranderingen zijn geweest. Het probleem is echter dat sommige oudere apparaten en browsers geen ondersteuning voor deze automatische techniek, maar wel voor de oudere techniek. Zet de webgui-websockets naar 0 als je de webGUI deze oudere techniek wil laten gebruiken. Deze instelling kan 0 of 1 zijn.
webserver-authentication Linux, *BSD, and Windows no default value
1
"webserver-authentication": [ "username", "password" ]
De geïntegreerde webGUI kan bediend worden door iedereen die er toegang toe heeft. Als je dit wil voorkomen, dan kan je de webGUI beveiligen met een gebruikersnaam en wachtwoord. De gebruikers naam moet als platte text opgeslagen worden, het wachtwoord dient beveiligd te worden met een SHA256 encryptie. Gebruik de pilight-sha256 om je wachtwoord om te zetten. Standaard SHA256 encryptie tools werken niet aangezien pilight de encryptie een aantal duizend keer herhaalt. pi@pilight ~# pilight-sha256 -p admin 4f32102debed8dabd87e88cf84c752ccb23a74b29f90b42edde05cbc7be41f80
Hier een voorbeeld van hoe we als gebruikersnaam user en als wachtwoord admin kunnen instellen: 1
[ "user", "4f32102debed8dabd87e88cf84c752ccb23a74b29f90b42edde05cbc7be41f80" ]
webserver-cache Linux, *BSD, and Windows
1
"webserver-cache": 1
pilight heeft de mogelijkheid om alle webGUI bestanden te cachen. Dit zorgt ervoor dat er minder van SD kaarten wordt gelezen zoals gebruik bij apparaten zoals de Raspberry Pi en Hummingboard, en het maakt het inladen van de webGUI sneller op appareten met langzame interne opslag zoals routers. Deze instelling kan 0 of 1 zijn.
webserver-enable Linux, *BSD, and Windows
1
"webserver-enable": 1
De pilight webserver kan ook in zijn geheel uitgezet worden. Dit kan handig zijn als je de webGUI niet gebruikt of als je je eigen webserver implementatie wil gebruiken. Deze instelling kan 0 of 1 zijn.
webserver-http-port Linux, *BSD, and Windows
1
"webserver-http-port": 5001
De pilight webserver draait standaard op de niet-standaard poort 5001. Hiervoor is gekozen om niet in conflict te komen met andere webserver die wel op de standaard HTTP poort 80 draaien. Als je de webserver toch op poort 80 wil draaien of elke andere poort, dan kan je dat hier instellen. De poort moet een valide en ongebruikte poort zijn.
webserver-https-port Linux, *BSD, and Windows not supported by default
1
"webserver-https-port": 5002
De webserver staat standaard geen beveiligde bevindingen toe. De enige manier om ondersteunign te krijgen voor HTTPS is door het handmatig compileren van pilight. De pilight webserver draait standaard op de niet-standaard poort 5002. Hiervoor is gekozen om niet in conflict te komen met andere webserver die wel op de standaard HTTPS poort 443 draaien. Als je de beveiligde webserver toch op poort 443 wil draaien of elke andere poort, dan kan je dat hier instellen. De poort moet een valide en ongebruikte poort zijn.
webserver-root Linux, *BSD, and Windows
1
"webserver-root": "/usr/local/share/pilight/"
De webserver hoofd folder verteld pilight waar hij alle bestanden kan vinden die door de webGUI worden geserveerd. Deze instelling dient een valide pad te bevatten.
webserver-user Linux *BSD
1 2
"webserver-user": "www-root" "webserver-user": "www"
De webserver draait standaard als een andere gebruiker dan root. Hiermee wordt voorkomen dat er malifide code wordt uitgevoerd. Als je de webserver wel als root gebruiker wil draaien of als elke andere gebruiker, dan is dat hier in te stellen. Deze instelling dient een valide systeem gebruiker te bevatten.
Firmware pilight biedt een makkelijke oplossing aan om makkelijk de firmware van microcontrollers te flashen in de vorm van pilight-flash. Het flashen van microcontrollers doet pilight door gebruik te maken van bitbanging of via USB. Voor bitbanging vier GPIOs nodig. Deze GPIOs zijn standaard geconfigureerd voor een Raspberry Pi. De GPIOs pilight gebruik kunnen echter apart ingesteld worden voor het apparaat dat u gebruikt. Elke GPIO is genoemd volgens de SPI specificaties, maar elke GPIO kan gebruikt worden aangezien er niet daadwerkelijk van SPI communicatie gebruik gemaakt wordt om met onze microcontrollers te communiceren. In pilight, de SPI namen MISO, MOSI, Reset en SCK worden alleen gebruikt om de pinnen te onderscheiden. Als je niet goed weet wat valide GPIO zijn voor uw platform, kijk dan op http://www.wiringx.org voor aanvullende documentatie.
firmware-gpio-miso Linux and *BSD
1
"firmware-gpio-miso": 13
Deze instelling definieert de GPIO die er gebruikt dient te worden als MISO. Elke valide GPIO voor het betreffende platform kan gebruikt worden.
firmware-gpio-mosi Linux and *BSD
1
"firmware-gpio-mosi": 12
Deze instelling definieert de GPIO die er gebruikt dient te worden als MOSI. Elke valide GPIO voor het betreffende platform kan gebruikt worden.
firmware-gpio-reset Linux and *BSD
1
"firmware-gpio-reset": 10
Deze instelling definieert de GPIO die er gebruikt dient te worden als Reset. Elke valide GPIO voor het betreffende platform kan gebruikt worden.
firmware-gpio-sck Linux and *BSD
1
"firmware-gpio-sck": 14
Deze instelling definieert de GPIO die er gebruikt dient te worden als SCK. Elke valide GPIO voor het betreffende platform kan gebruikt worden.
SMTP pilight heeft de mogelijkheid om met verschillende type mailserver te communiceren. Dit maakt het mogelijk om bijvoorbeeld mail acties te gebruiken in onze event regels, zodat we een e-mail kunnen versturen in geval van een bepaalde gebeurtenis. De meeste gebruikers zullen een e-mail account hebben vanuit het internet aanbieder of via een van de gratis e-mail aanbieders zoals gmail. In geval van een (niet bestaand) gmail account genaamd:
[email protected] met het wachtwoord: foobar, dienen de volgende SMTP instellingen gebruikt te worden: 1 2 3 4 5
"smtp-sender": "
[email protected]", "smtp-host": "smtp.gmail.com", "smtp-port": 465, "smtp-user": "
[email protected]", "smtp-password": "foobar"
smtp-sender Linux, *BSD, and Windows no default value
1
"smtp-sender": "
[email protected]"
De smtp-sender dient een valide e-mail adres te bevatten. Op het moment dat een mail verzonden wordt door pilight, dan zal dit mail adres gebruikt worden als de afzender.
smtp-user Linux, *BSD, and Windows no default value
1
"smtp-user": "
[email protected]"
De smtp-user dient een valide e-mail adres te bevatten. Dit e-mail adres wordt gebruikt om de gebruiker te valideren bij de e-mail server.
smtp-password Linux, *BSD, and Windows no default value
1
"smtp-password": "..."
De smtp-password wordt gebruikt om de gebruiker te valideren bij de e-mail server samen met de smtpuser instelling. Het wachtwoord dient dus een valide wachtwoord te bevatten voor dit e-mail account.
smtp-host Linux, *BSD, and Windows no default value
1
"smtp-host": "smtp.foo.com"
De smtp-host instelling dient een valide mail server adres te bevatten. Normaal gesproken zal dit adres vrij in lijn zijn met de naam van de internet hosting provider.
smtp-port Linux, *BSD, and Windows no default value
1
"smtp-host": "smtp.foo.com"
De smtp-port dient een valide smtp server poort te bevatten. Dit kan op dit moment ofwel 25, ofwel 465, ofwel 587 te zijn. pilight zal een beveiligde verbinding opzetten wanneer gebruik wordt gemaakt van poort 465. Bij poorten 25 en 587 is dit afhankelijk van de server hoe de verbinding wordt opgezet.
Overige ntp-servers Linux, *BSD, and Windows no default value
1
"ntp-servers": [ "eu.pool.ntp.org", "uk.pool.ntp.org" ]
Een belangrijke mogelijkheid van elke automatisering software is de mogelijk om tijd gebaseerde acties uit te voeren. Het is echter wel van belang dat er gebruik wordt gemaakt van de correcte datum en tijd. Problemen ontstaan waar de systeem tijd niet de correcte tijd is (voor onze specifieke tijdzone). Dit kan gebeuren op systemen zoals de Raspberry Pi die geen RTC hebben die de tijd bijhoudt als het systeem uitstaat. Om dit probleem te verhelpen heeft pilight de mogelijkheid om de tijd te synchroniseren via NTP servers. Je kan elke server pakken van http://www.pool.ntp.org/. Er kan een oneindig aantal server toegevoegd worden aan de ntp-servers lijst. pilight zal eerst proberen verbinding te maken met de eerste server, als dit niet lukt met de tweede etc. pilight zal dit blijven proberen totdat een succesvolle communicatie is opgezet.