made qr_code elements optional (#8896)

This commit is contained in:
JonasB2497 2025-07-02 04:56:48 +02:00 committed by GitHub
parent 095acce3e2
commit 2fb23becec
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -21,21 +21,24 @@ ECC = {
"HIGH": qrcodegen_Ecc.qrcodegen_Ecc_HIGH, "HIGH": qrcodegen_Ecc.qrcodegen_Ecc_HIGH,
} }
CONFIG_SCHEMA = cv.Schema( CONFIG_SCHEMA = cv.ensure_list(
{ cv.Schema(
cv.Required(CONF_ID): cv.declare_id(QRCode), {
cv.Required(CONF_VALUE): cv.string, cv.Required(CONF_ID): cv.declare_id(QRCode),
cv.Optional(CONF_ECC, default="LOW"): cv.enum(ECC, upper=True), cv.Required(CONF_VALUE): cv.string,
} cv.Optional(CONF_ECC, default="LOW"): cv.enum(ECC, upper=True),
}
)
) )
async def to_code(config): async def to_code(config):
cg.add_library("wjtje/qr-code-generator-library", "^1.7.0") cg.add_library("wjtje/qr-code-generator-library", "^1.7.0")
var = cg.new_Pvariable(config[CONF_ID]) for entry in config:
cg.add(var.set_value(config[CONF_VALUE])) var = cg.new_Pvariable(entry[CONF_ID])
cg.add(var.set_ecc(ECC[config[CONF_ECC]])) cg.add(var.set_value(entry[CONF_VALUE]))
await cg.register_component(var, config) cg.add(var.set_ecc(ECC[entry[CONF_ECC]]))
await cg.register_component(var, entry)
cg.add_define("USE_QR_CODE") cg.add_define("USE_QR_CODE")