# This is a combination of 38 commits.
# The first commit's message is:
Add behave tests for toggling room availability

Basis for #4.
Set basic structure for behavioural driven tests. Try to separate
protocol from transport, but this may not work.

# This is the 2nd commit message:

Webpage and PAHO

Add a web page where you can configure the sign. Connect the web page
with PAHO through the mqttws31.js client. Start to connect with

# This is the 3rd commit message:

Finish whole thread from site to I2C

With quite a lot of simple prototype code. Nothing fancy, but we can
test if it works alright.

# This is the 4th commit message:

Remove import

# This is the 5th commit message:

Fix import errors

Between python 2 and 3

# This is the 6th commit message:

Listen on all public IP's

# This is the 7th commit message:

Fix problem with message not existing

# This is the 8th commit message:

Send output to correct gate/port

# This is the 9th commit message:

Dirty fix for message not existing

# This is the 10th commit message:

Write to proper file_descriptors for I2C

# This is the 11th commit message:

Write to correct port in transport-module

# This is the 12th commit message:

Fix wrong text

# This is the 13th commit message:

Only write when there is a new message

Fix later

# This is the 14th commit message:

Confused if and elif

# This is the 15th commit message:

Reorder import statements

# This is the 16th commit message:

Raise exceptions when connection with broker fails

See http://www.eclipse.org/paho/clients/python/docs/#callbacks for
error conditions

# This is the 17th commit message:

Print message to std.out when receiving

# This is the 18th commit message:

Add minor todo

# This is the 19th commit message:

Let the client handle own main loop in thread

The paho MQTT client offers its own thread that calls the loop()
function regularly. This is better than rolling my own process. See
also: http://www.eclipse.org/paho/clients/python/docs/

# This is the 20th commit message:

React to different subscription

Use sign/status/set instead of /sign/status to indicate action

# This is the 21st commit message:

Refactor getting file descriptors for I2C

# This is the 22nd commit message:

From import future must be at top of file

# This is the 23rd commit message:

Damn elifs

# This is the 24th commit message:

Subscribe to proper topic

# This is the 25th commit message:

Receive the message first

# This is the 26th commit message:

are we getting the right file descriptors

# This is the 27th commit message:

Use list comprehension, not a generator

# This is the 28th commit message:

Add to protocol

Refactor out the bit twiddling and add additional bits from o ther parts

# This is the 29th commit message:

Finish creating proper bits

# This is the 30th commit message:

Make the main loop infinite again

# This is the 31st commit message:

Fix minor type

# This is the 32nd commit message:

Ignore BDD tests for code quality

The steps directory is full of errors.

# This is the 33rd commit message:

Refactor

-Change main loop
- Add extra tests

# This is the 34th commit message:

Add coverage

# This is the 35th commit message:

Fix extremely minor type

# This is the 36th commit message:

Add coveralls badge

# This is the 37th commit message:

Add additional tests

And fix bugs of course

# This is the 38th commit message:

Add more tests
Add functionality for toggling room availability
Fix bug with super

We were calling super which was not necessary. This was a bit of code
left over when we inherited from Process, but this has already been
removed.
Fix bugs identified by Travis

Problems with exceptions that do not exist in python2
String formatting uses indices
Merge pull request #14 from marcofinalist/rooms-available

Rooms available