15
Drupal Home automation met VSCP Peter Bosmans

Drupal home automation met vscp

Embed Size (px)

DESCRIPTION

Een presentatie over hoe Drupal ook gebruikt kan worden om het controlleren van een home automation system die gebruik maakt van VSCP

Citation preview

Page 1: Drupal home automation met vscp

Drupal Home automation met VSCP

Peter Bosmans

Page 2: Drupal home automation met vscp

Concept

• Centraal schakelpunt (teleruptors, relais)• Gedistribueerde controllers gekoppeld via een

eenvoudig netwerk (Bijv. één per kamer)• Geen Master-slave netwerk (SPOF), met een

bestaand protocol• Open source – Open hardware– Firmware , protocol– Control software

Page 3: Drupal home automation met vscp

Home automation control software

• Home remote (java – tomcat)• Linux MCE (gebaseerd op Ubuntu)• Misterhouse (Perl – ook met VSCP)• Drupal– Webgebaseerd, toegangsrechten, taxonomie, …– Connectie met database (logging, views, …)– Uitbreidbaar -> VSCP module

Page 4: Drupal home automation met vscp

VSCP• Very Simple Control Protocol

http://sourceforge.net/projects/m2m/files/VSCP%20Specification/http://en.wikipedia.org/wiki/Very_Simple_Control_Protocol

• Open source multiplatform : windows, linux – multicontroller : PIC, AVR, ARM, …

• Bruikbaar over verschillende fysieke lagen–Level I : RS232, RS485, RF, CAN–Level II : Ethernet

• Event gebaseerd• Configureerbare Modules

–Registers : I/O gedrag, I/O zones-subzones –DM (Decision matrix) : Filter - Action

Page 5: Drupal home automation met vscp

VSCP events

• Class : Collectie van event types– INFORMATION(20) , ALARM(1), MEASUREMENT(10), ….

• Type : Type van event– CLASS INFORMATION : BUTTON(1), ON(3), OFF(4), BELOW LIMIT(10), …– CLASS MEASUREMENT : COUNT(1), TEMPERATUUR(6), GEWICHT(3), …

• Zone : bron van event class-type– Kelder(1), Gelijkvloers(2), …

• Subzone : sub-bron van event class-type– Keuken(1), Salon(2), Berging(3), Terras(4), …

Page 6: Drupal home automation met vscp

Communicatie Drupal <-> VSCP

VSCPD– Gateway daemon tussen het CAN-netwerk en IP-netwerk.– DM voor filter – action

•Inkomende VSCP eventsCANbus -> USB2CAN convertor -> USB -> VSCPD -> DM -> PHPscript ->

XMLPRC• DM start PHPscript bij een INFORMATION ON/OFF VSCP event• PHPscript maakt een XMLRPC call naar drupal

•Uitgaande VSCP eventsDrupal VSCP module -> VSCPD -> USB -> USB2CAN convertor -> CANbus

Page 7: Drupal home automation met vscp

VSCP module• Taxonomie

– Level I Events : Reeds geconfigureerd in xml-file (Taxonomy import/export) – Zones-Subzones : Te configureren door de gebruiker

• Hiërarchisch opgebouwd• Synoniem bevat de zone- of subzonenummer

• Contenttypes– VSCPevent : Elk VSCPevent heeft een corresponderende Drupal node

• Taxonomy : Bepaalt het VSCP-event (class, type, zone, subzone)• Byte0 : Nodig voor bepaalde events• Data : Nodig voor bepaalde events• Node referenties (sended, received) : Connectie tussen verzonden en ontvangen events• Logtype : Type van logging ; via revisions of via nodes van het contenttype VSCPlog• Log referentie : Referentie naar de logging-node als er met revisies gewerkt wordt.• Button : Het event wordt verstuurd door ofwel een ‘view’ node of via de ‘button’ field

