Emby problème de configuration

@Bilbon, j’ai un soucis avec la configuration de Emby dans HA.

J’ai un message d’erreur au démarrage

2021-01-03 06:22:43 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up emby_upcoming_media platform for sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 199, in _async_setup_platform
    await asyncio.shield(task)
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/emby_upcoming_media/sensor.py", line 85, in setup_platform
    categories = client.get_view_categories()
  File "/config/custom_components/emby_upcoming_media/client.py", line 41, in get_view_categories
    return self.data["ViewCategories"]
KeyError: 'ViewCategories'

Voici ma configuration :

config/integrations/media_player.yaml
media_player: !include_dir_list ../entities/media_player
config/entities/media_player/emby.yaml
platform: emby
host: !secret emby_host
api_key: !secret emby_key
config/entities/sensors/emby.yaml
platform: emby_upcoming_media
api_key: !secret emby_key
user_id: !secret emby_user
host: !secret emby_host
port: !secret emby_port
use_backdrop: true
include:
  - Movies

J’ai aussi essayé sans mettre include

config/entities/sensors/emby.yaml
platform: emby_upcoming_media
api_key: !secret emby_key
user_id: !secret emby_user
host: !secret emby_host
port: !secret emby_port
use_backdrop: true

Pourrais tu partager ta configuration d’Emby s’il te plait

Une piste :

Bon j’ai trouvé comment me connecter au serveur Emby, c’est un problème lié au renseignement du user_id. Je renseignais le user_id en clair alors qu’il faut récupérer le hash du user_id.
Pour ça, il faut aller sur Emby et ce connecter via son compte.
http://<ip_hôte_emby>:8096/web/index.html#!/settings/profile.html?userId=<hash user_id>&serverId=<hash server_id>

Je ferais une tuto complet sur l’intégration de Emby quand j’aurais réussi à afficher une liste de films.

Mon problème avance …
J’arrive a voir des données qui correspondent grâce à l’outil de développement sur l’entité sensor.emby_latest_films :

data: [{
  "title_default": "$title",
  "line1_default": "$release",
  "line2_default": "$genres",
  "line3_default": "$rating - $runtime",
  "line4_default": "$studio",
  "icon": "mdi:arrow-down-bold"
}, {
  "title": "Film 1",
  "officialrating": "",
  "release": 1970,
  "airdate": "2021-01-03T13:41:53.896893",
  "studio": "Chez moi",
  "genres": "Comedy, Adventure",
  "runtime": 120.021,
  "poster": "http://192.168.0.240:8096/Items/7543/Images/Primary?maxHeight=360&maxWidth=640&quality=90",
  "rating": "\u2605 7.2"
}, {
  "title": "Film 2",
  "officialrating": "",
  "release": 1970,
  "airdate": "2021-01-03T13:41:53.897058",
  "studio": "Chez moi",
  "genres": "Comedy, Adventure",
  "runtime": 120.021,
  "poster": "http://192.168.0.240:8096/Items/7541/Images/Primary?maxHeight=360&maxWidth=640&quality=90",
  "rating": "\u2605 7.3"
}, {
  "title": "Film 3",
  "officialrating": "",
  "release": 1970,
  "airdate": "2021-01-03T13:41:53.897166",
  "studio": "Chez moi",
  "genres": "Comedy, Adventure",
  "runtime": 120.021,
  "poster": "http://192.168.0.240:8096/Items/7540/Images/Primary?maxHeight=360&maxWidth=640&quality=90",
  "rating": "\u2605 7.6"
}, {
  "title": "Film 4",
  "officialrating": "",
  "release": 1970,
  "airdate": "2021-01-03T13:41:53.897435",
  "studio": "Chez moi",
  "genres": "Comedy, Adventure",
  "runtime": 120.021,
  "poster": "http://192.168.0.240:8096/Items/7542/Images/Primary?maxHeight=360&maxWidth=640&quality=90",
  "rating": "\u2605 5.9"
}, {
  "title": "Film 5",
  "officialrating": "",
  "release": 1970,
  "airdate": "2021-01-03T13:41:53.897543",
  "studio": "Chez moi",
  "genres": "Comedy, Adventure",
  "runtime": 120.021,
  "poster": "http://192.168.0.240:8096/Items/7539/Images/Primary?maxHeight=360&maxWidth=640&quality=90",
  "rating": "\u2605 4"
}]
attribution: Data is provided by Emby.
friendly_name: Latest Films on Emby

