Control panels

I currently have Habpanel running on a 7″ RPi display test rig in my current apartment. It’s nice to get stats and control things. But… the panel is too small, has a crappy viewing angle and HUGE bezel.

I’d like to build touch panels for each room that are flush with the wall, and have a small bezel. And are larger and…

Sorting out specs, I’m thinking of around a 12″ panel (~27cm × 15cm). Driven by a RPi or similar single board computer. Everything hidden away in the wall so that it’s literally just a panel built into the wall. Ideally the panel will sleep when not in use. Or show photos or…   But we’re still on the hardware layer today.  The fun software bits come later.

I found a supplier and received a quote for 10 touch panels for around $1000.

They look half decent:

Panel Model LP125WF1-SPA3
Panel Brand LG Display
Descrition a-Si TFT-LCD ,12.5 inch, 1920×1080
Panel Type a-Si TFT-LCD
Active Area 276.48×155.52 mm
Outline 301.4×192.5×6.18 mm
Shape Style Slim (PCBA Flat, Depth ≤3.2mm)
Surface Anti Fingerprint
Contrast Ratio 700:1 (Typ.)
Display Colors 262K (6-bit) , CIE1931 50%
Viewing Angle 80/80/80/80 (Min.)(CR≥10) (L/R/U/D)
Frequency 60Hz
Signal Interface eDP (2 Lanes) , 40 pins
Input Voltage 3.3V (Typ.)
Then I started researching the Signal Interface part of the problem. Most modern panels come with eEP (Embedded DisplayPort).  I had been thinking of driving the panels off netbooted Raspberry Pi Compute Modules.  Both the compute modules and the Regular Pi’s come with the following display ports:
I had thought that DPI would be a way to go – but this only puts out analogue to a display, and I’d still need to convert it.
Serial Display Interface would be nice but it turns out the RPi uses a proprietary driver and setup that will only work with their official 7″ Panel.
And on the other end, eDP – quoted by someone far smarter than me as

‘while electrically identical to Displayport, does not use the standardized Displayport connector. every manufacturer has their own favorite connector which can vary from panel to panel. this is why all eDP hobby projects boil down to ‘how do i connect these super-high-speed RF signals from my Displayport connector to this crazy LCD panel connector?’
So at this point I’ve been looking at a rather janky HDMI to eDP converter and trying not to shudder. It does “2 lanes 30 pins” and the panel above is rated at 40 pins. Don’t ask me what that means, but I’d rather not be twiddling super-high-speed RF pins hoping for the right phase of the moon and for everything to work.

Then Rene mentioned Olimex and their single board products. It looks like they have some sensible display interfaces.

Next stop – investigate what Olimex can do.

Update:

Stuart Nelson suggested that I look at the Amazon Fire 10″ Tablet. They currently go for around $100 each and come with a decent spec. For this to work I’d also need a special cable that connects at right angles and is ribbon so that it can be routed behind the tablet holder on the wall.

I’m imagining the tablets being Ethernet connected (although probably will be on wifi (something I’m not wild about for HA control). But running power from the Ubiquiti ES/24/250W switch will help minimise cable mania.  That then implies needing to get a POE > USB adapter.

For the moment I’ll order a used tablet to test on and also a ribbon cable from Alibaba. There’s still a few months to test all of this.  :).

Then I just have to ask Rene for help 3D printing a test wallmount.

Update to the Update:

The new RockPro64 comes with a [modern] eDP connector.  I’m excited… This would be much more fun than sticking Android tablets on the wall.

Ventilation concept

Aim:

  • comfortable warmth and air freshness
  • energy efficient
  • recover waste heat using a heat recovery unit
  • control humidity, CO2 and temperature levels using software
  • filter incoming air (spring pollen kills me)

And most importantly:

  • never ever smell a cat toilet again.
I started reading this excellent ventilation in Germany primer (it’s in German but you can use this Google Translate link to Englishify things).
So tomorrow morning I’m meeting with the folks from EST Berlin to discuss airflow and heating. Before then I made this quick diagram to prepare me for how it could work.
F17 Ventilation Concept v0.1 – using negative pressure to pull in fresh air (comments welcomed in the doc)
Ideally the ventilation includes heat recovery (and a filter to protect against spring pollen)

Applying user stories to home planning

In the software world we write user stories that cover how a feature will be used. They are usually along the lines of

