Create (templateable) cameras that display qr codes in homeassistant

Overview

QRCam

License

hacs Project Maintenance

This custom component creates cameras displaying qrcodes. The QRCodes can be static or generated from templates. If you use a template as content the camera will update with a new qr code when the template updates.

This component will set up the following platforms.

Platform Description
qrcam Display QRCodes in Camera entites.

Installation

Configuration

Example configuration.yaml entry:

camera:
 - platform: qrcam
   name: "Test Camera"
   content: "Hello World"

another a bit more complicated example using a template:

camera:
 - platform: qrcam
   name: "Test Camera 2"
   content: "{{states('input_boolean.karl')}}"
   fill_color: "0,255,0"
   back_color: "0,0,0"

displaying a wifi qr code (replace {SSID} and {PASSWORD}):

camera:
 - platform: qrcam
   name: "WIFI"
   content: "WIFI:S:{SSID};T:WPA;P:{PASSWORD};;"

Following is configurable:

Name Description Required Type Default
name The name of the Camera Yes String -
content The content that shall be encoded (can be template) Yes Template -
version The "Version" of the qr code (which is basically the size) No int between 1 and 40 Auto
error_correction How much error correction the QRCode should have No see Error Corretion ERROR_CORRECT_M
box_size The size of the Black Boxes in pixel No Positive Integer 10
border Border arround the code No Integer > 3 4
fill_color RGB Color for the (normaly black) parts of the QRCode No String of form "r,g,b" "0,0,0"
back_color RGB Color for the background of the QRCode No String of form "r,g,b" "255,255,255"
edge_color RGB Color for the edge of the qr code (only used if color_mask is radial or square) No String of form "r,b,g" "0,0,0"
left_color RGB Color for the left side of the qr code (only used if color_mask is horizontal or vertical) No String of form "r,g,b" "0,0,0"
right_color RGB Color for the right side of the qr code (only used if color_mask is horizontal or vertical) No String of form "r,g,b" "0,0,0"
color_mask Mask for the Colors of the QR Code No See Color Mask "solid"
drawer Options on how to render the QR Code No See Rendering "square"

Error Correction

The error_correction parameter controls the error correction used for the QR Code.

Name Discription
ERROR_CORRECT_L About 7% or less errors can be corrected.
ERROR_CORRECT_M About 15% or less errors can be corrected.
ERROR_CORRECT_Q About 25% or less errors can be corrected.
ERROR_CORRECT_H About 30% or less errors can be corrected.

Color Mask

masks

Name Number in Image
solid 1
radial 2
square 3
horizontal 4
vertical 5
(WIP) 6

Rendering

drawers

Name Number in Image
square 1
gapped_square 2
circle 3
rounded 4
vertical_bars 5
horizontal_bars 6


Most of this Project is based on the qrcode module for python

You might also like...
A dashboard for Raspberry Pi to display environmental weather data, rain radar, weather forecast, etc. written in Python
A dashboard for Raspberry Pi to display environmental weather data, rain radar, weather forecast, etc. written in Python

Weather Clock for Raspberry PI This project is a dashboard for Raspberry Pi to display environmental weather data, rain radar, weather forecast, etc.

A ch341dll Wrap is for using in Python 32bits windows  to access I2C SPI and MDIO (by GPIO), and Demo with display PC sreen on OLED by i2c or SPI .
A ch341dll Wrap is for using in Python 32bits windows to access I2C SPI and MDIO (by GPIO), and Demo with display PC sreen on OLED by i2c or SPI .

ch341dll_wrap_typcal_app A ch341dll Wrap is for using in Python 32bits windows to access I2C SPI and MDIO (by GPIO). In addition, I provided 3 Demo. I

Pi-hole with Inky pHAT ePaper display
Pi-hole with Inky pHAT ePaper display

Pi-hole with Inky pHAT ePaper display This is my Pi-hole with an ePaper display.

Python information display framework aimed at e-ink devices
Python information display framework aimed at e-ink devices

My display, using a Raspberry Pi Zero W and Waveshare 6" e-paper hat infodisplay Modular information display framework aimed at e-ink devices. Built u

Python application, displaying currently played track from Spotify on OLED display connected via I2C
Python application, displaying currently played track from Spotify on OLED display connected via I2C

RaspberryPi Spotify OLED Display This application will display currently played track on SSD1306 OLED display connected to RaspberryPi. Displayed stuf

Tool to create 3D printable terrain with integrated path/road part files (Single material 3d printer)

BACKGROUND This has been an ongoing project of mine for a few months now. I run trails a lot and original the goal was to create a function to combine

Pihole-eink-display - A simple Python script to display PiHole statistics on an eInk Display
Pihole-eink-display - A simple Python script to display PiHole statistics on an eInk Display

