The other day, @[email protected] posted an awesome article about Zigbee network performance and it brought attention to something I was unaware of, which is that my devices aren’t supposed to shout all day, everyday about doing mostly nothing. I immediately followed the advice in the article and tried to debounce everything. But then everything stopped working like it should 😂 Can the community pool your collective knowledge and walk me through debouncing so I can not get MQTT spam but still have all my motion, presence and temperature sensors work please?

  • sabreW4K3OP
    link
    fedilink
    English
    arrow-up
    1
    ·
    6 months ago

    found my database grew in size very quickly

    Hold me! I’m dealing with that and haven’t figured out how to fix it. How does the templating thing work? All my devices are Tuya devices, so you can imagine how quickly my database balloons up.

    • CondorWonder@lemmy.ca
      link
      fedilink
      English
      arrow-up
      4
      ·
      6 months ago

      First thing - exclude recording of the devices. My method was to use a glob so I name devices/entity IDs specifically and they don’t get recorded (in my case I used f_ as in “filtered” so devices become like “F Source Presence”), but you can add specific entities or use your own glob. In configuration.yaml I have this:

      recorder:
        exclude:
          entities:
            - sensor.excluded_entity_1
          # AND/OR this (then of course rename entities as needed)
          entity_globs:
            # exclude all sensor entities that start with f_
            - sensor.f_*
      

      Then I created templates for my presence sensors, that just copy the state so I get history (yaml here, but can do through UI now too in the Helpers section, the import part is the template in the state key below):

      template:
        - binary_sensor:
            - name: Real presence
              unique_id: my_presence
              state: >-
                {{ states('binary_sensor.f_source_presence}}
              availability: >-
                {{
                  not (
                    states('binary_sensor.f_source_presence') == 'unknown' or
                    states('binary_sensor.f_source_presence') == 'unavailable'
                  )
                }}
              device_class: presence
      

      You could also use a statistics sensor to get a moving average for numeric values and get history from them too (and reduce the noise by reducing the precision and having a larger time window). This is also available through the UI - Helpers.

      • sabreW4K3OP
        link
        fedilink
        English
        arrow-up
        2
        ·
        6 months ago

        Random one, but do you think it’s possible to use the new label system to create the filter group?

          • sabreW4K3OP
            link
            fedilink
            English
            arrow-up
            2
            ·
            6 months ago

            I went to create an enhancement request, but it’s just creating a thread on their forums 😮‍💨

            • CondorWonder@lemmy.ca
              link
              fedilink
              English
              arrow-up
              2
              ·
              6 months ago

              Iirc that’s where they start ERs yes - it’s easier to see, vote, and comment on them there compared to GitHub. It’s also the source for the month of WTF where it seemed like a lot of the easier ERs get addressed.

              • sabreW4K3OP
                link
                fedilink
                English
                arrow-up
                2
                ·
                6 months ago

                Guess I’ll have to finally sign up to their forums