
Hier eine kleine Anleitung wie das Szenario zwei Autodarts-Accounts auf einem Dartboard umgesetzt werden kann. Bei der Einrichtung von Autodarts wird das Dartboard mit dem Account verknüpft mittels Board ID und Api Key. Somit kann ein Board nur zu einem Account gehören.
Mein gewählter Ansatz soll für den Anwender so einfach wie möglich sein. Für den Benutzerwechsel braucht es schlussendlich nur ein Gerät welches QR-Codes lesen kann.
Voraussetzungen
- Autodarts Headless auf einem Raspberry Pi
- Homeassisant
- QR-Code fähiges Gerät
Tasks die auf dem Raspberry Pi gemacht werden müssen
- Board Konfiguration für AD-Account 1 erstellen (normale Einrichtung gemäss Autodarts1)
- Konfigurationsdatei kopieren
- Board Konfiguration für AD-Account 2 erstellen
- Konfigurationsdatei kopieren
- Erstellen lade-Account1.sh
- Erstellen lade-Account2.sh
- lade-Account1.sh ausführbar machen
- lade-Account2.sh ausführbar machen
Tasks die auf dem Homeassistant gemacht werden müssen
- Zugriff auf den Raspberry Pi mittels SSH einrichten
- Erstellen Shell-Commands für das Laden der jeweiligen Konfigurationen
- Erstellen Automatisierungen
- Erstellen QR-Code
Konfigurationsdatei von AD-Account 1 kopieren
sudo cp ~/.config/autodarts/config.toml ~/.config/autodarts/config-Account1.toml
Erstellen lade-Account1.sh
sudo nano lade-Account1.sh
Inhalt lade-Account1.sh
#!/bin/bash
sudo service autodarts stop
cp ~/.config/autodarts/config-Account1.toml ~/.config/autodarts/config.toml
sudo service autodarts start
lade-Account1.sh ausführbar machen
sudo chown +x lade-Account1.sh
Konfigurationsdatei von AD-Account 2 kopieren
sudo cp ~/.config/autodarts/config.toml ~/.config/autodarts/config-Account2.toml
Erstellen lade-Account2.sh
sudo nano lade-Account2.sh
Inhalt lade-Account2.sh
#!/bin/bash
sudo service autodarts stop
cp ~/.config/autodarts/config-Account2.toml ~/.config/autodarts/config.toml
sudo service autodarts start
lade-Account2.sh ausführbar machen
sudo chown +x lade-Account2.sh
Zugriff auf den Raspberry Pi mittels SSH einrichten
SSH-Schlüssel erstellen
ssh-keygen -t rsa -b 4096
Kopieren des öffentlichen Schlüssel auf den Remote-Raspberry Pi
ssh-copy-id pi@remote-ip
Teste den Zugriff
ssh pi@remote-ip "echo Verbindung erfolgreich"
Erstellen Shell-Commands für das Laden der jeweiligen Konfigurationen
shell_command:
autodarts_laden_account1: "ssh pi@remote-ip './lade-Account1.sh'"
autodarts_laden_account2: "ssh pi@remote-ip './lade-Account2.sh'"
Erstellen Automatisierung für Account1
alias: autodarts_laden_account1
description: Lädt das Autodartsprofil1 für das Board
mode: single
triggers:
- trigger: webhook
allowed_methods:
- GET
local_only: true
webhook_id: "-lade-Account1"
conditions:
actions:
- action: shell_command.autodarts_laden_account1
data: {}
Erstellen Automatisierung für Account2
alias: autodarts_laden_account2
description: Lädt das Autodartsprofil2 für das Board
mode: single
triggers:
- trigger: webhook
allowed_methods:
- GET
local_only: true
webhook_id: "-lade-Account2"
conditions:
actions:
- action: shell_command.autodarts_laden_account2
data: {}
Erstellen QR-Code
Mit einem beliebigen Online-Tool habe ich mir dann einen QR-Code erzeugt welcher die URL vom Webhook der Automatisierung enthält
Warum QR-Code und nicht RFID-Tag
Für die Lösung mit dem QR-Code reicht ein Gerät welches diese Lesen kann. Es benötigt keine Homeassistant App.
Bonus
Mit dem gleichen Prinzip habe ich auch noch eine Automatisierung zum Ausschalten des Raspberry Pi erstellt.
Quellen
https://discord.com/channels/802528604067201055/1330478733056020492