Pihole-eink-display - A simple Python script to display PiHole statistics on an eInk Display

🐱 Petkit feeder components for HomeAssistant

Petkit for HomeAssistant Installing Download and copy custom_components/xiaomi_miot folder to custom_components folder in your HomeAssistant config fo

HomeAssistant - Polyaire AirTouch 4 Integration

HomeAssistant - Polyaire AirTouch 4 Integration Custom integration to add an AirTouch 4 AC Controller Installation: Copy contents of custom_components

HomeAssistant Linux Companion

Application to run on linux desktop computer to provide sensors data to homeasssistant, and get notifications as if it was a mobile device.

A python script for Homeassistant that counts down the days to birthdays, anniversaries etc
A python script for Homeassistant that counts down the days to birthdays, anniversaries etc

Date Countdown A python script for Homeassistant that counts down the days to birthdays, anniversaries etc Important note I no longer use homeassistan

Python Wrapper for Homeassistant's REST API
Python Wrapper for Homeassistant's REST API

HomeassistantAPI Python Wrapper for Homeassistant's REST API Please ⭐️ the repo if you find this project useful or cool! Here is a quick example. from

An IoT Trivia app that shows you how to take a JSON web API such as the opentdb.com API and stream and display it on a FeatherS2 in an OLED display.
An IoT Trivia app that shows you how to take a JSON web API such as the opentdb.com API and stream and display it on a FeatherS2 in an OLED display.

CircuitPython IoT Trivia ESP32-S2 OLED Version An IoT Trivia app that shows you how to take a JSON web API such as the opentdb.com API and stream and

Adjust the white point, gamma or make your XDR display darker without losing HDR peak luminance or the ability to adjust display brightness

XDR Tuner Adjust the white point, gamma or make your XDR display darker without losing HDR peak luminance or the ability to adjust display brightness

TB Set color display - Add-on for Blender to set multiple objects and material Display Color at once.
TB Set color display - Add-on for Blender to set multiple objects and material Display Color at once.

TB_Set_color_display Add-on for Blender with operations to transfer name between object, data, materials and action names Set groups of object's or ma

Create a low powered, renewable generation forecast  display with a Raspberry Pi Zero & Inky wHAT.
Create a low powered, renewable generation forecast display with a Raspberry Pi Zero & Inky wHAT.

GB Renewable Forecast Display This Raspberry Pi powered eInk display aims to give you a quick way to time your home energy usage to help balance the g

This project is a proof of concept to create a dashboard using Dash to display information about various cryptocurrencies.

This project is a WIP as a way to display useful information about cryptocurrencies. It's currently being actively developed as a proof of concept, and a way to visualize more useful data about various cryptocurrencies.

Home Assistant custom component for viewing IP cameras RTSP stream in real time using WebRTC technology
Home Assistant custom component for viewing IP cameras RTSP stream in real time using WebRTC technology

WebRTC Camera Home Assistant custom component for viewing IP cameras RTSP stream in real time using WebRTC technology. Based on: Pion - pure Go implem

 Frigate - NVR With Realtime Object Detection for IP Cameras
Frigate - NVR With Realtime Object Detection for IP Cameras

A complete and local NVR designed for HomeAssistant with AI object detection. Uses OpenCV and Tensorflow to perform realtime object detection locally for IP cameras.

Comments
  • Unable to find services.yaml for the qrcam integration

    Unable to find services.yaml for the qrcam integration

    Version of the custom_component

    v1.0.0.10-hotfix

    Configuration

    camera:
      - platform: qrcam
        name: "Guest WiFi"
        content: "WIFI:S:ssid;T:WPA;P:password;;"
        drawer: "rounded"
    

    Describe the bug

    On startup of Home Assistant the following warning appears in the log:

    2022-06-02 13:42:59 WARNING (SyncWorker_2) [homeassistant.helpers.service] Unable to find services.yaml for the qrcam integration
    

    As suggested here https://github.com/home-assistant/core/issues/23197 the way to fix this is to add an empty services.yaml file.

    Debug log

    n/a

    opened by exxamalte 0
  • Color Parameters not working

    Color Parameters not working

    camera:

    • platform: qrcam name: "GastWlanQRCode" content: "{{states('input_text.gastwlan_qr_code')}}" fill_color: "255,255,255" back_color: "0,0,0"

    wont change the color! still white background and black QRCode

    bug 
    opened by xXDjMikeXx 2
Releases(v1.0.0.10-hotfix)
  • v1.0.0.10-hotfix(Apr 3, 2022)

    This should fix #3. There are major flaws in the python-qrcode package and it does not seem like the developer is active anymore. I think that they have a dependency on pillow which is not bound to a version. This caused many problems. I will have to look into that in more detail. But generation of qr codes with only fill and back color should work fine.

    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Jan 16, 2022)

  • v0.0.2(Jan 15, 2022)

  • v0.0.1(Jan 15, 2022)

