Jelajahi Sumber

WiFi Dual Channel Smart Meter

Added support for an unknown brand smart meter.

------------------
{
  "result": [
    {
      "active_time": 1725554900,
      "bind_space_id": "9726125",
      "category": "zndb",
      "create_time": 1725554900,
      "custom_name": "Smart Meters",
      "icon": "smart/icon/ay1565138036928sSi0S/20f8c422c755e98e5e06e82415d5f030.png",
      "id": "xxxxxxxxxxxxxxxxxxxxxx",
      "ip": "xxx.xxx.xxx.xxx",
      "is_online": true,
      "lat": "-25.4",
      "local_key": "xxxxxxxxxxxxxxxxxxxxxxxx",
      "lon": "-49.28",
      "model": "",
      "name": "Smart meters",
      "product_id": "8bjnabt4gh8tu4vr",
      "product_name": "智能电表",
      "sub": false,
      "time_zone": "-03:00",
      "update_time": 1725558450,
      "uuid": "993853344b9faa20"
    }
  ],
  "success": true,
  "t": 1725559520434,
  "tid": "6a0559c16bb111ef86b3722f08288c6c"
}

{
  "result": {
    "model": "{\"modelId\":\"f3vnog\",
	\"services\":[{\"actions\":[],\"code\":\"\",\"description\":\"\",\"events\":[],\"name\":\"默认服务\",
	\"properties\":
	[{\"abilityId\":1,\"accessMode\":\"rw\",\"code\":\"forward_energy_total\",\"description\":\"\",	\"extensions\":
		{\"attribute\":\"1152\"},\"name\":\"正向总有功电量\",\"typeSpec\":{\"type\":\"value\",\"max\":99999999,\"min\":0,
		\"scale\":2,\"step\":1,\"unit\":\"kW·h\"}},
	{\"abilityId\":2,\"accessMode\":\"rw\",\"code\":\"reverse_energy_total\",\"description\":\"\",\"extensions\":
		{\"attribute\":\"1152\"},\"name\":\"反向总有功电量\",\"typeSpec\":{\"type\":\"value\",\"max\":99999999,\"min\":0,
		\"scale\":2,\"step\":1,\"unit\":\"kW·h\"}},
	{\"abilityId\":101,\"accessMode\":\"ro\",\"code\":\"f_ac_v\",\"description\":\"\",\"name\":\"电压\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":1,\"step\":1,\"unit\":\"V\"}},
	{\"abilityId\":102,\"accessMode\":\"ro\",\"code\":\"f_ac_line_freq\",\"description\":\"\",\"name\":\"市电线性频率\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":2,\"step\":1,\"unit\":\"Hz\"}},
	{\"abilityId\":103,\"accessMode\":\"ro\",\"code\":\"total_power\",\"description\":\"\",\"name\":\" 总功率\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":-99999999,\"scale\":1,\"step\":1,\"unit\":\"W\"}},
	{\"abilityId\":104,\"accessMode\":\"ro\",\"code\":\"power_factor_a\",\"description\":\"\",\"name\":\"A通道功率因素\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":2,\"step\":1,\"unit\":\"\"}},
	{\"abilityId\":105,\"accessMode\":\"ro\",\"code\":\"current_a\",\"description\":\"\",\"name\":\"A通道电流\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"mA\"}},
	{\"abilityId\":106,\"accessMode\":\"ro\",\"code\":\"power_a\",\"description\":\"\",\"name\":\"A通道功率\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":1,\"step\":1,\"unit\":\"W\"}},
	{\"abilityId\":107,\"accessMode\":\"ro\",\"code\":\"forward_energy_a\",\"description\":\"\",\"name\":\"A通道正向电量\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":2,\"step\":1,\"unit\":\"KWH\"}},
	{\"abilityId\":108,\"accessMode\":\"ro\",\"code\":\"reverse_energy_a\",\"description\":\"\",\"name\":\"A通道反向电量\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":2,\"step\":1,\"unit\":\"KWH\"}},
	{\"abilityId\":109,\"accessMode\":\"ro\",\"code\":\"power_factor_b\",\"description\":\"\",\"name\":\"B通道功率因素\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":2,\"step\":1,\"unit\":\"\"}},
	{\"abilityId\":110,\"accessMode\":\"ro\",\"code\":\"current_b\",\"description\":\"\",\"name\":\"B通道电流\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"mA\"}},
	{\"abilityId\":111,\"accessMode\":\"ro\",\"code\":\"power_b\",\"description\":\"\",\"name\":\"B通道功率\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":1,\"step\":1,\"unit\":\"W\"}},
	{\"abilityId\":112,\"accessMode\":\"ro\",\"code\":\"forward_energy_b\",\"description\":\"\",\"name\":\"B通道正向电量\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":2,\"step\":1,\"unit\":\"KWH\"}},
	{\"abilityId\":113,\"accessMode\":\"ro\",\"code\":\"reverse_energy_b\",\"description\":\"\",\"name\":\"B通道反向电量\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":2,\"step\":1,\"unit\":\"KWH\"}},
	{\"abilityId\":114,\"accessMode\":\"ro\",\"code\":\"forward_energy_a_total\",\"description\":\"\",\"name\":\"A通道正向总电量\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":2,\"step\":1,\"unit\":\"KWH\"}},
	{\"abilityId\":115,\"accessMode\":\"ro\",\"code\":\"reverse_energy_a_total\",\"description\":\"\",\"name\":\"A通道反向总电量\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":2,\"step\":1,\"unit\":\"KWH\"}},
	{\"abilityId\":116,\"accessMode\":\"ro\",\"code\":\"forward_energy_b_total\",\"description\":\"\",\"name\":\"B通道正向总电量\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":2,\"step\":1,\"unit\":\"KWH\"}},
	{\"abilityId\":117,\"accessMode\":\"ro\",\"code\":\"reverse_energy_b_total\",\"description\":\"\",\"name\":\"B通道反向总电量\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":2,\"step\":1,\"unit\":\"KWH\"}},
	{\"abilityId\":118,\"accessMode\":\"ro\",\"code\":\"forward_energy_a_hour\",\"description\":\"\",\"extensions\":{\"trigger\":\"direct\"},\"name\":\"A通道每小时正向电量\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":2,\"step\":1,\"unit\":\"KWH\"}},
	{\"abilityId\":119,\"accessMode\":\"ro\",\"code\":\"reverse_energy_a_hour\",\"description\":\"\",\"extensions\":{\"trigger\":\"direct\"},\"name\":\"A通道每小时反向电量\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":2,\"step\":1,\"unit\":\"KWH\"}},
	{\"abilityId\":120,\"accessMode\":\"ro\",\"code\":\"forward_energy_b_hour\",\"description\":\"\",\"extensions\":{\"trigger\":\"direct\"},\"name\":\"B通道每小时正向电量\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":2,\"step\":1,\"unit\":\"KWH\"}},
	{\"abilityId\":121,\"accessMode\":\"ro\",\"code\":\"reverse_energy_b_hour\",\"description\":\"\",\"extensions\":{\"trigger\":\"direct\"},\"name\":\"B通道每小时反向电量\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":2,\"step\":1,\"unit\":\"KWH\"}},
	{\"abilityId\":122,\"accessMode\":\"ro\",\"code\":\"forward_energy_total_hour\",\"description\":\"\",\"extensions\":{\"trigger\":\"direct\"},\"name\":\"全部通道每小时正向电量\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":2,\"step\":1,\"unit\":\"KWH\"}},
	{\"abilityId\":123,\"accessMode\":\"ro\",\"code\":\"reverse_energy_total_hour\",\"description\":\"\",\"extensions\":{\"trigger\":\"direct\"},\"name\":\"全部通道每小时反向电量\",\"typeSpec\":
		{\"type\":\"value\",\"max\":99999999,\"min\":0,\"scale\":2,\"step\":1,\"unit\":\"KWH\"}},
	{\"abilityId\":124,\"accessMode\":\"ro\",\"code\":\"power_direction_a\",\"description\":\"\",\"name\":\"A通道功率方向\",\"typeSpec\":
		{\"type\":\"bool\"}},
	{\"abilityId\":125,\"accessMode\":\"ro\",\"code\":\"power_direction_b\",\"description\":\"\",\"name\":\"B通道功率方向\",\"typeSpec\":
		{\"type\":\"bool\"}},
	{\"abilityId\":126,\"accessMode\":\"rw\",\"code\":\"report_rate_control\",\"description\":\"\",\"name\":\"上报时间设置\",\"typeSpec\":
		{\"type\":\"value\",\"max\":180,\"min\":10,\"scale\":0,\"step\":10,\"unit\":\"s\"}},
	{\"abilityId\":127,\"accessMode\":\"rw\",\"code\":\"voltage_calibration\",\"description\":\"\",\"name\":\"电压校准\",\"typeSpec\":
		{\"type\":\"value\",\"max\":1200,\"min\":800,\"scale\":3,\"step\":1,\"unit\":\"\"}},
	{\"abilityId\":128,\"accessMode\":\"rw\",\"code\":\"freq_calibration\",\"description\":\"\",\"name\":\"频率校准\",\"typeSpec\":
		{\"type\":\"value\",\"max\":1200,\"min\":800,\"scale\":3,\"step\":1,\"unit\":\"\"}},
	{\"abilityId\":129,\"accessMode\":\"rw\",\"code\":\"current_a_calibration\",\"description\":\"\",\"name\":\"A通道电流校准\",\"typeSpec\":
		{\"type\":\"value\",\"max\":1200,\"min\":800,\"scale\":3,\"step\":1,\"unit\":\"\"}},
	{\"abilityId\":130,\"accessMode\":\"rw\",\"code\":\"power_a_calibration\",\"description\":\"\",\"name\":\"A通道功率校准\",\"typeSpec\":
		{\"type\":\"value\",\"max\":1200,\"min\":800,\"scale\":3,\"step\":1,\"unit\":\"\"}},
	{\"abilityId\":131,\"accessMode\":\"rw\",\"code\":\"energy_a_calibration_fwd\",\"description\":\"\",\"name\":\"A通道正向电量校准\",\"typeSpec\":
		{\"type\":\"value\",\"max\":1200,\"min\":800,\"scale\":3,\"step\":1,\"unit\":\"\"}},
	{\"abilityId\":132,\"accessMode\":\"rw\",\"code\":\"energy_a_calibration_rev\",\"description\":\"\",\"name\":\"A通道反向电量校准\",\"typeSpec\":
		{\"type\":\"value\",\"max\":1200,\"min\":800,\"scale\":3,\"step\":1,\"unit\":\"\"}},
	{\"abilityId\":133,\"accessMode\":\"rw\",\"code\":\"current_b_calibration\",\"description\":\"\",\"name\":\"B通道电流校准\",\"typeSpec\":
		{\"type\":\"value\",\"max\":1200,\"min\":800,\"scale\":3,\"step\":1,\"unit\":\"\"}},
	{\"abilityId\":134,\"accessMode\":\"rw\",\"code\":\"power_b_calibration\",\"description\":\"\",\"name\":\"B通道功率校准\",\"typeSpec\":
		{\"type\":\"value\",\"max\":1200,\"min\":800,\"scale\":3,\"step\":1,\"unit\":\"\"}},
	{\"abilityId\":135,\"accessMode\":\"rw\",\"code\":\"energy_b_calibration_fwd\",\"description\":\"\",\"name\":\"B通道正向电量校准\",\"typeSpec\":
		{\"type\":\"value\",\"max\":1200,\"min\":800,\"scale\":3,\"step\":1,\"unit\":\"\"}},
	{\"abilityId\":136,\"accessMode\":\"rw\",\"code\":\"energy_b_calibration_rev\",\"description\":\"\",\"name\":\"B通道反向电量校准\",\"typeSpec\":
		{\"type\":\"value\",\"max\":1200,\"min\":800,\"scale\":3,\"step\":1,\"unit\":\"\"}},
	{\"abilityId\":137,\"accessMode\":\"rw\",\"code\":\"power_setting\",\"description\":\"\",\"name\":\"功率设置\",\"typeSpec\":
		{\"type\":\"value\",\"max\":20000,\"min\":200,\"scale\":0,\"step\":100,\"unit\":\"W\"}},
	{\"abilityId\":138,\"accessMode\":\"ro\",\"code\":\"power_alarm\",\"description\":\"\",\"extensions\":{\"trigger\":\"direct\"},\"name\":\"功率报警\",\"typeSpec\":
		{\"type\":\"bool\"}},
	{\"abilityId\":139,\"accessMode\":\"rw\",\"code\":\"power_setting_2\",\"description\":\"\",\"name\":\"功率设置2\",\"typeSpec\":
		{\"type\":\"value\",\"max\":20000,\"min\":200,\"scale\":0,\"step\":100,\"unit\":\"W\"}},
	{\"abilityId\":140,\"accessMode\":\"ro\",\"code\":\"power_alarm_2\",\"description\":\"\",\"extensions\":{\"trigger\":\"direct\"},\"name\":\"功率报警2\",\"typeSpec\":
		{\"type\":\"bool\"}}]}]}"
  },
  "success": true,
  "t": 1725562896021,
  "tid": "45fef6856bb911efa40e26e14bc0e907"
}

{
  "result": {
    "properties": [
      {
        "code": "forward_energy_total",
        "custom_name": "",
        "dp_id": 1,
        "time": 1725554918862,
        "type": "value",
        "value": 0
      },
      {
        "code": "reverse_energy_total",
        "custom_name": "",
        "dp_id": 2,
        "time": 1725554918862,
        "type": "value",
        "value": 0
      },
      {
        "code": "f_ac_v",
        "custom_name": "",
        "dp_id": 101,
        "time": 1725559550436,
        "type": "value",
        "value": 1277
      },
      {
        "code": "f_ac_line_freq",
        "custom_name": "",
        "dp_id": 102,
        "time": 1725559560392,
        "type": "value",
        "value": 5881
      },
      {
        "code": "total_power",
        "custom_name": "",
        "dp_id": 103,
        "time": 1725554918862,
        "type": "value",
        "value": 0
      },
      {
        "code": "power_factor_a",
        "custom_name": "",
        "dp_id": 104,
        "time": 1725554918862,
        "type": "value",
        "value": 0
      },
      {
        "code": "current_a",
        "custom_name": "",
        "dp_id": 105,
        "time": 1725554918862,
        "type": "value",
        "value": 0
      },
      {
        "code": "power_a",
        "custom_name": "",
        "dp_id": 106,
        "time": 1725554918862,
        "type": "value",
        "value": 0
      },
      {
        "code": "forward_energy_a",
        "custom_name": "",
        "dp_id": 107,
        "time": 1725554918862,
        "type": "value",
        "value": 0
      },
      {
        "code": "reverse_energy_a",
        "custom_name": "",
        "dp_id": 108,
        "time": 1725554918862,
        "type": "value",
        "value": 0
      },
      {
        "code": "power_factor_b",
        "custom_name": "",
        "dp_id": 109,
        "time": 1725559481431,
        "type": "value",
        "value": 0
      },
      {
        "code": "current_b",
        "custom_name": "",
        "dp_id": 110,
        "time": 1725554918862,
        "type": "value",
        "value": 0
      },
      {
        "code": "power_b",
        "custom_name": "",
        "dp_id": 111,
        "time": 1725554918862,
        "type": "value",
        "value": 0
      },
      {
        "code": "forward_energy_b",
        "custom_name": "",
        "dp_id": 112,
        "time": 1725554918862,
        "type": "value",
        "value": 0
      },
      {
        "code": "reverse_energy_b",
        "custom_name": "",
        "dp_id": 113,
        "time": 1725554918862,
        "type": "value",
        "value": 0
      },
      {
        "code": "forward_energy_a_total",
        "custom_name": "",
        "dp_id": 114,
        "time": 1725554918862,
        "type": "value",
        "value": 0
      },
      {
        "code": "reverse_energy_a_total",
        "custom_name": "",
        "dp_id": 115,
        "time": 1725554918862,
        "type": "value",
        "value": 0
      },
      {
        "code": "forward_energy_b_total",
        "custom_name": "",
        "dp_id": 116,
        "time": 1725554918862,
        "type": "value",
        "value": 0
      },
      {
        "code": "reverse_energy_b_total",
        "custom_name": "",
        "dp_id": 117,
        "time": 1725554918862,
        "type": "value",
        "value": 0
      },
      {
        "code": "forward_energy_a_hour",
        "custom_name": "",
        "dp_id": 118,
        "time": 1725558509690,
        "type": "value",
        "value": 0
      },
      {
        "code": "reverse_energy_a_hour",
        "custom_name": "",
        "dp_id": 119,
        "time": 1725558509690,
        "type": "value",
        "value": 0
      },
      {
        "code": "forward_energy_b_hour",
        "custom_name": "",
        "dp_id": 120,
        "time": 1725558509690,
        "type": "value",
        "value": 0
      },
      {
        "code": "reverse_energy_b_hour",
        "custom_name": "",
        "dp_id": 121,
        "time": 1725558509690,
        "type": "value",
        "value": 0
      },
      {
        "code": "forward_energy_total_hour",
        "custom_name": "",
        "dp_id": 122,
        "time": 1725558509690,
        "type": "value",
        "value": 0
      },
      {
        "code": "reverse_energy_total_hour",
        "custom_name": "",
        "dp_id": 123,
        "time": 1725558509690,
        "type": "value",
        "value": 0
      },
      {
        "code": "power_direction_a",
        "custom_name": "",
        "dp_id": 124,
        "time": 1725554918862,
        "type": "bool",
        "value": false
      },
      {
        "code": "power_direction_b",
        "custom_name": "",
        "dp_id": 125,
        "time": 1725554918862,
        "type": "bool",
        "value": false
      },
      {
        "code": "report_rate_control",
        "custom_name": "",
        "dp_id": 126,
        "time": 1725554900261,
        "type": "value",
        "value": 10
      },
      {
        "code": "voltage_calibration",
        "custom_name": "",
        "dp_id": 127,
        "time": 1725554900261,
        "type": "value",
        "value": 800
      },
      {
        "code": "freq_calibration",
        "custom_name": "",
        "dp_id": 128,
        "time": 1725554900261,
        "type": "value",
        "value": 800
      },
      {
        "code": "current_a_calibration",
        "custom_name": "",
        "dp_id": 129,
        "time": 1725554900261,
        "type": "value",
        "value": 800
      },
      {
        "code": "power_a_calibration",
        "custom_name": "",
        "dp_id": 130,
        "time": 1725554900261,
        "type": "value",
        "value": 800
      },
      {
        "code": "energy_a_calibration_fwd",
        "custom_name": "",
        "dp_id": 131,
        "time": 1725554900261,
        "type": "value",
        "value": 800
      },
      {
        "code": "energy_a_calibration_rev",
        "custom_name": "",
        "dp_id": 132,
        "time": 1725554900261,
        "type": "value",
        "value": 800
      },
      {
        "code": "current_b_calibration",
        "custom_name": "",
        "dp_id": 133,
        "time": 1725554900261,
        "type": "value",
        "value": 800
      },
      {
        "code": "power_b_calibration",
        "custom_name": "",
        "dp_id": 134,
        "time": 1725554900261,
        "type": "value",
        "value": 800
      },
      {
        "code": "energy_b_calibration_fwd",
        "custom_name": "",
        "dp_id": 135,
        "time": 1725554900261,
        "type": "value",
        "value": 800
      },
      {
        "code": "energy_b_calibration_rev",
        "custom_name": "",
        "dp_id": 136,
        "time": 1725554900261,
        "type": "value",
        "value": 800
      },
      {
        "code": "power_setting",
        "custom_name": "",
        "dp_id": 137,
        "time": 1725554900261,
        "type": "value",
        "value": 200
      },
      {
        "code": "power_alarm",
        "custom_name": "",
        "dp_id": 138,
        "time": 1725559560392,
        "type": "bool",
        "value": false
      },
      {
        "code": "power_setting_2",
        "custom_name": "",
        "dp_id": 139,
        "time": 1725554900261,
        "type": "value",
        "value": 200
      },
      {
        "code": "power_alarm_2",
        "custom_name": "",
        "dp_id": 140,
        "time": 1725559560392,
        "type": "bool",
        "value": false
      }
    ]
  },
  "success": true,
  "t": 1725559567588,
  "tid": "861dce536bb111efbcbd7aea62a19b8a"
}
giacomitti 1 tahun lalu
induk
melakukan
a7b686529e

+ 452 - 0
custom_components/tuya_local/devices/unknow_2way_energymeter.yaml

@@ -0,0 +1,452 @@
+# Can´t put some DPs to work (calibration and alarms)
+name: Bidirectional energy meter
+products:
+  - id: 8bjnabt4gh8tu4vr
+    name: Smart meters
+primary_entity:
+  entity: sensor
+  name: Forward energy total
+  class: energy
+  dps:
+    - id: 1
+      type: integer
+      optional: true
+      name: sensor
+      unit: kWh
+      class: total_increasing
+      mapping:
+        - scale: 100
+secondary_entities:
+  - entity: sensor
+    name: Forward energy total hour
+    class: energy
+    dps:
+      - id: 122
+        type: integer
+        optional: true
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Reverse energy total
+    class: energy
+    dps:
+      - id: 2
+        type: integer
+        optional: true
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Reverse energy total hour
+    class: energy
+    dps:
+      - id: 123
+        type: integer
+        optional: true
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  - entity: sensor
+    class: voltage
+    category: diagnostic
+    dps:
+      - id: 101
+        type: integer
+        name: sensor
+        unit: V
+        class: measurement
+        mapping:
+          - scale: 10
+      - id: 127
+        type: integer
+        name: calibration
+        step: 1
+        range:
+          min: 800
+          max: 1200
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    class: frequency
+    category: diagnostic
+    dps:
+      - id: 102
+        type: integer
+        name: sensor
+        unit: Hz
+        class: measurement
+        mapping:
+          - scale: 100
+      - id: 128
+        type: integer
+        name: calibration
+        step: 1
+        range:
+          min: 800
+          max: 1200
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    name: Total power
+    class: power
+    category: diagnostic
+    dps:
+      - id: 103
+        type: integer
+        name: sensor
+        unit: W
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: sensor
+    name: Power factor A
+    class: power_factor
+    category: diagnostic
+    dps:
+      - id: 104
+        type: integer
+        name: sensor
+        unit: "%"
+        class: measurement
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Current A
+    class: current
+    category: diagnostic
+    dps:
+      - id: 105
+        type: integer
+        name: sensor
+        unit: A
+        class: measurement
+        mapping:
+          - scale: 1000
+      # - id: 129
+      #   type: integer
+      #   name: calibration
+      #   step: 1
+      #     range:
+      #       min: 800
+      #       max: 1200
+      #     mapping:
+      #       - scale: 1000
+  - entity: sensor
+    name: Power A
+    class: power
+    category: diagnostic
+    dps:
+      - id: 106
+        type: integer
+        name: sensor
+        unit: W
+        class: measurement
+        mapping:
+          - scale: 10
+      - id: 124
+        type: boolean
+        name: direction
+  #     - id: 130
+  #       type: integer
+  #       name: calibration
+  #       step: 1
+  #       range:
+  #         min: 800
+  #         max: 1200
+  #       mapping:
+  #         - scale: 1000
+  - entity: sensor
+    name: Forward energy A
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 107
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  #     - id: 131
+  #       type: integer
+  #       name: calibration
+  #       step: 1
+  #       range:
+  #         min: 800
+  #         max: 1200
+  #       mapping:
+  #         - scale: 1000
+  - entity: sensor
+    name: Reverse energy A
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 108
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  #     - id: 132
+  #       type: integer
+  #       name: calibration
+  #       step: 1
+  #       range:
+  #         min: 800
+  #         max: 1200
+  #       mapping:
+  #         - scale: 1000
+  - entity: sensor
+    name: Forward energy A total
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 114
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Reverse energy A total
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 115
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Forward energy A hour
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 118
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Reverse energy A hour
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 119
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Power factor B
+    class: power_factor
+    category: diagnostic
+    dps:
+      - id: 109
+        type: integer
+        name: sensor
+        unit: "%"
+        class: measurement
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Current B
+    class: current
+    category: diagnostic
+    dps:
+      - id: 110
+        type: integer
+        name: sensor
+        unit: A
+        class: measurement
+        mapping:
+          - scale: 1000
+  #     - id: 133
+  #       type: integer
+  #       name: calibration
+  #       step: 1
+  #       range:
+  #         min: 800
+  #         max: 1200
+  #       mapping:
+  #         - scale: 1000
+  - entity: sensor
+    name: Power B
+    class: power
+    category: diagnostic
+    dps:
+      - id: 111
+        type: integer
+        name: sensor
+        unit: W
+        class: measurement
+        mapping:
+          - scale: 10
+      - id: 125
+        type: boolean
+        name: direction
+  #     - id: 134
+  #       type: integer
+  #       name: calibration
+  #       step: 1
+  #       range:
+  #         min: 800
+  #         max: 1200
+  #       mapping:
+  #         - scale: 1000
+  - entity: sensor
+    name: Forward energy B
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 112
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  #     - id: 135
+  #       type: integer
+  #       name: calibration
+  #       step: 1
+  #       range:
+  #         min: 800
+  #         max: 1200
+  #       mapping:
+  #         - scale: 1000
+  - entity: sensor
+    name: Reverse energy B
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 113
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  #     - id: 136
+  #       type: integer
+  #       name: calibration
+  #       step: 1
+  #       range:
+  #         min: 800
+  #         max: 1200
+  #       mapping:
+  #         - scale: 1000
+  - entity: sensor
+    name: Forward energy B total
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 116
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Reverse energy B total
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 117
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Forward energy B hour
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 120
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Reverse energy B hour
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 121
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  - entity: number
+    name: Reporting rate
+    category: config
+    icon: "mdi:timer-refresh"
+    dps:
+      - id: 126
+        type: integer
+        name: value
+        unit: s
+        step: 10
+        range:
+          min: 10
+          max: 180
+  # - entity: number
+  #   name: Power setting
+  #   category: config
+  #   dps:
+  #     - id: 137
+  #       type: integer
+  #       name: value
+  #       unit: W
+  #       step: 100
+  #       range:
+  #         min: 200
+  #         max: 20000
+  # - entity: switch
+  #   name: Power alarm
+  #   category: config
+  #   dps:
+  #     - id: 138
+  #       type: boolean
+  #       name: Power alarm 2
+  # - entity: number
+  #   name: Power setting 2
+  #   category: config
+  #   dps:
+  #     - id: 139
+  #       type: integer
+  #       name: value
+  #       unit: W
+  #       step: 100
+  #       range:
+  #         min: 200
+  #         max: 20000
+  # - entity: switch
+  #   name: Power alarm 2
+  #   category: config
+  #   dps:
+  #     - id: 140
+  #       type: boolean
+  #       name: Power alarm 2