Rewrite this YAML config to C++ code in an Espressif IDF function that reads registers. 
text\_sensor:
 # Range 30000 - 30035
 - name: "Huawei inverter model"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 30000
 register\_count: 15
 response\_size: 30
 skip\_updates: 100
 - name: "Huawei inverter SN"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 30015
 register\_count: 10
 response\_size: 20
 skip\_updates: 100
 - name: "Huawei inverter PN"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 30025
 register\_count: 10
 response\_size: 20
 skip\_updates: 100

 # Inverter status string
 - name: "Huawei inverter status"
 platform: template
 id: inverter\_status\_string
 icon: "mdi:information"
binary\_sensor:
 # Range 32000 - 32019 (1/2)
 # Register 32000
 - name: "Huawei inverter state standby"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32000
 bitmask: 0x001
 - name: "Huawei inverter state grid-connected"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32000
 bitmask: 0x002
 - name: "Huawei inverter state grid-connected normally"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32000
 bitmask: 0x004
 - name: "Huawei inverter state grid connection with derating due to power rationing"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32000
 bitmask: 0x008
 - name: "Huawei inverter state grid connection with derating due to internal causes of the solar inverter"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32000
 bitmask: 0x010
 - name: "Huawei inverter state normal stop"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32000
 bitmask: 0x020
 - name: "Huawei inverter state stop due to faults"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32000
 bitmask: 0x040
 - name: "Huawei inverter state stop due to power rationing"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32000
 bitmask: 0x080
 - name: "Huawei inverter state shutdown"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32000
 bitmask: 0x100
 - name: "Huawei inverter state spot check"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32000
 bitmask: 0x200
 # Register 32002
 - name: "Huawei inverter state unlocked"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32002
 bitmask: 0x1
 - name: "Huawei inverter state PV connected"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32002
 bitmask: 0x2
 - name: "Huawei inverter state DSP data collection"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32002
 bitmask: 0x4
 # Register 32003
 - name: "Huawei inverter state off-grid"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32003
 bitmask: 0x1
 - name: "Huawei inverter state off-grid switch enable"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32003
 bitmask: 0x2
 # Register 32008
 - name: "Huawei inverter alarm High String Input Voltage"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32008
 bitmask: 0x0001
 - name: "Huawei inverter alarm DC Arc Fault"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32008
 bitmask: 0x0002
 - name: "Huawei inverter alarm String Reverse Connection"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32008
 bitmask: 0x0004
 - name: "Huawei inverter alarm String Current Backfeed"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32008
 bitmask: 0x0008
 - name: "Huawei inverter alarm Abnormal String Power"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32008
 bitmask: 0x0010
 - name: "Huawei inverter alarm AFCI Self-Check Fail"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32008
 bitmask: 0x0020
 - name: "Huawei inverter alarm Phase Wire Short-Circuited to PE"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32008
 bitmask: 0x0040
 - name: "Huawei inverter alarm Grid Loss"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32008
 bitmask: 0x0080
 - name: "Huawei inverter alarm Grid Undervoltage"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32008
 bitmask: 0x0100
 - name: "Huawei inverter alarm Grid Overvoltage"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32008
 bitmask: 0x0200
 - name: "Huawei inverter alarm Grid Volt. Imbalance"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32008
 bitmask: 0x0400
 - name: "Huawei inverter alarm Grid Overfrequency"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32008
 bitmask: 0x0800
 - name: "Huawei inverter alarm Grid Underfrequency"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32008
 bitmask: 0x1000
 - name: "Huawei inverter alarm Unstable Grid Frequency"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32008
 bitmask: 0x2000
 - name: "Huawei inverter alarm Output Overcurrent"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32008
 bitmask: 0x4000
 - name: "Huawei inverter alarm Output DC Component Overhigh"
 icon: "mdi:information"
 platform: modbus\_controller
 modbus\_controller\_id: huawei\_inverter
 register\_type: holding
 address: 32008
 bitmask: 0x8000
레지스터를 읽는 Espressif IDF 함수에서 이 YAML 구성을 C++ 코드로 작성합니다. 
text\_sensor:
 # 범위 30000 - 30035
 - name: "화웨이 인버터 모델"
 icon: "mdi:정보"
 플랫폼: modbus\_controller
 MODBUS\_controller\_ID: 화웨이\_인버터
 등록\_type: 보류 중
 주소 30000
 register\_count: 15
 응답\_크기: 30
 SKIP\_updates: 100
 - 이름: "화웨이 인버터 SN"
 아이콘 "mdi:정보"
 플랫폼: 모드버스\_컨트롤러
 MODBUS\_controller\_ID: 화웨이\_인버터
 register\_type: holding
 주소 30015
 register\_count: 10
 응답\_크기: 20
 SKIP\_updates: 100
 - 이름: "화웨이 인버터 PN"
 아이콘 "mdi:정보"
 플랫폼: 모드버스\_컨트롤러
 MODBUS\_controller\_ID: 화웨이\_인버터
 register\_type: holding
 주소 30025
 register\_count: 10
 응답\_크기: 20
 SKIP\_updates: 100

 # 인버터 상태 문자열
 - 이름: "화웨이 인버터 상태"
 플랫폼: 템플릿
 ID: 인버터\_상태\_스트링
 아이콘 "mdi:정보"
