The Dog Gateway - Intro

22,380 views

Published on

A short introduction to the Dog Gateway and its internal modules / logic

Published in: Technology
  • Be the first to comment

The Dog Gateway - Intro

  1. 1. The Domotic OSGi Gateway A SHORT INTRODUCTION A brief overview on the Dog gateway, starting from the design principles and going deep into the gateway architecture and modules, with some application sample
  2. 2. What? COMFORT LIGHTING REMOTE SECURITY DEVICES NETWORKS ENTERTAINMENT HEATING AND AIR CONDITIONING 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  3. 3. How? HOW TO GET IT? PLANTS / ARCHITECTURES / CONTROL / INTELLIGENCE INTELLIGENCE NETWORKS 10/24/2013 The Domotic OSGi Gateway - Dario Bonino DEVICES
  4. 4. However WIRELESS MOST DIFFUSED NETWORKS WIRED WIRED 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  5. 5. Whishlist EASY DEVELOPMENT (EXTERNAL APPLICATIONS) SINGLE POINT OF ACCESS SINGLE LANGUAGE / PROTOCOL NETWORK-LEVEL INDEPENDENCE FULLY INTEGRATED SYSTEM FLEXIBILITY 10/24/2013 SUPPORT FOR MANY TECHNOLOGIES The Domotic OSGi Gateway - Dario Bonino
  6. 6. Abstraction / Information hiding SEGREGATION OF THE “PARTS” THAT ARE MOST LIKELY TO CHANGE, THUS PROTECTING OTHER COMPONENTS FROM EXTENSIVE MODIFICATION IF THE “PARTS” ARE CHANGED APPLICATION PROGRAMMING INTERFACE SINGLE SLOWLY EVOLVING INFORMATION HIDING NETWORK 10/24/2013 CHANGES IN PARADIGMS CHANGES IN TIME CHANGES IN FEATURES The Domotic OSGi Gateway - Dario Bonino
  7. 7. Natural Modeling Technology indepedent Home Modeling Representing devices, appliances, furniture and home environments in a technology independent, yet actionable manner.
  8. 8. Natural Modeling LAMP On Off 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  9. 9. Natural Modeling Meter + Plug On Off Energy Power 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  10. 10. Natural Modeling *10*0*1# *10*1*1# On Off 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  11. 11. A Device is... WHAT IT CAN DO UPON COMMAND (FUNCTIONALITIES) WHAT IT CAN BE (STATES) WHAT IT CAN DO AUTONOMOUSLY (NOTIFICATIONS) 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  12. 12. DogOnt ONTOLOGY Formal model for representing devices, rooms, furniture, etc. SEMANTIC WEB technologies: OWL, Reasoning, SPARQL TECHNOLOGY INDEPENDENT Hides network-specific information (segregated in a single modeling tree) 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  13. 13. Core modeling hasNotification Notification Building Environment UnControllable Notification Functionality generateCommand* Building Thing Controllable hasState 10/24/2013 isIn Thing Functionality hasFunctionality State Query Functionality Command Functionality StateValue The Domotic OSGi Gateway - Dario Bonino Command hasCommand hasCommand
  14. 14. Device Modeling Building Thing Controllable House Plant Building Environment isIn / contains Building Electric System Lamp Functionality Room hasState Control Functionality State hasFunctionality OnOff Functionality 10/24/2013 Apartment The Domotic OSGi Gateway - Dario Bonino Discrete State OnOff State
  15. 15. Device Modeling - Instances OffNotification OnNotification Generates Command OnStateValue hasNotification hasNotification OnOffNotification Functionality OffStateValue hasFunctionality OnOffState OnCommand hasFunctionality Switch hasState Lamp isIn isIn OnOffFunctionality hasCommand Sample Room hasCommand OnOffState OnStateValue OffStateValue OffCommand 10/24/2013 hasState The Domotic OSGi Gateway - Dario Bonino generates Command
  16. 16. Over 150 Controllables... 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  17. 17. Dog Domotic OSGi Gateway Architecture, technology and APIs
  18. 18. General Architecture Application Rest API e.g., /devices/lamp1/commands/on Dog IP-Network Wired Protocol (e.g., KNX) Wireless Protocol (e.g., ZigBee) GW D 10/24/2013 D GW D D D D The Domotic OSGi Gateway - Dario Bonino D A
  19. 19. REST • Representational State Transfer – a stateless, client-server, cacheable communications protocol (over HTTP) • HTTP requests to: – post data (create and/or update), – read data (e.g., make queries), – and delete data. 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  20. 20. Dog RESTful API • • • • Quickly evolving / constantly updated Technology independent (based on DogOnt) Transfers XML / JSON data 3 main APIs – Devices – Environment – Rules 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  21. 21. Device API • Allows to manage connected devices: – query the gateway about installed devices, their location, functionalities and configurations; – require execution of commands to existing devices; – monitor device statuses and measures in real-time; – add, modify or update the set of devices controlled through the gateway; 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  22. 22. Device API - Query Resource: /devices <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <dhc:dogHomeConfiguration> <dhc:controllables> <dhc:device domoticSystem="ELITE" id="oven1" class="ElectricalOven"> <dhc:description>A ElectricalOven instance named oven1</dhc:description> <dhc:isIn>kitchen</dhc:isIn> <dhc:pluggedIn>MainsPowerOutlet_p12_kitchen</dhc:pluggedIn> <dhc:controlFunctionality class="OnOffFunctionality"> <dhc:commands> <dhc:command name="on" class="OnCommand"/> <dhc:command name="off" class="OffCommand"/> </dhc:commands> 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  23. 23. Device API – Execute Commands Resource: /devices/{device-id}/commands/{command-name} PUT http://the.dog.address/devices /lamp1/commands/on On Off 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  24. 24. Device API – Status Resource: /devices/status Resource: /devices/{device-id}/status GET http://the.dog.address/devices/lamp1/status { “id" : “lamp1", "description" : " The lamp over the closet near to the livingroom armchair", "active" : true, "status":[ { “OnOffstate" : "on" } ] ? On } 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  25. 25. Device API - Update PUT A lamp http://the.dog.address/devices/lamp1 { "description" : "The Lamp near to the armchair " } The Lamp near to the armchair 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  26. 26. Environment API • Allows to manage information about the environment: { "rooms":[ { "id" : "kitchen", "class" : "Kitchen", "description" : "The best room in the house“ }, { "id" : "sam_bedroom", "class": "Bedroom“, "description" : "Sam's bedroom" } ] – insert, update or delete rooms; – insert, update or delete flats; • E.g., – GET http://www.mydog.com/environm ent/flats/flat/rooms } 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  27. 27. Rules API (under refinement) IF OR-IF TRIGGER-EVENT WHEN TRIGGER-EVENT WHEN CONDITION (S) CONDITION (S) THEN ACTION(S) 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  28. 28. Domotic OSGi Gateway • Based on OSGi (formerly Open Services Gateway Initiative) which facilitates: – componentization of software modules and applications – assures remote management and interoperability – provides specifications, reference implementations (Eclipse Equinox, Apache Felix), test suites and certification • Many interacting components organized in 4 layers: – – – – 10/24/2013 Core Drivers Communication Addons Communication Addons Core Drivers The Domotic OSGi Gateway - Dario Bonino
  29. 29. Architecture Rest API Communication Core functions: house model, device model, unit of Core measure support, device management Rules, Addons Historic Storage Support to different Drivers technologies 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  30. 30. Device Handling - Attachment Dog Network Z-Wave Creation SimpleLamp(lamp1) Z-Wave nodeId: 1 Detection Device Factory Z-Wave Network Driver Identification Match & Attach Z-Wave Gateway Driver Z-Wave Lamp Driver Device Manager 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  31. 31. Device Handling – Attachment (2) Dog KNX Network Configuration Creation Device Factory SimpleLamp(lamp1) KNX groupAddress: 1/1/1 Match & Attach KNX Network Driver KNX Gateway Driver KNX Lamp Driver Device Manager 10/24/2013 The Domotic OSGi Gateway - Dario Bonino
  32. 32. Device Handling - Operation Dog Application Network Z-Wave Rest API Z-Wave Network Driver Z-Wave Lamp Driver 10/24/2013 SimpleLamp(lamp1) Z-Wave nodeId: 1 The Domotic OSGi Gateway - Dario Bonino Executor
  33. 33. Device Handling - Operation Dog Application Network KNX Rest API KNX Network Driver KNX Lamp Driver 10/24/2013 SimpleLamp(lamp1) KNX groupAddress: 1/1/1 The Domotic OSGi Gateway - Dario Bonino Executor
  34. 34. Questions? More details available on-line: http:domoticdog.sourceforge.net

×