Integra los puntos de recarga de Iberdrola o cualquier otra API REST en Home Assistant

Поділитися
Вставка
  • Опубліковано 30 лип 2024
  • En este vídeo tutorial veremos cómo integrar distintas APIs REST en Home Assistant mediante ejemplos.
    Primero integraremos la tira cómica XKCD (xkcd.com/) para obtener la última tira publicada.
    Después integraremos la red de cargadores de vehículos eléctricos de Iberdrola (www.iberdrola.es/smart-mobili...) para saber qué puntos de recarga están libres en una zona determinada.
    Desde hace unos días, además del headers de content-type, también tenéis que añadir user-agent para obtener los cargadores:
    Quedaría así:
    [...]
    method: POST
    headers:
    Content-Type: "application/json"
    user-agent: "Chrome/122"
    [...]
    Finalmente integraremos la API de TheTVDB (thetvdb.com/) para saber cuando se estranará el siguiente capítulo de una serie, Frieren en mi caso. Podéis encontrar la documentación completa de la API aquí: thetvdb.github.io/v4-api/
    Podéis encontrar un enorme listado de APIs distintas en este enlace:
    github.com/public-apis/public...
    Capítulos:
    00:00 Presentación
    00:10 ¿Qué es una API?
    00:56 Diferencia en API y Scrapping
    01:22 APIs privadas
    01:35 Ejemplos en el vídeo
    02:00 Integrar XKCD en Home Assistant
    04:16 Mostrar la imagen de la viñeta
    05:19 Crear una entidad tipo Image con templates
    06:00 Integrar Puntos de Recarga de Iberdrola
    07:39 Localizar llamadas a la API del navegador
    09:20 Replicar llamadas a la API
    12:20 Sensor Rest Binario
    13:04 Integrar TheTVDB en Home Assistant
    14:39 Hacer login con obtener un token desde Home Assistant
    17:23 Guardar el token para usarlo en futuras llamadas
    18:47 Realizar llamada usando el token
    23:00 Despedida
  • Наука та технологія