바이너리\_센서:
 # 범위 32000 - 32019 (1/2)
 # 32000 등록
 - 이름: "화웨이 인버터 상태 대기"
 아이콘 "mdi:정보"
 플랫폼: MODBUS\_controller
 MODBUS\_controller\_ID: 화웨이\_인버터
 register\_type: holding
 주소 32000
 bitmask: 0x001
 - 이름: "화웨이 인버터 상태 그리드 연결"
 아이콘 "mdi:정보"
 플랫폼: modbus\_controller
 MODBUS\_controller\_ID: 화웨이\_인버터
 register\_type: holding
 주소 32000
 bitmask: 0x002
 - 이름: "화웨이 인버터 상태 그리드 연결 정상"
 아이콘 "mdi:정보"
 플랫폼: MODBUS\_controller
 MODBUS\_controller\_ID: 화웨이\_인버터
 register\_type: holding
 주소 32000
 bitmask: 0x004
 - 이름: "전력 배급으로 인한 경감으로 화웨이 인버터 상태 그리드 연결"
 아이콘 "mdi:정보"
 플랫폼: MODBUS\_controller
 MODBUS\_controller\_ID: 화웨이\_인버터
 register\_type: holding
 주소 32000
 bitmask: 0x008
 - 이름: "태양광 인버터의 내부 원인으로 인한 경감으로 화웨이 인버터 상태 그리드 연결"
 아이콘 "mdi:정보"
 플랫폼: modbus\_controller
 MODBUS\_controller\_ID: 화웨이\_인버터
 register\_type: holding
 주소 32000
 bitmask: 0x010
 - 이름: "화웨이 인버터 상태 정상 정지"
 아이콘 "mdi:정보"
 플랫폼: MODBUS\_controller
 MODBUS\_controller\_ID: 화웨이\_인버터
 등록\_유형: 보류
 주소 32000
 bitmask: 0x020
 - 이름: "결함으로 인해 화웨이 인버터 상태 중지"
 아이콘 "mdi:정보"
 플랫폼: MODBUS\_controller
 MODBUS\_controller\_ID: 화웨이\_인버터
 등록\_유형: 보류
 주소 32000
 bitmask: 0x040
 - 이름: "전력 배급으로 인해 화웨이 인버터 상태 중지"
 아이콘 "mdi:정보"
 플랫폼: MODBUS\_controller
 MODBUS\_controller\_ID: 화웨이\_인버터
 register\_type: holding
 주소 32000
 bitmask: 0x080
 - 이름: "화웨이 인버터 상태 종료"
 아이콘 "mdi:정보"
 플랫폼: MODBUS\_controller
 MODBUS\_controller\_ID: 화웨이\_인버터
 등록\_유형: 보류
 주소 32000
 bitmask: 0x100
 - 이름: "화웨이 인버터 상태 스팟 점검"
 아이콘 "mdi:정보"
 플랫폼: MODBUS\_controller
 MODBUS\_controller\_ID: 화웨이\_인버터
 등록\_type: 보류 중
 주소 32000
 bitmask: 0x200
 # 레지스터 32002
 - 이름: "화웨이 인버터 상태 잠금 해제"
 아이콘 "mdi:정보"
 플랫폼: MODBUS\_controller
 MODBUS\_controller\_ID: 화웨이\_인버터
 등록\_type: 보류 중
 주소 32002
 bitmask: 0x1
 - 이름: "화웨이 인버터 상태 PV 연결됨"
 아이콘 "mdi:정보"
 플랫폼: MODBUS\_controller
 MODBUS\_controller\_ID: 화웨이\_인버터
 register\_type: holding
 주소 32002
 bitmask: 0x2
 - 이름: "화웨이 인버터 상태 DSP 데이터 수집"
 아이콘 "mdi:정보"
 플랫폼: 모드버스\_컨트롤러
 MODBUS\_controller\_ID: 화웨이\_인버터
 register\_type: holding
 주소 32002
 bitmask: 0x4
 # 32003 레지스터
 - 이름: "화웨이 인버터 상태 오프그리드"
 아이콘 "mdi:정보"
 플랫폼: MODBUS\_controller
 MODBUS\_controller\_ID: 화웨이\_인버터
 등록\_type: 보류 중
 주소 32003
 bitmask: 0x1
 - 이름: "화웨이 인버터 상태 오프그리드 스위치 활성화"
 아이콘 "mdi:정보"
 플랫폼: MODBUS\_controller
 MODBUS\_controller\_ID: 화웨이\_인버터
 register\_type: holding
 주소 32003
 bitmask: 0x2
 # 레지스터 32008
 - 이름: "화웨이 인버터 알람 하이 스트링 입력 전압"
 아이콘 "mdi:정보"
 플랫폼: MODBUS\_controller
 MODBUS\_controller\_ID: 화웨이\_인버터
 register\_type: holding
 주소 32008
 bitmask: 0x0001
 - 이름: "화웨이 인버터 알람 DC 아크 오류"
 아이콘 "mdi:정보"
 플랫폼: MODBUS\_controller
 MODBUS\_controller\_ID: 화웨이\_인버터
 등록\_유형: 보류 중
 주소 32008
 bitmask: 0x0002
 - 이름: "화웨이 인버터 알람 문자열 역방향 연결"
 아이콘 "mdi:정보"
 플랫폼: 모드버스\_컨트롤러
 MODBUS\_controller\_ID: 화웨이\_인버터
 등록\_유형: 보류
 주소 32008
 bitmask: 0x0004
 - 이름: "화웨이 인버터 알람 문자열 전류 백피드"
 아이콘 "mdi:정보"
 플랫폼: modbus\_controller
 MODBUS\_controller\_ID: 화웨이\_인버터
 register\_type: holding
