All Projects → markduwe → Raspberry-Pi-Clock

markduwe / Raspberry-Pi-Clock

Licence: other
A quick and simple Raspberry Pi touchscreen clock with Philips hue, Tado, Dark Sky and Philips TV JointSpace API controls/data

Programming Languages

CSS
56736 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to Raspberry-Pi-Clock

Pytradfri
IKEA Trådfri/Tradfri API. Control and observe your lights from Python. Examples available. On pypi. Sans-io.
Stars: ✭ 778 (+3282.61%)
Mutual labels:  light, philips-hue
Homegenie
HomeGenie, the open source, programmable, home automation server for smart connected devices and applications
Stars: ✭ 313 (+1260.87%)
Mutual labels:  raspberrypi, philips-hue
Q42.hueapi
C# helper library to talk to the Philips Hue bridge
Stars: ✭ 323 (+1304.35%)
Mutual labels:  light, philips-hue
MMM-forecast-io
Forecast.io Module for MagicMirror
Stars: ✭ 58 (+152.17%)
Mutual labels:  darksky, darksky-api
argosWeather
Weather script for Argos GNOME Shell extension, that works on DarkSky API.
Stars: ✭ 22 (-4.35%)
Mutual labels:  darksky, darksky-api
HueLightDJ
Hue Light DJ using Hue Entertainment API
Stars: ✭ 54 (+134.78%)
Mutual labels:  light, philips-hue
heatsheet
HeatSheet -> The Tado Metrics "cheatsheet"
Stars: ✭ 23 (+0%)
Mutual labels:  tado, tado-api
WeatherCE
Weather Browser Extension
Stars: ✭ 26 (+13.04%)
Mutual labels:  darksky, darksky-api
solid-hue
Philips Hue module for the Community Solid Server
Stars: ✭ 17 (-26.09%)
Mutual labels:  philips-hue
iot-curriculum
Hands on labs and content for students and educators to learn and teach the Internet of Things at schools, universities, coding clubs, community colleges and bootcamps
Stars: ✭ 110 (+378.26%)
Mutual labels:  raspberrypi
hyper-pi
Making a usable handheld device using a Raspberry Pi Zero and a HyperPixel 4" capacitive touch screen.
Stars: ✭ 42 (+82.61%)
Mutual labels:  raspberrypi
go-epdfuse
A library for interacting with the PaPiRus via the repaper gratis library
Stars: ✭ 16 (-30.43%)
Mutual labels:  raspberrypi
lightsout
🎲 Lights Out Game
Stars: ✭ 23 (+0%)
Mutual labels:  light
nginx-jwt-module
NGINX module to check for a valid JWT.
Stars: ✭ 39 (+69.57%)
Mutual labels:  light
esphome-weather-station
ESPHome version of Elektor weather station v2
Stars: ✭ 140 (+508.7%)
Mutual labels:  wind-speed
jarvis
Jarvis Home Automation
Stars: ✭ 81 (+252.17%)
Mutual labels:  touchscreen
Google-Assistant-Samsung-Smart-TV-Integration
Use Google Assistant as a remote for your Samsung Smart TV. There is no need for a Logitech Harmony device.
Stars: ✭ 26 (+13.04%)
Mutual labels:  raspberrypi
plenopticam
Light-field imaging application for plenoptic cameras
Stars: ✭ 111 (+382.61%)
Mutual labels:  light
diy-linux-guide
An LFS like guide for cross-bootstrapping a small system for the Raspberry Pi
Stars: ✭ 26 (+13.04%)
Mutual labels:  raspberrypi
pioreactor
Hardware and software for accessible, extensible, and scalable bioreactors. Built on Raspberry Pi.
Stars: ✭ 28 (+21.74%)
Mutual labels:  raspberrypi

Raspberry Pi Clock

A quick and simple Raspberry Pi touchscreen clock with Philips hue, Tado, Dark Sky and Philips TV API controls/data

This project is designed to run on a Raspberry Pi with a 7" touchscreen (800x480).

It uses the Philips hue API, DarkSky API, the tadoº API and the JointSpace API.

Philips hue

You'll need to create a user on the hue Debug Tool by following the instructions here: https://developers.meethue.com/documentation/getting-started
Copy the user ID and add it where you see "YOURHUEUSERID".

Then find your hue groups - you can add as many as you like, but I just wanted to turn all light and bedroom lights on and off as this is a bedside clock).
My bedroom light group is 2, the "all lights" group is 0.

DarkSky

Since I'm in the UK, I use the "uk2" DarkSky API units.
You can choose the following units instead:

  • auto: automatically select units based on geographic location
  • ca: same as si, except that windSpeed is in kilometres per hour
  • uk2: same as si, except that nearestStormDistance and visibility are in miles and windSpeed is in miles per hour
  • us: Imperial units (the default)
  • si: SI units

tadoº

I use this to get the current internal temperature, have a look at the API docs and you can also add the set temperature and other data if you want.

JointSpace

The documentation should walk you through how to use this. I use the ambilight state to detect if the TV is on - if you don't have an ambilight TV, you can use something else to detect the state of the TV. (I eventually plan on using the ambilight data to change the colour of the hue bulbs, which is why I'm using that).

The API does not work if the TV if off or on standby, so you could use that instead.

Lastly

This runs on Firefox in kiosk mode. You can find tutorials on the web about how to get the pi to boot into a browser running a local file in kiosk mode with no cursor and turning off screen blanking.

The screen changes colour from white to black (with red text) between the hours of 10pm-7am. This is changeable or removeable in pi.js.

At some point, I might also add a control to turn the heating up/down with tadoº.

I'd also reduce the screen brightness, especially for nighttime - if you're using it as a bedside clock like me.

After some trial and error, I found this works well for me:

  • SSH into the pi
  • sudo nano /sys/class/backlight/rpi_backlight/brightness
  • set brightness to 12 (readable during the day and not too bright at night)

I'm using this touchscreen: https://www.modmypi.com/raspberry-pi/screens-and-displays/raspberry-pi-7-touchscreen-display-official and https://www.modmypi.com/raspberry-pi/cases/7-touchscreen-cases/raspberry-pi-7-touchscreen-display-case-black, so you'll also have to rotate the screen 180º -

  • SSH into the pi
  • sudo nano /boot/config.txt
  • add lcd_rotate=2 to the file
  • save and reboot
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].