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

[BUG] innr SP240 updates energy usage irregularly (power usage OK) #3243

Open
tvwerkhoven opened this issue Jul 5, 2024 · 4 comments
Open

Comments

@tvwerkhoven
Copy link

tvwerkhoven commented Jul 5, 2024

Bug description

After using the innr SP240 plugs for a while, I notice the energy update (i.e. in kWh) is very irregular (e.g. sometimes only once a day at random times), while the power update (i.e. in kW) works almost real time (updates multiple times per minute). This is a bit annoying to diagnose energy consumption in my house. See screenshots for clarification of the problem.

N.B. I already found and solved this issue #2781 before running into this problem.

Steps to reproduce

  1. Connect innr sp240
  2. Read power/energy data
  3. Get power data real time, energy data sporadically ~1x/day

Expected behavior

  1. Connect innr sp240
  2. Read power/energy data
  3. Get power & energy data real time

Screenshots/Video

Screenshots/Video

Observed behaviour (energy meter updates irregularly):
Screenshot 2024-07-05 at 11 11 44

Expected behaviour (other ZHA plug, energy meter updates regularly, in sync with power):
Screenshot 2024-07-05 at 11 13 46

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=4454, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, 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": "0x010a",
      "input_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0x0008",
        "0x0702",
        "0x0b04",
        "0x1000",
        "0xe001"
      ],
      "output_clusters": [
        "0x000a",
        "0x0019"
      ]
    },
    "242": {
      "profile_id": "0xa1e0",
      "device_type": "0x0061",
      "input_clusters": [],
      "output_clusters": [
        "0x0021"
      ]
    }
  },
  "manufacturer": "innr",
  "model": "SP 240",
  "class": "zhaquirks.innr.innr_sp240_plug.SP240"
}```

</details>


### Diagnostic information

<details><summary>Diagnostic information</summary>

```json
[Paste the diagnostic information here]

Logs

