Skip to content
Home Assistant TestFlight
Sensors

ESC/POS Thermal Printer

cognitivegears/ha-escpos-thermal-printer · vv1.2.0

HACSLocal polling

Home Assistant / HACS integration for network/usb/serial/bluetooth thermal printers

In Apple Home through HomeKit Bridge

What HomeKit Bridge makes of each kind of entity this integration creates, read from its source code. A device only gets the ones that apply to it.

EntityShows up asNote
binary_sensorSensor (motion, contact, leak, smoke…)
sensorSensor (temperature, humidity, air quality…)
buttonButton (as a switch)

What people report

Epson, Star and Citizen ESC/POS receipt printers are supported, and calibration reports keep adding verified models.

  • Works7
DeviceIn Home AssistantIn Apple HomeWhat they saidSource
Citizen CT-S2000 / CT-S310 / CT-S601WorksListed as supported
Saved copy
Supported devices: Epson TM series (TM-T20, TM-T88, TM-U220, etc.); Star Micronics (TSP100, TSP650, TSP700, etc.); Citizen (CT-S2000, CT-S310, CT-S601, etc.); Most generic 58mm and 80mm thermal receipt printers.

Excerpt saved from the README on 2026-10-23.

README
Epson TM-T20 / TM-T88 / TM-U220 seriesWorksListed as supported
Saved copy
Supported devices: Epson TM series (TM-T20, TM-T88, TM-U220, etc.); Star Micronics (TSP100, TSP650, TSP700, etc.); Citizen (CT-S2000, CT-S310, CT-S601, etc.); Most generic 58mm and 80mm thermal receipt printers.

Excerpt saved from the README on 2026-10-23.

README
Epson TM-T20XWorksMaps to TM-T20II profile; hardware calibration matched exactly
Saved copy
Thanks for the report! This confirms the existing "Epson TM-T20X" entry, which maps to the TM-T20II profile, on real hardware. Your results matched it exactly. If you pick "Epson TM-T20X" in the printer model dropdown, you'll get those defaults without calibrating. Optional: once the next release is out, a fresh calibration report would also help a lot. Your report ran on the generic profile even though a TM-T20X entry exists, and new reports will include a "Detected identity" section (what the printer says about itself, such as its model string, USB IDs and firmware, plus what autodetect …

Excerpt saved from GitHub on 2026-10-23.

Issue #175 · 2026-09
Epson TM-T88V (network)WorksImage printing from local URLs fixed in 0.7.2
Saved copy
Summary Fixes #95 and ships a reviewed, hardened opt-in for printing images from local/LAN URLs. Released as 0.7.2. The reporter (network TM-T88V, Frigate) hit `Cannot connect to host :443 ssl:default [None]` on every `print_image_url`. Root cause: a DNS-pinning bug that broke all HTTP/HTTPS image fetches. While fixing it, the natural follow-up, "Home Assistant is a LAN tool; why can't I print from my local camera/Frigate?", became a small, secure-by-default feature. ## What's in here ### 1. Fix: AF_UNSPEC resolver bug (`1b5827c`), the actual #95 cause `_StaticResolver.resolve()` only …

Excerpt saved from GitHub on 2026-10-23.

PR #104 · 2026-06
Rongta RP326WorksProfile fixed to 576 px, 48 columns after calibration report
Saved copy
Thanks for the report, and for clarifying the model! The bundled RP326 profile listed an unknown width and 42 columns. Your 576 px / 48 columns matches Rongta's own RP32X manual, so the RP326 profile now defaults to 576 px / 48 columns (Font B 64) in the next release (#182). Optional: once the next release is out, a fresh calibration report would also help a lot. New reports will include a "Detected identity" section (what the printer says about itself, such as its model string, USB IDs and firmware, plus what autodetect suggested) so that we can potentially recognize this printer …

Excerpt saved from GitHub on 2026-10-23.

Issue #160 · 2026-08
Star Micronics TSP100 / TSP650 / TSP700WorksListed as supported
Saved copy
Supported devices: Epson TM series (TM-T20, TM-T88, TM-U220, etc.); Star Micronics (TSP100, TSP650, TSP700, etc.); Citizen (CT-S2000, CT-S310, CT-S601, etc.); Most generic 58mm and 80mm thermal receipt printers.

Excerpt saved from the README on 2026-10-23.

README
Thermal printer model 8510WorksCalibration passed at 512 px width, 42 columns
Saved copy
Printer model: 8510 Configured profile: (generic) Calibration results: - Image implementation stored: bitImageRaster - Implementations that printed cleanly: bitImageRaster, bitImageColumn, graphics - Printable width: 512 px - Columns (font A): 42 - Codepage stored: CP858 - Codepages that matched: CP437, CP850, CP858, CP1252 Versions: integration 1.2.0, python-escpos 3.1 Draft escpos-printer-db profile: [code]

Excerpt saved from GitHub on 2026-10-23.

Issue #195 · 2026-10

Gathered from GitHub issues, pull requests, discussions and docs, and from r/homeassistant. These are individual reports, so check the linked thread and the date before you buy.

How it connects

Local polling

Talks to the device on your network, asking it for updates every so often.

Found automatically over

  • DHCP
  • USB

Details

Installs (analytics)112 (0.02%)
GitHub stars114
Latest versionv1.2.0 (2026-10-19)
Set up in the UIYes
Maintainers@cognitivegears
LicenseMIT

Devices listed in its README

  • Epson TM series (TM-T20, TM-T88, TM-U220, etc.)
  • Star Micronics (TSP100, TSP650, TSP700, etc.)
  • Citizen (CT-S2000, CT-S310, CT-S601, etc.)
  • Most generic 58mm and 80mm thermal receipt printers

In ReReHome

Whatever HomeKit Bridge shares reaches Apple Home as normal HomeKit accessories behind your Home Assistant bridge, so ReReHome shows and controls them like any other.

Bridges get their own settings page listing the accessories behind them.