Mobile Pe Home Assistant

Mobile Pe Home Assistant & Smart Wi-Fi Watchdog

Turn Your Old Android into an Unbreakable Smart Home Hub

Introduction

Yeh Setup Kyon Zaroori Hai?

Agar aapne kabhi Android phone (Termux) par Home Assistant chalane ka try kiya hai, toh aapko pata hoga ki jab bhi phone ka Wi-Fi disconnect hota hai ya network change hota hai, Home Assistant atak jata hai. Is guide mein hum na sirf Home Assistant install karenge, balki ek custom AURA Watchdog Script bhi banayenge jo continuously Wi-Fi SSID track karegi aur network change hone par server ko automatically safely restart karegi!

Phase 1

Required Apps & Initial Setup

Play Store ke Termux mein updates aana band ho gaye hain, isliye humein F-Droid se official apps chahiye:

  • Termux: Main terminal app.
  • Termux:API: Wi-Fi aur device state read karne ke liye.
  • Termux:Widget: Home screen par shortcut button lagane ke liye.
Important: Apne phone ki settings mein jakar Termux:API ko Location (GPS) ki permission “Allow all the time” par set karein. Iske bina script Wi-Fi ka naam (SSID) read nahi kar payegi.
Phase 2

Install Repositories & Ubuntu

Termux open karein aur basic packages install karein. Ek-ek karke commands run karein:

termux-setup-storage
pkg update && pkg upgrade -y
pkg install proot-distro termux-api jq coreutils -y

Ab Ubuntu install karke usme login karein:

proot-distro install ubuntu
proot-distro login ubuntu
Phase 3

Home Assistant Installation (Inside Ubuntu)

Ubuntu ke andar aane ke baad, Python environment setup karein aur Home Assistant daalein:

apt update && apt upgrade -y
apt install python3 python3-venv python3-pip libffi-dev libssl-dev tzdata -y
python3 -m venv /root/homeassistant
source /root/homeassistant/bin/activate
pip3 install wheel
pip3 install homeassistant

Installation ke baad terminal close kar dein (exit type karke) taaki hum wapas Termux mein aa sakein.

Phase 4

The “AURA Watchdog” Script (The Magic)

Yeh script aapke Termux Widget se direct run hogi. Yeh aapke server ko ek Pro Graphical UI deti hai aur Wi-Fi change hone par automated actions leti hai.

mkdir -p ~/.shortcuts
nano ~/.shortcuts/aura_watchdog.sh

Editor khulne par yeh poora code paste karein:

#!/data/data/com.termux/files/usr/bin/bash
termux-wake-lock

GREEN='\033[1;32m'
BLUE='\033[1;34m'
YELLOW='\033[1;33m'
RED='\033[1;31m'
CYAN='\033[1;36m'
WHITE='\033[1;37m'
NC='\033[0m'

clear
echo -e "${CYAN}╔══════════════════════════════════════════════════╗${NC}"
echo -e "${CYAN}║${NC} ${GREEN}       🌟 AURA SMART SERVER CONTROL 🌟        ${NC}${CYAN}║${NC}"
echo -e "${CYAN}╠══════════════════════════════════════════════════╣${NC}"
echo -e "${CYAN}║${NC} ${YELLOW}🔄 [R] RESTART ${NC}| ${RED}⏹  [S] STOP ${NC}| ${BLUE}❌ [Q] QUIT   ${NC}${CYAN}║${NC}"
echo -e "${CYAN}╚══════════════════════════════════════════════════╝${NC}"

SERVER_STATE="RUNNING"

show_loading() {
    local frames=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')
    local spin_msg=$1
    while ! curl -s localhost:8123 > /dev/null; do
        for frame in "${frames[@]}"; do
            echo -ne "\r${YELLOW}[$frame]${NC} ${spin_msg}..."
            sleep 0.1
        done
    done
    echo -e "\r${GREEN}[✔]${NC} Home Assistant is LIVE!          "
}

start_server() {
    proot-distro login ubuntu -- pkill -f hass
    sleep 2
    nohup proot-distro login ubuntu -- bash -c "source /root/homeassistant/bin/activate && hass" >/dev/null 2>&1 &
    show_loading "Initializing HA"
}

stop_server() {
    proot-distro login ubuntu -- pkill -f hass
    echo -e "${GREEN}[✔]${NC} Server Stopped."
}

get_ssid() {
    local raw_ssid=$(timeout 3 termux-wifi-connectioninfo 2>/dev/null | jq -r '.ssid' 2>/dev/null)
    if [ -z "$raw_ssid" ] || [ "$raw_ssid" == "null" ] || [ "$raw_ssid" == "<unknown ssid>" ]; then
        echo "disconnected"
    else
        echo "$raw_ssid" | sed 's/^"\(.*\)"$/\1/'
    fi
}

start_server
LAST_SSID=$(get_ssid)
LAST_KNOWN_SSID=$LAST_SSID

while true; do
    CURRENT_SSID=$(get_ssid)
    
    if [ "$LAST_SSID" != "$CURRENT_SSID" ]; then
        if [ "$CURRENT_SSID" != "disconnected" ] && [ "$LAST_KNOWN_SSID" != "$CURRENT_SSID" ]; then
            if [ "$SERVER_STATE" == "RUNNING" ]; then
                echo -e "\n${YELLOW}🔄 Auto-Restarting for New Wi-Fi: $CURRENT_SSID${NC}"
                start_server
            fi
            LAST_KNOWN_SSID="$CURRENT_SSID"
        fi
        LAST_SSID=$CURRENT_SSID
    fi
    
    for i in {1..10}; do
        read -t 1 -n 1 -s key
        if [[ $key == "r" || $key == "R" ]]; then SERVER_STATE="RUNNING"; start_server; break; fi
        if [[ $key == "s" || $key == "S" ]]; then SERVER_STATE="STOPPED"; stop_server; break; fi
        if [[ $key == "q" || $key == "Q" ]]; then exit 0; fi
    done
done

Save karne ke liye: Ctrl + X, phir Y, aur Enter dabayein.

Ab is script ko run karne ki permission dein:

chmod +x ~/.shortcuts/aura_watchdog.sh

Bas! Ab apne phone ki home screen par jayen, Widgets open karein, “Termux:Widget” ko select karein aur aura_watchdog.sh par click karein. Aapka server ek awesome graphical UI ke sath start ho jayega!


Discover more from Dostified

Subscribe to get the latest posts sent to your email.

Leave a Reply

Discover more from Dostified

Subscribe now to keep reading and get access to the full archive.

Continue reading