Room-Assistant en docker : Erreur à l'installation!

Salut à tous !

Après avoir réinstallé tout ce que je voulais proprement, je cherche à intégrer le bluetooth via docker ! Et je bloque !

Mon problème

Au lancement du docker-compose, j’ai une erreur dans les logs :

1/23/2022, 3:28:26 PM - error - ExceptionHandler: EAFNOSUPPORT, Address family not supported by protocol
*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/blog/projects/avahi-compat.html>
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/blog/projects/avahi-compat.html>
1/23/2022, 3:28:40 PM - info - IntegrationsModule: Loading integrations: home-assistant, bluetooth-classic
1/23/2022, 3:28:40 PM - info - NestFactory: Starting Nest application...

Ma configuration

docker-compose.yaml

  room-assistant:
    container_name: room-assistant
    image: mkerix/room-assistant
    volumes:
      - /var/run/dbus:/var/run/dbus
      - /home/vincent/room-assistant/config:/room-assistant/config
    environment:
      - TZ=Europe/Paris
    networks :
      - domotique
    restart: unless-stopped

networks:
  domotique:

(Je mets tout sur un network : domotique)

Fichier de config de room-assistant

global:
  instanceName: bt_maison
  integrations:
    - homeAssistant
    - bluetoothClassic
homeAssistant:
  mqttUrl: 'mqtt://192.168.1.30:1883'
  #  mqttOptions:           # Intégrer usr et mot de passe dans MQTT mosquitto / A intégrer dans zigbee2mqtt !!
  #  username: youruser
  #  password: yourpass

bluetoothClassic:
  interval: 10 # durée en seconde entre 2 demande de présence du device : 10sec par défaut
  addresses:
    - '86:1D:FD:E6:66:DC' # iphone Vincent
    - '16:B6:38:07:4F:6D' # Samsumg Aurore
    # - 'ADRESSE MAC' ...
  entityOverrides:
    '86:1D:FD:E6:66:DC':
      name: Iphone Vincent
    '16:B6:38:07:4F:6D':
      name: Samsung Aurore

Je ne vois pas d’où vient l’erreur, mais je n’ai pas eu non plus à configurer la clé bluetooth que j’ai branché au serveur…

Merci !

Vincent

Salut,

Il te manque des privilèges pour accèder au device BT et dans ce genre de cas, c’est mieux de faire du ‹ host › pour récupérer les infos (type broadcast)
Complete avec ça

    network_mode: "host"
    privileged: true
    cap_add:
        - NET_ADMIN
        - NET_RAW
        - SYS_ADMIN

J’ai pas noté ce que j’avais pour le mode bonjour par contre.

Si je mets network mode, je dois enlever networks, et je crois que ca peut poser problème ? Je vais tenter :smiley:

Oui. Tu peux tout à faire définir/créer un network, sans forcement y mettre ton container. C’est le cas par exemple quand plusieurs containers sont déployés avec le même docker-compose.yaml. C’est sur que dans ton cas, il ne servira à rien par contre …
Et si tu en a vraiment besoin, il sera recrée

room-assistant est maintenant en « state :healthy » et non « running » comme les autres.

J’ai qu’une erreur (en plus du Warning sur node apple bonjour) :

1/23/2022, 4:17:46 PM - error - ClusterService: Failed to start mdns discovery (dns service error: unknown)

Par contre, j’ai bt_maison qui appartait dans home assistant. Pas les téléphones. A voir.

Je crois que c’était ça à faire …

Et ça en plus au début du fichier de config roomassistant

# You don't need to add the MQTT details for Home Assistant with the add-on installation, it will be auto-discovered!
cluster:
  autoDiscovery: true
  networkInterface: wlan0
  port: 6425

« cluster » au dessus de « global » ? Je croyais avoir compris que c’était important si j’avais plusieurs global ?

Je vais voir ton info sur mDNS !

Le mDNS y est utilisé par défaut justement

Cluster
Config Key: cluster

If you are running multiple room-assistant instances they come together in a cluster. By default, the instances discover each other using mDNS. This requires all of them live in the same subnet. You can also specify the adresses of other instances and tweak some other things manually.

Ceci dit, j’ai effectivement plusieurs instances

donc je le met à off ? Pour qu’il me ressorte mes téléphone ? il a l’air de bien remonter les choses mais pas les téléphones (je ne lui ai jamais dit où était branchée ma clé bluetooth, ça me parait bizarre)

(Il y a bien bt_maison qui remonte sur MQTT)

Notons qu’un scan hcitool ne remonte pas les téléphones si je ne lance pas une recherche depuis le téléphone

Je ne pense pas que tu as besoin de spécifier la cle BT. Par défaut ça prends la 0 …

bluetoothClassic:
  hciDeviceId: 0
  addresses:

Pas contre si en ligne de commande, ça ne fonctionne pas là il faut vérifié si c’est bien démarré.

ça c’est la notification comme quoi room-asssistant est lancé

Je ne sais pas comment tu lances ton composer, mais tu peux avoir le bug :
docker logs -f IDCONTAINER
ou
docker-compose up (sans le -d qui lance en daemon)

J’ai résolu un truc en faisant marché mon cerveau et en utilisant l’adresse MAC de la puce bluetooth et pas celle du wifi… (A dire vrai je ne savais pas qu’il y avait 2 numéros, je pensais que c’était lié au matériel (le téléphone) et pas aux matériels (chaque puce).

Ca remonte bien le truc vers le serveur MQTT, en revanche pour l’instant ça n’a pas l’air de prendre en compte mon « name ».

J’avance :smiley:

change l’id aussi c’est mieux que le name

1 « J'aime »

Oui je l’ai fait depuis :wink: j’y vais par étape pour voir si ca marche bien :smiley:

Salut !

Quelques nouvelles sur ce sujet…

Jeudi dernier, room-assistant down. Obligé de redémarrer le container… Ce matin, idem… sauf que redémarrer ne change rien…

J’ai droit à cette erreur dans les log:

1/29/2022, 8:42:05 AM - error - undefined: Failed to retrieve RSSI for E8:A7:30:B2:CC:57: Cannot lock resetting adapter 0,
1/29/2022, 8:42:15 AM - error - undefined: Inquiring RSSI via BT Classic failed: Command failed: hcitool -i hci0 cc "D4:11:A3:00:50:24" && hcitool -i hci0 rssi "D4:11:A3:00:50:24",
Invalid device: No such device,
,
1/29/2022, 8:42:16 AM - error - undefined: Health Check has failed! {"ble_advertisement_timeout":{"status":"down"},"bt_successive_errors":{"status":"down"}},
1/29/2022, 8:42:20 AM - warn - BluetoothService: Did not detect any low energy advertisements in a while, resetting,
1/29/2022, 8:42:20 AM - error - undefined: Command failed: hciconfig hci0 reset,
Can't get device info: No such device,
,
1/29/2022, 8:42:25 AM - error - undefined: Inquiring RSSI via BT Classic failed: Command failed: hcitool -i hci0 cc "E8:A7:30:B2:CC:57" && hcitool -i hci0 rssi "E8:A7:30:B2:CC:57",
Invalid device: No such device,

Quelqu’un a une idée ? On dirait qu’il ne capte plus ma clé mais elle est bien branchée et bien reconnu si je la cherche dans la console…

Merci !

Salut, essaye de relancer le service Bluetooth du host