Annuaire indépendant, créé par le développeur de Vulpo. Non affilié à Home Assistant ni à l’Open Home Foundation.

Captures d’écran Extraites du README de cognitivegears/ha-escpos-thermal-printer.

Printed Receipt Example

À propos

ESC/POS Thermal Printer est une intégration qui imprime depuis les automatisations de Home Assistant sur des imprimantes thermiques par réseau, USB, liaison série ou Bluetooth. Elle ajoute des actions pour imprimer du texte formaté, des QR codes, des codes-barres, des cadres, des tableaux et des images provenant d'URL, de fichiers, d'entités caméra ou d'entités image. D'autres actions commandent l'avance du papier, la coupe et le buzzer, et certaines génèrent l'aperçu d'une mise en page ou d'une image sous forme de fichier sans utiliser de papier. Des capteurs indiquent l'état du papier, l'état du capot, l'état en ligne, la dernière impression et la batterie, et des boutons sur l'appareil font avancer le papier, coupent, émettent un bip ou impriment une page de test. Un assistant de calibrage guidé imprime des pages de test pour mesurer la largeur du papier, les colonnes, l'encodage et la méthode d'image, puis enregistre les résultats. Elle fonctionne en local sans cloud, se configure dans l'interface et peut découvrir seule certaines imprimantes.

Résumé automatique du README et du code de cognitivegears/ha-escpos-thermal-printer, traduit automatiquement. Une erreur, ou tu maintiens ce projet et tu veux ton propre texte ici ? Prendre contact

Prise en charge

  • Fonctionne en local Communique avec tes appareils sur ton propre réseau. Aucun cloud de fournisseur entre les deux.

  • Détection automatique Home Assistant la repère sur le réseau et propose de l’ajouter.

  • Depuis la Marketplace S’installe depuis la Marketplace, anciennement HACS.

  • Maintenance active Son auteur a publié une version ou poussé une modification au cours des six derniers mois.

Fournit

  • Capteurs

Mise en place

Installe-la depuis la Marketplace et redémarre Home Assistant, puis ajoute-la dans Paramètres > Appareils et services.

Type de connexion

  • Type de connexionChoisis Réseau pour les imprimantes connectées en TCP/IP ou USB pour les imprimantes branchées directement.

Confirmer l'imprimante USB

  • Profil d'imprimanteSélectionne le modèle de ton imprimante, ou Generic (no profile) s'il n'est pas dans la liste. Les modèles rebadgés apparaissent comme entrées « (compatible) ».

Configurer l'imprimante réseau

  • HôteAdresse IP ou nom d'hôte de l'imprimante.
  • PortPort réseau (généralement 9100).
  • Délai d'attente (secondes)Délai d'attente de connexion en secondes.
  • Profil d'imprimanteSélectionne le modèle de ton imprimante, ou Generic (no profile) s'il n'est pas dans la liste. Les modèles rebadgés apparaissent comme entrées « (compatible) ». Choisis « Custom » pour saisir un nom de profil manuellement.

Configurer l'imprimante USB

  • Appareil USBSélectionne ton imprimante parmi les appareils USB détectés.
  • Délai d'attente (secondes)Délai d'attente de connexion en secondes.
  • Profil d'imprimanteSélectionne le modèle de ton imprimante, ou Generic (no profile) s'il n'est pas dans la liste. Les modèles rebadgés apparaissent comme entrées « (compatible) ».

Sélectionner l'appareil USB

  • Appareil USBSélectionne ton imprimante parmi tous les appareils USB connectés.
  • Point de terminaison d'entrée (avancé)Garde la valeur par défaut (130) sauf si ton imprimante ne fonctionne pas. C'est l'adresse USB pour recevoir l'état de l'imprimante.
  • Point de terminaison de sortie (avancé)Garde la valeur par défaut (1) sauf si ton imprimante ne fonctionne pas. C'est l'adresse USB pour envoyer des données à l'imprimante.
  • Délai d'attente (secondes)Délai d'attente de connexion en secondes.
  • Profil d'imprimanteSélectionne le modèle de ton imprimante, ou Generic (no profile) s'il n'est pas dans la liste. Les modèles rebadgés apparaissent comme entrées « (compatible) ».