Logs
{
  "home_assistant": {
    "installation_type": "Home Assistant Container",
    "version": "2024.5.4",
    "dev": false,
    "hassio": false,
    "virtualenv": false,
    "python_version": "3.12.2",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Amsterdam",
    "os_name": "Linux",
    "os_version": "5.15.149-1-pve",
    "run_as_root": true
  },
  "custom_components": {
    "powercalc": {
      "documentation": "https://github.com/bramstroker/homeassistant-powercalc",
      "version": "v1.12.1",
      "requirements": [
        "numpy>=1.21.1"
      ]
    },
    "plugwise": {
      "documentation": "https://github.com/plugwise/plugwise-beta",
      "version": "0.27.0a3",
      "requirements": [
        "plugwise==0.22.0"
      ]
    },
    "solaredge_modbus": {
      "documentation": "https://github.com/binsentsu/home-assistant-solaredge-modbus",
      "version": "1.4.0",
      "requirements": [
        "pymodbus==3.1.1"
      ]
    },
    "alfen_wallbox": {
      "documentation": "https://github.com/leeyuentuen/alfen_wallbox",
      "version": "0.0.1",
      "requirements": []
    }
  },
  "integration_manifest": {
    "domain": "zha",
    "name": "Zigbee Home Automation",
    "after_dependencies": [
      "onboarding",
      "usb"
    ],
    "codeowners": [
      "@dmulcahey",
      "@adminiuga",
      "@puddly",
      "@TheJulianJES"
    ],
    "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",
      "universal_silabs_flasher"
    ],
    "requirements": [
      "bellows==0.38.4",
      "pyserial==3.5",
      "pyserial-asyncio==0.6",
      "zha-quirks==0.0.115",
      "zigpy-deconz==0.23.1",
      "zigpy==0.64.0",
      "zigpy-xbee==0.20.1",
      "zigpy-zigate==0.12.0",
      "zigpy-znp==0.12.1",
      "universal-silabs-flasher==0.0.18",
      "pyserial-asyncio-fast==0.11"
    ],
    "usb": [
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*2652*",
        "known_devices": [
          "slae.sh cc2652rb stick"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*slzb-07*",
        "known_devices": [
          "smlight slzb-07"
        ]
      },
      {
        "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": "0403",
        "pid": "6015",
        "description": "*conbee*",
        "known_devices": [
          "Conbee III"
        ]
      },
      {
        "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": "_uzg-01._tcp.local.",
        "name": "uzg-01*"
      },
      {
        "type": "_slzb-06._tcp.local.",
        "name": "slzb-06*"
      }
    ],
    "is_built_in": true
  },
  "data": {
    "ieee": "**REDACTED**",
    "nwk": 60731,
    "manufacturer": "innr",
    "model": "SP 240",
    "name": "innr SP 240",
    "quirk_applied": true,
    "quirk_class": "zhaquirks.innr.innr_sp240_plug.SP240",
    "quirk_id": null,
    "manufacturer_code": 4454,
    "power_source": "Mains",
    "lqi": 95,
    "rssi": -82,
    "last_seen": "2024-07-05T11:17:41",
    "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=4454, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, 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": "0x010a",
          "input_clusters": [
            "0x0000",
            "0x0003",
            "0x0004",
            "0x0005",
            "0x0006",
            "0x0008",
            "0x0702",
            "0x0b04",
            "0x1000",
            "0xe001"
          ],
          "output_clusters": [
            "0x000a",
            "0x0019"
          ]
        },
        "242": {
          "profile_id": "0xa1e0",
          "device_type": "0x0061",
          "input_clusters": [],
          "output_clusters": [
            "0x0021"
          ]
        }
      },
      "manufacturer": "innr",
      "model": "SP 240"
    },
    "active_coordinator": false,
    "entities": [
      {
        "entity_id": "button.innr_sp_240_identify",
        "name": "innr SP 240"
      },
      {
        "entity_id": "select.innr_sp_240_start_up_behavior",
        "name": "innr SP 240"
      },
      {
        "entity_id": "sensor.innr_sp_240_rms_current",
        "name": "innr SP 240"
      },
      {
        "entity_id": "sensor.innr_sp_240_rms_voltage",
        "name": "innr SP 240"
      },
      {
        "entity_id": "sensor.innr_sp_240_active_power",
        "name": "innr SP 240"
      },
      {
        "entity_id": "sensor.innr_sp_240_summation_delivered",
        "name": "innr SP 240"
      },
      {
        "entity_id": "switch.innr_sp_240_switch",
        "name": "innr SP 240"
      },
      {
        "entity_id": "update.triplesolar_firmware",
        "name": "innr SP 240"
      }
    ],
    "neighbors": [
      {
        "device_type": "Coordinator",
        "rx_on_when_idle": "On",
        "relationship": "Parent",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x0000",
        "permit_joining": "Unknown",
        "depth": "0",
        "lqi": "0"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x36D5",
        "permit_joining": "Unknown",
        "depth": "1",
        "lqi": "192"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0xE257",
        "permit_joining": "Unknown",
        "depth": "3",
        "lqi": "175"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x0E27",
        "permit_joining": "Unknown",
        "depth": "0",
        "lqi": "123"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x9604",
        "permit_joining": "Unknown",
        "depth": "4",
        "lqi": "51"
      },
      {
        "device_type": "EndDevice",
        "rx_on_when_idle": "Off",
        "relationship": "Child",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x4014",
        "permit_joining": "Unknown",
        "depth": "2",
        "lqi": "85"
      }
    ],
    "routes": [],
    "endpoint_names": [
      {
        "name": "ON_OFF_PLUG_IN_UNIT"
      },
      {
        "name": "PROXY_BASIC"
      }
    ],
    "user_given_name": "triplesolar",
    "device_reg_id": "3d3455b7c5bb8a2d93d5be245e9734ed",
    "area_id": "storage",
    "cluster_details": {
      "1": {
        "device_type": {
          "name": "ON_OFF_PLUG_IN_UNIT",
          "id": 266
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {
              "0x0004": {
                "attribute_name": "manufacturer",
                "value": "innr"
              },
              "0x0005": {
                "attribute_name": "model",
                "value": "SP 240"
              }
            },
            "unsupported_attributes": {}
          },
          "0x0003": {
            "endpoint_attribute": "identify",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0006": {
            "endpoint_attribute": "on_off",
            "attributes": {
              "0x0000": {
                "attribute_name": "on_off",
                "value": 1
              },
              "0x4003": {
                "attribute_name": "start_up_on_off",
                "value": 255
              }
            },
            "unsupported_attributes": {}
          },
          "0x0008": {
            "endpoint_attribute": "level",
            "attributes": {
              "0x0000": {
                "attribute_name": "current_level",
                "value": 1
              }
            },
            "unsupported_attributes": {
              "0x0011": {
                "attribute_name": "on_level"
              },
              "0x0013": {
                "attribute_name": "off_transition_time"
              },
              "0x4000": {
                "attribute_name": "start_up_current_level"
              },
              "0x0012": {
                "attribute_name": "on_transition_time"
              },
              "0x0014": {
                "attribute_name": "default_move_rate"
              },
              "0x0010": {
                "attribute_name": "on_off_transition_time"
              }
            }
          },
          "0x0702": {
            "endpoint_attribute": "smartenergy_metering",
            "attributes": {
              "0x0000": {
                "attribute_name": "current_summ_delivered",
                "value": 2744
              },
              "0x0302": {
                "attribute_name": "divisor",
                "value": 100
              },
              "0x0306": {
                "attribute_name": "metering_device_type",
                "value": 0
              },
              "0x0301": {
                "attribute_name": "multiplier",
                "value": 1
              },
              "0x0200": {
                "attribute_name": "status",
                "value": 0
              },
              "0x0303": {
                "attribute_name": "summation_formatting",
                "value": 42
              },
              "0x0300": {
                "attribute_name": "unit_of_measure",
                "value": 0
              }
            },
            "unsupported_attributes": {
              "0x0400": {
                "attribute_name": "instantaneous_demand"
              },
              "0x0100": {
                "attribute_name": "current_tier1_summ_delivered"
              },
              "0x0102": {
                "attribute_name": "current_tier2_summ_delivered"
              },
              "0x0104": {
                "attribute_name": "current_tier3_summ_delivered"
              },
              "0x0304": {
                "attribute_name": "demand_formatting"
              },
              "0x0106": {
                "attribute_name": "current_tier4_summ_delivered"
              },
              "0x0302": {
                "attribute_name": "divisor"
              },
              "0x0108": {
                "attribute_name": "current_tier5_summ_delivered"
              },
              "0x0301": {
                "attribute_name": "multiplier"
              },
              "0x010a": {
                "attribute_name": "current_tier6_summ_delivered"
              },
              "0x0001": {
                "attribute_name": "current_summ_received"
              }
            }
          },
          "0x0b04": {
            "endpoint_attribute": "electrical_measurement",
            "attributes": {
              "0x0603": {
                "attribute_name": "ac_current_divisor",
                "value": 1000
              },
              "0x0602": {
                "attribute_name": "ac_current_multiplier",
                "value": 1
              },
              "0x0605": {
                "attribute_name": "ac_power_divisor",
                "value": 1
              },
              "0x0604": {
                "attribute_name": "ac_power_multiplier",
                "value": 1
              },
              "0x0601": {
                "attribute_name": "ac_voltage_divisor",
                "value": 1
              },
              "0x0600": {
                "attribute_name": "ac_voltage_multiplier",
                "value": 1
              },
              "0x050b": {
                "attribute_name": "active_power",
                "value": 3
              },
              "0x0000": {
                "attribute_name": "measurement_type",
                "value": 3221762439
              },
              "0x0508": {
                "attribute_name": "rms_current",
                "value": 41
              },
              "0x0505": {
                "attribute_name": "rms_voltage",
                "value": 235
              }
            },
            "unsupported_attributes": {
              "0x0300": {
                "attribute_name": "ac_frequency"
              },
              "0x0401": {
                "attribute_name": "ac_frequency_divisor"
              },
              "0x0302": {
                "attribute_name": "ac_frequency_max"
              },
              "0x0400": {
                "attribute_name": "ac_frequency_multiplier"
              },
              "0x0403": {
                "attribute_name": "power_divisor"
              },
              "0x0402": {
                "attribute_name": "power_multiplier"
              },
              "0x0507": {
                "attribute_name": "rms_voltage_max"
              },
              "0x0510": {
                "attribute_name": "power_factor"
              },
              "0x050a": {
                "attribute_name": "rms_current_max"
              },
              "0x050d": {
                "attribute_name": "active_power_max"
              },
              "0x050f": {
                "attribute_name": "apparent_power"
              }
            }
          },
          "0x1000": {
            "endpoint_attribute": "lightlink",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0xe001": {
            "endpoint_attribute": null,
            "attributes": {},
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {
          "0x000a": {
            "endpoint_attribute": "time",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0019": {
            "endpoint_attribute": "ota",
            "attributes": {
              "0x0002": {
                "attribute_name": "current_file_version",
                "value": 335754882
              }
            },
            "unsupported_attributes": {}
          }
        }
      },
      "242": {
        "device_type": {
          "name": "PROXY_BASIC",
          "id": 97
        },
        "profile_id": 41440,
        "in_clusters": {},
        "out_clusters": {
          "0x0021": {
            "endpoint_attribute": "green_power",
            "attributes": {},
            "unsupported_attributes": {}
          }
        }
      }
    }
  }
}```

</details>


### Additional information

_No response_
@MrBearPresident
Copy link

MrBearPresident commented Sep 5, 2024

I had the same problem you have.
Then I switched to Z2MQTT over there you have to option set some reporting settings. The standard setting for reporting are to coarse on the energy.

It should also be possible to do this through https://github.com/mdeweerd/zha-toolkit

@hhopke
Copy link

hhopke commented Sep 8, 2024

Having the same problem. Sometime summation_delivered is not updated for days.
Thanks for the tip @MrBearPresident, right now just a bit reluctant to spend a lot of energy into this.

@MrBearPresident
Copy link

MrBearPresident commented Sep 9, 2024

I've noticed after an firmware upgrade these thing revert back to the same settings.
I also had the experience that when you press the fysical button on the device this was not updated in ZHA/Z2MQTT.

This are the setting I changed through Zigbee2MQTT:

Setting OnOff - Minimum reporting change Active Power - Minimum reporting change rmsCurrent - Minimum reporting change cuurentSummDelivered - Minimum reporting change
Original 1 5 50
Corrected 0 0,005 0,005 0,005

@Jaapapa
Copy link

Jaapapa commented Oct 30, 2024

I didnt want to migrate to Zigbee2MQTT for this, so i tried settings the same with ZHA-toolkit. Posting here for anyone else with the same idea. I had some trouble installing due to bugs (unrelated to the innr SP240 issues) with the current HA versions but managed to get it working:

Steps:

  • Install ZHA-toolkit.
  • Figure out your device ieee through the device info screen for your device in HA.
  • Use the HA included Developer Tools -> Actions to trigger a single action with the following yaml:
action: zha_toolkit.conf_report
data:
  ieee: 11:22:33:44:55:66:77:88
  cluster: 0x0702
  attribute: 0x0000
  event_success: my_read_success_trigger_event
  event_fail: my_read_fail_trigger_event
  event_done: my_read_done_trigger_event
  min_interval: 5
  max_interval: 3600
  reportable_change: 1

You can check the values using the following action:

action: zha_toolkit.conf_report_read
data:
  ieee: 11:22:33:44:55:66:77:88
  cluster: 0x0702
  attribute: 0x0000
  event_success: my_read_success_trigger_event
  event_fail: my_read_fail_trigger_event
  event_done: my_read_done_trigger_event

You should substitute your own ieee for your device.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants