pixel

Home Assistant Dashboard casten naar de Google Nest Hub

4.5
(4)

Aller eerst om te beginnen gaan we geen veranderingen aanbrengen aan de Nest Hub zelf. Deze is zo goed dichtbebouwd door Google dat we aan de software kant niks gaan doen.

Om jou dashboard te casten van Home Assistant naar de Nest Hub maken we gebruik van de volgende onderdelen die te vinden zijn in HACS. (ik ga hier geen uitleg over geven hoe HACS geïnstalleerd moet worden)

  • PyScript
  • Dashcast

Om PyScript te installeren zoek je in HACS onder integraties naar pyscript en klik je op downloaden.

Om Dashcast te installeren ga je naar HACS – integraties en daarna klik je rechts boven in op de de 3 puntjes, en klik je op aangepaste repositories. Daar gebruik je de link https://github.com/AlexxIT/DashCast en als categorie gebruik je integratie.

Daarna even Home Assistant opnieuw opstarten. Als deze opnieuw is opgestart gaan we naar het Configuratiescherm – Apparaten & Diensten – Integratie Toevoegen . Hier zoeken we naar de integratie Dashcast en moet je deze installeren, op dezelfde manier doe je dit voor de integratie van Pyscipt.

Daarna voor de zekerheid nog even een keertje opnieuw opstarten, waarna we meteen naar de door jou gewenste File-Editor kunnen gaan. Zelf maar ik gebruik van Studio Code Server, en om te beginnen gaan we naar de configuration.yaml file.

Hier heb ik het volgende toegevoegd.

default_config:
homeassistant:
  auth_providers:
    - type: trusted_networks
      trusted_networks:
        - 192.168.1.0/24
        - fd00::/8 
        - 192.168.1.175 #IP ADRES VAN NESTHUB
      trusted_users:
        192.168.1.175: 496***07 #IP ADRES VAN NESTHUB + USERID
      allow_bypass_login: true
    - type: homeassistant

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 172.30.33.0/24
    - 127.0.0.1
    - 172.16.0.0/12
  ip_ban_enabled: false
  login_attempts_threshold: 5

pyscript:
  apps:
    nest_hub:

logger:
  default: warning
  logs:
    custom_components.pyscript: info

Het eerste gedeelte heb je nodig om straks de Nest Hub toegang te geven tot Home Assistant zonder in te loggen. (geen toetsenbord aanwezig op de Nest Hub) Het 2e deel heb je nodig om je PyScript in te draaien. Daarover gesproken deze zullen we meteen even aanmaken.

Kijk even wat je ip is van je Nest Hub, en natuurlijk van je router. Begint deze met 192.168.178.x dan moet de 1 die gebruik veranderen in .178. natuurlijk. De 0/24 is op de gehele iprange te dekken 0 tot 255.

Ik heb ook voor mijn Nest Hub een eigen gebruiker aan gemaakt. Dit doe je door naar Instellingen – Personen te gaan, bovenin op Gebruikers te klikken en daar een gebruiker aan de maken. De gebruikers ID die je hier nu krijgt vul je in bij je trusted_users: zoals hierboven aangegeven.

Home Assistant Dashboard casten naar de Google Nest Hub 1

Maak in je config folder een map aan met de naam “pyscript”, daar weer een map aan met de naam “apps”, en daarin weer één map met de naam “nest_hub” je krijgt dan de volgende lay-out /config/pyscript/apps/nest_hub

In deze laatste map maak je een file met de naam “__init__.py” nu heb je als je alles goed gedaan hebt precies dit

/config/pyscript/apps/nest_hub/__init__.py

Nou dat viel wel mee, nu mag je het bestand gaan vullen met de volgende code

_DASHBOARD_URL = 'http://192.168.1.171:8123/dashboard-tablet/default_view'
# The part after 'media_player.'
_NEST_HUBS = ['nest_hub']


def nest_hub_trigger_factory(nest_hub):
    entity_id = f'media_player.{nest_hub}'
    avail_state = f'pyscript.{nest_hub}_availability'

    state.persist(avail_state, default_value='1')

    @state_trigger(f'{entity_id} == "off"', state_check_now=True)
    def recast_nest_hub():
        if state.get(avail_state) == '0':
            log.info(f'{entity_id} was unavailable. Wait for 20 secs')
            state.set(avail_state, '1')
            task.sleep(20)
        log.info(f'Recast {entity_id}')
        media_player.volume_set(entity_id=entity_id, volume_level=0)
        dash_cast.load_url(entity_id=entity_id,
                          url=_DASHBOARD_URL, force=True)

    @state_trigger(f'{entity_id} == "unavailable"', state_check_now=True)
    def nest_hub_is_unavailable():
        log.info(f'{entity_id} is unavailable')
        state.set(avail_state, '0')

    return recast_nest_hub, nest_hub_is_unavailable

