From 3defaea4474b400372870bdef911fabc7d9c95d8 Mon Sep 17 00:00:00 2001 From: kyle Date: Wed, 31 Dec 2025 04:26:23 -0800 Subject: [PATCH] Add check-ha-integrations.py --- check-ha-integrations.py | 99 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 check-ha-integrations.py diff --git a/check-ha-integrations.py b/check-ha-integrations.py new file mode 100644 index 0000000..2a04460 --- /dev/null +++ b/check-ha-integrations.py @@ -0,0 +1,99 @@ +#!/usr/bin/env python3 +"""Check Home Assistant integrations and suggest kiosk additions""" +import urllib.request +import json +import sys + +TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI4NmM2ZGNlMTY2MWU0M2U5YjQ2MDI3MjMxYjE0NDFlMyIsImlhdCI6MTc2NzE3ODUyNiwiZXhwIjoyMDgyNTM4NTI2fQ.E8eShOsejwDYglixpgM_d_JYBlB1OVNhN7cHPnPiLOs" +HA_URL = "http://homeassistant.local:8123" + +def get_config(): + """Get Home Assistant config""" + url = f"{HA_URL}/api/config" + req = urllib.request.Request(url) + req.add_header("Authorization", f"Bearer {TOKEN}") + try: + with urllib.request.urlopen(req) as response: + return json.loads(response.read().decode()) + except Exception as e: + print(f"Error getting config: {e}", file=sys.stderr) + return None + +def get_services(): + """Get available services""" + url = f"{HA_URL}/api/services" + req = urllib.request.Request(url) + req.add_header("Authorization", f"Bearer {TOKEN}") + try: + with urllib.request.urlopen(req) as response: + return json.loads(response.read().decode()) + except Exception as e: + print(f"Error getting services: {e}", file=sys.stderr) + return None + +if __name__ == '__main__': + print("Checking Home Assistant setup...") + config = get_config() + services = get_services() + + if config: + print(f"\nHome Assistant Version: {config.get('version', 'Unknown')}") + print(f"Location: {config.get('location_name', 'Unknown')}") + print(f"Timezone: {config.get('time_zone', 'Unknown')}") + print(f"Unit System: {config.get('unit_system', {}).get('length', 'Unknown')}") + + if services: + print(f"\nAvailable Services: {len(services)}") + # Look for interesting services + interesting = ['rss', 'news', 'calendar', 'weather', 'media_player', 'notify'] + found = [] + for domain in services: + if any(x in domain.lower() for x in interesting): + found.append(domain) + if found: + print(f"Interesting services found: {', '.join(found)}") + + print("\n" + "="*60) + print("SUGGESTIONS FOR KIOSK DASHBOARD:") + print("="*60) + print(""" +1. WEATHER (Already have: weather.forecast_home) + - Current conditions + - Hourly forecast + - Daily forecast + - Sun times (sunrise/sunset) + +2. NEWS & RSS FEEDS + - Fox News RSS feed + - Breaking news alerts + - Local news + - Custom RSS feeds + +3. CALENDAR + - Upcoming events + - Today's schedule + - Next appointment + +4. SYSTEM STATUS + - Home Assistant updates available + - System health + - Network status + +5. CAMERA FEEDS (You have many!) + - Rotating camera views + - Motion detection status + +6. TRANSPORTATION + - Public transport departures (you have Roslagsbanan sensors!) + - Next departure times + +7. SMART HOME STATUS + - Active lights + - Recent events + - Device status + +8. TIME & DATE + - Large clock + - Date + - Weather-based greetings + """)