---
title: "hass-ble-esl"
url: "https://maker.wiznet.io/Sunny_/projects/hass-ble-esl/"
markdown_url: "https://maker.wiznet.io/Sunny_/projects/hass-ble-esl/md"
type: "UCC: User Created Content"
author: "eigger"
author_url: "https://github.com/eigger/hass-ble-esl"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "eigger"
original_url: "https://github.com/eigger/hass-ble-esl"
published: "2026-10-26"
language: "en"
likes: 0
views: 13
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# hass-ble-esl

> Generic BLE Electronic Shelf Label (ESL) Home Assistant Integration Battery-powered e-paper displays that show your Home Assistant data for months to years on

Original author: eigger (source: https://github.com/eigger/hass-ble-esl)

## Article

## BLE ESL: Home Assistant-Based E-Paper Display System with W5500 Ethernet Bluetooth Proxy

### Overview

![](https://maker.wiznet.io/upload/ckeditor5/fd5b81e8893e46c58796366608bbca69.png)

![](https://raw.githubusercontent.com/eigger/hass-ble-esl/main/examples/gicisky/4.2-3d-print.png)

BLE ESL(hass-ble-esl)는 다양한 제조사의 BLE(Bluetooth Low Energy) 기반 전자종이 디스플레이를 Home Assistant에서 통합 관리하고 제어할 수 있도록 개발된 오픈소스 프로젝트입니다.

일반적으로 전자가격표시기(ESL, Electronic Shelf Label)는 매장의 상품명과 가격을 표시하는 데 사용되지만, 이 프로젝트에서는 이를 가정용 정보 디스플레이로 활용합니다.

사용자는 Home Assistant에서 수집한 날씨, 실내 온습도, 일정, 이미지 등의 정보를 전자종이 디스플레이에 표시할 수 있으며, 자동화를 이용해 원하는 시점에 화면을 갱신할 수 있습니다.

이 프로젝트는 별도의 제조사 클라우드나 전용 ESL 게이트웨이 없이 BLE 통신으로 디스플레이를 제어합니다.

또한 개발자는 원격 Bluetooth 연결을 위한 하드웨어로 **WIZnet W5500 기반 Seeed Studio XIAO W5500 Ethernet Adapter V1.2**를 추천하고 있습니다. 해당 보드를 ESPHome Bluetooth Proxy로 구성하면 Home Assistant와 프록시 사이에는 유선 Ethernet을, 프록시와 ESL 디스플레이 사이에는 BLE 통신을 사용할 수 있습니다.

### System Architecture

W5500 기반 Bluetooth Proxy를 사용하는 선택적 시스템 구성은 다음과 같습니다.

**Home Assistant Server → Ethernet Network → XIAO ESP32 + W5500 Ethernet Adapter → BLE → E-Paper ESL Display**

| 구성 요소 | 역할 |
| --- | --- |
| Home Assistant | 센서 데이터 수집, 디스플레이 관리 및 자동화 실행 |
| BLE ESL Integration | 화면 이미지 생성 및 ESL 통신 제어 |
| ESPHome Bluetooth Proxy | Home Assistant와 BLE 디스플레이 사이의 통신 중계 |
| WIZnet W5500 | Bluetooth Proxy의 유선 Ethernet 네트워크 인터페이스 |
| ESP32 | Ethernet 통신과 BLE 장치 연결 관리 |
| E-Paper ESL Display | 날씨, 일정, 센서 값 및 이미지 표시 |

W5500 기반 Bluetooth Proxy는 선택적 구성입니다. Home Assistant에 직접 연결된 Bluetooth 어댑터나 다른 ESPHome Bluetooth Proxy도 사용할 수 있습니다.

### Hardware and Software

#### Hardware

프로젝트에서 지원하는 ESL 제품은 여러 제조사의 BLE 프로토콜을 기반으로 합니다.

| Protocol | Manufacturer / Brand | Supported Display Size |
| --- | --- | --- |
| PickSmart | Gicisky | 2.1″ ~ 10.2″ |
| XTE | Poshiji | 1.54″ ~ 7.5″ |
| WOLINK | Zhsunyco | 1.54″ ~ 13.3″ |
| easyTag | Zhsunyco | 1.54″ ~ 10.2″ |
| ETAG | Hipoink | 2.13″ |

모델에 따라 흑백(BW), 흑백·적색(BWR), 흑백·적색·황색(BWRY) 등의 색상 구성을 지원합니다.

일부 모델은 개발자가 실제 하드웨어로 검증했으며, 일부 크기 및 프로토콜 설정은 사양서를 기준으로 제공됩니다.

#### Software

**Home Assistant:** 스마트홈 기기 및 센서 데이터 통합 관리

**HACS:** BLE ESL 사용자 지정 통합 설치

**ESPHome:** ESP32 기반 Bluetooth Proxy 구성

**BLE GATT:** ESL 디스플레이와의 데이터 전송

**imagespec:** 텍스트, 이미지 및 그래픽 레이아웃 렌더링

**Jinja Template:** Home Assistant 센서 값을 화면 콘텐츠에 반영

### Key Features

#### 1. Multiple BLE ESL Protocol Support

BLE ESL은 PickSmart, XTE, WOLINK, easyTag, ETAG 등 여러 BLE 통신 프로토콜을 지원합니다.

각 제조사의 ESL은 통신 명령, 이미지 데이터 형식, 화면 해상도 등이 서로 다를 수 있습니다.

프로젝트에서는 프로토콜별로 광고 패킷 분석, 이미지 인코딩, 데이터 패킷 구성 및 BLE 전송 처리를 분리하여 다양한 제품을 하나의 Home Assistant 통합 환경에서 관리하도록 구현했습니다.

#### 2. Custom E-Paper Display

![](https://raw.githubusercontent.com/eigger/hass-ble-esl/main/examples/gicisky/2.1-tmap-time.jpg)![](https://raw.githubusercontent.com/eigger/hass-ble-esl/main/examples/gicisky/2.1-waste-collection.png)![](https://raw.githubusercontent.com/eigger/hass-ble-esl/main/examples/gicisky/2.1-wifi.jpg)![](https://raw.githubusercontent.com/eigger/hass-ble-esl/main/examples/gicisky/2.9-google-calendar.jpg)![7.5-google-calendar.jpg](https://github.com/eigger/hass-ble-esl/blob/main/examples/gicisky/7.5-google-calendar.jpg?raw=true)

Home Assistant에서 수집한 데이터를 전자종이 디스플레이에 표시할 수 있습니다.

주요 활용 예시는 다음과 같습니다.

**Weather Display:** 현재 날씨 및 기상 예보 표시

**Calendar:** Google Calendar 일정 표시

**Sensor Monitoring:** 실내 온도, 습도 등 센서 데이터 표시

**Custom Image:** 사용자 이미지 및 사진 출력

**Information Dashboard:** 날짜, 시간, 공지 및 기타 정보 표시

프로젝트에는 Gicisky 및 Poshiji 디스플레이를 위한 다양한 화면 예제와 YAML 설정 파일이 제공됩니다.

#### 3. ESL Manager and Visual Designer

![](https://maker.wiznet.io/upload/ckeditor5/7362372d981142468d39647cd5d3355e.png)

BLE ESL은 Home Assistant 사이드바에서 사용할 수 있는 **ESL Manager**를 제공합니다.

사용자는 등록된 ESL 기기의 배터리 상태, 화면 해상도, 최근 데이터 전송 결과 및 동기화 상태를 확인할 수 있습니다.

또한 Visual Designer를 통해 텍스트, 이미지, 아이콘, 차트 등의 요소를 배치하고 화면을 직접 구성할 수 있습니다.

완성한 화면은 YAML 형식으로 내보내 Home Assistant 자동화에 사용할 수 있습니다.

#### Customizable E-Paper Display with BLE ESL Payload Editor

![](https://maker.wiznet.io/upload/ckeditor5/79ae4014aaa54f6b9f7f02cebd7f8fff.jpg)

BLE ESL은 사용자가 전자종이 디스플레이의 화면을 원하는 형태로 직접 구성할 수 있도록 **BLE ESL Payload Layout Editor**를 제공합니다.

이 웹 기반 편집기를 사용하면 별도의 코드를 직접 작성하지 않고도 텍스트, 이미지, 아이콘, QR 코드, 바코드, 그래프, 배터리 상태 등의 요소를 추가하여 자신만의 디스플레이 레이아웃을 디자인할 수 있습니다.

또한 Gicisky, Zhsunyco, Poshiji 등 다양한 ESL 제품의 화면 크기와 해상도를 선택할 수 있으며, 각 요소의 위치, 크기, 색상 등을 조정하고 화면 배경색과 회전 방향도 설정할 수 있습니다.

**주요 커스터마이징 기능Custom Text & Images:** 원하는 문구, 이미지 및 아이콘 추가

**Flexible Layout:** 화면 요소의 위치와 크기를 자유롭게 조정

**Charts & Indicators:** 그래프, 진행률, 배터리 상태 등의 정보 표시

**QR Code & Barcode:** 사용자 지정 QR 코드와 바코드 생성

**Display Configuration:** 디스플레이 해상도, 배경색 및 화면 회전 설정

**YAML Export & Import:** 디자인을 Home Assistant에서 사용할 수 있는 YAML 코드로 변환하거나 기존 YAML 불러오기

사용자는 편집기에서 완성한 레이아웃을 YAML 형식으로 복사한 후, Home Assistant의 `ble_esl.write` 액션에 적용하여 실제 ESL 디스플레이에 표시할 수 있습니다.

이를 통해 날씨 정보, 캘린더, 실내 환경 데이터, 개인 일정 등 다양한 정보를 사용 목적에 맞게 시각화할 수 있으며, 단순한 전자가격표시기를 **사용자 맞춤형 스마트 정보 디스플레이**로 활용할 수 있습니다.

**BLE ESL Payload Layout Editor:** <https://eigger.github.io/BLE_ESL_Payload_Editor.html>

#### 4. Automated Display Updates

BLE ESL은 Home Assistant의 자동화 기능과 연동할 수 있습니다.

예를 들어 매일 아침 날씨와 일정을 갱신하거나, 지정된 시간에 센서 정보를 전자종이 디스플레이로 전송할 수 있습니다.

주요 전송 액션은 다음과 같습니다.

**ble_esl.write:** 지정된 화면 콘텐츠를 ESL에 전송

**ble_esl.write_guarded:** 변경되지 않은 이미지의 중복 전송을 방지하고, 쓰기 잠금과 디바운스 조건을 고려하여 전송

전자종이 디스플레이는 화면 변경 시 전력이 소비되므로, 불필요한 화면 갱신을 줄이는 기능이 유용합니다.

#### 5. Connection Diagnostics

BLE ESL은 데이터 전송 실패 원인을 분석할 수 있는 진단 기능도 제공합니다.

BLE 장치 연결, 데이터 전송, 응답 대기 등 여러 단계의 실패 정보를 확인할 수 있으며, 사용된 Bluetooth 연결 경로와 전송 결과를 추적할 수 있습니다.

이를 통해 여러 BLE 디스플레이를 사용하는 환경에서 통신 문제를 파악하고 관리할 수 있습니다.

### Role of WIZnet W5500 in the System

#### Wired Ethernet Connectivity for Bluetooth Proxy

프로젝트 문서에서는 Seeed Studio XIAO W5500 Ethernet Adapter V1.2를 유선 Bluetooth Proxy 구성에 적합한 하드웨어로 추천하고 있습니다.

W5500은 ESP32 기반 Bluetooth Proxy에 유선 Ethernet 연결을 제공하는 역할을 합니다.

Home Assistant와 Bluetooth Proxy 사이의 네트워크 통신에는 Ethernet을 사용하고, ESP32의 Bluetooth 무선 기능은 ESL 디스플레이와의 BLE 통신에 사용할 수 있습니다.

이러한 구성은 Wi-Fi 통신과 Bluetooth가 동일한 ESP32 무선 자원을 공유하는 상황을 줄일 수 있다는 장점이 있습니다.

#### Separation of Network and BLE Communication

W5500을 적용한 구성에서는 두 통신 구간이 구분됩니다.

**Ethernet Communication**

Home Assistant와 ESPHome Bluetooth Proxy 사이의 데이터 통신을 담당합니다. W5500이 유선 네트워크 인터페이스를 제공합니다.

**BLE Communication**

ESP32가 ESL 디스플레이와 직접 연결하여 화면 데이터를 전송합니다.

따라서 W5500이 ESL 디스플레이에 직접 데이터를 전송하는 것은 아니며, **ESP32 Bluetooth Proxy의 유선 네트워크 연결을 지원하는 역할**을 합니다.

다만 이 프로젝트의 W5500 관련 내용은 추천 프록시 하드웨어에 관한 것이며, 저장소에 W5500 전용 회로도나 펌웨어 구현이 포함되어 있는 것은 아닙니다.

또한 W5500의 하드웨어 TCP/IP Offloading 기능을 실제로 어떤 방식으로 활용하는지는 이 프로젝트의 소스만으로 확인할 수 없습니다.

### How It Works

사용자는 Home Assistant에 BLE ESL 통합을 설치합니다.

로컬 Bluetooth 어댑터 또는 ESPHome Bluetooth Proxy를 구성합니다.

지원되는 ESL 디스플레이가 BLE 광고 패킷을 통해 검색됩니다.

사용자는 ESL Manager 또는 YAML 설정으로 표시할 콘텐츠를 구성합니다.

Home Assistant가 센서 데이터와 템플릿을 바탕으로 화면 이미지를 생성합니다.

`ble_esl.write` 액션이 실행되면 Bluetooth GATT 연결을 통해 ESL로 이미지 데이터가 전송됩니다.

ESL 디스플레이가 수신한 데이터를 사용하여 전자종이 화면을 갱신합니다.

W5500 기반 Bluetooth Proxy를 사용하는 경우 Home Assistant와 ESP32 사이의 네트워크 구간은 유선 Ethernet으로 연결됩니다.

### Project Benefits

BLE ESL은 상업용 전자가격표시기를 스마트홈 정보 디스플레이로 확장한 프로젝트입니다.

특히 여러 제조사의 BLE 프로토콜을 통합하고, 화면 디자인 도구와 Home Assistant 자동화 기능을 제공한다는 점에서 단순한 BLE 데이터 전송 예제와 차별화됩니다.

W5500 기반 Bluetooth Proxy를 선택적으로 적용하면 유선 Ethernet을 통해 Home Assistant와 ESP32를 연결하면서, ESP32의 무선 기능을 BLE 디스플레이 통신에 활용하는 구성을 만들 수 있습니다.

이 프로젝트는 **저전력 전자종이 디스플레이, BLE 통신, Home Assistant 자동화 및 유선 Ethernet 기반 Bluetooth Proxy**를 결합할 수 있는 활용 사례를 보여줍니다.

### References

- **GitHub Repository:** <https://github.com/eigger/hass-ble-esl>

- **Korean README:** <https://github.com/eigger/hass-ble-esl/blob/main/README.ko.md>

- **Bluetooth Configuration:** <https://github.com/eigger/hass-ble-esl/blob/main/docs/ko/bluetooth.md>

- **W5500 Proxy Recommendation:** <https://github.com/eigger/blesession/blob/main/docs/bluetooth.ko.md>

- **Display Examples:** <https://github.com/eigger/hass-ble-esl/tree/main/examples>

- **Seeed Studio XIAO W5500 Guide:** <https://wiki.seeedstudio.com/esphome_xiao_w5500_ethernet_adapter/>

---

Source: https://maker.wiznet.io/Sunny_/projects/hass-ble-esl/