Configuration USB manuelle

  • Vendor IDVendor ID USB. Utilise la forme hexadécimale préfixée par 0x affichée par lsusb / la découverte, par exemple 0x04B8 (recommandé). Un nombre décimal simple est aussi accepté.
  • Product IDProduct ID USB. Utilise la forme hexadécimale préfixée par 0x, par exemple 0x0E03. Un nombre décimal simple est aussi accepté.
  • Point de terminaison d'entrée (avancé)Garde la valeur par défaut (130) sauf si ton imprimante ne fonctionne pas. C'est l'adresse USB pour recevoir l'état de l'imprimante.
  • Point de terminaison de sortie (avancé)Garde la valeur par défaut (1) sauf si ton imprimante ne fonctionne pas. C'est l'adresse USB pour envoyer des données à l'imprimante.
  • Délai d'attente (secondes)Délai d'attente de connexion en secondes.
  • Profil d'imprimanteSélectionne le modèle de ton imprimante, ou Generic (no profile) s'il n'est pas dans la liste. Les modèles rebadgés apparaissent comme entrées « (compatible) ».

Configurer l'imprimante Bluetooth

  • Appareil BluetoothSélectionne ton imprimante dans la liste des appareils Bluetooth appairés.
  • Délai d'attente (secondes)Délai d'attente de connexion en secondes.
  • Profil d'imprimanteSélectionne le modèle de ton imprimante, ou Generic (no profile) s'il n'est pas dans la liste. Les modèles rebadgés apparaissent comme entrées « (compatible) ».
  • Canal RFCOMMCanal RFCOMM (presque toujours 1 pour les imprimantes ESC/POS ; exécute « bluetoothctl info [MAC] » sur l'hôte et cherche la ligne « Channel: » de l'enregistrement de service SerialPort pour confirmer).

Configuration Bluetooth manuelle

  • Adresse MACAdresse MAC Bluetooth au format AA:BB:CC:DD:EE:FF.
  • Canal RFCOMMCanal RFCOMM (presque toujours 1 pour les imprimantes ESC/POS).
  • Délai d'attente (secondes)Délai d'attente de connexion en secondes.
  • Profil d'imprimanteSélectionne le modèle de ton imprimante, ou Generic (no profile) s'il n'est pas dans la liste. Les modèles rebadgés apparaissent comme entrées « (compatible) ».

Après la mise en place

  • Délai d'attente (secondes)Délai d'attente de connexion en secondes.
  • Profil d'imprimanteSélectionne le modèle de ton imprimante. Le modifier réinitialise les options d'encodage.
  • Encodage des caractèresEncodage des caractères/page de codes pour le texte.
  • Caractères par ligneNombre de caractères par ligne (colonnes). Choisis une valeur prédéfinie ou saisis un nombre personnalisé.
  • Largeur du papier en pixels (facultatif)Remplace la largeur imprimable du profil pour les images. Laisse vide pour utiliser le profil. Valeurs courantes : 384 (58 mm), 576 (80 mm).
  • Alignement par défautAlignement du texte par défaut pour l’impression.
  • Mode de coupe par défautMode de coupe du papier par défaut après l’impression.
  • Profil de fiabilité des imagesChoisit des valeurs par défaut sûres pour la taille des blocs d’image, le délai entre les blocs et la commande d’image ESC/POS. Les options d’appel de service ont toujours priorité.
  • Implémentation d’impression des imagesJeu de commandes ESC/POS utilisé pour imprimer les images. Auto suit le profil de l’imprimante ; change-le si les images s’impriment de façon illisible ou échouent.
  • Garder la connexion persistanteGarde la connexion ouverte entre les impressions (imprimantes réseau uniquement).
  • Intervalle de vérification de l’état (secondes)Fréquence de vérification de l’état de l’imprimante (0 pour désactiver).
  • Autoriser les URL d’image localesPermet à print_image_url (et aux autres services d’image) de récupérer des URL qui pointent vers des adresses privées, de réseau local ou de bouclage, et d’utiliser des ports non standard (par exemple une caméra locale, un proxy Frigate sur :5000 ou ton instance Home Assistant sur :8123). Désactivé par défaut. Les adresses de métadonnées cloud et de lien local restent bloquées même lorsque l’option est activée.
  • Taille des blocs d’écriture (octets)Nombre maximal d’octets par appel d’écriture. Mets 128 pour les proxys série ESPHome/ESP32 afin d’éviter les débordements de tampon. 0 désactive le découpage en blocs.
  • Délai entre les blocs (ms)Pause entre deux blocs consécutifs (en millisecondes). Laisse à l’appareil récepteur le temps de vider son tampon. S’applique uniquement si la taille des blocs n’est pas nulle.
  • Action
  • Motifs imprimés proprement
  • Action
  • Plus grand cadre dont la bordure droite est intacte
  • Action
  • Caractères sur la première ligne
  • Action
  • Lignes qui correspondent à leur propre texte attendu
  • Action
  • Modèle de l’imprimante (facultatif, pour le lien de partage)
  • Action
  • Nom du profilLa clé exacte du profil dans escpos-printer-db.

