We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Building a Cloudless Smart Home with openHAB

00:00

Formal Metadata

Title
Building a Cloudless Smart Home with openHAB
Title of Series
Number of Parts
94
Author
License
CC Attribution 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
openHAB is a free and open source solution for the smart home. This talk gives an overview of the features of openHAB and shows why open source software is the right answer to the diversity in the smart home. In the quickly growing smart home market, the industry has come up with a vast number of standards, protocols and products. Be it Apple HomeKit, Amazon Echo or Google Home, they usually don't play well together and there is hardly any interoperability across vendors. What is more, the only thing they connect to is their respective cloud service, which lets a typical smart home depend on dozens of remote servers - clearly not a desirable setup as it affects reliability, latency, data privacy, longevity and more. The openHAB project has attracted a huge developer community, which looks at the smart home from a user perspective: This makes features like offline capability, data privacy and customisability top priorities for a smart home solution.
14
Thumbnail
08:55
28
30
36
Thumbnail
57:37
39
Thumbnail
58:46
48
Thumbnail
1:00:10
57
Thumbnail
15:55
91
BuildingOpen sourceFreewareIterationMoment (mathematics)Projective planeXMLUMLLecture/Conference
Cloud computingCartesian coordinate systemOrder (biology)Punched cardSoftwareDifferent (Kate Ryan album)Mobile appSmartphoneGame theory
Cloud computingWeb 2.0Level (video gaming)Interactive televisionPlastikkartePoint cloudData miningINTEGRALConnected spaceNatural numberService (economics)Perspective (visual)Multiplication signGoogolSlide ruleLecture/Conference
Point cloudComputerPoint cloudCausalityService (economics)FreewareSoftwareNeuroinformatikDifferent (Kate Ryan album)YouTubeOperator (mathematics)Business modelEngineering drawing
Point cloudComputerMessage passingInheritance (object-oriented programming)InternetworkingBusiness modelService (economics)Multiplication signInternetworkingRight angleStaff (military)Information securityVirtualizationConnected spaceCentralizer and normalizerComputer programmingOperator (mathematics)Functional (mathematics)Network topologyComputer hardwareCloud computingWeb serviceServer (computing)Expert systemPoint cloudLecture/Conference
Open setFreewareConnected spaceEmailIntranetDean numberOpen sourcePlastikkarteFocus (optics)Physical systemSingle-precision floating-point formatStatisticsContext awarenessConnected spaceCausalityIntranetLocal ringPlastikkarteCommunications protocolInteractive televisionProjective planeTelecommunicationSoftwareDifferent (Kate Ryan album)Open sourceInstallation artTrailDomain nameSmartphoneInterface (computing)Game controllerPhysical systemNumberView (database)Latent heatDeterminantFocus (optics)MehrplatzsystemFrequencyUser interfaceCASE <Informatik>Open setMultiplication signINTEGRALRepository (publishing)Run time (program lifecycle phase)System callPoint (geometry)Core dumpLocal area networkGateway (telecommunications)Java appletEstimatorInternet forumMereologyOnline helpRule of inferenceStatisticsWebsite
Physical systemRun time (program lifecycle phase)Gateway (telecommunications)State of matterSigma-algebraInterface (computing)Event horizonSupremumMedical imagingCartesian coordinate systemoutputWindowClient (computing)Computer architectureAbstractionLevel (video gaming)Latent heatInformationAndroid (robot)Service (economics)Open setEvent horizonVirtual machineCommunications protocolRepository (publishing)Coma BerenicesVirtuelles privates NetzwerkConnectivity (graph theory)INTEGRALComputer configurationPoint cloudData storage deviceLocal area networkInformation securityCloud computingInstance (computer science)Physical systemJava appletComputer fileServer (computing)BuildingProjective planeBus (computing)Rule of inferenceRemote procedure callDirect numerical simulationWordCore dumpMachine codeMechanism designXMLProgram flowchart
Device driverEvent horizonCase moddingCommunications protocolTouchscreenState of matterBuildingWireless LANModule (mathematics)Open setModulare ProgrammierungPhysical systemKeyboard shortcutLatent heatComputer hardwareLecture/Conference
DecimalVideo gamePulse (signal processing)Maxima and minimaProjective planeSubsetNumberCodeComputer animationLecture/Conference
Link (knot theory)Functional (mathematics)User interfacePower (physics)Functional (mathematics)Level (video gaming)Different (Kate Ryan album)HookingCartesian coordinate systemInformationWindowMultiplication signPhysical systemFlow separationDifferential (mechanical device)PeripheralProgram flowchart
VideoconferencingDeclarative programmingInterface (computing)Content (media)GUI widgetType theoryHierarchyWeb pageComputer-generated imageryAndroid (robot)Execution unitSpeech synthesisDirected graphDisintegrationGoogolPersonal digital assistantGraphical user interfaceHookingUser interfaceRule of inferenceLine (geometry)Speech synthesisDeclarative programmingContent (media)Connected spaceEvent horizonDifferent (Kate Ryan album)Arithmetic meanComputer fileFunction (mathematics)Web pageDatabaseBus (computing)Machine codeComputer iconStreaming mediaMP3ImplementationVisualization (computer graphics)Revision controlWeb 2.0Tablet computer1 (number)GUI widgetTouchscreenView (database)Datei-ServerGroup actionMemory managementLatent heatState of matterForm (programming)Automatic differentiationDiscrete element methodData managementSynchronizationPhysical systemPlastikkarteLecture/ConferenceProgram flowchart
StatisticsSoftwareINTEGRALGoogolDatabasePersonal digital assistantState of matterConnected spaceOpen setGame theoryInformation privacyHome pageExpected valueNetwork topologyProjective planeTime seriesSoftware development kitLocal area networkHookingContext awarenessLecture/Conference
Server (computing)Event horizonExtension (kinesiology)Representational state transferRun time (program lifecycle phase)Functional (mathematics)Event horizonOrder (biology)Service (economics)WordPhysical systemWorkstation <Musikinstrument>INTEGRALComputer animation
Google ChromeFile formatGastropod shellJava appletPhysical systemBitData loggerRun time (program lifecycle phase)Interface (computing)Local ringProgram flowchart
Graphical user interfaceWebsiteFirewall (computing)Proxy serverBuildingPoint (geometry)System administratorGenderDemo (music)Different (Kate Ryan album)User interfacePhysical systemView (database)XMLComputer animation
Atomic nucleusOpen setPhysical systemOrder (biology)Service (economics)Software protection donglePlug-in (computing)WindowRight angleElectronic mailing listDivisorKeyboard shortcutLecture/ConferenceMeeting/InterviewXML
Software protection dongleConfiguration spaceGraphical user interfaceEmailHill differential equationKeyboard shortcutPlastikkartePressureControl flowCuboidAirfoilWordPhysical systemPressureMultiplication signGame controllerMoment (mathematics)Price indexPower (physics)Oval1 (number)Computer animationXML
Graphical user interfaceVideo gameRing (mathematics)Control flowPower (physics)Video gameHookingSoftwareConfiguration spaceSoftware bugGraph coloringHacker (term)Game controllerECosLecture/ConferenceXML
Open setGame controllerGraph coloringEmailSoftwareWebcamView (database)Open setOrder (biology)Proof theory
Open sourceInclusion mapOpen setLink (knot theory)Rule of inferenceControl flowGraphical user interfacePhysical systemGame controllerVideo gamePlastikkarteSingle-precision floating-point formatData structureWebsiteGraph coloringVideo gameSelectivity (electronic)Game controllerLink (knot theory)TwitterComputer iconXMLComputer animation
Open setGame controllerCirclePoint (geometry)Graph coloringRule of inferenceReliefElectronic visual displayMedical imagingComputer animation
Game controllerPlastikkarteControl flowGraphical user interfaceRule of inferenceCAN busGroup actionRule of inferenceUser interfaceVirtualizationGame controllerEvent horizonSoftware testingPhysical systemCoefficient of determinationFunction (mathematics)Computer animationXMLProgram flowchart
Graphical user interfaceOpen setFreewareStandard deviationLogistic distributionNeuroinformatikComputer hardwareFrame problemProcess (computing)Moore's lawMedical imagingComplete metric spaceWeightElectronic program guideXMLLecture/Conference
Open setText editorRule of inferenceScripting languageService (economics)Singuläres IntegralComputer iconDebuggerCodeWebsiteCodeAsynchronous Transfer ModeVisualization (computer graphics)Moore's lawPlug-in (computing)Open setConfiguration spaceInformationComputer fileRight angleComputer hardwareRule of inferencePresentation of a groupoutputAuthorizationLecture/ConferenceComputer animationJSON
DebuggerScripting languageService (economics)WebsiteSinguläres IntegralText editorComputer iconRule of inferenceHill differential equationWeightOvalString (computer science)AreaObject (grammar)Complete metric spaceError messageMessage passingNewton's law of universal gravitationServer (computing)CodeGraph coloringScripting languageState of matterRule of inferenceFormal languageSpacetimeInformationVideo gameExecution unitPhysical systemType theoryProjective planeBlock (periodic table)String (computer science)Endliche ModelltheorieMultiplication signSoftware developerRepresentational state transferCommunications protocolPresentation of a groupSimilarity (geometry)Moment (mathematics)Complete metric spaceCondition numberMereologyServer (computing)Sound effectRun time (program lifecycle phase)LogicINTEGRALCASE <Informatik>Instance (computer science)Java appletContent (media)CausalityDivisorExpert systemStack (abstract data type)Service (economics)Subject indexingThermoelectric effectTerm (mathematics)Office suiteSoftwareLevel (video gaming)Bulletin board systemTraffic reportingTwitterImplementationTemplate (C++)Thomas BayesGUI widgetWitt algebraGame controllerMathematicsGreen's functionPlug-in (computing)ExpressionAtomic numberPersonal identification numberFile formatSource codeJSON
Game controllerSoftware protection donglePlastikkarteGraphical user interfaceRule of inferenceLink (knot theory)Lie groupConfiguration spaceVideo gameControl flowRule of inferenceGame controllerMoment (mathematics)Operator (mathematics)Configuration spaceWordXMLComputer animation
Open setRule of inferenceText editorComputer iconScripting languageService (economics)Server (computing)Error messageSinguläres IntegralMessage passingNewton's law of universal gravitationDebuggerCodeSoftware protection donglePlastikkarteGame controllerConfiguration spaceGraphical user interfaceRule of inferenceComputer clusterFood energyOffice suiteGraph coloringDemo (music)Extreme programmingSpeech synthesisComputer animationSource codeJSONXML
Open setSpeech synthesisPhysical systemService (economics)Point cloudPoint (geometry)CASE <Informatik>Degree (graph theory)Computer animation
Service (economics)GoogolLocal ringVarianceSpeech synthesisCache (computing)Computer fileLecture/Conference
Game controllerControl flowGraphical user interfacePlastikkarteVideo gameOpen setFreewareDemo (music)Point (geometry)Multiplication signDegree (graph theory)Demo (music)MereologyCasting (performing arts)WordOpen setComputer hardwareComputer animationLecture/Conference
StatisticsUbiquitous computingGoodness of fitDatabaseMedical imagingMetropolitan area networkTraffic reportingTime seriesString (computer science)In-System-ProgrammierungData managementJava appletTouchscreenPhysical systemInformationFood energyBitRight angleGraph (mathematics)
Tablet computerIdeal (ethics)Right angleTouchscreenReverse engineeringAndroid (robot)CuboidComputer architectureCASE <Informatik>Multiplication signLimit (category theory)Mobile appFamilyGUI widgetCommunications protocolPoint cloudArtistic renderingDifferent (Kate Ryan album)Electronic mailing listCartesian coordinate systemRing (mathematics)TrailRoboticsEvent horizonOnline helpFitness functionLecture/Conference
Cartesian coordinate systemMobile appComputer iconFreewareOpen setFlagLocal ringFile systemTerm (mathematics)Computer fileElectronic mailing listView (database)Orientation (vector space)UnicodeLecture/Conference
Open setServer (computing)MereologyService (economics)Arithmetic meanSpacetimePoint cloudCartesian coordinate systemProjective planeMultiplication signData storage deviceMobile appInformationInstance (computer science)SmartphoneCASE <Informatik>DatabaseComputer hardwareRight angleComputer configurationCloud computingWordMathematicsTouch typingINTEGRALPhysical systemDifferent (Kate Ryan album)TouchscreenComputer-assisted translationExtreme programmingTelecommunicationComplete metric spaceView (database)outputDirection (geometry)TwitterWeb applicationLetterpress printingYouTubeClient (computing)Android (robot)
FreewareOpen sourceComputer animation
Transcript: English(auto-generated)
Thank you very much for being here. It's great to have such a crowded full room today My name is Kai. I'm the founder and the project lead of open up and Before I start just first question who of you has already heard about open up
Wow That's great. How many of you are using it at home? Okay, also quite some wonderful so For the rest, I'll try to give you some good reasons why you might want to have a look at it at least if you are
interested in somehow Digitalizing your home by having smart devices and so on Because at the moment if you look at the landscape if you go to shops and buy some smart devices You end up with something like that. You have a couple of different devices all come with their own smartphone app usually
which is used to control them and to get some data from them and It works all nicely all by itself but you have more or less many silo applications in the end and It doesn't really integrate into a smart home one solution
If you look a bit closer in order to operate this smartphone app all of these devices actually usually connect to some cloud service of their respective manufacturer and They send all your data there and yeah punch a hole more or less in your in your network
and Yeah, that's more or less how how that setup looks like now all of that is still integrated but
Yeah, the industry now says well, it's pretty easy. Actually you have these many cloud services We all know web technologies rest api's and so on. So it's pretty easy to actually Build a smart home solution a single one on that cloud level. So you introduce some Common cloud service that actually reaches out to all the others and you can come to an interaction between all your devices and
We see actually on the market many of such solutions. It started with something like works with nest you can think also of Amazon Alexa being on that level to actually do a seamless
integration Google home as well Things like Conrad Connect and many others are trying to do it that way well, that's very natural from Service perspective For the end user it actually is a disaster the outcome
I usually like to call this slide my rainy day slide Because it really somehow makes me sad to see it that it ends up that way because as an end user all your data is actually pushed out there you rely on all these different services and There's this nice
T-shirt available from the free software foundation. There is no cloud just other people's computers So you really have to bring trust to all of them Not just trust that they handle your data correctly and they don't lose it You have to trust them that they keep the service running over the next decades because that's how long you usually want to operate devices in your home and
Also, bring the trust that they don't change their business model suddenly charge you or lose the interest in the service and so on so We've seen that in practice many times in the news as well that if you have some issues your
DSL connection is broken and you don't have an internet. It's not really fun to operate a smart home with that topology anymore and What's more many of the manufacturers which are good in producing hardware?
They might not really be the experts and actually doing secure cloud services, right? so somebody who Who builds toys? might not be really have the skills to secure the web service with all the data that is pushed to that and we've also seen already situations where the internet itself wasn't really properly working for time and if you have such basic
Functionality in your home like switching a light and that only works if all that is available That really doesn't make much sense So for me there is a big difference between a connected home and a smart home and
That's why That's why for me in the smart home domain in the smart home context people talk about IOT and IOT spells out for me as the intranet of things
because my smart home devices they are locally in my intranet in my local network and I want them to keep my data locally and I want them to do local interaction and communication only and as a user, I want to decide which data leaves my home and
whom I trust to actually remotely access that and Well, this kind of setup is really what open hub as a project is about to build a single central point as a gateway in the home that allows the communication between different kinds of protocols radio protocols frequencies and so on and
to allow overarching use cases there So I didn't mention it's an open source project. Well, that's why we are here at FrostCon It's implemented the core runtime in Java under the Eclipse public license It is all around smart homes. I call it a systems of system approach because we really focus on
Integrating stuff that exists on your network and not so much doing initial provisioning and or direct setup of the end devices themselves so It's rather you have a Philips you system as a lighting system
For example, you set that up with the you system and if that is discovered in your network you can integrate it into your overall system of open up and this integration then in the end allows you to have Single user interfaces on top of all of that and What is actually more important in the daily use than user interfaces?
It's the overarching automation so it can really define rules and what happens completely independent of any vendor specifics any protocol specifics and so on just some statistics about the community so We have many different site projects here and there we have roughly 30 different projects on github
With a couple of hundred contributors active contributors to the project Quite some turnaround with the pull requests that keep me busy day and night I actually have no real clue about the number of users or installations out there because we don't track the users at all
We have no clue how many People have it out there But rough estimation is that it should be far beyond hundred thousand users and installations What we see is that we're roughly Thousand downloads every day of the software
So that amounts to quite some Some numbers and last but not least. There's really a very active community behind it running on the forum with Many questions and answers And there are no no silly questions. Every question from newbies is really Answered in a very nice way and I'm pretty proud of that community that has built around the project because it's it's a very
Nice way of collaborating there So talking about the different parts the main part of open help is really what you run on the Gateway like Raspberry Pi and call that the Gateway runtime and we have different kind of packaging for that so you can get that from up repository
RPM we have docker images Also applications for now systems like Synology and so on The basic installation is really just a zip or tar GZ file that you can Unpack launch a start file and that's it
So all that is required is really a system that runs a Java virtual machine So it can be Linux Windows Mac, whatever Where you run that? Besides that we have the projects for native applications for Android iOS also a Windows native client
Which then connect to that and some Optional component for the stuff where you need something Running in the cloud. It's a node.js based a server that we are actually also hosting For people which allows to
Push your notifications to the native applications directly and also to securely access your local instance from remotely So that's something that people can use as a nice Feature, but they obviously don't have to if you're building up a VPN to your local network. You can always
Use that for remote access, of course or doing DNS services or others What the cloud component additionally does is it hosts our Alexa skill and Google home and If so, if this and that integration so everybody who wants to integrate on the cloud level with these services
That's also available here Okay, some words to the internal architecture so in the in the core the basic idea of open hub is really to have a Published subscribe Mechanism simple event bus more or less where the events are on abstract levels or not
specific to any kind of protocol or anything but rather saying well you're sending information data and abstract kinds of commands based on that you build the user interfaces you build the automation rules and everything and
Then we have software modules Which you can think of device drivers In open-up terms, they're called bindings and they more or less are small modules that you can add to your system Which translate the abstract events into a specific protocol?
Into specific API calls for a certain device and so on And By this concept, it's really you're highly modular So you can pick and choose actually the Modules that you are interested in because you have the hardware and you want to integrate that and you can simply leave out all the rest
Just as an example. What is available as such a binding or integration? it's really just a small subset of what the community has built there over the years and you more or less find everything that is relevant on the market and that you get there and
if not, then people usually Quickly implement such a binding they contributed back to the project so we really see an increasing number of things here and usually I'm the bottleneck because I try to keep the Code clean. I'm doing really rigid reviews code reviews on the stuff. So I have quite a long long backlog of
contributions to to review here on the Concept level It's important to understand that open up differentiates between the physical layer where we talk about the things so really the devices that you hook up to the system that you configure and
Want to use there and they provide certain functionalities features and on the application level Functional level we're then talking about simply items which is a piece of information or something that you want to operate with
So as an example, you see here the door window contact so this as a device is a Contact more or less but on your application you obviously want to say well, it's your window that is open or closed
More Explicit is it on something like a smart plug which you can simply switch on and off So the device is simply the plug that you have power or not, but in your user interface in your automation It's actually either maybe a light or a fan like here. So
Functional prospectus of something very different than the physical device that you hooked up That's why we really do this separation and we then link our functional items to the channels the functionality of the things and this Allows you to really keep the things completely decoupled and if you replace
one Technology by another one because you don't have classic lights anymore with some actuator switch But some sick be connected one. You really just have to hook up the new devices and you link that But you don't have to change anything on your user interface definitions on your automation rules and so on because that's decoupled
from each other sitemaps Just to mention them briefly. That's Declarative approach to actually define what you want to see on your user interface
So it's a small text file where I say well, okay, that's more or less the content you want to have on the UI these grouped on a page that's then on a sub page with that kind of icon next to it and You define that once and this is then read and used by the different user interfaces be it the HTML UIs be it the native
Applications so only define it once and have it then available across all the different devices and UIs Just to show what kind of UIs exist it starts from things like smartwatch pebble UI different web versions the native ones also
having a special HTML 5 one for bigger tablets and screens where you can really define many very specific widgets and having Wall mount tablets for nice nice view and visualization of your home Some further features just to mention that they exist we have text-to-speech many different implementations that you can
Choose what to use there, which is very useful for doing notifications in some way in your home Audio sinks is the mean to actually
Bring such a Such a audio Stream then to some device it can be an mp3 file it can be the output of a text-to-speech engine and so many devices like connected speakers or Cody or a Chromecast receiver they all can be used to actually then
Yeah, play the notification sounds that you have there Next is data persistence So all the events on the event bus you naturally can persist to some database To have time series data to build crafts on that and Statistics also here open up doesn't say it's that database and you use that but you can really hook up more or less everything
underneath that you like And so here it's also very modular and extensible Last but not least that party integration. I mentioned Alexa Google home and stuff like that. We also have a microft skill for more or less the
Privacy aware Voice assistant, which is really nice project home kit compatibility by exposing actually actually Everything that you've connected to open up as an home kit compatible device in your local network So something like that is also possible here on top of all of that
Open up exposes its functionality and everything that is connected through and rest API So it's also easily integratable into other systems or if you want to tinker around there, so Swagger documentation directly available on the runtime and
Additionally to the rest API we also have service and events as I see in order to push notifications out so you can subscribe there and Get updates directly To external systems, of course the last session in this room here was MQTT so word on that
it's also easily possible to have all these events directly pushed to MQTT or translate it there and Integrate devices if you build your own Arduino stuff and so on and want to integrate that that's also easily possible Now enough of the talking. I want to show you something in practice and
I've Prepared here in this folder. I should probably increase it a bit the font size In this folder, I simply extracted an open up runtime
So you see there's not much some folders start scripts. So let's Start that up Okay Look at the log file. Okay already Started started dashboard on local interface all your eyes available
so we can now simply access localhost 8080 and We're on the dashboard, which is simply more or less the starting point to reach the different your eyes now The main one that you should
Know about as a beginner for the setup is the paper UI which is on the far right The paper UI is our administration UI For doing didn't I click I clicked for doing Setup of your system through a user interface. So I actually open up provides two ways one is completely
text based one is through the paper UI and For different users and different setups different ways make sense here for this demo The graphical UI is a good starting point So, what did I bring with me let me show you first I have a small
Bluetooth beacon here, which is a sensor beacon that measures all kinds of values and sends them into data So that's a good device to get some data into the system in order to receive these Bluetooth telegrams
I have a small Bluetooth dongle here, which I know simply plug in to the USB port That one Is not auto discovered on a Mac on Linux it is so I can simply edit manually So I had a new device from the Bluetooth binding manually and it's a blue giga Bluetooth dongle
We can Oops choose now the port where it's connected so we get directly the list that is available here, which should be that one Okay, there it is it says online so it's connected to it successfully and we see on the lower right already that
Devices are coming in here. So that's actually now automatic Discovery that this thing is scanning here in the room. But what is available many Apple users apparently And we also find our blue key smart beacon down here So I can now simply say well this one I want to add the rest are simply ignore
And now we've added that as a device to our system that knows okay wants to do something with that We see the channels listed. So it gives its signal strength RSSI indicator
battery temperature humidity pressure and so on and if we go to the control tab It will take a moment because it just sends out these telegrams from time to time RSSI had already received that it's there and the rest should come flowing in now Still enough battery on it. That's a good start. Okay, and there we have the other values
So that was the first device being integrated pretty easy Next one is here this nice light bulb Which I brought with me that hasn't been discovered because it's actually completely powered off That's interesting. Why did that turn off? Okay
Now it has power and this is already pre-configured to hook up to my local Wi-Fi here so that will know that it has power hook up to the network and Hopefully I should automatically find that we can check it's a life x bulb so it's Wi-Fi enabled LED bulb
Look here and there we go. It found the bulb Again, we can say let's add that just call it life X and It has color color temperature
signal strength and we go to control we should now be able directly to Control it wonderful Either directly that or changing the color temperature so we can have a cold white over to warm white You can choose what what kind of?
Well, that's a bit bright. Let's go here. Okay. That was next one This one Wi-Fi Wi-Fi, yeah Okay Last one now, we have some data. We have a device to control now We need some controller and for that I brought this little thing here with me. Who knows what it is
What is it Very good. Yeah, that's a right movement it's a Stereoscopic infrared camera that can recognize gestures that you do above it So I can simply plug that in
It's called a leap motion Controller leap motion is That uses we pay to yes
You should have it in a network that open hub can reach it But yes, it can be on a different network than you usually use for other stuff. Yeah so I plug this one in and Many Bluetooth devices around here. There we go. We have a new inbox entry the leap motion controller
Let's add that one and this has a single channel which recognizes gestures and I can now decide what to do with that one I Click here and say well, I want to control some color. I
have to Select the channel, which I want to control with that and it's the color channel of the life expo. Okay We link it and we should be there now. Let's Have a try how that works So I can simply now say
Yeah, there it's on and I turn it off Okay, so you have to imagine the button here. I'm pressing it and you can turn it on and off it's Probably too bright light from the top. I can also simply hold my hand here with the five fingers. I can dim it
It's really fun. I can do that for four hours And Last but not least we want to have a color control, of course so how do you display colors usually as a color circle, so let's simply circle here and You see we change the color
This way or the other way around It has some problems with the light here from above Yeah, but there we go Okay, so that's a nice control now directly for the lamp and something very
Very different from technology point of view, but they're easy to integrate We can also do Some very simple rules with this user interface like we can say well, actually I have my virtual doorbell here so let's call a rule doorbell and we say when a
Trigger channel fires We have to choose the channel, which is our leap motion controller and choose an event Which is simply the tap event gesture then We can do a couple of things like playing a sound And I have some
Dog barking no rather use the doorbell on the standard sink, which should be simply the output of the local system Okay, let's try if our doorbell works nice small leg and I can do that for hours as well
Okay How much if I remember correctly it was somewhere around 60 bucks
Yeah, so actually not too expensive The the sensor made to mention It's really just the hardware is the stereoscopic camera, but the whole processing is done on your computer So actually connecting that to something like a Raspberry Pi
usually doesn't work because that's simply too too little computing power on that here on my Mac book it works nicely, but it sends I think around up to 200 frames so images per second, which you have to process and recognize the gestures. Yes. Yes
Okay, so Since stuff coming in there
okay, that was the Stuff around here, but I also want to show you now the more expert mode So what you can do on the textual side and for that we have a nice Visual Studio code plugin for open up Which supports you in textual configurations and things you can do there
now on the items Let's create a new file here My items Is that big enough to read? Yeah, okay. Wonderful. So we can now simply define a new item here, which
We say is the switch so simply just a boolean value Which we call presence and we give it a label. We are at home. For example so this now Information that we simply say well, we want to have this information
We want to work with that information in rules in your eyes without having attached any Any hardware to that right now now we can define Some rules in here. So my rules a new file
so that works with templating here so we can say we're Leaving home is a rule and We could now say that's actually something I have At home that when I'm leaving home and I'm pressing a button that I'm now away I'm actually turning all my lights off. Well, because I might have forgotten quite some of them
so we can simply now say here if Our life X color you see all of that is directly read from the life system That's what this visual coach plug-in does it really connects through the rest API
To the open up instance and greets what is defined there so it can directly check everything and offer you syntax completion we want to get the state of that get state as an On-off type usually the state of this thing is a color state. So use saturation brightness. We're now only interested whether it's on or off
And if this one is on we want to do something That is a Kind of Scripted Java language. So the question was what kind of scripting language is it? It's a scripted Java language
it's an Eclipse project called X space or Xtend which was more or less done by model driven development from the text project really being more or less completely compatible to Java but being passed and
interpreted at one time and really nicely scripted and all of that is then also integrated with the syntax checking and content completion through the language server protocol If you might have heard about that one, so it's actually open up runtime serves as a language server
So it provides information what kind of commands are valid now is the syntax correct and so on So you see that it highlights stuff here that it's not okay and so on so that's really a very nice integration here because I started off with some projects that
Also had scripting in per language and so on and I never actually got my scripts right and working and I really wanted to Have something Doing the syntax checks and stuff so Where was I I checked whether it's on and if I was so
So bad and forgot the stuff I can simply say Hi guy You have left The light on and of course we can oops This line, of course we can then directly send
On the life x color item We can send an off command okay, and if If we didn't forget it we just say Goodbye Now I just have to figure out why it says
Sorry That's the good thing about the syntax checking here that block should go to the then of course because the when was We have to define our condition here
when the item Presents which we just defined Changed to a new state which is off so we're leaving home. I forgot that part first So that's the when block which is your triggering Conditions when should the screw be run and now in the 10th block
This makes sense okay, let's quickly write a second rule for Coming home and The trigger would be very similar item presents Changed
To on Then We can all for example say well we have a light sensor here and We can say well if it's dark at home. We want to turn on the light automatically so Let's go for the blue key
Information which is the luminance at the moment 20 20 looks which is not much here so if this state is is bigger than 10 and the nice thing is we can also operate with units in here
So if you have some sensor that reports, I don't know miles and you want to Calculate in kilometers, then you can simply say well, okay Put a unit to it and the rest will be done by the system automatically
so if it's lighter than that, then we Get to the life X color and send an HSB you saturation brightness type white as a color
Yeah, so the question is their histories is logic You can simply implement it here at the moment the
Luminance is not a triggering factor. So if it changes it simply won't cause the rule to run again So at the moment, it will only now evaluate Okay, if it was lower or higher and then it decides what to do But of course you can implement our according logic that really make sure that you don't have any flickering effects at home
If you want to switch it No, but there are some Triggers, I don't know if they're readily available already But the idea was to have triggers for rules where you can simply state such things already
okay, if that changed or and went above that or below that and yeah, you can do such stuff Okay, and then in any case we say Welcome back so just to give you some glimpse of what you can do with the automation or actually I
can do something more here welcome back and it is and we can take the Some of our information the temperature for example their temperature
State so we can simply integrate that in a in a string here and it will now tell us hopefully the temperature I saved the stuff we disable this rule for the moment and now simply say that our deep motion controller
doesn't control that anymore, but It should actually simply be a toggle switch and operate on our At home presence item which is now also here available So you see how it's the graphical UI is nicely linked over the textual configuration It doesn't matter where you define what it's always available on the other side as well
Okay, 25 looks we are Not at home at the moment Nothing happens at all
That's not much rule coming home the names bla bla cannot be resolved, okay That's small as already what you want to know the coming home This one cannot be resolved. Ah, I know that's
That's just a very little small buck that I just found out about when preparing this demo by deactivating the The Leap motion from the color channel that actually removed the item for the color channel just have to press here now
It's again available the item and the rule should nicely work. You will see Okay, not at home Welcome back. It is twenty four point zero degrees Celsius Okay, that worked and it was light. Yeah
The text-to-speech engine in this case is using Mac operating system built in For Raspberry Pi we have the Pico TTS or as a text-to-speech wizard, which is pretty good quality and you can also use
Cloud based text-to-speech services from Google from voice RSS They are only used once for each text and then it's cached locally. So it's um
Yes, so When you're using Google text-to-speech it generates you a way file Which you download and it's stored locally in a cache and it's used from there if it's the same text again Yeah, but I prefer the local variant. So I'm running it on a Mac at home That's fine. But Pico TTS on Raspberry Pi is also pretty nice solution. So let's leave again
Come on leaving Hey Hey Kai you have left a light on and turned off great and
now I put the Beacon in my pocket, but it didn't receive it any updates as it seems Zero, you see it just right now. It came with the update. So if we're trying returning back home It should leave the light off this time Yeah There we go, you know what I can also simply press here welcome back it is twenty six point zero degrees Celsius
okay, and the light is still off and With that I'm actually at the end of the demo. I didn't show you many many other interesting parts I didn't show you anything about the sitemaps on the UI is actually that you use on a daily way But as I mentioned initially, it's really the automation is the really important stuff on a daily usage in the end
Your eyes for charting and so on is pretty nice. You can do a lot of cool stuff So if you're interested in that and want to see more just visit us at the open-up booth Which we have outside we can show you something and with that I'm at the end and thank you for your attention
And I think we have a few minutes left for questions and there would be the first one I can hand you the mic So would be interesting to know for example to do is statistics like you want to see how much?
Electricity you're consuming while you're in Mallorca and your house is unattended You want to see if your heating is running and fix it at least there's some charting solution that you can see What happens to your house if somebody opened the door and thinks of it that you get sudden some history like graphs and things of that
Like MRTG for for your house Right. So what is already built in is our the simplest solution is our D for J So Ron Robin database for Java directly built in which renders you PNG images of your time series That's one very simple solution. We have then Another one which is the hub panel. So the the one for the bigger screens the UI that I showed you which does
JavaScript nice reports for such things also Timelines where you simply have just on off information like okay, something was open or closed or on off you can have that nicely reported and
for heavy users They usually tend to simply put the stuff all into influx DB and use Grafana as a UI For having really charts and yeah monitoring of their system at home okay, so if you want to want to search into your freezer if it's for example consuming more electricity than it should maybe at the
same temperature a year later it used maybe 5% more electricity and you could maybe want to Remove the eyes from the freezer or something because because to see now it's a little bit icy because it takes more electricity to something yeah, you can Pretty easily usually see such stuff on the chart
So I'm actually also monitoring my energy consumption and I often already noticed if at night. It's more than usual Okay, something must be a normal and I go around and wonder what it is. Yeah, so it can be helpful Any other question? Right here, please. Sorry, I was late
So this is a very practical question how I would go about Making a UI for this thing on an old Android tablet or a phone which we all have lying around I expect I Want to have a screen where I would check what's what's going on with my house
Can I can I use an Android tablet or a phone for that? Do we have a UI which fits that well an Android tablet you mean or yeah. Yes. So the the hub panel one is the ideal UI I would say for that because you can adapt it to any screen size And have widgets defined exactly how you want it for Android phones
We rather have a native app that more or less does a list rendering of your stuff and where you can easily Browse and which is okay for on the road, but for bigger tablets at the wall It's an HTML 5 application this This panel UI so you can run it on an iPad on Android tablet on any kind. Sounds great one last question
You told us what is easy to integrate. Can you tell us what is hard to integrate right now? You listed the devices it showed us the devices which are easy to integrate which are hard to integrate. Yeah
well Usually the devices where the manufacturers Don't really care about open API said they try to close it as much as possible and just set the data to the cloud These devices are really not fun and It's nothing that I would suggest people to actually buy and I hope that someday that will actually become a reason for
Manufacturers to consider open API's and to really be open to developers And yeah, there are many devices that are really Possibly Able to connect to but not documented at all. So you have to do a lot of reverse engineering and stuff. So
I won't name any specific one, but there are definitely many cases for people who love reverse engineering so Are there any devices which are open but are difficult to integrate because of architectural limitations or because nobody had time to do that Any kinds of devices perhaps?
well, the trickiest things are usually whole protocol families like Zigbee z-wave and ocean and so all where you have more or less just a protocol defined but hundreds of different devices out there Which might behave according to the protocol my and some might have firmware box and to handle all of that is usually quite tricky
Okay, thank you Welcome. I just opened the F droids tool to find the Application and it says here anti features. The app is flagged with the non free asset flag because the open HAB icon is not under a fry license. Why is it?
That's a very good question It's mainly because I have too many contributions to review I still have in my local file system actually a file where I want to specify the reuse of our logo and
I didn't get finished that and I'm not a lawyer and that's something that you simply take a while we didn't do any trademark on the Logo so far. We might actually do a trademark on that, but we want it to be Freely available and to be used here But you need to put that down in some legal terms and so on you need a lawyer for that to get it
Right, and so that's something still on my to-do list But it's not that we don't want the community to actually refer to open up the data. I can rather the contrary So as far as I understand it, you also have a server part in open up a server
Yeah, like run a server that collects the data or you just use other cloud space services So mean on on the cloud side. Yeah. Yeah, there's this Open up cloud project which is a node.js application with a MongoDB where stuff can be stored
That's something yeah that is mainly used for the integration with if Alexa and stuff like that Yeah, but usually all the data is really on your local system on your local hardware where you installed that also the databases
Yeah, so if I saw it right if you want to push some information to your Android or iOS app you need to use your cloud service Okay, I directly push a notification from my own
open app system to my iPhone As far as I know it's not possible to have push notifications to native app server without having some server in the Cloud, so that's why we are operating this My open up instance to do that But you're of course free to use other kind of push notification service to your smartphone
you can simply have pushover or different other services which Also allow you to push notifications to the smartphone which don't directly end up in the open up app But which also end up on your on your screen
Okay Okay, there was one question in the back put your hand the mic over there I've got some questions about best practice If you have all the options you can have in a house the question is where would you do the switching would you do? it in in
fuse chambers right word The humans custom size of English personally fuse box in the fuse box or what you do is with With in the in the room itself, or we lose the switching part You mean real switches at the wall or more actors for for light or for actuators
Usually I say it's there's really no one recommendation that you could give for people or what to actually do because it highly depends on your Present setups there. So whether you're creating a new house or completely refurbishing it if you're
somewhere where you actually Cannot touch or change anything and you need to retrofit stuff and also the kind of use cases that you want to do So this might be around lighting others might want to save energy and do that. So There are so many different things around on the market. It's difficult to give the one answer that fits everyone
I think we're already pretty much over time. So I would suggest I answer any further questions very happily Either right now here or at the booth and later on. So thank you very much again