КОМЕНТАРІ • 45

  • @meteorait
    @meteorait 16 днів тому

    Un máquina! Bravo por estos vídeos y tu forma de explicar! 💪👏👏👏

  • @voricente
    @voricente 5 місяців тому +1

    Ufff.... Mola!!!!!

  • @proyectosmicropic
    @proyectosmicropic 5 місяців тому +1

    Buenísimo

  • @HectorziNo
    @HectorziNo 5 місяців тому +4

    Eres un crack Miguel Ángel! poco valorado estás para las cosas tan interesantes y diferentes que nos explicas!

    • @lachozadigital
      @lachozadigital  5 місяців тому +2

      Jjaja, muchas gracias. Poco a poco van subiendo los suscriptores :)

    • @franciscoromero1869
      @franciscoromero1869 5 місяців тому +5

      Totalmente de acuerdo. Un crack en toda regla.

  • @londonbilbo
    @londonbilbo 5 місяців тому +1

    Hola!!! Fantástico video. Como siempre contenido diferente, bien explicado y en español (creo que es el primer video que veo sobre esto en castellano y muy bien explicado) He visto en otro comentario que estás preparando algo sobre templates. Esperándolo como agua de Mayo. Gracias!!!!

    • @lachozadigital
      @lachozadigital  5 місяців тому +1

      Sí, quiero sacar un de templates, espero que no se demore hasta mayo... He hecho dos intentos de grabación pero no me estaba quedando como quería. Es un tema un poco «denso» y tengo que replantearlo.

  • @franciscoromero1869
    @franciscoromero1869 5 місяців тому +3

    Excelente vídeo, como todos. Gracias Miguel por compartirlo. En tu canal se aprenden muchas cosillas. Un saludo

    • @lachozadigital
      @lachozadigital  5 місяців тому +1

      Me alegro. Mi idea es que siempre cada semana os vayáis con alguna cosa nueva a dormir... Y le deis la chapa a alguien sobre el tema aunque no le interese ;)

    • @franciscoromero1869
      @franciscoromero1869 5 місяців тому +2

      @@lachozadigital Eso está conseguido. La pena es que tu canal tiene muy buen nivel y se debería posicionar más alto y que llegara a mucha más gente. Siempre vas al grano sin florituras y eso es de agradecer. Muchas gracias Miguel por compartir todo este contenido. Un gran saludo

    • @franciscoromero1869
      @franciscoromero1869 5 місяців тому +3

      @@lachozadigital Además intento darte todos los likes que puedo para que subas de nivel, si muchos me acompañan al final lo conseguiremos, pero eso ya no está en mi mano.👍👍👍👍👍👍

    • @lachozadigital
      @lachozadigital  5 місяців тому +2

      ¡Le vas a hacer la competencia a mi madre!

    • @franciscoromero1869
      @franciscoromero1869 5 місяців тому +1

      @@lachozadigital 🤣🤣

  • @dluxox
    @dluxox 5 місяців тому +1

    Eres el mejor, los demás te hablan hasta del perro

    • @lachozadigital
      @lachozadigital  5 місяців тому +1

      Bueno, mi perrete ha personalizado uno de mis vídeos 😂

  • @dan-gy9pk
    @dan-gy9pk 5 місяців тому +1

    Estupendo video, en mi caso con los cargadores que quería ver, la ruta del json no era la misma pero investigando un poco es fácil dar con ella.
    Me has ahorrado mucho tiempo de entrar en la app de Iberdrola para ver si hay algún cargador libre. Ahora con unas automatizaciones cuando quiera ir a cargar me avisará en cuanto haya uno libre.
    Muchas gracias!!!

    • @lachozadigital
      @lachozadigital  5 місяців тому +1

      Me alegro de que te sirva y de que hayas podido localizar los datos en el JSON sin mucho problema.
      No sabía que dependiendo del cargador pudiese devolver una respuesta distinta.

  • @juanantonio7155
    @juanantonio7155 5 місяців тому +1

    Gran video como nos tienes aconstumbrado… saludos

    • @lachozadigital
      @lachozadigital  5 місяців тому +1

      De vez en cuando caerá alguno «más pocho», pero intentaré mantener la media ;)

  • @Bato2000
    @Bato2000 5 місяців тому +1

    muchas gracias por el video.

    • @lachozadigital
      @lachozadigital  5 місяців тому +1

      A ti por la idea de integrar los cargadores ;)

    • @Bato2000
      @Bato2000 5 місяців тому +1

      @@lachozadigitalintentaré integrarlo esta tarde.
      Luego estaba pensando si hacerme una “robochera” como la que he visto en UA-cam 😋
      De momento es solo una idea. Ni siquiera lo llamaría proyecto

    • @lachozadigital
      @lachozadigital  5 місяців тому +2

      @@Bato2000 ¿de estas para «esconder» el aspirador? Las he visto y molan bastante, pero yo esperaré a terminar unas obras pendientes y buscarle así su sitio definitivo al roborock.

    • @Bato2000
      @Bato2000 5 місяців тому

      @@lachozadigital si. De esas

    • @Bato2000
      @Bato2000 5 місяців тому

      @@lachozadigital parece ser que soy mas torpe de lo que esperaba, he copiado todo y repasado todo cuatro o cinco veces pero no le veo el error. Igual es por que estoy metiendolo en sensors.yaml (donde tengo separados los sensores)
      Pero el caso es que me dice Invalid config for 'sensor' at sensors.yaml, line 22: required key 'platform' not provided
      Tampoco me va si lo meto en configuration.yaml

  • @galdakaMusic
    @galdakaMusic 5 місяців тому +1

    Buenas!! Excelente video. Creo que seria mas idóneo que te devolveria el numero de elementos "available" en modo numérico. Un saludo.

    • @lachozadigital
      @lachozadigital  5 місяців тому +1

      Grabé también esa opción. Pero alargaba mucho el vídeo y había que usar templates muy complejos que se salían del tema del vídeo.
      Pero lo usaré como ejemplo en el futuro vídeo sobre templates.

  • @RubenRK
    @RubenRK 5 місяців тому

    Joe explicas fenomenal.
    ¿Donde aprendes el codigo apra programar asi?
    Podrias dar un mini cursillo, si lo das tienes aqui un alumno.

    • @lachozadigital
      @lachozadigital  5 місяців тому +2

      Llevo muchos años trabajando como programador, y claro, al final le pillas el truco.
      Me alegro que quede todo bien explicado, siempre tengo dudas de si algo me he saltado o ha quedado un poco confuso.

    • @RubenRK
      @RubenRK 5 місяців тому

      @@lachozadigital Yo también soy programador pero ese lenguaje no lo conozco 🤣

    • @lachozadigital
      @lachozadigital  5 місяців тому

      Con «lenguaje» a cual te refieres? A YAML, jinja2 o a las APIs Rest?
      YAML no es un lenguaje de programación realmente, es para definir configuraciones. Jinja2 es un lenguaje de plantillas, muy básico la verdad, pero para ciertas cosas es más que suficiente. Finalmente, las API Rest es un protocolo de comunicación que puedes usar en prácticamente cualquier lenguaje. Es cuestión de buscar una biblioteca correspondiente.
      Todo esto se aprende a base de echarle horas. Si no te has encontrado con la necesidad pues es normal que no conozcas ciertas herramientas.

  • @puveil2294
    @puveil2294 5 місяців тому

    Buenas, muchas gracias, tengo una duda, necesitaría acceder a la API de iberdrola de su aplicación IDE para obtener datos de consumo, pero tengo un problema, ya que para acceder a esa API necesito tener abierta la sesión, y no se si hay alguna forma de mandar en la petición las credenciales para obtener los datos de mi usuario, en mi caso usaría javascript o C# para hacer la petición a la API, pero necesitaría saber si hay alguna forma de poder acceder a la API con las credenciales. Muchas gracias de antemano. P.D. He podido conseguir la URL de la API, pero solo funciona si tengo la sesión abierta, mi objetivo sería poder autenticarme en la propia petición o algo así.

    • @lachozadigital
      @lachozadigital  5 місяців тому

      En el último ejemplo explico como mandar cabeceras. Envío un token, pero puede ser cualquier cosa.
      Por otro lado, creo que existe un componente para exactamente lo que buscas: github.com/ldotlopez/ha-ideenergy

    • @puveil2294
      @puveil2294 5 місяців тому

      ​@@lachozadigitalel problema es que no encuentro la forma de obtener el token, porque la aplicación IDE de Iberdrola no tiene una api key, necesitaría usar mi usuario y contraseña, pero como la api es privada, no encuentro la forma, no se si sabes de algún modo para hacerlo

  • @Bato2000
    @Bato2000 3 місяці тому

    Buenas, no se si han cambiado algo por que el sensor ya no funciona (antes si) he vuelto a hacer todo el tutorial de ibertrola, pero simplemente es como si el sensor no existiera, lo busco en entidades y no aparece. he probado con una version anterior de home assistant que tenia para pruebas y que antes funcionaba y el sensor tampoco aparece. Creo que puede ser culpa mia, pero me extraña que el el HA antiguo tambien haya desaparecido cuando no lo he tocado

    • @lachozadigital
      @lachozadigital  3 місяці тому +1

      Si las entidades no aparecen es algún problema de configuración. Si la llamada a la API estuviese mal aparecerían con algún valor inválido o algo.
      Comprueba que no has añadido otro bloque de templates o algo en la configuración que esté «machacando» el de las APIs.

    • @Bato2000
      @Bato2000 3 місяці тому

      @@lachozadigital Muchas gracias por tu ayuda, y perdona que te moleste otra vez mas. He instalado desde 0 un HA y he copiado la configuracion de los sensores para los cargadores de iberdrola, y no me sale el sensor, no se si es que tengo que meter algo mas para que haga la consulta.
      Como no aparece el sensor deduzco que es problema mio, pero que falle en 3 HA diferentes (y el principal sin tocar nada) se me hace extraño ¿el que hiciste para las pruebas funciona?
      ASi me ha quedado en el HA recien instalado, y en estados no muestra nada de "cargador"
      ibb.co/c6dSXDJ
      Un saludo

    • @Bato2000
      @Bato2000 3 місяці тому

      @@lachozadigital Buenas tardes, he vuelto a seguir el tutorial (incluso con el mismo cargador que en el tutorial) en un HA recien instalado, y no aparece el sensor. Queria poner una imagen del codigo, pero parece ser que no le ha gustado a youtube y ha borrado el mensaje. ¿te sigue funcionando el que pusiste para hacer el ejemplo? es que es muy raro que me falle incluso en un HA nuevo

    • @lachozadigital
      @lachozadigital  3 місяці тому +3

      ​@@Bato2000 Localizado el problema. Parece que han añadido algún tipo de estadísticas y consultan guardan el dispositivo que realiza la consulta, y al no enviarlo, falla. Cuando falla, no carga el sensor... Simplemente necesitas mandar una cabecera adicional, en el apartado headers, debajo del content-type, añade esta: user-agent: "Chrome/122"

    • @Bato2000
      @Bato2000 3 місяці тому

      @@lachozadigital Perfecto, ya funciona. Muchas gracias.
      Yo solo, hubiese sido incapaz de solucionarlo.