Textes issus du code de cognitivegears/ha-escpos-thermal-printer. Les textes que le dépôt ne fournit pas en français ont été traduits automatiquement.

Entités

  • Capteurs binairesEn ligne, Capot ouvert
  • BoutonsAvancer le papier, Couper le papier, Bip, Impression de test d’exemple
  • CapteursDernière impression d’image, Dernière impression, Batterie, État du papier

Actions

  • BipDéclenche le buzzer de l’imprimante (si pris en charge). Sélectionne une cible : appareil imprimante, entité, zone, étage ou étiquette. Si aucune cible n’est sélectionnée, imprime sur toutes les imprimantes configurées (comportement de repli obsolète).Champs : Diffusion, Durée, Nombre de fois
  • Imprimer la feuille de test de tramageImprime une feuille de calibrage, avec une règle de pixels et une bande de balayage du seuil, pour régler les paramètres de tramage et de seuil des images (ce n’est pas l’assistant de calibrage de l’imprimante : consulte la page de documentation Calibration). Consomme environ 10 cm de papier. Si aucune cible n’est sélectionnée, imprime sur toutes les imprimantes configurées (comportement de repli obsolète).Champs : Diffusion, Coupe, Lignes d’avance
  • Couper le papierCoupe le papier. Sélectionne une cible : appareil imprimante, entité, zone, étage ou étiquette. Si aucune cible n’est sélectionnée, imprime sur toutes les imprimantes configurées (comportement de repli obsolète).Champs : Diffusion, Avancer avant la coupe, Mode
  • Avancer le papierFait avancer le papier d’un certain nombre de lignes. Sélectionne une cible : appareil imprimante, entité, zone, étage ou étiquette. Si aucune cible n’est sélectionnée, imprime sur toutes les imprimantes configurées (comportement de repli obsolète).Champs : Diffusion, Lignes
  • Aperçu du cadre (sans papier)Exécute le pipeline de mise en page de print_box et écrit le texte rendu dans un fichier .txt WITHOUT l'imprimer. Tu peux ainsi ajuster les bordures, le remplissage et la largeur sans gaspiller de papier. Les champs cut et feed sont volontairement omis, car un fichier texte n'a pas de papier. Renvoie path, width, line_count et codepage comme données de réponse du service. Active « Return response data » dans Developer Tools pour voir les valeurs.Champs : Alignement, Appareil, Chemin de sortie, Marge intérieure, Style de bordure, Texte, Largeur totale
  • Aperçu de l'image (sans papier)Exécute le pipeline d'image complet (dither, resize, etc.) et écrit le PNG 1 bit sur le disque WITHOUT l'imprimer. Renvoie le chemin de sortie pour que les automatisations puissent enchaîner une notification. Les options de communication avec l'imprimante (high density, impl, fragment height, chunk delay, center, cut, feed) ne sont pas proposées ici, car elles n'ont aucun effet sur le fichier écrit sur le disque. Elles ne comptent que lors de l'envoi vers une vraie imprimante.Champs : Alignement, Redimensionner automatiquement les grandes sources, Contraste automatique, Appareil, Mode de tramage, Image de secours, Image, Largeur (pixels), Inverser les couleurs, Miroir horizontal
  • Aperçu du tableau (sans papier)Exécute le pipeline de mise en page de print_table et écrit le texte rendu dans un fichier .txt WITHOUT l'imprimer. Tu peux ainsi ajuster la largeur des colonnes, l'alignement et les bordures sans gaspiller de papier. Les champs cut et feed sont volontairement omis, car un fichier texte n'a pas de papier. Renvoie path, width, line_count et codepage comme données de réponse du service. Active « Return response data » dans Developer Tools pour voir les valeurs.Champs : Alignements des colonnes, Largeurs des colonnes, Appareil, Ligne d'en-tête, Chemin de sortie, Séparateurs de lignes, Lignes, Style de bordure, Largeur totale
  • Imprimer un code-barresImprime un code-barres. Sélectionne une cible : appareil imprimante, entité, zone, étage ou étiquette. Si aucune cible n'est sélectionnée, imprime sur toutes les imprimantes configurées (solution de repli obsolète).Champs : Alignement, Type de code-barres, Diffusion, Somme de contrôle, Code, Coupe, Lignes d'avance, Police, Mode de rendu, Hauteur
  • Imprimer un cadreImprime du texte entouré d'une bordure imprimable (glyphes simples, doubles ou ASCII). Si aucune cible n'est sélectionnée, imprime sur toutes les imprimantes configurées (solution de repli obsolète).Champs : Alignement, Diffusion, Coupe, Lignes d'avance, Remplissage, Style de bordure, Texte, Largeur totale
  • Imprimer une capture de caméraImprime une capture en direct d'une entité caméra. Enveloppe pratique autour de print_image avec un sélecteur d'entité caméra pour une interface plus conviviale. Si aucune cible n'est sélectionnée, imprime sur toutes les imprimantes configurées (solution de repli obsolète).Champs : Alignement, Redimensionnement automatique des grandes sources, Contraste automatique, Diffusion, Caméra, Délai entre les blocs (ms), Coupe, Mode de tramage, Image de secours, Lignes d'avance
  • Imprimer une image (source mixte)Imprime une image à partir d'une URL, d'un chemin de fichier, de camera.[id], d'image.[id] ou d'un URI de données base64. Les automatisations peuvent toujours utiliser un modèle Jinja pour ce champ : HA le rend avant l'envoi de l'appel de service, mais le champ lui-même est une simple chaîne, non évaluée côté serveur. Pour une interface plus conviviale, préfère les services dédiés (Imprimer une image depuis une URL, depuis un chemin, Instantané de caméra, Entité image), voir docs/images.md. Si aucune cible n'est sélectionnée, l'impression se fait sur toutes les imprimantes configurées (solution de repli obsolète).Champs : Alignement, Redimensionner automatiquement les grandes sources, Contraste automatique, Diffusion, Délai entre les blocs (ms), Coupe, Mode de tramage, Image de secours, Lignes d'avance, Hauteur des fragments
  • Imprimer une entité imageImprime l'image actuelle d'une entité image HA (radar météo, superposition ML, graphique généré, etc.). Si aucune cible n'est sélectionnée, l'impression se fait sur toutes les imprimantes configurées (solution de repli obsolète).Champs : Alignement, Redimensionner automatiquement les grandes sources, Contraste automatique, Diffusion, Délai entre les blocs (ms), Coupe, Mode de tramage, Image de secours, Lignes d'avance, Hauteur des fragments
  • Imprimer une image depuis un cheminImprime une image à partir d'un chemin de fichier local. Le chemin doit se trouver dans l'un des allowlist_external_dirs de Home Assistant (généralement /config ou /media ; ajoute si besoin des répertoires sous homeassistant -> allowlist_external_dirs dans configuration.yaml). Si aucune cible n'est sélectionnée, l'impression se fait sur toutes les imprimantes configurées (solution de repli obsolète).Champs : Alignement, Redimensionner automatiquement les grandes sources, Contraste automatique, Diffusion, Délai entre blocs (ms), Coupe, Mode de tramage, Image de secours, Lignes d'avance, Hauteur de fragment
  • Imprimer une image depuis une URLImprime une image récupérée depuis une URL HTTP(S). Protégé contre les SSRF : les adresses privées, de bouclage et link-local sont refusées. Si aucune cible n'est sélectionnée, imprime sur toutes les imprimantes configurées (repli obsolète).Champs : Alignement, Redimensionner automatiquement les grandes sources, Contraste automatique, Diffusion, Délai entre blocs (ms), Coupe, Mode de tramage, Image de secours, Lignes d'avance, Hauteur de fragment
  • Imprimer un tableau clé/valeurImprime un tableau à deux colonnes étiquette/valeur : totaux de ticket, relevés de capteurs, listes d'ingrédients. Les étiquettes sont alignées à gauche, les valeurs selon "value_align" (à droite par défaut). Si aucune cible n'est sélectionnée, imprime sur toutes les imprimantes configurées (repli obsolète).Champs : Diffusion, Coupe, Lignes d'avance, Éléments, Largeur des étiquettes, Style de bordure, Largeur totale, Alignement des valeurs
  • Imprimer un message formatéImprime un message avec une mise en forme complète du texte (gras, souligné, taille, alignement) et une pièce jointe image facultative, le tout sur un seul ticket ininterrompu. Cible une entité notify ESC/POS. Voir docs/images.md.Champs : Alignement, Gras, Coupe

