Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Device Support Request] SPM01 - Tuya Zigbee Energy Meter Smart Power Consumption Monitor #2463

Open
Martin123456777 opened this issue Jul 7, 2023 · 16 comments
Labels
Tuya Request/PR regarding a Tuya device

Comments

@Martin123456777
Copy link

Problem description

After added meter to Zigbee network, no entities for metering are visible in HA.
Item: https://www.aliexpress.com/item/1005005418122329.html?spm=a2g0o.order_list.order_list_main.31.24511802FVo01V

Only LQI and RSSI entities added.

Item is recognized as TS0601 from _TZE200_bcusnqt8

Solution description

I want to use this meter in Energy panel. I have 3 pieces, for 3 phases.

Screenshots/Video

Screenshots/Video

[Paste/upload your media here]

Device signature

Device signature
{
  "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.FullFunctionDevice|MainsPowered|RxOnWhenIdle|AllocateAddress: 142>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
  "endpoints": {
    "1": {
      "profile_id": "0x0104",
      "device_type": "0x0051",
      "input_clusters": [
        "0x0000",
        "0x0004",
        "0x0005",
        "0xef00"
      ],
      "output_clusters": [
        "0x000a",
        "0x0019"
      ]
    }
  },
  "manufacturer": "_TZE200_bcusnqt8",
  "model": "TS0601",
  "class": "zigpy.device.Device"
}

Diagnostic information