mais dans mon dashboard, je ne vois que
image

Voici le code de la carte :

type: custom:upcoming-media-card
entity: sensor.sensor.emby_latest_films
title: Derniers Films

Qu’est-ce qu’il me manque ?

Hello

Est-ce normal que ton entité comporte deux fois « sensor » dans son nom ?

Ce ne serait pas plus « sensor.emby_latest_films » tout court ?

Bravo @Gogo, je m’étais pourtant basé sur la doc officielle Github

Merci ! :wave:

De rien :wink:

J’ai développé des intégrations qui utilise la card Upcoming-Media-Card, je la connais pas mal :stuck_out_tongue:

Fais leur une PR au passage :+1:

1 J'aime

C’est difficile :exploding_head:, maintenant les posters ne sont pas téléchargés. emby_upcoming_media cherche à récupérer les image sur une URL en https alors que mon Emby est en http …
Ce qui est bizarre, c’est que la requête GET qui récupère les infos du film est bien en HTTP :exploding_head:

J’ai fait face au même problème.

HA n’autorise pas les appels vers des applications qui ne sont pas en https et boque l’appel …

Pourtant la première requête passe en HTTP puisque j’ai bien la liste de films.
Mais effectivement après :

Mixed Content: The page at '<URL>' was loaded over HTTPS, but requested an insecure element '<URL>'. This request was automatically upgraded to HTTPS, For more information see <URL>

Il va falloir que je passe Emby en HTTPS … :unamused:

Je pense que tu n’as pas d’autres choix de passer ton Emby en https oui.
Un certificat autosigné fera l’affaire

Tu n’aurais pas un tuto pour installer ça sur Emby ? :pleading_face: :pleading_face:
J’utilise Nginx Proxy Manager, peut-être que je peux le configurer pour gérer ça …

1 J'aime

Alors malheureusement j’ai abandonné Emby pour Plex depuis déjà un moment.

Mais je peux effectuer des recherches

Apparemment il faut que je me créer un certificat.
J’ai toujours le doute de savoir de quel coté je dois le créer et sur quel serveur je dois copie la clé.
Au fait, mon Emby est sur Docker

Est-ce qu’on peut créer u certificat autosigné si on n’a pas de nom de domaine interne.
Je m’explique, mon serveur Emby est sur un container Docker hébergé sur un NAS (autre que le RPi hébergeant HA).
J’arrive à accéder à HA via https://
Et à mon Emby http://<ip de l’hôte de docker>:8096

Je vais devoir accéder à mon Emby via https://<ip de l’hôte de docker>:8920

Comment dois-je procéder pour créer mon certificat autosigné ?

  • Sur quel machine dois-je exécuter mes commandes ?
  • Quelles commandes ?
  • Où dois-je copier quel fichier ?

Merci d’avance pour votre aide.

Si ton NAS est un Synology et que tu as déjà un certificat avec nom de domaine de créé pour le Syno, il y a surement moyen de contourner en faisant un proxy inversé.

Panneau de configuration > portail des applications > Proxy inversé :
Source en https, nom d’hote : emby.tondomaine.fr, port 8096 destination en http <ip de l’hôte de docker>:8096

Désolé mais ce n’est pas un Syno. C’est un NAS fait maison. Donc, je vais devoir mettre les mains dans le cambouis pour me faire un certificat autosigné…

Bon, j’ai installé un certificat autosigné sur mon Emby en suivant les lignes de commande de ce message.
Mon Emby est joignable en HTTP et HTTPS (test effectué via un navigateur (en HTTPS, j’ai d’ailleurs un message d’avertissement).
Comme cela ne fonctionnait pas avec la configuration SSL côté HA. J’ai essayé un curl en étant connecté vie l’add-on SSH & Web Terminal
via HTTP, c’est tout bon, mais en HTTPS
image
une idée ?

1 J'aime

Tu dois probablement passer par un certificat non-autosigné type let’s encrypt ou ajouter le certificat auto-signé dans les certificats de confiance de HA.

Aucune idée de la procédure… Désolé.