“As a <something>, I want <feature> so that <something can happen> 

Each story defines an element of functionality. For example, “user can login”.

So I was thinking about the equivalent of user stories for building. Some are obvious: “A an authorised person, unlock the front door”.

But there are others that are more interesting and which we end up doing everyday without knowing about: can put dirty laundry into the washing basket. In the F17 case this would mean, a context of taking a shower and changing, and needing to put some dirty laundry into the washing basket. That would mean walking around to the laundry room, opening the laundry basket and then walking back to the bathroom.

So I thought it would make sense to list out the things that I do regularly and look at how each of them could be optimised or whether a compromise is necessary. For example in our “place dirty laundry into the washing basket” story, we ended up optimising by putting a chute into the bathroom that takes the dirty laundry directly to the washing basket in the laundry room.

So here’s my list of stories from the silly to the “perhaps this could be optimised” tasks.

Arriving home:

  • Put down bags
  • Sit
  • Take off shoes
  • Unlock door
  • Pick up shoes
  • Put shoes away inside
  • Pick up bags
  • Go inside
  • Put bags down on counter top
  • Take off coat
  • Put house key away
  • Put coat away

…and then go and put away shopping (probably another user story).

Wow – that’s actually a whole bunch of tasks that I generally overlook but that could be somewhat optimised.

For example “sit” implies having a bench or stool outside or just inside the door. And then there’s the whole notion of unlocking doors and searching for keys.

If I look through this there’s a lot of stopping and starting – sit, stand up, go inside, go outside again, put down bags to be able to unlock, pick up bags again.

Our arrive home user story is actually a plethora of new tasks.

But before listing them I think that it might be worth thinking about other optimisations that would make this arriving home moment a little more pleasant. If the door could unlock and open automatically that would reduce our list to:

Arriving home:

  • Go inside
  • Put bags on counter
  • Sit
  • Take off and directly put away shoes
  • Put away coat

…finally fo and unpack shopping

The optimisations would be something like:

  • We don’t need to have a key to unlock the front door. Instead the presence of someone with access could be detected by their mobile phone being nearby and a PIR sensor.
  • The door can open and close a few moments later. Automatically
  • And dirt that is brought into the house is automatically cleaned up by the imagiSuck™ vacuum.
  • Finally we have a new event that could be fired off on the openhab software “arriving home” which would include turning on the lights (if it’s between sunset and sunrise) starting music streaming and playing into the main room.

Sensor states to monitor:

  • Someone near the outside of the apartment front door
  • PIR sensor
  • Bluetooth/wifi/NFC
  • Someone near the outside of the apartment front door with access
  • Someone buzzing the downstairs intercom
  • “Someone else already home”/presence (in which case, don’t start playing music – perhaps they want silence or are already listening to something)
  • Sunrise/sunset time on this day

Potential rules to program:

  • “Arriving home”
  • Person outside the front door has access?
  • Open the door
  • Unlock the door
  • Have the actuator swing the door open
  • Close the door again after n seconds and nobody outside.
  • “A guest arriving” – buzz them in downstairs and then automatically open the front door when they reach the top floor.
  • (and the really pedantic rule) Tell imagiSuck™ to vacuum the stretch between the front door and the kitchen. At the risk of being labeled a germaphobe I’ll hold off programming this rule and install a doormat outside :).

Bringing this back to user stories, there are other ones that I find myself doing reguary that I’d like to think through and walk though:

  • “Do the laundry”
  • “Clean”
  • Change the cat toilet
  • Chage the bed linen
  • Play music/podcast
  • Go to bed
  • Wake up
  • Leave the house
  • Leave the house for a longer time
  • Nap
  • Prepare food
  • Shower
  • Read in the lounge
  • Let a friend stay over
  • Receive a delivery
  • Secure my bike
  • Make coffee!

We could group a few of these into “starting the day” (in order):

  • Wake up
  • “Play music”
  • Shower
  • Coffee
  • Prepare Breakfast.

I like waking up naturally. Light usually does the trick of activating my brain and getting a few thoughts firing. I’m also aware that I spend a lot of time on my laptop in bed in the morning and this isn’t perhaps the most productive time (I’m looking at you Reddit and Hackernews). So I’m thinking that the lure of freshly made coffee in the kitchen might do the trick of at least getting me out of bed. After that I’m rolling.

