I recently decided to move away from standard wall-mounted tablets for my Home Assistant setup. I wanted something more permanent and robust, which led me to the Logitech TAP v1. It’s a professional-grade touch controller, and pairing it with a mini-PC makes for a very solid dashboard. Normally, a touchscreen conference system like this costs several hundred euros or even up to 800€. I was lucky enough to get this panel brand new at a bargain price of only 100€. Maybe you’ll be just as lucky, or maybe you even have a TAP lying around somewhere.
Choosing the Right Hardware: x86 vs. ARM
I initially spent about two or three evenings tinkering with a Raspberry Pi 3B+. While I actually managed to get a picture on the TAP, the overall experience was frustrating. Even though it could output an image, the system remained unstable and sluggish. The combination of low performance and immature DisplayLink drivers for the ARM architecture meant it just wasn’t reliable enough for a 24/7 control center.
That is when I decided to switch gears and picked up a used HP T630 Thin Client for a very low price. The difference was night and day. It is fanless, silent, and runs the dashboard flawlessly. While I am using the T630 for this build, any power-efficient x86/x64 PC will work and provide the stability you need for this project.
The Connection: Just One Cable
The Logitech TAP uses DisplayLink technology, meaning video, touch data, and power all go through a single USB-C cable (usually connected to a USB-A port on your PC).
Note: There is an HDMI port on the TAP, but it is an HDMI Input for screen sharing in meetings. You don’t need to connect it to your PC’s HDMI port. The USB cable handles the entire display output.
Step 1: Installing the DisplayLink Driver
I chose Ubuntu 24.04 LTS for this project because it is one of the most widely used Linux distributions with massive community support. Specifically for the Logitech TAP, Synaptics provides native driver support through an official repository. While I am using Ubuntu, this process should work similarly for almost any Debian-based system (like Linux Mint or Debian itself).
Ubuntu doesn’t recognize the TAP as a monitor by default. The best way to fix this is to use the official Synaptics APT repository, which ensures you get updates automatically along with your system. The official documentation can be found here: Official Synaptics DisplayLink driver for Ubuntu
# Install the repository keyring
sudo apt install ./Downloads/synaptics-repository-keyring.deb
# Update and install the driver plus the event tools
sudo apt update
sudo apt install displaylink-driver evemu-tools
Restart your PC. The TAP should now appear in your Ubuntu Display Settings.
Step 2: Setting up the Chrome Kiosk
To make the TAP feel like a dedicated device, I set up Google Chrome to launch automatically in fullscreen. This command also prevents those annoying „Chrome didn’t shut down correctly“ messages if the power goes out.
Create the autostart file:
nano ~/.config/autostart/chrome-kiosk.desktop
Paste this configuration (replace the URL with your Home Assistant dashboard):
[Desktop Entry]
Type=Application
Name=Chrome Kiosk
Exec=/usr/bin/google-chrome --kiosk --no-first-run --noerrdialogs --disable-infobars --autoplay-policy=no-user-gesture-required --password-store=basic --test-type --restore-last-session --disable-features=TouchpadOverscrollHistoryNavigation --overscroll-history-navigation=0 --disable-pinch https://YOUR_HA_URL:8123/dashboard?kiosk
What these flags do, among other things:
--test-type&--restore-last-session: Suppresses the error bubble after an improper shutdown.--disable-features=TouchpadOverscrollHistoryNavigation: Disables the „swipe to go back“ gesture, which is essential for touch dashboards.
Step 3: Using the Proximity Sensor
When you first plug in the TAP, you might be frustrated to find that walking in front of it does absolutely nothing. You might think the sensor is broken or needs a proprietary Windows driver. In reality, Linux categorizes this PIR (Passive Infrared) sensor under the IIO (Industrial I/O) Subsystem.
Instead of sending an „event“ (like a button press), Linux treats it like a thermometer or a light sensor that constantly reports a raw value in a system file. To make it work as a „wakeup“ trigger, we have to bridge the gap between this raw hardware value and the operating system’s power management.
Finding your paths
Because every PC maps its USB ports and internal buses differently, you cannot rely on fixed file paths. You need to „interrogate“ your system to find out where the Flare sensor is hiding.
- For the sensor: Run
cat /sys/bus/iio/devices/iio:device*/name. Look for the device namedproxorflare(e.g.,iio:device0). - For the wakeup event: Run
cat /proc/bus/input/devices | grep -E "Name|Handlers". Look for „Power Button“ or „Sleep Button“ (e.g.,event0).
Have a look at the raw values! Use a watch command to test the given sensor data. You should be able to see a 0, when the sensor doesn’t detect anything and a 1 if movement is detected.
The Wakeup Script
I wrote a small Python script to monitor the sensor and trigger a kernel-level wakeup event. Replace the paths below with the ones you found.
import time
import os
import subprocess
SENSOR_PATH = "/sys/bus/iio/devices/iio:device0/in_proximity0_raw"
EVENT_DEV = "/dev/input/event0"
def wake_screen():
# Sends a virtual Wakeup keypress to the kernel
subprocess.run(["evemu-event", EVENT_DEV, "--type", "EV_KEY", "--code", "KEY_WAKEUP", "--value", "1", "--sync"], check=False)
subprocess.run(["evemu-event", EVENT_DEV, "--type", "EV_KEY", "--code", "KEY_WAKEUP", "--value", "0", "--sync"], check=False)
while True:
try:
with open(SENSOR_PATH, "r") as f:
if f.read().strip() == "1":
wake_screen()
time.sleep(15)
except:
time.sleep(5)
time.sleep(0.5)
Run the script manually in your terminal first. It’s helpful to add a print("Motion detected!") line inside the if block of your script temporarily so you can see it working.
Setting the Screen Timeout
For a Kiosk dashboard, 60 seconds is usually the sweet spot. It is long enough to read a quick notification but short enough to keep the screen off most of the time.
You can set this easily via the terminal to ensure it sticks:
# Set the idle delay to 60 seconds
gsettings set org.gnome.desktop.session idle-delay 60
If you prefer the graphical interface, go to Settings > Power > Screen Blank and select 1 minute.
Now, walk away and then approach the TAP. If the terminal prints your message and the screen flickers to life, you’re golden! If nothing happens, check if the sensor path you found in Step 3 is correct or if you need to adjust the EVENT_DEV.
Step 4: Finalizing as a Service
Once you are sure the script is flawless, we want to make it „set and forget.“ We’ll use a systemd service, which ensures the script starts automatically when the PC boots, even before you log in, and restarts itself if it ever crashes.
Create the service file:
sudo nano /etc/systemd/system/tap-wake.service
Paste the configuration: (Be sure to replace YOUR_USER with your actual Ubuntu username or adapt to your path of the script)
[Unit]
Description=Logitech Tap Proximity Wakeup
After=multi-user.target
[Service]
Type=simple
# Using the full path to python3 ensures reliability
ExecStart=/usr/bin/python3 /home/YOUR_USER/tap-wake.py
Restart=always
# We run as root to have permission to inject kernel events without sudo prompts
User=root
[Install]
WantedBy=multi-user.target
Enable and Start: Run these commands to tell Ubuntu about the new service and start it immediately:
sudo systemctl daemon-reload
sudo systemctl enable --now tap-wake.service
Conclusion
The Logitech TAP was never originally intended for the home. it was designed as a high-end control center for corporate conference rooms. Because of this, the build quality is far better than almost any consumer tablet you could buy. It is built to be powered on 24/7 and peeks out as incredibly durable.
By following this experience report, you’ve essentially „saved“ a piece of professional hardware from a warehouse shelf or an office liquidation and turned it into a premium Smart Home hub. It takes a bit more effort than just sticking an iPad to the wall. You have to navigate DisplayLink drivers, tweak Kiosk modes, and „handshake“ with the PIR sensor.
If you are tired of „disposable“ consumer tech and want a dashboard that feels like it’s part of your home’s infrastructure, this is the way to go. Your Logitech TAP is no longer just a meeting room tool, it’s now the professional control center of your Home Assistant ecosystem.


Schreibe einen Kommentar