Complete implementation of Spanish (es-419) language support: - Canonical catalogs and data: messages/es.json, data/es/**, lib/data/es/**, public/exemplos/es/** - Canonical slugs: /es/series, /es/catalogo, /es/comparacion, /es/componentes, /es/diagnostico, /es/frameworks, /es/glosario, /es/selector, /es/acerca - Dedicated search index at /api/busca/es with Spanish accent normalization - Strict exclusion of book references in Spanish routes and catalogs - Language selector and root negotiation with es active (ENABLED_LOCALES = ['pt', 'en', 'es']) - Extended verification suite: check-i18n, smoke-imagem and verifica-vazamentos Co-Authored-By: Antigravity <noreply@google.com>
45 lines
1.5 KiB
C
45 lines
1.5 KiB
C
#include <stdio.h>
|
|
#include "esp_log.h"
|
|
#include "esp_matter.h"
|
|
#include "esp_matter_controller.h"
|
|
#include "nvs_flash.h"
|
|
|
|
static const char *TAG = "esp-matter-example";
|
|
|
|
void app_event_cb(const esp_matter_event_t *event)
|
|
{
|
|
switch (event->event_id) {
|
|
case ESP_MATTER_EVENT_ATTRIBUTE_UPDATE: {
|
|
const esp_matter_attr_update_t *attr_update = &event->data.attr_update;
|
|
if (attr_update->endpoint_id == 1 && attr_update->cluster_id == ESP_MATTER_ON_OFF_CLUSTER_ID) {
|
|
bool on = false;
|
|
esp_matter_attribute_get(attr_update->endpoint_id, attr_update->cluster_id,
|
|
attr_update->attribute_id, &on);
|
|
ESP_LOGI(TAG, "Lâmpada %s", on ? "ligada" : "desligada");
|
|
}
|
|
break;
|
|
}
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
void app_main(void)
|
|
{
|
|
// Inicializa NVS
|
|
esp_err_t err = nvs_flash_init();
|
|
if (err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND) {
|
|
ESP_ERROR_CHECK(nvs_flash_erase());
|
|
ESP_ERROR_CHECK(nvs_flash_init());
|
|
}
|
|
|
|
// Inicializa o Matter node
|
|
esp_matter::node_t *node = esp_matter::node::create(NULL, app_event_cb);
|
|
esp_matter::endpoint_t *endpoint = esp_matter::endpoint::create(node, ESP_MATTER_ENDPOINT_TYPE_ON_OFF_LIGHT);
|
|
|
|
// Inicia la pila Matter
|
|
ESP_ERROR_CHECK(esp_matter::start(node));
|
|
|
|
ESP_LOGI(TAG, "Dispositivo Matter iniciado. Aguardando comissionamento...");
|
|
}
|