– VSCPlog• Class, Type, Byte0, Zone, Subzone, Data : Velden voor de corresponderende waardes.

Page 8: Drupal home automation met vscp

VSCP module• Zelflerend bij elk ontvangen event

– Node niveau• check op VSCP class, type, zone en subzone• Indien de node nog niet bestaat : maak node aan• Indien de node wel bestaat :

– update node timestamp – Indien referentie naar een send event node : update de receive referentie in de send event

node – Taxonomie niveau (Zone-Subzone)

• Indien de zone en of subzone nog niet bestaat : maak deze taxonomie term aan

• ReferentiesOm de laatst ontvangen VSCP event te koppelen aan z’n corresponderend verzonden VSCP event Bijv.: - on/off events koppelen aan button events.- het koppelen van het event met de werkelijk gemeten waarde, aan het event, om een temperatuur te zetten.

Page 9: Drupal home automation met vscp

VSCP module• Rules integratie– Rule trigger :

• After a VSCP event is received

– Rule condities : • VSCP event has zone• VSCP event has subzone• VSCP event has class• VSCP event had type• VSCP event had byte0• VSCP event had databytes

– Rule actie : • Send a VSCP event

– Rule sets• Bruikbaar voor oa. tijdsgebonden VSCPevents

Page 10: Drupal home automation met vscp

Demo : Technische opbouw

• Elektrische installatie

• Nodes : CAN based modulesConfiguratie : IN1, OUT1 => Zone = 1 = ‘Kelder’ ; Subzone = 1 = ‘Voorraad’IN2, OUT2 => Zone = 2 = ‘Gelijkvloers’ ; Subzone = 1 = ‘Keuken’IN3, OUT3 => Zone = 2 = ‘Gelijkvloers’ ; Subzone = 2 = ‘Woonkamer’

Page 11: Drupal home automation met vscp

Demo : Drupal - VSCP• Configuratie :

– Manuele instelling• Taxonomie ‘Zone-Subzone’• Content VSCPevent ‘Information – Button’

– Semi-Automatisch via de zelflerende mogelijkheid• Taxonomie ‘Zone-Subzone’• Content VSCPevent ‘Information – On/Off’

– Koppel het ontvangen VSCPevent aan het corresponderend verzonden VSCPevent.

• Views : – Buttons view : Overzicht van de ‘Information - button’ VSCP events met de

relatie van de laatst ontvangen ‘Information – On/Off’ event • Voorbeelden van enkele rules :

– ButtonSendEvent : Deze zorgt voor het verzenden van het VSCPevent en de refresh van de pagina, na een korte vertraging.

– Kelder Voorraad ON – Email : Verzend een mail wanneer het licht aangedaan wordt in de voorraadkelder.

• Rulessets : – Voor oa. het scheduleren van VSCPevents. Bijv. Elke 2 minuten het licht aan/uit doen.– …

Page 12: Drupal home automation met vscp

Toekomstige ontwikkelingen• Meer sensor integratie (temperatuur, licht, …)

• Meer widgets voor drupal • Ajax integratie• Migratie naar Drupal 7• Integratie van MQTT in de VSCP daemon

MQTT (MQ Telemetry Transport) : eenvoudige overdracht van berichten via een ‘broker’ met ‘publish/subscribe’ procedures

• Integratie van WS in de VSCP daemon (HTML5)

• https://www.thingspeak.com/, https://pachube.com/, …

Page 13: Drupal home automation met vscp

Vragen ??

Nuttige Links

VSCP : http://www.vscp.org/

VSCP source : http://sourceforge.net/projects/m2m/?source=directory

VSCP drupal module : http://drupal.org/sandbox/pbosmans/1429844

VSCP kiewit hardware module : https://sourceforge.net/p/vscpmodules/kiewit

Page 14: Drupal home automation met vscp
Page 15: Drupal home automation met vscp

Feedback & follow-up: http://drupalcampgent.be/feedback