I’ve been experimenting with a Philips Hue system and having the brightness slowly ramp up over 30 minutes does a good job of wrapping up dreams and waking up. So to that end, perhaps the following sequence (assuming a variable of WakeUpTime)

  • WakeUpTime – 30 minutes: begin slowly turning up the room brightness (I’m not sure if there’s any benefit to coloured light so we’ll just work with the white LEDs on the DALI system)
  • WakeUpTime -26 minutes: start the coffee machine
  • WakeUpTime -29 minutes: open the blinds
  • WakeUpTime: fire the “Ok Google, Tell me about my day” event (latest news that I’m interested in)
  • Then I have to actually shift my lazy ass out of bed.
  • Pick up coffee, go and shower.

Rule runs until the “tell me about my day” is finished (this can be between 10 mins and 2 hours depending on how many news sources are configured.

Now we have a bit of a problem: If there is something interesting on the news (this started playing in the bedroom, the sound needs to “follow” me to the kitchen and then to the bathroom). I picked up an Apart Revamp1680 16 channel amplifier that could drive speakers throughout the apartment, but I’m not really sure how to do a “follow-me” function. My thinking has been to get 8 Chromecast Audios and have them assigned into different Chromecast groupings depending on the rule being run. So a WakeUpSimon rule would push audio to speaker grouping by the same name and include: Bedroom1, Passage, Kitchen and the main Bathroom. It’s a bit of a hack but would work. I’m curious if there is a better way?

Another task that could be rethought is laundry. Currently it’s something like:

  • Take dirty laundry from the spare room
  • Sort it into white and colours
  • Load the washing machine and start it
  • Horrible beeping sound when it’s finished
  • Take everything out, drag it out to the other room.
  • Hang shirts directly onto hangers
  • Hang hangers into wardrobe
  • Drape the bed linen over doors
  • Deal with higher humidity in the flat
  • Finally put everything away

Summary – it’s horrible.

So my thinking of how to optimise this is to have a dedicated laundry/utility room with the following features:

  • Two chutes from the bathroom that enable pre sorting into white and coloureds.
  • Ventilated with an airflow controller
  • Humidity sensor in the room
  • Humidity sensor in the apartment
  • Washing machine that doesn’t beep at the end of the cycle
  • A drying rack that lifts up to the ceiling for drying large sheets and duvet covers
  • An area that can take coat hangers

My thinking for washing is something like

  • Take clothes off before showering and post into the white or coloured chute
  • When one of the two baskets is full, load and run the washing machine

When unloading:

  • Load shirts directly into hangers and hang up directly
  • Bed linen is hung up on a large drying rack
  • Underwear and socks is hung up on the same rack
  • Rack is hoised up to the room

The drying rule could work as follows

  • Compare humidity inside and outside the room
  • If the humidity is higher in the room, open the airflow vent
  • When the humidity is within 1 percent of inside and outside, close the vent
  • Send a push notification that drying is done
  • Move shirts on hangers to the wardrobes in each room
I realise that this is all a little pedantic. My thinking is that before things get built, it’s a great opportunity to run through “apartment user stories”
Next up will be looking at how the following ‘”tasks” run:
  • “Clean”
  • Change the cat toilet – involving the CatGenie
  • Play music/podcast
  • Leave the house
  • Leave the house for a longer time
  • Nap
  • Prepare food
  • Shower
  • Read in the lounge
  • Let a friend stay over
  • Receive a delivery
  • Secure my bike
Fun fun!

Planning the Main Room

Yesterday’s meeting with Cornelia turned into a 4 hour session working on the main room,  This one has proven tricky – it’s a large space but also comes with some limitations. The waste water outlet is on the terrace side which had meant that we were trying to locate the kitchen nearby.
It turns out that drainage slope (Abwasse Gefalle) is a function of the drainage pipe’s diameter. But either way you are looking at something between 1% and 2%. That means that across the main room we’re looking at needing to hide a pipe drop of about 10cm in the flooring. And navigate around the beams and underfloor heating. One way to avoid problems is using a pump.
However the real fun part yesterday was playing around with different approaches to the layout.
A quick reminder of how things look now.
notice the waste water pipe.

 

 

 

 

 

The idea is that the wooden panels slide out to make the fireplace part of the room more cosy.

This is also my favourite layout at the moment.