Dépannage

  • DiagnosticsTélécharge un fichier de diagnostics à joindre à un rapport de bug.

Extrait du README

Print receipts, labels, QR codes, and more from Home Assistant automations. Connect any ESC/POS capable network, USB, bluetooth, or serial thermal printer and start printing in minutes.

  • Print text with formatting (bold, underline, alignment, font sizes, invert, density, font)
  • Print QR codes, barcodes, and images from URLs, files, camera/image entities, or base64 (guide)
  • Text effects: boxes, multi-column tables, and custom-font / rotated text (guide)
  • Paper feed and cut control
  • Paper status sensor (network/USB): automate on paper low / paper out
  • Cover-open sensor (network/USB): automate on a stuck-open lid
  • Last-print timestamp sensor: automate on "no receipt printed today"
  • Image-print diagnostics sensor: success/failure counts and last-print details for tuning image options (guide)
  • Buzzer/beeper support
  • UTF-8 text with automatic character conversion
  • 35+ printer profiles with automatic feature detection, plus 23 rebadged/clone models available directly as "(compatible)" dropdown entries
  • Guided calibration wizard: prints test pages to measure image implementation, paper width, columns, and codepage, then saves them for you (guide)
Extrait du README de cognitivegears/ha-escpos-thermal-printer, MIT License. Abrégé.

S’affiche dans Vulpo :

carte Bouton, carte Graphique, Apple Watch.

Informations

Installations
115 partagent leurs statistiques
Étoiles GitHub
115
Connexion
Fonctionne en local
Maintenance
Mise à jour au cours des 6 derniers mois
Version
v1.2.0,
Catégorie
Informatique et réseau, Imprimantes
Type
Intégration de la Marketplace
Prérequis
Nécessite la Marketplace (HACS sur Home Assistant 2026.10 et les versions antérieures)
Domaine
escpos_printer

À découvrir aussi

Annuaire indépendant, créé par le développeur de Vulpo. Non affilié à Home Assistant ni à l’Open Home Foundation. À propos de ces chiffres