element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Pi IoT
  • Challenges & Projects
  • Design Challenges
  • Pi IoT
  • More
  • Cancel
Pi IoT
Blog [Pi IoT] Thuis #9: Status Update
  • Blog
  • Forum
  • Documents
  • Polls
  • Files
  • Events
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: rhe123
  • Date Created: 31 Jul 2016 12:56 PM Date Created
  • Views 1367 views
  • Likes 3 likes
  • Comments 8 comments
  • home automation
  • piiot
  • status_update
  • raspberrypi3
  • thuis
Related
Recommended

[Pi IoT] Thuis #9: Status Update

rhe123
rhe123
31 Jul 2016

I’ve been busy with a few other things, so that’s why it has been silent on the IoT front. As I also just past half of the blog posts, I thought this would be good time to reflect on the plan and report the latest status. In this blog I’ll go through all projects/libraries and use cases presented in the plan and show the status. Some to-do’s are marked italic: these might happen after the challenge deadline.

 

Open Source Projects

These are the projects that I’m making available as open source on my GitHub account during this challenge. They are all set up so that they can be reused by others in their own home automation projects.

 

Zway-MQTT

80%

As described in Publishing activity from Z-Way to MQTT messages are published for each status change. It also subscribes to the responding topics, so you’re able to turn on and off devices through MQTT as well. The topics and devices used are completely configurable. With this all major functionality is done.image

 

To-do:

  • Publish a message on scene activation (e.g. used for each secondary push button on the wall)
  • Get it published on the Z-Way App store, already uploaded June, but still no response
  • Publish energy usage

 

Zway-MQTT on GitHub

 

Chef-Zway

100%

Making sure I can use Chef to fully install the Raspberry Pi 3 I needed to update a few recipes, but also create a completely new one for Z-Way. This was a major hurdle and took more time than expected, but I learned a lot from it. In Cooking up the nodes: Thuis Cookbook you can learn more about it.image

 

Chef-Zway on GitHub

 

 

Plex-client

30%

Plex doesn’t allow me to add a plugin directly in the server, but there is an API and WebSockets for status messages. For now only some research has been done and some models set up. It will be implemented as Java library, likely with a similar set up as I’m using for integrating Java and MQTT.image

 

To-do:

  • Set up projects
  • Implement models and client code for API
  • Implement models and client code for WebSockets
  • Forward events through CDI and MQTT

 

CEC-CDI

50%

The library for using CEC (Consumer Electronics Control) in Java was developed about 10 months ago and already performs the most common functionality (monitoring stands-status, turning on/off devices, changing volume and changing outputs). However it should still be integrated with the remainder of the system.

 

To-do:

  • Integrate library with Core
  • Forward messages through MQTT

 

CEC-CDI on GitHub

 

MQTT UIKit

20%

The work on the MQTT UIKit for iOS is just started and will be the subject of the next blogpost. The goal is to provide reusable UI elements which update their status by subscribing to a MQTT topic and are able to send messages as well.image

 

To-do:

  • Implement several UI elements (button, slider, info)
  • Integrate them with MQTT
  • Build an app around them

 

Use Cases

 

Light when and where you need it

80%

image

Sensors are placed in both the kitchen and the entrance room. The Core knows about them and as described in Core v2: A Java EE application rules are defined to turn the lights in those rooms on and off depending on movement and time. This works pretty well already!

 

To-do:

  • Further optimize the rules
  • See if improvements can be made by using iBeacons

 

Welcome home

0%

The implementation of this use case is mostly dependent on iBeacons being in place. As they are finally delivered, I can start setting them up.

 

To-do:

  • Set up iBeacons
  • Integrate them with the iOS app (which will publish MQTT messages about their current location in the house)

 

Home Cinema

30%

image

The Z-Wave hardware for the home cinema is in place (using a 6-socket PowerNode), so they can be turned on and off. As mentioned above the Plex and CEC libraries are work in progress. When these are there we can make a full integration.

 

To-do:

  • Finish Plex and CEC libraries
  • Set up a Raspberry Pi for the CEC communication
  • Integrate them with the Core
  • Add and integrate a DIY ambilight

 

Mobile & On-The-Wall-UI

15%

image

Work on the iOS UI elements is just started. Further development of the iPhone and iPad apps depends on this. The iPad is already mounted on the wall though!

 

