Privacy Mode on Amcrest IP cameras via a switch

Pedro - during the PR review for this switch addition was there any pushback for it requiring a YAML configuration update?

Reason for asking is that some PR’s were being rejected to the Amcrest Integration due to the “no more YAML” developer rule. I’m wondering now how they are making exceptions to this rule.

Is this a recent rule? No, there was no yaml requirement pushback. The PR is here: https://github.com/home-assistant/core/pull/57210.

Hmmm. Clearly an exception was made, but after reading your PR, there was no discussion of it at all.

This rule has been effect for 2 years and has been followed very strictly in my experience with PR’s, including this Amcrest integration. Before the PR would be allowed, the developer was forced to implement config flow which was a major undertaking, but it too was rejected because it included “too many changes”. He then just gave up.

NOTE ABOUT YAML FOR DEVICES AND/OR SERVICES

Integrations that communicate with devices and/or services are configured via a config flow. In rare cases, we can make an exception. Existing integrations that should not have a YAML configuration are allowed and encouraged to implement a configuration flow and remove YAML support. Changes to existing YAML configuration for these same existing integrations will no longer be accepted.

For more detail read ADR-0010

I was not aware of that rule. I can see it being problematic as it would require a small change to become a large one. Though I see the reasoning behind it.

This PR was the first to implement event handling in Amcrest - essential for handling doorbell button events and any other event. It needed a 1-line YAML config update to enable it. The actual code updates were not that significant.

Anyway, we don’t need to dwell on this. You answered my question that this requirement wasn’t even discussed. I just don’t know if there was actually an exception made or that the reviewers didn’t know about it either, which sure seems unlikely.