Installation de HA sur android box TV X96 mini

Salut à tous,
Pour mon premier post sur ce forum, je viens apporter ma modeste contribution. Je teste depuis plusieurs mois HA supervised sur des box tv Amlogic. Une fois bien configurées, elles fonctionnent à merveilles. Ma préférence va à la X96max+ (S905X3, 4Go 64Go). Elle ne chauffe pas, est très rapide, disposent d’une bonne quantité de ram et d’un emmc conséquent.

X96MAXPLUS

J’ai voulu aller un peu plus loin en ajoutant un module Zigbee. Ça tombe bien il y a deux UART dispo sur la CM.

Le module est un ZYZBO08 de chez easyiot.tech.
C’est le même module que le dongle sonoff -E, a base d’un EFR32. Mais sans l’interface usb/serie. De plus il est préprogrammé avec le firm EZSP-V8. (coordinateur)

Pour l’installer:
On câble le 3.3v, le TX, le RX et le GND sur l’UART de la CM.
Puis il faut supprimer dans le fichier boot/uenv.txt « console=serial0,115200 » (c’est le port de débogage)
Pour la config de HA
On paramètre le port, normalement /dev/ttyAML0

Pour une cinquantaine d’euros, on se retrouve en possession d’une superbe gateway Zigbee, très compacte, avec HA supervised, etc…

3 « J'aime »

Super retour, merci a toi

Bonjour @Orefie

Peux tu en dire plus sur le branchement.

  • Comment trouver les connections de l’UART ?
  • On peut utiliser une X96 mini aussi ?
  • Faut il ajouter une antenne et peut elle etre à l’intérieur de la box ?
    (mon rève a toujours été de crééer un HA sans cette verrue qu’est le dongle Zigbee)

(Je ne trouve pas le site easyiot.tech, ni d’ailleurs ZYZBO08 )

Salut Thierry,
Pour trouver les uart rien de plus simple. C’est marqué sur la Cm.
Gnd tx Rx 3.3v.
Un uart est juste un port série, par contre il peut être en 5v donc méfiance.
J’ai un x96mini qui traine quelque part, je regarderai demain.
Pour l’antenne, il y a deux modèles. Un module avec une antenne externe, un autre sans.
Dans le x96max, il y a la place pour intégrer un module facilement, dans le mini ça risque d’être plus compliqué.
Pour le module regarde sur Ali, ICI, ça vaut environ 6, 7€ (jettes un œil aux autres modules, il y a des trucs sympa :wink:)


ZYZBP008

Pour connaitre le port a utiliser

/!\ Si tu réalise ce montage, je te conseille vivement de désactiver le wifi de ta box. Sinon la portée sera proche du néant à cause des interférences.

Salut, je ne suis jamais arrivé à faire fonctionner sur mon x96mini dommage.
En tout cas bonne idée l’implémentation

@chuppito
J’ai créé une image fonctionnelle pour une sd 16go
elle utilise la derniere version de armbian bullseye
pour se connecter en admin : root 1234
elle contient home assistant supervised

http://192.168.x.xxx:8123

bien sur tu ne pourras pas flasher ta box avec (cela doit être fait dès l’installation de Armbian) il faudra laisser la carte SD

@Orefie
Merci pour le partage.
J’ai vérifié l’alim c’est bien 3.3v
J’ai commandé le module
Par contre je ne sais pas si j’arriverai à souder mes fils c’est vraiment minuscule

Bonsoir, @Orefie
J’ai reçu le module d’aliexpress. Je l’ai soudé sur une X96 Max+
Par contre :

  • Je ne trouve pas de fichier boot/uenv.txt
    voici le contenu de mon boot
