● ha작업 ) LVGL Display 에 wifi 신호 아이콘 표기 방법




컨텐츠 정보


본문

● ha작업 )  LVGL Display 에 wifi 신호 아이콘 표기 방법

정보 참조 사이트

https://github.com/esphome/esphome-docs/blob/current/cookbook/lvgl.rst

3232235521_1727018424.7337.png

3232235521_1727018458.4928.png

1) 폰트 구성

https://pictogrammers.github.io/@mdi/font/7.4.47/

참조 코드 복사 적용 하고 신호별 


   # 와이파이 신호세기 wifi_40 wifi_connection_signal  esphome의 entity_id 이용
  - file: "fonts/materialdesignicons-webfont.ttf"
    id: wifi_40
    size: 40
    bpp: 4
    glyphs: [
      "\U000F16C5",  # wifi_disconnected
      "\U000F05A9",  # wifi connect U000F05A9
      "\U000F092F", # wifi 0%
      "\U000F091F", # wifi 40%
      "\U000F0922", # wifi 60%
      "\U000F0925", # wifi 80%
      "\U000F0928", # wifi 100%
      "\U000F16B5", # mdi-wifi-alert    
      ]


2) 센서구성

1.AP 연결시 wifi아이콘 센서

# Enable Home Assistant API
api:
  encryption:
    key: "MJeTRZvYqkEW9WYOP7ZGOhv26EkEQIEtooJxJ5fOyx8="

  on_client_connected:
    - if:
        condition:
          lambda: 'return (0 == client_info.find("Home Assistant "));'
        then:
          - lvgl.widget.show: lbl_hastatus
  on_client_disconnected:
    - if:
        condition:
          lambda: 'return (0 == client_info.find("Home Assistant "));'
        then:
          - lvgl.widget.hide: lbl_hastatus
          # - lvgl.widget.show: lbl_hastatus_wifi_off


2.wifi 신호 세기별 센서

#sensor:

  - platform: homeassistant
    id: wifi_connection
    entity_id: sensor.7_touch_lcd7_ip44_wifi_signal_percent
    on_value:
      - lvgl.label.update:
          id: wifi_connection_signal
          text: !lambda |-
            static char buf[10];
            std::string icon;
            if (x == 100.0) {
                // icon = "\U000F0928"; // wifi (full)
                icon = "\U000F05A9"; // wifi (full)                
            } else if (x > 80) {
                icon = "\U000F0925"; // wifi_80
            } else if (x > 60) {
                icon = "\U000F0922"; // wifi_60
            } else if (x > 40) {
                icon = "\U000F091F"; // wifi_40
            } else if (x > 0) {
                icon = "\U000F092F"; // wifi_0
            }
            snprintf(buf, sizeof(buf), "%s", icon.c_str());
            return buf;



3) label 구성

1.AP 연결시 wifi아이콘 표기 방법


            - label:
                text: "\U000F05A9"  #wifi_conection 와이파이 동작
                text_font: wifi_40
                id: lbl_hastatus
                hidden: true
                align: top_right
                x: 5 # -10
                y: 0 # -7
                text_align: right
                text_color: 0xFFFFFF


2.wifi 신호 세기별 아이콘 표기 방법

            - label:
                id: wifi_connection_signal  
                align: TOP_RIGHT
                x: 5 # -10
                y: 0 # -7
                text_font: wifi_40
                text: "\U000F16C5" # start with mdi-battery-unknown
                text_align: right
                text_color: 0x21DE0D # wifi 연결신호 크기별 green 색으로 표시 관련정보는 wifi_connection_signal 검색 적용 wifi_40 폰트 적용


☞ https://11q.kr 에 등록된 자료 입니다. ♠ 정보찾아 공유 드리며 출처는 링크 참조 바랍니다♠1.png

뷰PDF add1,add2



관련자료

댓글 0
등록된 댓글이 없습니다.



♥간단_메모글♥


최근글


새댓글



PHP 안에 HTML ☞ 홈페이지 화면갱신 시간은 ♨
▶ 2024-11-22 12:22:26

오늘의 홈 현황


  • 현재 접속자♨ 538 명
  • 오늘 가입자※ 1 명
  • 어제 가입자※ 3 명
  • 주간 가입자※ 9 명
  • 오늘 방문자 2,205 명
  • 어제 방문자 3,272 명
  • 최대 방문자 13,042 명
  • 전체 방문자 4,801,361 명
  • 전체 게시물※ 8,855 개
  • 전체 댓글수※ 25,230 개
  • 전체 회원수 11,325 명

QR코드


☞ QR코드 스캔은 kakao앱 자체 QR코드

알림 0








최신글↑