Diagnostic information
{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2023.7.1",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.11.4",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Prague",
    "os_name": "Linux",
    "os_version": "6.1.34",
    "supervisor": "2023.07.1",
    "host_os": "Home Assistant OS 10.3",
    "docker_version": "23.0.6",
    "chassis": "vm",
    "run_as_root": true
  },
  "custom_components": {
    "dwains_dashboard": {
      "version": "3.4.3",
      "requirements": []
    },
    "mikrotik_router": {
      "version": "0.0.0",
      "requirements": [
        "librouteros>=3.2.0",
        "mac-vendor-lookup>=0.1.12"
      ]
    },
    "hacs": {
      "version": "1.32.1",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "smartthinq_sensors": {
      "version": "0.31.8",
      "requirements": [
        "pycountry>=20.7.3",
        "xmltodict>=0.12.0",
        "charset_normalizer>=2.0.0"
      ]
    },
    "upnp_availability": {
      "version": "0.0.3",
      "requirements": [
        "async_upnp_client>=0.33"
      ]
    },
    "xiaomi_miot": {
      "version": "0.7.10",
      "requirements": [
        "construct==2.10.56",
        "python-miio>=0.5.6",
        "micloud>=0.3"
      ]
    }
  },
  "integration_manifest": {
    "domain": "zha",
    "name": "Zigbee Home Automation",
    "after_dependencies": [
      "onboarding",
      "usb"
    ],
    "codeowners": [
      "@dmulcahey",
      "@adminiuga",
      "@puddly"
    ],
    "config_flow": true,
    "dependencies": [
      "file_upload"
    ],
    "documentation": "https://www.home-assistant.io/integrations/zha",
    "iot_class": "local_polling",
    "loggers": [
      "aiosqlite",
      "bellows",
      "crccheck",
      "pure_pcapy3",
      "zhaquirks",
      "zigpy",
      "zigpy_deconz",
      "zigpy_xbee",
      "zigpy_zigate",
      "zigpy_znp"
    ],
    "requirements": [
      "bellows==0.35.8",
      "pyserial==3.5",
      "pyserial-asyncio==0.6",
      "zha-quirks==0.0.101",
      "zigpy-deconz==0.21.0",
      "zigpy==0.56.1",
      "zigpy-xbee==0.18.1",
      "zigpy-zigate==0.11.0",
      "zigpy-znp==0.11.2"
    ],
    "usb": [
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*2652*",
        "known_devices": [
          "slae.sh cc2652rb stick"
        ]
      },
      {
        "vid": "1A86",
        "pid": "55D4",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus v2"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*zigstar*",
        "known_devices": [
          "ZigStar Coordinators"
        ]
      },
      {
        "vid": "1CF1",
        "pid": "0030",
        "description": "*conbee*",
        "known_devices": [
          "Conbee II"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8A2A",
        "description": "*zigbee*",
        "known_devices": [
          "Nortek HUSBZB-1"
        ]
      },
      {
        "vid": "0403",
        "pid": "6015",
        "description": "*zigate*",
        "known_devices": [
          "ZiGate+"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*zigate*",
        "known_devices": [
          "ZiGate"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8B34",
        "description": "*bv 2010/10*",
        "known_devices": [
          "Bitron Video AV2010/10"
        ]
      }
    ],
    "zeroconf": [
      {
        "type": "_esphomelib._tcp.local.",
        "name": "tube*"
      },
      {
        "type": "_zigate-zigbee-gateway._tcp.local.",
        "name": "*zigate*"
      },
      {
        "type": "_zigstar_gw._tcp.local.",
        "name": "*zigstar*"
      },
      {
        "type": "_slzb-06._tcp.local.",
        "name": "slzb-06*"
      }
    ],
    "is_built_in": true
  },
  "data": {
    "ieee": "**REDACTED**",
    "nwk": 48746,
    "manufacturer": "_TZE200_bcusnqt8",
    "model": "TS0601",
    "name": "_TZE200_bcusnqt8 TS0601",
    "quirk_applied": false,
    "quirk_class": "zigpy.device.Device",
    "manufacturer_code": 4098,
    "power_source": "Mains",
    "lqi": 33,
    "rssi": -88,
    "last_seen": "2023-07-07T23:08:58",
    "available": true,
    "device_type": "Router",
    "signature": {
      "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.FullFunctionDevice|MainsPowered|RxOnWhenIdle|AllocateAddress: 142>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
      "endpoints": {
        "1": {
          "profile_id": "0x0104",
          "device_type": "0x0051",
          "input_clusters": [
            "0x0000",
            "0x0004",
            "0x0005",
            "0xef00"
          ],
          "output_clusters": [
            "0x000a",
            "0x0019"
          ]
        }
      },
      "manufacturer": "_TZE200_bcusnqt8",
      "model": "TS0601"
    },
    "active_coordinator": false,
    "entities": [
      {
        "entity_id": "sensor.tze200_bcusnqt8_ts0601_lqi",
        "name": "_TZE200_bcusnqt8 TS0601"
      }
    ],
    "neighbors": [
      {
        "device_type": "Coordinator",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x0000",
        "permit_joining": "Unknown",
        "depth": "0",
        "lqi": "65"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x608D",
        "permit_joining": "Unknown",
        "depth": "15",
        "lqi": "255"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0xBAE7",
        "permit_joining": "Unknown",
        "depth": "15",
        "lqi": "255"
      },
      {
        "device_type": "EndDevice",
        "rx_on_when_idle": "Off",
        "relationship": "Child",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x9E4D",
        "permit_joining": "NotAccepting",
        "depth": "2",
        "lqi": "0"
      }
    ],
    "routes": [
      {
        "dest_nwk": "0x608D",
        "route_status": "Active",
        "memory_constrained": false,
        "many_to_one": false,
        "route_record_required": false,
        "next_hop": "0x608D"
      },
      {
        "dest_nwk": "0xBAE7",
        "route_status": "Active",
        "memory_constrained": false,
        "many_to_one": false,
        "route_record_required": false,
        "next_hop": "0xBAE7"
      },
      {
        "dest_nwk": "0x0000",
        "route_status": "Active",
        "memory_constrained": true,
        "many_to_one": true,
        "route_record_required": false,
        "next_hop": "0x0000"
      },
      {
        "dest_nwk": "0x7475",
        "route_status": "Discovery_Underway",
        "memory_constrained": false,
        "many_to_one": false,
        "route_record_required": false,
        "next_hop": "0x0000"
      }
    ],
    "endpoint_names": [
      {
        "name": "SMART_PLUG"
      }
    ],
    "user_given_name": "Faze1",
    "device_reg_id": "af6d9920cd515384dbb012b7e33084c6",
    "area_id": "predsin",
    "cluster_details": {
      "1": {
        "device_type": {
          "name": "SMART_PLUG",
          "id": 81
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {
              "0x0001": {
                "attribute_name": "app_version",
                "value": 68
              },
              "0x0004": {
                "attribute_name": "manufacturer",
                "value": "_TZE200_bcusnqt8"
              },
              "0x0005": {
                "attribute_name": "model",
                "value": "TS0601"
              }
            },
            "unsupported_attributes": {}
          },
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0xef00": {
            "endpoint_attribute": null,
            "attributes": {},
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {
          "0x0019": {
            "endpoint_attribute": "ota",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x000a": {
            "endpoint_attribute": "time",
            "attributes": {},
            "unsupported_attributes": {}
          }
        }
      }
    }
  }
}

Logs

Logs
[Paste the logs here]

Custom quirk

Custom quirk
[Paste your custom quirk here]

Additional information

Thank you :-)

@Martin123456777 Martin123456777 changed the title Tuya Zigbee Energy Meter Smart Power Consumption Monitor [Device Support Request] Tuya Zigbee Energy Meter Smart Power Consumption Monitor Jul 7, 2023
@Martin123456777
Copy link
Author

Hi, i found same device, which is supported on zigbee2mqtt: https://www.zigbee2mqtt.io/devices/SPM01.html
May be helpfull. It is SPM01

Thank you
Martin

@Martin123456777 Martin123456777 changed the title [Device Support Request] Tuya Zigbee Energy Meter Smart Power Consumption Monitor [Device Support Request] SPM01 - Tuya Zigbee Energy Meter Smart Power Consumption Monitor Jul 11, 2023
@nicolasknto
Copy link

Hello, I also bought three devices from Zemismart SPM01-D2TZ on Aliexpress and I intend to use them in Home Assistant to measure the consumption of two showers and a boiler.
I use the ZHA in the HA and no electrical measurement entity appears.
Devices return model TS0601 _TZE200_bcusnqt8.
I would greatly appreciate it if anyone could expedite creating the custom quirk code to allow full use of these devices.
thank you very much I'm waiting
Nicolas

@TheJulianJES TheJulianJES added the Tuya Request/PR regarding a Tuya device label Jul 30, 2023
@razqqm
Copy link

razqqm commented Aug 22, 2023

please add SPM01 in ZHA

@Cseeu
Copy link

Cseeu commented Aug 28, 2023

I have the same issue... Anyone that can pleaaaase add SPM01 into ZHA?

@Hedda
Copy link
Contributor

Hedda commented Aug 29, 2023

For reference, blakadder has posted a nice review of the hardware in his blog here -> https://blakadder.com/zemismart-spm01/

@sectune
Copy link

sectune commented Sep 14, 2023

I am also very interested in having it supported in zha. I have a three phase Zigbee version of SPM01 which I am not using currently and am offering to send it to developers free of charge. Please contact me in case you are willing to give it a shot.

@mmastria
Copy link

I have 16 of SPM01 device in my house, categorizing energy consumptions. I'm using with Zigbee2MQTT, but I'm having several instability issues, and I want to switch to ZHA. I have a few other non-recognized devices, but SPM01 is a critical one, I can't loose my energy monitoring.

Please add support for this device or, If there's a quirk somewhere from this or a similar device, please let me know.

Thanks,
Mastria.

@agocsdaniel
Copy link

agocsdaniel commented Sep 22, 2023

@sectune I'm afraid the 3-phase variant is different, but I can't test it

@sectune
Copy link

sectune commented Sep 23, 2023

@sectune I'm afraid the 3-phase variant is different, but I can't test it

@agocsdaniel Can I somehow get in touch with you e.g. to send you the 3-phase? (free of charge ofc)

@agocsdaniel
Copy link

@sectune There's probably no need for that. Check the latest commit in the PR. I tried something, I hope it will work for the SPM02.

@tbaumann
Copy link

Looks like the perfect hardware solution for small fuse boxes to me. I'd love to get one when supported.

@nemesix29
Copy link

I'm very enthusiastic about this support

@fbalesse
Copy link

fbalesse commented Dec 2, 2023

Hi, interested too about this support. Thanks

@ckadluba
Copy link

ckadluba commented Jan 8, 2024

I'm also looking forward to Zemismart SPM01 being supported with ZHA. It seems to work with Zigbee2MQTT but I cannot use this since I have problems getting it (Z2M) to run with my Nabu Casa SkyConnect dongle. :(

@BlairC1
Copy link

BlairC1 commented Mar 3, 2024

This Quirk worked for me - 719490a

@lboue
Copy link

lboue commented Apr 3, 2024

This Quirk worked for me - 719490a

It works for my _TZE200_qhlxve78 TS0601 too:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Tuya Request/PR regarding a Tuya device
Projects
None yet
Development

No branches or pull requests