ZIGPY Error Message

Hi,
when I start HA I get a log entry that is extremely strange:
"Logger: zigpy.config.validators
Source: components/zha/init.py:151
First occurred: 2:12:21 PM (1 occurrences)
Last logged: 2:12:21 PM

The z2m_index key is deprecated, migrate your configuration to the extra_providers list instead: `extra_providers: [{‘type’: ‘z2m’}]"

my ZHA config:

zha:
  zigpy_config:
    ota:
      enabled: true
      # Periodically send out a network-wide (including end devices!) image notification
      broadcast_enabled: true
      broadcast_initial_delay: 14400
      broadcast_interval: 14400
         # Points to Z2M OTA `index.json` URL
      z2m_remote_index: "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/index.json"
      
    network:
      channel: 15 # What channel the radio should try to use.
      channels: [15, 20, 25] # Channel mask

I’m a bit puzzled by the message. Any ideas?

Thanks :slight_smile:

Advanced OTA configuration for zha / zigpy has changed (and is still being changed), see ZHA docs:

ZHA dcs basically says now to not use any advanced OTA configuration unless you are a developer and know what you are doing (because flashing unofficial device firmware from Z2M can brick devices).

Refer to zigpy documentation for OTA configuration for more information on additional OTA providers:

More info here:

and here:

1 Like

So this means I just have to remove the ota config altogether and everything should work fine?
This kinda feels “wrong” since we always needed some kind of ota config in ZHA and I thought I was using the “new one” which actually did work since it finally gave me some updates for a few of my devices.
But I’ll just go and comment the ota config out.

Thanks

Yes that is correct. Unless you want to disable OTA for some brands, then you can add what is the ZHA docs now to disable OTA for each of those supported brands:

zha:
  zigpy_config:
    ota:
      ikea_provider: false                       # Disable OTA update downloads for Trådfri devices
      inovelli_provider: false                   # Disable OTA update downloads for INOVELLI devices
      ledvance_provider: false                   # Disable OTA update downloads for LEDVANCE/OSRAM devices
      salus_provider: false                      # Disable OTA update downloads for SALUS/Computime devices
      sonoff_provider: false                     # Disable OTA update downloads for Sonoff (ITead) devices
      thirdreality_provider: false               # Disable OTA update downloads for 3REALITY devices

Again, if you want to enable z2m OTA downloads then you can still do so via advanced zigpy config but it not recommend and therefor no longer in the there by default and no longer info about it in ZHA docs.

2 Likes

Thanks a lot for the explanation :slight_smile:

Hi! Thanks for this thread. I got the same problem, but I’m not sure how to fix it.

My configuration was almost the same:

zha:
  zigpy_config:
    ota:
      enabled: true
      broadcast_enabled: true
      broadcast_initial_delay: 14400
      broadcast_interval: 14400
      z2m_remote_index: "https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/index.json"
      sonoff_provider: true

With this, I currently get updates announced for my Sonoff TRVs. But when just deleting all this in my configuration.yaml (like advised) and restart, HA says: There are no updates available.

Assuming that HA is not taking this source for the updates, I tried to force to use the one I used above:


zha:
  zigpy_config:
    ota:
      disable_default_providers: [sonoff]  # Disable the default Sonoff provider
      extra_providers:
        - type: z2m
          url: https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/index.json

But: After restarting HA, still no updates available.

I then tried:

zha:
  zigpy_config:
    ota:
      extra_providers:
        - type: sonoff
          url: https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/index.json
          override_previous: true

But: After restarting HA, still no updates available.

So what should I do? I stumpled over this because OTA-updates take very long or aren’t possible at all because it seems that HA is timing-out, but I couldn’t find any explanation for the parameters like broadcast_interval.