63 lines
2.2 KiB
Bash
63 lines
2.2 KiB
Bash
#!/bin/bash
|
|
# Setup script for Home Assistant automatic login
|
|
# This helps configure Firefox to stay logged into Home Assistant
|
|
|
|
echo "Home Assistant Auto-Login Setup"
|
|
echo "================================"
|
|
echo ""
|
|
echo "There are several ways to keep the dashboard logged in:"
|
|
echo ""
|
|
echo "OPTION 1: Long-Lived Access Token (Recommended)"
|
|
echo " - Create a token in Home Assistant:"
|
|
echo " Profile > Long-Lived Access Tokens > Create Token"
|
|
echo " - Then use URL: http://homeassistant.local:8123/lovelace/default_view?auth_token=YOUR_TOKEN"
|
|
echo ""
|
|
echo "OPTION 2: Trusted Networks"
|
|
echo " - Add this computer's IP to Home Assistant's trusted_networks"
|
|
echo " - Edit configuration.yaml or use the UI"
|
|
echo ""
|
|
echo "OPTION 3: Firefox Auto-Login"
|
|
echo " - Configure Firefox to save and auto-fill credentials"
|
|
echo ""
|
|
read -p "Which option do you want to use? (1/2/3): " choice
|
|
|
|
case $choice in
|
|
1)
|
|
echo ""
|
|
echo "Enter your Home Assistant Long-Lived Access Token:"
|
|
read -s TOKEN
|
|
echo ""
|
|
echo "Updating dashboard script with token..."
|
|
sed -i "s|HA_URL=\"\${HA_URL:-.*}\"|HA_URL=\"\${HA_URL:-http://homeassistant.local:8123/lovelace/default_view?auth_token=$TOKEN}\"|" ~/scripts/homeassistant-dashboard.sh
|
|
echo "✓ Token configured!"
|
|
echo " The dashboard will now auto-login using the token."
|
|
;;
|
|
2)
|
|
echo ""
|
|
echo "To use trusted networks:"
|
|
echo "1. Get this computer's IP:"
|
|
hostname -I | awk '{print $1}'
|
|
echo ""
|
|
echo "2. Add it to Home Assistant's trusted_networks in configuration.yaml:"
|
|
echo " http_config:"
|
|
echo " trusted_networks:"
|
|
echo " - $(hostname -I | awk '{print $1}')"
|
|
echo ""
|
|
echo "3. Restart Home Assistant"
|
|
echo ""
|
|
echo "After that, the dashboard should auto-login."
|
|
;;
|
|
3)
|
|
echo ""
|
|
echo "Setting up Firefox to save credentials..."
|
|
echo "You'll need to manually log in once, then Firefox will remember."
|
|
echo ""
|
|
echo "To test: Run ~/scripts/launch-dashboard.sh, log in manually once,"
|
|
echo "then Firefox should remember your credentials."
|
|
;;
|
|
*)
|
|
echo "Invalid choice"
|
|
exit 1
|
|
;;
|
|
esac
|