aml_autoscript                  initrd.img-6.1.11-meson64
armbian_first_run.txt.template  s905_autoscript
boot.bmp                        System.map-6.1.11-meson64
boot.cmd                        u-boot.ext
boot.scr                        u-boot-readme.txt
config-6.1.11-meson64           u-boot-s905
dtb                             u-boot-s905x2-s922
dtb-6.1.11-meson64              u-boot-s905x-s912
emmc_autoscript                 uImage
extlinux                        uInitrd
Image                           vmlinuz-6.1.11-meson64
  • de plus la commande dmesg | grep tty ne renvoie rien.

J’ai quand même essayé de lancer Zigbee2mqtt et je reçois le message :

[22:00:56] INFO: Preparing to start...
[22:00:58] INFO: Socat not enabled
[22:01:07] INFO: Starting Zigbee2MQTT...
Zigbee2MQTT:info  2023-04-20 22:01:18: Logging to console and directory: '/config/zigbee2mqtt/log/2023-04-20.22-01-18' filename: log.txt
Zigbee2MQTT:info  2023-04-20 22:01:18: Starting Zigbee2MQTT version 1.30.3 (commit #unknown)
Zigbee2MQTT:info  2023-04-20 22:01:18: Starting zigbee-herdsman (0.14.103)
Error: Reset error: Error: {"sequence":-1} after 10000ms
    at /app/node_modules/zigbee-herdsman/src/adapter/ezsp/driver/uart.ts:298:23
    at Queue.executeNext (/app/node_modules/zigbee-herdsman/src/utils/queue.ts:32:32)

Salut @thierry-rhone,

Nous n’utilisons pas la même image de Armbian, je viens de regarder dans l’image que tu as up plus haut. modifie ton extlinux\extlinux.conf ça doit être lui qui passe les commandes au kernel.

L’mage que j’utilise provient de cette faq

j’ai modifié la ligne du extlinux.conf de la manière suivante:
original :

  append root=UUID=afbf3a1b-d905-4b27-b78a-3682d3db0dca rootflags=data=writeback console=ttyAML0,115200n8 console=tty0 rw no_console_suspend consoleblank=0 fsck.fix=yes fsc>

modifiée

 append root=UUID=afbf3a1b-d905-4b27-b78a-3682d3db0dca rootflags=data=writeback  console=tty0 rw no_console_suspend consoleblank=0 fsck.fix=yes fsc>

mais cela fonctionne toujours pas.
Je ne sais pas ou est la panne

  • de mon image
  • de l’EFR32 mal flashé
  • hardware
    @Orefie Peux tu me donner le lien vers ton image, je pourrai au moins éviter cette cause
    Merci

Voici le contenu de mon fichier uEnv.txt

LINUX=/zImage
INITRD=/uInitrd
FDT=/dtb/amlogic/meson-sm1-x96-max-plus-2101.dtb
APPEND=root=UUID=42b4a95d-f152-4ca4-8da2-9eb85bb8dd7a rootflags=data=writeback rw rootfstype=ext4 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1

Les arguments a la fin de la 4eme ligne permettent d’éviter des erreurs dans HA supervised. :wink:

pour les images regarde ici

pour tester:
Branche ton module sur un adaptateur usb/serie (en 3.3v), ça devient alors une clé sonoff (dongle-E).
Branche un adaptateur usb/serie sur ton UART, remet les arguments d’origines dans ton fichier de config, branche le sur ton pc et regarde avec putty. tu devrais voir le log de boot de ta box.

Thierry,

j’ai installé ton image sur une x96mini
Il y a mal d’erreurs…
Dans HA pour corriger ça


change ton boot/extlinux/extlinux.conf
par ça

LABEL Armbian
LINUX /uImage
INITRD /uInitrd

#FDT /dtb/amlogic/meson-gxbb-p200.dtb
FDT /dtb/amlogic/meson-gxl-s905x-p212.dtb
#FDT /dtb/amlogic/meson-gxl-s905w-tx3-mini.dtb
#FDT /dtb/amlogic/meson-gxm-q200.dtb
#FDT /dtb/amlogic/meson-g12a-x96-max.dtb
#FDT /dtb/amlogic/meson-g12b-odroid-n2.dtb

  append root=UUID=afbf3a1b-d905-4b27-b78a-3682d3db0dca rootflags=data=writeback console=ttyAML0,115200n8 console=tty0 rw no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 apparmor=1 security=apparmor systemd.unified_cgroup_hierarchy=false systemd.legacy_systemd_cgroup_controller=false

Déjà une erreur en moins.

Pour l’os, j’ai pas trouver comment supprimer l’erreur.

Dans etc/netplan/armbian-defaut.yaml, tu devrait avoir ça, mais c’est pas le cas.

network:
  version: 2
  renderer: NetworkManager

Désactiver l’IPv6

armbian-config

ipv6

Désactiver systemd-networkd.socket

systemctl disable systemd-networkd.socket

etc, etc…
Si tu veux un coup de main pour arranger ton image dis moi.
Mais ça va prendre un peu de temps :wink:

Pour l’uart teste la continuité entre les points tests et les pastilles. il faut peut être faire deux shunts. Car si tu zoom sur la photo RX et TX semblent reliés à rien.

PS: une autre piste, regarde ton dmesg car je ne sais pas si nous avons exactement la même box (sans bluetooth), mais avec ton .dtb les services liés au bluetooth remontent plusieurs erreurs et c’est peut être ça qui empêche ton uart de fonctionner.
avec celui ci ça passe mieux
meson-gxl-s905w-p281.dtb

@Orefie
L’image que j’ai posté est cellle de ma x96 mini, c’était pour aider @chuppito

Le module zigbee je l’ai testé sur une X96 max+, comme il y en a des dixaines de variation, voici sa ref : Q5X3_141 V4.1 20112
J’a irecommencé avec une image du github ophub,
Armbian_23.05.0_amlogic_s905x3_bullseye_6.1.24_server_2023.04.20.img.gz

J’ai testé l’uart en mode debug il fonctionne.

Puis j’ai modifié le uEnv.txt

FDT=/dtb/amlogic/meson-sm1-x96-max-plus-100m.dtb
APPEND=root=UUID=5663d66a-0458-46fd-910a-55e22797f7ac rootflags=data=writeback rw rootfstype=ext4 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 apparmor=1 security=apparmor systemd.unified_cgroup_hierarchy=false systemd.legacy_systemd_cgroup_controller=false

Je n’ai plus que l’erreur sur l’OS dans homeassistant

dmesg | grep tty


[    0.000000] Kernel command line: root=UUID=5663d66a-0458-46fd-910a-55e22797f7ac rootflags=data=writeback rw rootfstype=ext4 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 apparmor=1 security=apparmor systemd.unified_cgroup_hierarchy=false systemd.legacy_systemd_cgroup_controller=false mac=52:28:e8:ad:20:84
[    0.000608] printk: console [tty0] enabled
[    0.843345] ff803000.serial: ttyAML0 at MMIO 0xff803000 (irq = 14, base_baud = 1500000) is a meson_uart
[    0.844013] ffd24000.serial: ttyAML6 at MMIO 0xffd24000 (irq = 15, base_baud = 1500000) is a meson_uart
[    0.863630] usbserial: USB Serial support registered for Garmin GPS usb/tty
[    9.026741] systemd[1]: Created slice system-getty.slice.
[    9.040254] systemd[1]: Created slice system-serial\x2dgetty.slice.
[   10.313001] systemd[1]: Found device /dev/ttyAML0.

Je pense qe plus en plus que le module Zigbee n’a pas été flashé, je vais donc tenter de le faire.

J’ai déactivé systemd-networkd.socket

Je n’ai pas de fichier etc/netplan/armbian-defaut.yaml, c’est grave ?
J’ai besoin d’IPV6

J’ai essayé de flasher le ZYZBP008 directement sur la box à partir des instructions données sur aliexpress lien donné au post 23
mais je n’arrive pas à communiiquer avec.


root@armbian:/zigbee/elelabs-zigbee-ezsp-utility# python3 Elelabs_EzspFwUtility.py probe -p /dev/ttyAML0
2023/04/22 19:13:55 Elelabs_EzspFwUtility:   Couldn't communicate with the adapter in Zigbee (EZSP) mode, Thread (Spinel) mode or bootloader mode
root@armbian:/zigbee/elelabs-zigbee-ezsp-utility#

Je ne pense pas avoir fait d’erreur de branchement :

Ce qui fonctionne :

Ce qui ne fonctionne pas (bien sur en enlevant le console=ttyAML0,115200n8 )


pour etc/netplan/armbian-defaut.yaml, c’était juste par rapport a l’image que tu as uploadée.
pour ton adaptateur tu as bien croisé rx tx?
voici ma config,
/config/zigbee2mqtt/configuration.yaml

homeassistant: true
mqtt:
  server: mqtt://core-mosquitto:1883
  user: addons
  password: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
serial:
  port: /dev/ttyAML0
  adapter: ezsp
  baudrate: 115200
  rtscts: false
frontend:
  port: 8099
advanced:
  homeassistant_legacy_entity_attributes: false
  legacy_api: false
  legacy_availability_payload: false
  log_level: info
  log_syslog:
    app_name: Zigbee2MQTT
    eol: /n
    host: localhost
    localhost: localhost
    path: /dev/log
    pid: process.pid
    port: 123
    protocol: tcp4
    type: '5424'
  channel: 11

Pour flacher le module, je pense qu’il faut comme la sonoff simuler l’appuie sur les deux boutons.

/!\ Par contre c’est pas très judicieux de brancher le Vcc quand tu relie une cm à un PC.

oui, j’ai bien croisé les fils. Je viens de tester le module sur un pc debian. il fonctionne

root@DEBIAN-Desktop:/zigbee/elelabs-zigbee-ezsp-utility# python3 Elelabs_EzspFwUtility.py probe -p /dev/ttyUSB0
2023/04/22 16:11:38 Elelabs_EzspFwUtility:   Generic Zigbee EZSP adapter detected:
2023/04/22 16:11:38 Elelabs_EzspFwUtility:   Firmware: 6.10.3-41

par contre sur la box il ne répond pas (voir post #33)

C’est une bonne bonne nouvelle, donc c’est un pb de config.
Tu as bien /dev/ttyAML0
voici la reponse à

root@Debian:~# dmesg | grep tty
[    0.000000] Kernel command line: root=UUID=42b4a95d-f152-4ca4-8da2-9eb85bb8dd7a rootflags=data=writeback rw rootfstype=ext4 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 loglevel=1 apparmor=1 security=apparmor systemd.unified_cgroup_hierarchy=false systemd.legacy_systemd_cgroup_controller=false
[    0.000335] printk: console [tty0] enabled
[    0.838973] ff803000.serial: ttyAML0 at MMIO 0xff803000 (irq = 14, base_baud = 1500000) is a meson_uart
[    0.839598] ffd24000.serial: ttyAML1 at MMIO 0xffd24000 (irq = 15, base_baud = 1500000) is a meson_uart
[    0.839741] serial serial0: tty port ttyAML1 registered
[    0.859104] usbserial: USB Serial support registered for Garmin GPS usb/tty
[    6.152721] systemd[1]: Created slice system-getty.slice.

donc a peu prés la même que toi

Édit : je viens de mettre à jour les posts précédents, j’avais mis la config d’un autre serveur :-1:

Bonjour
(je vais aller me présenter, je suis nouveau).
Juste un merci pour le topic, je viens d’installer HA sur une box RK3328 4g/64g :+1: Nickel

1 « J'aime »

Bonjour , je possède le Modèle X96 Mini B00-M96-EMCP-REV1.4 et j’aimerais savoir si vous connaissez un Firmware pour cette BoxTv ? merci d’avance

Bonjour,
A priori, il n’y a rien

Je n’ai pas essayé multitool !
Si tu veux tester. La réponse m’interesse