Screenshots Aus der README von cognitivegears/ha-escpos-thermal-printer.
Überblick
ESC/POS Thermal Printer ist eine Integration, die aus Home Assistant Automationen über Netzwerk, USB, seriell oder Bluetooth auf Thermodruckern druckt. Sie fügt Aktionen hinzu, um formatierten Text, QR-Codes, Barcodes, Rahmen, Tabellen und Bilder aus URLs, Dateien, Kamera-Entitäten oder Bild-Entitäten zu drucken. Weitere Aktionen steuern Papiervorschub, Schnitt und den Summer, und einige zeigen ein Layout oder Bild als Datei in der Vorschau an, ohne Papier zu verbrauchen. Sensoren melden Papierstatus, Abdeckungszustand, Online-Zustand, letzten Druck und Akku, und Tasten am Gerät lösen Papiervorschub, Schnitt, Signalton oder den Druck einer Testseite aus. Ein geführter Kalibrierungsassistent druckt Testseiten, um Papierbreite, Spalten, Kodierung und Bildmethode zu messen, und speichert danach die Ergebnisse. Die Integration arbeitet lokal ohne Cloud, wird in der Oberfläche eingerichtet und kann einige Drucker selbstständig erkennen.
Zusammenfassung der README und des Codes von cognitivegears/ha-escpos-thermal-printer, automatisch erstellt und übersetzt. Stimmt etwas nicht, oder betreust du das Projekt und möchtest hier deinen eigenen Text? Melde dich
Unterstützt
Funktioniert lokal Spricht mit deinen Geräten in deinem eigenen Netzwerk. Keine Cloud des Herstellers dazwischen.
Wird automatisch erkannt Home Assistant entdeckt sie im Netzwerk und bietet an, sie hinzuzufügen.
Aus dem Marketplace Wird über den Marketplace installiert, früher HACS.
Aktiv gepflegt Das Projekt hat in den letzten sechs Monaten eine neue Version oder Änderung veröffentlicht.
Stellt bereit
- Sensoren
Einrichtung
Installiere sie aus dem Marketplace und starte Home Assistant neu. Füge sie dann unter Einstellungen > Geräte & Dienste hinzu.
Verbindungstyp
- VerbindungstypWähle Netzwerk für Drucker mit TCP/IP-Verbindung oder USB für direkt angeschlossene Drucker.
USB-Drucker bestätigen
- DruckerprofilWähle dein Druckermodell oder Generic (no profile), falls es nicht aufgelistet ist. Baugleiche Modelle unter anderem Namen erscheinen als Einträge mit "(compatible)".
Netzwerkdrucker konfigurieren
- HostIP-Adresse oder Hostname des Druckers.
- PortNetzwerkport (meist 9100).
- Zeitüberschreitung (Sekunden)Zeitüberschreitung der Verbindung in Sekunden.
- DruckerprofilWähle dein Druckermodell oder Generic (no profile), falls es nicht aufgelistet ist. Baugleiche Modelle unter anderem Namen erscheinen als Einträge mit "(compatible)". Wähle 'Custom', um einen Profilnamen manuell einzugeben.
USB-Drucker konfigurieren
- USB-GerätWähle deinen Drucker aus den erkannten USB-Geräten.
- Zeitüberschreitung (Sekunden)Zeitüberschreitung der Verbindung in Sekunden.
- DruckerprofilWähle dein Druckermodell oder Generic (no profile), falls es nicht aufgelistet ist. Baugleiche Modelle unter anderem Namen erscheinen als Einträge mit "(compatible)".
USB-Gerät auswählen
- USB-GerätWähle deinen Drucker aus allen angeschlossenen USB-Geräten.
- Eingangs-Endpunkt (erweitert)Lass den Standardwert (130), außer dein Drucker funktioniert nicht. Das ist die USB-Adresse zum Empfangen des Status vom Drucker.
- Ausgangs-Endpunkt (erweitert)Lass den Standardwert (1), außer dein Drucker funktioniert nicht. Das ist die USB-Adresse zum Senden von Daten an den Drucker.
- Zeitüberschreitung (Sekunden)Zeitüberschreitung der Verbindung in Sekunden.
- DruckerprofilWähle dein Druckermodell oder Generic (no profile), falls es nicht aufgelistet ist. Baugleiche Modelle unter anderem Namen erscheinen als Einträge mit "(compatible)".
Manuelle USB-Konfiguration
- Vendor IDUSB Vendor ID. Nutze die Hex-Form mit vorangestelltem 0x, die lsusb anzeigt / die Erkennung anzeigt, zum Beispiel 0x04B8 (empfohlen). Eine einfache Dezimalzahl wird ebenfalls akzeptiert.
- Product IDUSB Product ID. Verwende die Hex-Form mit Präfix 0x, zum Beispiel 0x0E03. Eine einfache Dezimalzahl wird ebenfalls akzeptiert.
- Eingangs-Endpunkt (erweitert)Lass den Standardwert (130), außer dein Drucker funktioniert nicht. Das ist die USB-Adresse zum Empfangen des Status vom Drucker.
- Ausgangs-Endpunkt (erweitert)Lass den Standardwert (1), außer dein Drucker funktioniert nicht. Das ist die USB-Adresse zum Senden von Daten an den Drucker.
- Zeitüberschreitung (Sekunden)Zeitüberschreitung der Verbindung in Sekunden.
- DruckerprofilWähle dein Druckermodell oder Generic (no profile), falls es nicht aufgelistet ist. Baugleiche Modelle unter anderem Namen erscheinen als Einträge mit "(compatible)".
Bluetooth-Drucker konfigurieren
- Bluetooth-GerätWähle deinen Drucker aus der Liste der gekoppelten Bluetooth-Geräte.
- Zeitüberschreitung (Sekunden)Zeitüberschreitung der Verbindung in Sekunden.
- DruckerprofilWähle dein Druckermodell oder Generic (no profile), falls es nicht aufgelistet ist. Baugleiche Modelle unter anderem Namen erscheinen als Einträge mit "(compatible)".
- RFCOMM-KanalRFCOMM-Kanal (bei ESC/POS-Druckern fast immer 1). Führe zur Bestätigung 'bluetoothctl info [MAC]' auf dem Host aus und suche nach der Zeile 'Channel:' im SerialPort-Service-Record.
Manuelle Bluetooth-Konfiguration
- MAC-AdresseBluetooth-MAC-Adresse im Format AA:BB:CC:DD:EE:FF.
- RFCOMM-KanalRFCOMM-Kanal (bei ESC/POS-Druckern fast immer 1).
- Zeitüberschreitung (Sekunden)Zeitüberschreitung der Verbindung in Sekunden.
- DruckerprofilWähle dein Druckermodell oder Generic (no profile), falls es nicht aufgelistet ist. Baugleiche Modelle unter anderem Namen erscheinen als Einträge mit "(compatible)".
Nach der Einrichtung
- Zeitüberschreitung (Sekunden)Zeitüberschreitung der Verbindung in Sekunden.
- DruckerprofilWähle dein Druckermodell. Eine Änderung setzt die Kodierungsoptionen zurück.
- ZeichenkodierungZeichenkodierung/Codepage für Text.
- Zeichen pro ZeileAnzahl der Zeichen pro Zeile (Spalten). Wähle eine Voreinstellung oder gib eine eigene Zahl ein.
- Papierbreite in Pixeln (optional)Überschreibt die druckbare Breite des Profils für Bilder. Leer lassen, um das Profil zu verwenden. Übliche Werte: 384 (58 mm), 576 (80 mm).
- StandardausrichtungStandardausrichtung des Textes beim Drucken.
- Standard-SchnittmodusStandardmodus für den Papierschnitt nach dem Drucken.
- Zuverlässigkeitsprofil für BilderWählt sichere Standardwerte für die Blockgröße der Bilddaten, die Pause zwischen den Blöcken und den ESC/POS-Bildbefehl. Optionen aus Dienstaufrufen haben immer Vorrang.
- Implementierung für den BilddruckESC/POS-Befehlssatz, der zum Drucken von Bildern verwendet wird. Auto folgt dem Druckerprofil. Ändere ihn, wenn Bilder verzerrt gedruckt werden oder fehlschlagen.
- Dauerhafte Verbindung beibehaltenHält die Verbindung zwischen Druckaufträgen offen (nur Netzwerkdrucker).
- Intervall der Statusprüfung (Sekunden)Wie oft der Druckerstatus geprüft wird (0 zum Deaktivieren).
- Lokale Bild-URLs erlaubenErlaubt print_image_url (und den anderen Bilddiensten), URLs abzurufen, die auf private Adressen, LAN-Adressen oder Loopback-Adressen auflösen, und nicht standardmäßige Ports zu verwenden (zum Beispiel eine lokale Kamera, ein Frigate-Proxy auf :5000 oder deine Home Assistant Instanz auf :8123). Standardmäßig aus. Cloud-Metadaten- und Link-Local-Adressen bleiben auch bei aktivierter Option gesperrt.
- Blockgröße beim Schreiben (Bytes)Maximale Bytes pro Schreibaufruf. Setze den Wert für ESPHome/ESP32-Seriell-Proxys auf 128, um Pufferüberläufe zu verhindern. 0 deaktiviert die Aufteilung in Blöcke.
- Pause zwischen Blöcken (ms)Pause zwischen aufeinanderfolgenden Blöcken (Millisekunden). Gibt dem empfangenden Gerät Zeit, seinen Puffer zu leeren. Gilt nur, wenn die Blockgröße ungleich null ist.
- Aktion
- Muster, die sauber gedruckt wurden
- Aktion
- Breitestes Kästchen mit intaktem rechtem Rand
- Aktion
- Zeichen in der ersten Zeile
- Aktion
- Zeilen, die ihrem eigenen erwarteten Text entsprechen
- Aktion
- Druckermodell (optional, für den Freigabelink)
- Aktion
- ProfilnameDer genaue Profilschlüssel aus escpos-printer-db.
Texte aus dem Code von cognitivegears/ha-escpos-thermal-printer. Texte, für die das Repository keine Übersetzung hat, wurden automatisch übersetzt.
Entitäten
- BinärsensorenOnline, Abdeckung offen
- TastenPapier vorschieben, Papier schneiden, Piepton, Beispiel-Testdruck
- SensorenLetzter Bilddruck, Letzter Druck, Akku, Papierstatus
Aktionen
- PieptonLöst den Summer des Druckers aus (falls unterstützt). Wähle ein Ziel: Druckergerät, Entität, Bereich, Etage oder Label. Ist kein Ziel gewählt, wird auf jedem konfigurierten Drucker gedruckt (veralteter Ersatz).Felder: Broadcast, Dauer, Anzahl
- Dither-Testblatt druckenDruckt ein Kalibrierungsblatt, bestehend aus einem Pixellineal und einem Schwellenwert-Streifen, um die Dither- und Schwellenwert-Einstellungen für Bilder abzustimmen (nicht der Druckerkalibrierungsassistent, siehe die Seite Calibration in der Dokumentation). Verbraucht etwa 10 cm Papier. Ist kein Ziel gewählt, wird auf jedem konfigurierten Drucker gedruckt (veralteter Ersatz).Felder: Broadcast, Schnitt, Vorschubzeilen
- Papier schneidenSchneidet das Papier. Wähle ein Ziel: Druckergerät, Entität, Bereich, Etage oder Label. Ist kein Ziel gewählt, wird auf jedem konfigurierten Drucker gedruckt (veralteter Ersatz).Felder: Broadcast, Vorschub vor dem Schnitt, Modus
- Papier vorschiebenSchiebt das Papier um eine Anzahl von Zeilen vor. Wähle ein Ziel: Druckergerät, Entität, Bereich, Etage oder Label. Ist kein Ziel gewählt, wird auf jedem konfigurierten Drucker gedruckt (veralteter Ersatz).Felder: Broadcast, Zeilen
- Vorschau Rahmen (kein Papier)Führt die print_box-Layout-Pipeline aus und schreibt den gerenderten Text in eine .txt-Datei, WITHOUT ihn zu drucken. Damit kannst du Rahmen, Abstände und Breite ausprobieren, ohne Papier zu verschwenden. Die Felder für Schneiden und Vorschub fehlen absichtlich, weil eine Textdatei kein Papier hat. Gibt path, width, line_count und codepage als Service-Antwortdaten zurück. Aktiviere "Return response data" in den Entwicklerwerkzeugen, um die Werte zu sehen.Felder: Ausrichtung, Gerät, Ausgabepfad, Abstand, Rahmenstil, Text, Gesamtbreite
- Vorschau Bild (kein Papier)Führt die komplette Bild-Pipeline aus (Dithering, Skalieren usw.) und schreibt das 1-Bit-PNG auf die Festplatte, WITHOUT es zu drucken. Gibt den Ausgabepfad zurück, damit Automationen eine Benachrichtigung anschließen können. Optionen zur Druckerkommunikation (hohe Dichte, impl, Fragmenthöhe, Chunk-Verzögerung, Zentrieren, Schneiden, Vorschub) gibt es hier nicht, weil sie keinen Einfluss auf die geschriebene Datei haben. Sie spielen nur beim Streamen an einen echten Drucker eine Rolle.Felder: Ausrichtung, Große Quellen automatisch verkleinern, Autokontrast, Gerät, Dithering-Modus, Ersatzbild, Bild, Breite (Pixel), Farben invertieren, Horizontal spiegeln
- Vorschau Tabelle (kein Papier)Führt die print_table-Layout-Pipeline aus und schreibt den gerenderten Text in eine .txt-Datei, WITHOUT ihn zu drucken. Damit kannst du Spaltenbreiten, Ausrichtung und Rahmen ausprobieren, ohne Papier zu verschwenden. Die Felder für Schneiden und Vorschub fehlen absichtlich, weil eine Textdatei kein Papier hat. Gibt path, width, line_count und codepage als Service-Antwortdaten zurück. Aktiviere "Return response data" in den Entwicklerwerkzeugen, um die Werte zu sehen.Felder: Spaltenausrichtungen, Spaltenbreiten, Gerät, Kopfzeile, Ausgabepfad, Zeilentrenner, Zeilen, Rahmenstil, Gesamtbreite
- Barcode druckenDruckt einen Barcode. Wähle ein Ziel: Druckergerät, Entität, Bereich, Etage oder Label. Ist kein Ziel gewählt, wird auf allen konfigurierten Druckern gedruckt (veralteter Fallback).Felder: Ausrichtung, Barcode-Typ, Broadcast, Prüfsumme, Code, Schneiden, Vorschubzeilen, Schriftart, Rendering-Modus, Höhe
- Box druckenDruckt Text, der von einem druckbaren Rahmen umgeben ist (einfache/doppelte/ASCII-Zeichen). Ist kein Ziel gewählt, wird auf allen konfigurierten Druckern gedruckt (veralteter Fallback).Felder: Ausrichtung, Broadcast, Schneiden, Vorschubzeilen, Abstand, Rahmenstil, Text, Gesamtbreite
- Kamera-Schnappschuss druckenDruckt einen Live-Schnappschuss einer Kamera-Entität. Praktischer Wrapper um print_image mit einer Kamera-Entitätsauswahl für eine freundlichere Oberfläche. Ist kein Ziel gewählt, wird auf allen konfigurierten Druckern gedruckt (veralteter Fallback).Felder: Ausrichtung, Große Quellen automatisch verkleinern, Autokontrast, Broadcast, Kamera, Chunk-Verzögerung (ms), Schneiden, Dithering-Modus, Ersatzbild, Vorschubzeilen
- Bild drucken (gemischte Quelle)Druckt ein Bild von einer URL, einem Dateipfad, camera.[id], image.[id] oder einer base64-Daten-URI. Automationen können für dieses Feld weiterhin ein Jinja-Template verwenden, Home Assistant rendert es, bevor der Dienstaufruf abgeschickt wird, aber das Feld selbst ist ein einfacher String und wird nicht serverseitig ausgewertet. Für eine übersichtlichere Oberfläche nutze besser die spezialisierten Dienste (Bild von URL drucken, von Pfad, Kamera-Snapshot, Bild-Entität), siehe docs/images.md. Ist kein Ziel ausgewählt, wird auf allen konfigurierten Druckern gedruckt (veralteter Ersatzweg).Felder: Ausrichtung, Große Quellen automatisch verkleinern, Autokontrast, An alle senden, Abschnittsverzögerung (ms), Schneiden, Dithering-Modus, Ersatzbild, Vorschubzeilen, Fragmenthöhe
- Bild-Entität druckenDruckt das aktuelle Bild einer Home-Assistant-Bild-Entität (Wetterradar, ML-Overlay, generiertes Diagramm und so weiter). Ist kein Ziel ausgewählt, wird auf allen konfigurierten Druckern gedruckt (veralteter Ersatzweg).Felder: Ausrichtung, Große Quellen automatisch verkleinern, Autokontrast, An alle senden, Abschnittsverzögerung (ms), Schneiden, Dithering-Modus, Ersatzbild, Vorschubzeilen, Fragmenthöhe
- Bild von Pfad druckenDruckt ein Bild von einem lokalen Dateipfad. Der Pfad muss in einem der allowlist_external_dirs von Home Assistant liegen (üblicherweise /config oder /media, füge bei Bedarf Verzeichnisse unter homeassistant -> allowlist_external_dirs in configuration.yaml hinzu). Ist kein Ziel ausgewählt, wird auf allen konfigurierten Druckern gedruckt (veralteter Ersatzweg).Felder: Ausrichtung, Große Quellen automatisch verkleinern, Autokontrast, Broadcast, Chunk-Verzögerung (ms), Schnitt, Dither-Modus, Ersatzbild, Vorschubzeilen, Fragmenthöhe
- Bild von URL druckenDruckt ein Bild, das von einer HTTP(S)-URL abgerufen wird. SSRF-geschützt: private Adressen, Loopback-Adressen und Link-Local-Adressen werden abgelehnt. Ist kein Ziel ausgewählt, wird auf jedem konfigurierten Drucker gedruckt (veralteter Ersatz).Felder: Ausrichtung, Große Quellen automatisch verkleinern, Autokontrast, Broadcast, Chunk-Verzögerung (ms), Schnitt, Dither-Modus, Ersatzbild, Vorschubzeilen, Fragmenthöhe
- Schlüssel-Wert-Tabelle druckenDruckt eine zweispaltige Tabelle aus Label und Wert, etwa Belegsummen, Sensorwerte oder Zutatenlisten. Labels sind linksbündig, Werte gemäß "value_align" (Standard rechts). Ist kein Ziel ausgewählt, wird auf jedem konfigurierten Drucker gedruckt (veralteter Ersatz).Felder: Broadcast, Schnitt, Vorschubzeilen, Einträge, Label-Breite, Rahmenstil, Gesamtbreite
Fehlerbehebung
- DiagnosedatenLädt eine Diagnosedatei herunter, die du an einen Fehlerbericht anhängen kannst.
Aus der 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)
Erscheint in Vulpo
Tastenkarte, Diagrammkarte, Apple Watch.Informationen
- Installationen
- 115 teilen Analysedaten
- GitHub-Sterne
- 115
- Verbindung
- Funktioniert lokal
- Pflege
- In den letzten 6 Monaten aktualisiert
- Version
- v1.2.0,
- Kategorie
- Computer und Netzwerk, Drucker
- Art
- Marketplace-Integration
- Voraussetzung
- Braucht den Marketplace (HACS bis Home Assistant 2026.10)
- Domain
escpos_printer- Probleme
- Problem melden