Todo:

  • Finish MQTT UIKit
  • Create an app for the dashboard (both mobile and On-The-Wall)
    • Provide basic actions (turning on/off device, triggering scenes and providing information)
    • Show the current movie playing in Plex and pause/start
    • Add speech commands
  • Create a custom app for the kitchen (either iPad or web)

 

Wake-up light

0%

Work has not started on the Wake-up light, mainly because one of the required components (the MOVE) is not delivered yet. As it’s an Indiegogo project, it’s not certain when it will be delivered. I’m not counting on it for the duration of the challenge. I will start on the wake-up light with only bedroom light gradually turning on.

 

To-do:

  • Sleep Cycle doesn’t have a web hook available yet, so it’s still needed to set up a Philips Hue bridge
  • Install Z-Wave dimmer in the bedroom
  • Install and integrate the MOVE

 

Manual override

80%

image

Most lights can already be switched manually using the buttons on the walls. Some of them should however be switched using the secondary button, which does a scene activation. I have to add support for this to the Zway-MQTT.

 

To-do:

  • Add support for secondary buttons in Zway-MQTT

 

Energy monitoring & saving

10%

For energy monitoring I only did some research yet. InfluxDB seems to be a good candidate for storing the data. As time is running out, I’m not sure if I’ll be able to fulfill this use case.

 

Todo:

  • Let Zway-MQTT publish energy usage
  • Integrate YouLess to record total energy usage of the house
  • Create reports based on the usage

 

Summary

Up to now I mostly set up infrastructure and backend code. It's now time to really start implementing the selected use cases. This is what I will focus on for the upcoming weeks. Although there is only 1 month left until the deadline, I'm confident I can implement most of them on time!

  • Sign in to reply

Top Comments

  • fvan
    fvan over 9 years ago in reply to balearicdynamics +2
    30% HTML magic I suppose, here's how I did it just now, quick and dirty: <table width="100%"> <tbody> <tr> <td bgcolor="#FF0000" width="30%">30%</td> <td bgcolor="#CCCCCC" width="70%"></td> </tr> </tbody…
  • rhe123
    rhe123 over 9 years ago in reply to balearicdynamics +2
    Thanks! Indeed, it's a bit of HTML and CSS, in a bit more readable version: <style> .progress-bar { margin-bottom: 30px; display: block !important; max-width: 100%; background: #eee; line-height:…
  • element14Dave
    element14Dave over 9 years ago +2
    Keep up the good work Robin!
Parents
  • balearicdynamics
    balearicdynamics over 9 years ago

    Nice method to give an immediate state-of-the-art of the project. How did you have done this ?

     

    Enrico

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • rhe123
    rhe123 over 9 years ago in reply to balearicdynamics

    Thanks! Indeed, it's a bit of HTML and CSS, in a bit more readable version:

    <style>
    .progress-bar {
      margin-bottom: 30px;
      display: block !important;
      max-width: 100%;
      background: #eee;
      line-height: 1 !important;
      position: relative !important;
      box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.03) inset !important;
      -moz-box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.03) inset !important;
      -webkit-box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.03) inset !important;
    }
    
    
    .progress {
      background: #f79101;
      display: block !important;
      height: 30px !important;
      box-sizing: border-box !important;
      -webkit-box-sizing: border-box !important;
      -moz-box-sizing: border-box !important;
    }
    
    
    .progress-bar span {
      position: absolute !important;
      left: 10px !important;
      top: 10px !important;
      font-size: 12px !important;
      color: #fff;
      line-height: 1 !important;
    }
    </style>
    <div class="progress-bar">
      <div class="progress" style="width: 80%;"></div>
      <span>80%</span>
    </div>

    It can likely be cleaned up a bit, but I reused it from another blog of mine image

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • balearicdynamics
    balearicdynamics over 9 years ago in reply to rhe123

    You And Frederick had a good idea. Thank you for the source Robin, I will make something with this. I have to consider better the use of some html scriptlets in the posts.

     

    Enrico

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • balearicdynamics
    balearicdynamics over 9 years ago in reply to rhe123

    You And Frederick had a good idea. Thank you for the source Robin, I will make something with this. I have to consider better the use of some html scriptlets in the posts.

     

    Enrico

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube