jinnerbichler / flash-home

Proof of concept for integrating IOTA flash channels into home automation systems.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Flash Home

Proof of concept for integrating IOTA flash channels into home automation systems.

Scenario

In this Proof of concept scenario a coffee machine pays for each coffee made. The coffee machine is provided for free by the service provider, who monetizes each interaction with the coffee machine.

Setup

Please clone this repository recursively:

git clone --recursive https://github.com/jinnerbichler/flash-home

and run it via

docker-compose up coffee-client flash-coffee flash-provider

in order to execute the prototype on your local machine.

The following endpoints are provided after the startup:

Only Dependencies:

  • Docker
  • Docker Compose

Components

The exemplary setup mainly consists of five components: (1) Home Assistant, (2) Flash client of coffee machine, (3) Flash server of a coffee machine and (4) Flash server of a service provider and (5) a private testnet of the Tangle. An overview of components and their interaction can be seen in the schema below.

Components

Home Assistant

Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control. Perfect to run on a Raspberry Pi. At the time of writing more than 950 IoT components are supported, which can be integrated into Home Assistant (e.g. Phillips Hue or Dyson 360 Eye vacuum cleaner).

  • Home Assistant: https://home-assistant.io/
  • Config: ./home-assistant/config
  • Custom components: ./home-assistant/config/custom_components

This proof of concept integrates a Senseo coffee machine into Home Assistant and utilizes via MQTT messages with the coffee machine. The main part of the configuration can be found in scrips.yaml.

Flash Client of Coffee Machine

The client of the coffee machine is written in Python and can be run on a Raspberry Pi. It mainly receives MQTT messages, performs payment and makes coffee :)

  • Source: ./coffee-client

Flash Server of Coffee Machine

Flash server for managing the Flash channel part of the coffee machine. This component stores the seed of the coffee machine.

Flash Servier of Service Provider

Flash server for managing the Flash channel part of the service provider. This component stores the seed of the service provider.

Private Instance of Tangle (Testnet)

A private instance of the Tangle was set up for easier development. This includes a testnet of the Tangle, a utility coordinator, a network spammer and a Tangle explorer. Please have a look at ./iri-node to get further insights.

  • Source: ./iri-node

About

Proof of concept for integrating IOTA flash channels into home automation systems.

License:Apache License 2.0


Languages

Language:Python 84.5%Language:HTML 15.5%