_triggers = [nest_hub_trigger_factory(nh) for nh in _NEST_HUBS]

Zoals je ziet staat er bovenin een Dashboard url, deze passen we aan naar het door jou gewenste dashboard. Vergeet ook niet je interne ip mee te nemen in de wijziging. Onder het kopje _NEST_HUBS heb ik mijn eigen nest hub staan, het gedeelte wat NA mijn entiteit vanuit Home Assistant komt

Home Assistant Dashboard casten naar de Google Nest Hub 2

Je kunt nu even Home Assistant weer opnieuw opstarten, en daarna ga je naar Instellingen – Systeem – Logboek, en klik je op laad volledig logboek, nu moet je daar als het goed is de regel zien

INFO (MainThread) [custom_components.pyscript.global_ctx] Reloaded /config/pyscript/apps/nest_hub/__init__.py

Als je die ziet dan is alles goed gegaan. En zijn we er al bijna. Voor mij zelf heb ik een script gemaakt om de eerste keer het Dashboard te casten naar de Nest Hub via Dashcast. Mijn script ziet er als volgt uit.

alias: Cast Dashboard
sequence:
  - choose:
      - conditions:
          - condition: template
            value_template: >-
              {{ state_attr('media_player.nest_hub', 'app_name') != 'DashCast'
              }}
        sequence:
          - service: media_player.volume_set
            data:
              volume_level: 0
            target:
              entity_id: media_player.nest_hubhub
          - service: dash_cast.load_url
            data:
              entity_id: media_player.nest_hub
              url: http://192.168.1.171:8123/dashboard-tablet/default_view
              force: true
mode: single

sources:



Spelfouten, taalfouten of inhoudelijke fouten ontdekt?
Stuur dan een mailtje naar de auteur van dit artikel!

Wil je ook een review of handleiding maken ?
Stuur ons dan een mailtje voor meer informatie.






Wat vond je van deze post?

Klik op een ster om deze te beoordelen!

Gemiddelde score 4.5 / 5. Aantal stemmen: 4

Tot nu toe geen stemmen! Wees de eerste die dit bericht beoordeelt.

Geef een reactie...

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.

11 gedachten over “Home Assistant Dashboard casten naar de Google Nest Hub”

  1. Ik zou voor het starten en stoppen van het casten gewoon een scene gebruiken welke het casten triggert of stopt.
    Deze vervolgens aanroepen via Google Assistant

  2. Marina Rietveld

    Werkt perfect, alleen op het moment dat ik bijvoorbeeld bel met google home of bijv een vraag stel, houdt het casten op. Hoe kan ik dan op de meest efficiënte manier het casten van mijn dashboard weer activeren?

  3. Werkt perfect, geweldig werk.
    Ik vraag me wel af of er een mogelijkheid is om de DashCast te pauzeren vanuit de Nest Hub.
    Als dit kan kunnen we ook de andere functies van de Nest Hub gebruiken zonder dat DashCast steeds opnieuw laad.

    1. Dimitri ter horst

      Zit zelf ook te zoeken om dashcast in en uit te schakelen, tot nu toe nog geen oplossing gevonden.
      Misschien dat hier iemand een oplossing weet.

    2. Dimitri ter horst

      Zou ik ook wel willen weten tot nu toe ook nog geen oplossing gevonden om dashcast uit te schakelen

  4. Oege Oevering

    Keurig ingevoerd in HA maar na het herstarten gaat HA prompt in een veilige modus. Wat er verkeerd kan gaan is wellicht de optie user_ID. Deze kan ik niet vinden in HA en ook niet op internet. Ik heb nu de persoonsnaam ingevuld in het script maar dat zal niet werken. Wellicht door de Nederlandse versie van HA maar er lijkt geen onderscheid te zijn tussen gebruiker en persoon. Ik heb een persoon aangemaakt (gebruiker aanmaken kan ik niet vinden) maar op die pagina is geen optie voor een user_ID. Na de toegevoegde regels in configuration.yaml geblokt te hebben met #jes start HA weer volledig op.
    Graag advies!

    1. Instellingen -> Personen; bovenin staat Personen en daarlangs de TAB gebruikers. Al de gebruikers hebben een eigen ID. Rechts onder gebruiker aanmaken.

    2. Ik zou voor het starten en stoppen van het casten gewoon een scene gebruiken welke het casten triggert of stopt.
      Deze vervolgens aanroepen via Google Assistant

Winkelwagen
Scroll naar boven