Owner
Jannes Müller
CS Student
Jannes Müller
A Raspberry Pi Pico powered Macro board, like a Streamdeck but cheaper and simpler.

Env-MCRO A Raspberry Pi Pico powered Macro board, like a Streamdeck but cheaper and simpler. (btw this image is a bit outdated, some of the silkscreen

EnviousData 68 Oct 14, 2022
Get the AltAz coordinates for a given object using astropy and output on a OLED screen.

Star Coordinates Get the AltAz coordinates for a given object using astropy and output on a OLED screen. As a very very newcomer to the astronomy scen

Craig Cmehil 1 Jan 31, 2022
It is a serial communicator(controller, receiver...), communicate with sensor LP20 which is a laser ranger.

Intro It is a serial communicator(controller, receiver...), communicate with sensor LP20 which is a laser ranger. Its datasheet is contained in this r

3 Sep 19, 2022
Workshop for student hackathons focused on IoT dev

Scenario: The Mutt Matcher (IoT version) According to the World Health Organization there are more than 200 million stray dogs worldwide. The American

Microsoft 15 Aug 10, 2022
The robot is an autonomous small scale racing car using NVIDIA Jetson Nano.

The robot is an autonomous small scale racing car using NVIDIA Jetson Nano. This project utilizes deep learning neural network framework Keras/Tensorflow, together with computer vision library OpenCV

1 Dec 08, 2021
Open source home automation that puts local control and privacy first.

Home Assistant Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiast

Home Assistant 57k Jan 01, 2023
A Python script to monitor the latest block on an LCD.

PiHole-Monitoring A Python script to monitor the latest block on a lcd display. The first number represents the dns queries from the last 24h, the sec

Maxi 4 Dec 05, 2022
Switch predictor for Home Assistant with AppDeamon

Home Assistant AppDeamon - Event predictor WORK IN PROGRESS - CURRENTLY NOT COMPLETE AND NOT WORK This is an idea under development (when I have free

37 Dec 17, 2022
Python implementation of ZMP Preview Control approach for biped robot control.

ZMP Preview Control This is the Python implementation of ZMP Preview Control app

Chaobin 24 Dec 19, 2022
An emulated LED scoreboard for Major League Baseball ⚾

An LED scoreboard for Major League Baseball. Displays a live scoreboard for your team's game on that day.

Tyler Porter 8 Apr 08, 2022
Python apps to assist with Gas Blending

Welcome to DiveTools Gas Blending This tool is for testing and educational use. It is not intended to confirm the mix of breathing gases. If this tool

Tucker 7 Sep 18, 2022
Extremely simple PyBadge examples to demonstrate different aspects of CircuitPython using PyBadge hardware.

BeginnerPyBadge I purchased a PyBadge recently. I'm new to hardware. I was surprised how hard it was to find easy examples demonstrating how different

Rubini LaForest 2 Oct 21, 2021
Testing additional addon devices, and their working scripts

ESP32-addon-devices-potpurri Testing additional addon devices, and their micropython working scripts 📑 List of device addons tested so far Ethernet P

f-caro 0 Nov 26, 2022
Better support for Nuki devices to the Home Assistant

Another attempt to add a better support for Nuki devices to the Home Assistant Features: Lock interface implementation Uses local webhook from bridge

Konstantin 105 Jan 07, 2023
Huawei Solar sensors for Home Assistant

Huawei Solar Sensors This integration splits out the various values that are fetched from your Huawei Solar inverter into separate HomeAssistant senso

Thijs Walcarius 151 Dec 31, 2022
Implementation of Forwards Kinematics, Inverse Kinematics, Point to Point Movement and Synchronous movement for Kuka KR 120 R2700-2.

I made this project for my university course in robotics. I rarely found any information regarding the implementation of mathematics in code. So I decided to make this repo in order to help others :)

2 Dec 27, 2022
A python library written for the raspberry pi.

A python package for using certain components on the raspberry pi.

Builder212 1 Nov 09, 2021
OctoPrint is the snappy web interface for your 3D printer!

OctoPrint OctoPrint provides a snappy web interface for controlling consumer 3D printers. It is Free Software and released under the GNU Affero Genera

OctoPrint 7.1k Jan 03, 2023
My 500 LED xmas tree

xmastree2020 This repository contains the code used for Matt's Christmas tree, as featured in "I wired my tree with 500 LED lights and calculated thei

Stand-up Maths 581 Jan 07, 2023
Play a song with a 3D printer.

MIDI to GCODE Play a song with a FDM 3D printer. SLA printers don't have motors, so they cannot play music. Warning: Be ready to turn off the 3D print

Patrick 6 Apr 11, 2022