Moniteur HA avec Minitel + ESP32?

Bonjour à tous !

J’aimerais développer un moniteur home assistant avec mon minitel équipé du dongle « minitel esp32 ». Pour l’instant le software disponible est orienté retro-découverte mais j’aimerais développer qqch pour la domotique et tant qu’à faire que ce soit accessible et utile pour le plus grand nombre. J’ai fait un peu le tour des serveurs domotiques et j’ai (évidemment) opté pour home assistant :slight_smile:

J’ai d’abord pensé à récupérer le dashboard sur l’esp32 puis le dashboard en quelque chose d’affichable par le minitel mais la requête html + la traduction semble demander trop de ressources. Et je pense que le support serait trop compliqué avec cette solution.

L’écran minitel fait 40 colonnes par 24 lignes sur lequel on peut afficher des caractères textes ou « semigraphiques » qui sont formés de 23 pixels chacun (soit 8072 pixels en tout). c’est assez limité !

En cherchant un peu j’ai trouvé 2 pistes : soit en utilisant l’api, soit avec esphome en s’inspirant du composant « display »…

Quelle approche vous semble la plus judicieuse, ou bien une autre idée ?

Bonjour @LouisH
12 ans après sa fin il en reste encore !
Sinon tu prends un ILI9341 et tu auras la couleur :wink:

Bob

Salut,

C’est une connaissance de @bentou:joy:

Hé peut etre…
le minitel 80 colonnes, un coup de 612.xx.xx qui deviendra le 3612 et hop tu était connecté au taf, 40 ans avant l’invention du télétravail…
mais bonjour la note téléphonique quand la connexion est passé à une unité de taxation pour 20 minutes !!!

Je trouve l’idée géniale.

ça me rappellera mon premier job où j’avais emporté un peu partout dans le monde un Minitel que j’utilisais en tant que terminal pour configurer un système à microprocesseur. A cette époque les PC portables étaient hors de prix.

Il en reste des tas sur le boncoin !

En plus je regardais ton module, si tu prends le modele tactile + les frais de port, j’ai trouvé un minitel pour le même prix :sweat_smile:

Hello,
Intéressé par le sujet! J’ai ton esp32 derrière mon Miniter. Super boulot :wink:

Si tu arrives à le connecter en mqtt ça devrait être possible d’actionner HAOS ou de faire un Dashboard auto actualisé ? Il y’a une vidéo YT ou un Minitel est connecté à un broker mqtt

@LouisH

Je te taggue :slight_smile:

As tu le lien de la video stp ?

Edit : Minitel connecté en MQTT - F4IIL

Hello

Je m’étais amusé à détourner un Minitel il y a une dizaine d’année: esp8266.

Quelques souvenirs (et malheureusement plus les codes sources)

  1. Il y a une petite trape derriere le minitel (3 ou 4 cm de côté). Il y a la place pour une carte de prototypage type esp32.
  2. tu peux trouver une alimentation stable en 5V sur la carte du Minitel (ca se demonte facilement). C’est du genre LM7805, regarde sur le net à quoi ça ressemble. Soudure facile pour trouver une masse et du 5v. Il faut un oscillo ou un voltmètre.
  3. J’utilisais le port serie du minitel (prise Din 5 broches, dont 1 RX et une TX). Plutôt simple de trouver où c’est.
  4. Pour le clavier, si tu écoutes le port COM tu vas vite trouver comment recuperer les infos.
  5. Pour l’affichage, je ne me souviens plus du tout. Juste que c’est super lent car il faut effacer puis écrire avec une vitesse ridicule.
  6. Pour afficher des images, il faut les transformer en bloc noir et blanc et afficher les blocs… laborieux. J’avais dû faire un script en php pour “tranformer” un jpeg en “bloc dessin de minitel”

Ca peut occuper tes soirées… mais au final, j’avais réussi à faire un truc sympa

Plus simplement sinon : GitHub - Mrt0t0/Minitel-HA: Contrôlez Home Assistant depuis un vrai Minitel (ou un navigateur web) en Vidéotex. // Control Home Assistant from a real Minitel (or a web browser) in Videotex. · GitHub

Bonjour,

Est ce que ca marche avec un HAOS ???
j’ai réussi à descendre le git dans /config/3rdparty/Minitel-HA

mais le docker compose build ne passe pas, il accepte pas la commande compose… ???
il prendrait un docker build, mais il demande un répertoire. je met le .?
edit:
j’ai fait un Minitel-HA $ docker build /config/3rdparty/Minitel-HA

DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
            Install the buildx component to build images with BuildKit:
            https://docs.docker.com/go/buildx/

Sending build context to Docker daemon  13.55MB
Step 1/6 : FROM python:3.12-slim
 ---> d7b0b4e33002
Step 2/6 : ENV DEBIAN_FRONTEND=noninteractive
 ---> Using cache
 ---> ed7d2bc8165c
Step 3/6 : RUN apt-get update -qq     && apt-get install -y --no-install-recommends git     && rm -rf /var/lib/apt/lists/*
 ---> Using cache
 ---> 5174e683a243
Step 4/6 : RUN pip install --quiet --no-cache-dir aiohttp websockets pyyaml
 ---> Using cache
 ---> 969a2976f280
Step 5/6 : WORKDIR /app
 ---> Using cache
 ---> 11997fe947f1
Step 6/6 : CMD ["python", "server.py"]
 ---> Using cache
 ---> e6722bc491fd
Successfully built e6722bc491fd
Minitel-HA $ docker start e6722bc491fd
Error response from daemon: No such container: e6722bc491fd
failed to start containers: e6722bc491fd

je sais pas comment le lancer !!!

Bonjour,

Pas directement pour haos normalement, bien de tester.

Places toi dans le répertoire du projet.

Dans ton cas : cd /config/3rdparty/Minitel-HA

docker compose run --rm minitel-ha python discover.py

docker compose build

docker compose up -d

bon, je laisse tomber sur mon HA en HAOS, trop dangereux.

j’ai essayé sur un synology, tout se passe bien jusqu’au lancement

bash-4.4# cd /volume1/docker/
bash-4.4# git clone https://github.com/Mrt0t0/Minitel-HA
Cloning into 'Minitel-HA'...
remote: Enumerating objects: 43, done.
remote: Counting objects: 100% (43/43), done.
remote: Compressing objects: 100% (41/41), done.
remote: Total 43 (delta 11), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (43/43), 6.35 MiB | 21.04 MiB/s, done.
Resolving deltas: 100% (11/11), done.
bash-4.4# ls
'Disques Virtuels'   librenms   mealie       portainer        '#snapshot'            speedtest-tracker-2   stirling
 @eaDir              mariadb    Minitel-HA   portainer_agent   speedtest-tracker-1   step_ca               temp
bash-4.4# exit
bentou@DS923:/volume1/docker$ ls -lisa
total 0
    256 0 drwxrwxrwx+ 1 root     root      286 Apr 13 10:57  .
    256 0 drwxr-xr-x  1 root     root      782 Mar 20 19:47  ..
    747 0 drwxrwxrwx+ 1 root     root        0 Jun  3  2022 'Disques Virtuels'
    257 0 drwxrwxrwx+ 1 root     root       80 Mar 20 19:47  @eaDir
   2621 0 drwxrwxrwx+ 1 bentou users      48 Jul 17  2024  librenms
   2637 0 drwxrwxrwx+ 1      999 synopkgs  454 Mar 20 19:50  mariadb
    763 0 drwxrwxrwx+ 1 bentou users     128 Mar 23  2024  mealie
1103125 0 drwxrwxrwx+ 1 bentou users     340 Apr 13 11:11  Minitel-HA
   5080 0 drwxrwxrwx+ 1 bentou users     204 Oct  3  2024  portainer
  41929 0 drwxrwxrwx+ 1 bentou users      24 Oct 18  2024  portainer_agent
    256 0 drwxr-xr-x  1 root     root     3818 Apr 13 09:00 '#snapshot'
   5875 0 drwxrwxrwx+ 1 bentou users      32 Oct  2  2024  speedtest-tracker-1
   6329 0 drwxrwxrwx+ 1 bentou users      32 Oct  2  2024  speedtest-tracker-2
   4737 0 drwxrwxrwx+ 1 bentou users      82 Aug  1  2024  step_ca
   5077 0 drwxrwxrwx+ 1 bentou users      20 Aug 21  2024  stirling
   4557 0 drwxrwxrwx+ 1 root     root        0 Jul 18  2024  temp
bentou@DS923:/volume1/docker$ cd Minitel-HA/
bentou@DS923:/volume1/docker/Minitel-HA$ ls
config.yaml  docker-compose.yml  ha_client.py  pagehtml.py   README.md  server.py  utils.py       ws_minitel.py
discover.py  Dockerfile          LICENSE       pagevideo.py  screen     static     ws_browser.py
bentou@DS923:/volume1/docker/Minitel-HA$ vi config.yaml
bentou@DS923:/volume1/docker/Minitel-HA$ sudo docker compose build
Password:
[+] Building 258.4s (8/8) FINISHED
 => [minitel-ha internal] load build definition from Dockerfile                                                   12.5s
 => => transferring dockerfile: 318B                                                                               0.0s
 => [minitel-ha internal] load .dockerignore                                                                      11.2s
 => => transferring context: 2B                                                                                    0.0s
 => [minitel-ha internal] load metadata for docker.io/library/python:3.12-slim                                    14.4s
 => [minitel-ha 1/4] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3  35.7s
 => => resolve docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40d  5.3s
 => => sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d3428194edf40da6521286 10.37kB / 10.37kB                   0.0s
 => => sha256:e31013b9573989b2dc2f0cb688044c9e650c2721dd52c54d0fd3c669d3548bb6 1.75kB / 1.75kB                     0.0s
 => => sha256:b4acd70b6f4ca3e8fa68f11d4bc6831d141744654e62286f862b3c8ca7bd0467 5.65kB / 5.65kB                     0.0s
 => => sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976 29.78MB / 29.78MB                   1.6s
 => => sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2 1.29MB / 1.29MB                     2.3s
 => => sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2 12.11MB / 12.11MB                   3.6s
 => => extracting sha256:5435b2dcdf5cb7faa0d5b1d4d54be2c72a776fab9a605336f5067d6e9ecb5976                          1.7s
 => => sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52 250B / 250B                         4.0s
 => => extracting sha256:25981ed25cff34d7d714ea438c95731e427ea9827b771ed102d6e0fc30eeabe2                          2.6s
 => => extracting sha256:d4c207a1ca273594af4c026252870b4b165d536b3cb53b1246d6805e4e6b34b2                          1.3s
 => => extracting sha256:f0bdb572205ec70132c0fbc66a335ee5fd1614c08d686e8e921a9f55a6c38b52                          2.6s
 => [minitel-ha 2/4] RUN apt-get update -qq     && apt-get install -y --no-install-recommends git     && rm -rf  143.4s
 => [minitel-ha 3/4] RUN pip install --quiet --no-cache-dir aiohttp websockets pyyaml                             27.9s
 => [minitel-ha 4/4] WORKDIR /app                                                                                  9.2s
 => [minitel-ha] exporting to image                                                                                6.7s
 => => exporting layers                                                                                            6.0s
 => => writing image sha256:aa3818e30697bdf2d8766a0d3625cbf2b80c827bf486b719e030e928f652bb64                       0.4s
 => => naming to docker.io/library/minitel-ha-minitel-ha                                                           0.3s
bentou@DS923:/volume1/docker/Minitel-HA$ sudo docker compose up -d
[+] Running 2/2
 ✔ Network minitel-ha_default  Created                                                                                                                                            2.3s
 ✔ Container minitel-ha        Started                                                                                                                                            5.0s
bentou@DS923:/volume1/docker/Minitel-HA$ vi config.yaml
bentou@DS923:/volume1/docker/Minitel-HA$ sudo docker compose up -d --build
Password:
[+] Building 28.9s (8/8) FINISHED
 => [minitel-ha internal] load .dockerignore                                                                       6.3s
 => => transferring context: 2B                                                                                    0.0s
 => [minitel-ha internal] load build definition from Dockerfile                                                    8.2s
 => => transferring dockerfile: 318B                                                                               0.0s
 => [minitel-ha internal] load metadata for docker.io/library/python:3.12-slim                                    10.3s
 => [minitel-ha 1/4] FROM docker.io/library/python:3.12-slim@sha256:804ddf3251a60bbf9c92e73b7566c40428d54d0e79d34  0.0s
 => CACHED [minitel-ha 2/4] RUN apt-get update -qq     && apt-get install -y --no-install-recommends git     && r  0.0s
 => CACHED [minitel-ha 3/4] RUN pip install --quiet --no-cache-dir aiohttp websockets pyyaml                       0.0s
 => CACHED [minitel-ha 4/4] WORKDIR /app                                                                           0.0s
 => [minitel-ha] exporting to image                                                                                0.6s
 => => exporting layers                                                                                            0.0s
 => => writing image sha256:aa3818e30697bdf2d8766a0d3625cbf2b80c827bf486b719e030e928f652bb64                       0.1s
 => => naming to docker.io/library/minitel-ha-minitel-ha                                                           0.5s
[+] Running 1/1
 ✔ Container minitel-ha  Started                                                                                  14.6s
bentou@DS923:/volume1/docker/Minitel-HA$ dir
total 128
drwxrwxrwx+ 1 bentou users   362 Apr 13 13:06 .
drwxrwxrwx+ 1 root     root    286 Apr 13 10:57 ..
-rwxrwxrwx+ 1 root     root   2996 Apr 13 11:13 config.yaml
-rwxrwxrwx+ 1 root     root   4558 Apr 13 11:11 discover.py
-rwxrwxrwx+ 1 root     root    197 Apr 13 13:06 docker-compose.yml
-rwxrwxrwx+ 1 root     root    279 Apr 13 11:11 Dockerfile
drwxrwxrwx+ 1 root     root    138 Apr 13 11:11 .git
-rwxrwxrwx+ 1 root     root      8 Apr 13 11:11 .gitignore
-rwxrwxrwx+ 1 root     root  10820 Apr 13 11:11 ha_client.py
-rwxrwxrwx+ 1 root     root   1063 Apr 13 11:11 LICENSE
-rwxrwxrwx+ 1 root     root    232 Apr 13 11:11 pagehtml.py
-rwxrwxrwx+ 1 root     root  20349 Apr 13 11:11 pagevideo.py
drwxrwxrwx+ 1 root     root    294 Apr 13 11:21 __pycache__
-rwxrwxrwx+ 1 root     root  13074 Apr 13 11:11 README.md
drwxrwxrwx+ 1 root     root     30 Apr 13 11:11 screen
-rwxrwxrwx+ 1 root     root   4644 Apr 13 11:11 server.py
drwxrwxrwx+ 1 root     root     36 Apr 13 11:21 static
-rwxrwxrwx+ 1 root     root    382 Apr 13 11:11 utils.py
-rwxrwxrwx+ 1 root     root  10464 Apr 13 11:11 ws_browser.py
-rwxrwxrwx+ 1 root     root  22798 Apr 13 11:11 ws_minitel.py
bentou@DS923:/volume1/docker/Minitel-HA$ vi server.py
bentou@DS923:/volume1/docker/Minitel-HA$

mais quand il se lance, il se plante:


date	stream	content
2026/04/13 13:10:34	stderr	TypeError: 'NoneType' object is not iterable
2026/04/13 13:10:34	stderr	                                            ^^^^^^^^^^^^^^^^^^^^^^
2026/04/13 13:10:34	stderr	    'devices':    _sort_devices([d for d in cfg.get('devices', []) if d.get('visible', True)]),
2026/04/13 13:10:34	stderr	  File "/app/server.py", line 51, in <module>
2026/04/13 13:10:34	stderr	Traceback (most recent call last):

J’ai fix le discover.py autant pour moi. Tu peux retester ?

Hélas, j’ai exactement le meme message.

Supprimer l’ensemble des fichiers, repartir de 0 et git clone ou plus simple ajouter en addon “apps” sur home assistant repo (pas hacs) : GitHub - Mrt0t0/Minitel-HA-addon: Minitel-HA est une passerelle entre un **Minitel physique** (via ESP32/TelnetPro Iodeo ou MiniPavi) et **Home Assistant**. · GitHub

ca a l’air concluant !!!
installé directement via Apps


il marque [17:16:10][INFO] Navigateur http://0.0.0.0:8080 alors que j’ai configuré le 8082

et on voit que le 8082 marche.

/ $ docker ps | grep minit
10b16862ca86   85b7547b/aarch64-addon-minitel_ha:1.0.0                                              "/init /app/run.sh"      17 minutes ago   Up 17 minutes           0.0.0.0:3615->3615/tcp, [::]:3615->3615/tcp, 0.0.0.0:8082->8080/tcp, [::]:8082->8080/tcp                                           addon_85b7547b_minitel_ha

par contre, j’ai pas d’autre affichage que çà, même en tapant m ou en cliquant sur meteo.

je n’ai pas encore branché le minitel. sa peut marcher si je met un esp32 + un ampli 3.3V->5V sur les bornes TX/RX ?

y’a un soft dispo qq part pour l’esp?

Désinstallation et réinstaller, ou reconstruire l’addon, j’ai fix le changement port dans ton cas. Merci pour les tests. Ou tester avec le port 8080.

Pour l’esp32, voir le travail de Louis H. :slight_smile: