Не срабатывает функция beep

По аналоги с форума была добавлена функция beep при нажатии Выключить все. Все работало и в какой то момент после обновления прошивки пропал сигнал. Какие то новые изменения в рулес или что не так у меня?

function beep(freq, vol, duration) {
	dev["buzzer"]["frequency"] = freq;
	dev["buzzer"]["volume"] = vol;
	dev["buzzer"]["enabled"] = true;
      setTimeout(function() {
        dev["buzzer"]["enabled"] = false;
      }, duration);
    }
	
function all_off() {
beep(2000, 30, 30);
}

Добрый день
Для диагностики проблемы пришлите, пожалуйста, архив с диагностической информацией контроллера. Создание архива описано в документации.

приложен диагностический архив, доступен только сотрудникам поддержки
(500,5 КБ)

Добрый день!

В логах заметны следующие подозрительные сообщения:

  1. Неизвестные метаданные устройств:
WARNING: [device] Unknown metadata for device wb-mr6c_32: 'error'  
WARNING: [device] Unknown metadata for device wb-msw-v3_117: 'error'  

Это может указывать на проблему с конфигурацией устройств или некорректной работой драйверов.
2. Ошибка с таймерами:

ERROR: trying to stop unknown timer: 9934  

Это говорит о попытке остановить несуществующий или уже завершённый таймер.
3. Низкий объём доступной памяти:

memory: minimum pages = 256 free, 0 allocatable, max swap 0 (4096 byte pages)  

Убедитесь, что система не перегружена и имеет достаточно свободной оперативной памяти.

После этого срабатывания:

    // Закрыть шторы
function shadecl() {
	dev["wb-gpio"]["EXT2_ON3"] = false;
	setTimeout(function() {
		dev["wb-gpio"]["EXT2_DIR3"] = false;
	}, 100);
	setTimeout(function() {
		dev["wb-gpio"]["EXT2_ON3"] = true;
	}, 200);
	setTimeout(function() {
		dev["wb-gpio"]["EXT2_ON3"] = false;
	}, 1000);
}
function fn5() {
	if (dev["wb-mrgbw-d-fw3_16/Channel 3 (G) Brightness"] > 4) {
		shadecl();
		if (dev["wb-mr6c_32"]["K3"] == false) {
			dev["wb-mr6c_32"]["K3"] = true;
			bed = 1;
        }
			} else {
                dev["wb-mrgbw-d-fw3_16/Channel 3 (G)"] = true;
                dev["wb-mrgbw-d-fw3_16/Channel 4 (W)"] = true;
				dev["wb-mrgbw-d-fw3_16/Channel 3 (G) Brightness"] = 40;
				dev["wb-mrgbw-d-fw3_16/Channel 4 (W) Brightness"] = 40;
				dev["wb-mr6c_32"]["K3"] = true;
				bed = 0;
	}
}

Тут вроде пишет что памяти терпимо, почти как после полной очистки и установки новой прошивки с докером:

Спойлер

Добрый день!

Пожалуйста, опишите процесс подробнее и пришлите полный код правила. Это поможет воспроизвести вашу проблему и найти решение.

Добрый вечер. Изменил duration на 300 и все стало работать.
Но, виснет сильно, долго срабатывает.
Как то можно посмотреть какие проблемы с памятью?
Раз в неделю приходиться перезагружать ВБ чтобы не подвисал.

Добрый день!

Рекомендую начать анализ нагрузки на систему с помощью

top
htop

Спойлер

Добрый день!

Рекомендую проверить и выяснить причину высокой нагрузки на систему. Для этого выполните следующие команды:

  • top -p 4333 (где 4333 — PID процесса python3).
  • ps aux --sort=-%mem | head -n 10 — список процессов по использованию памяти.
  • ps aux --sort=-%cpu | head -n 10 — список процессов по загрузке CPU.

Добрый день, удалось ли решить вопрос?

Здравствуйте, как то так:

Спойлер

Добрый день!

Если остановить Home Assistant, проблема исчезает?

Остановил процесс:

Спойлер

Пока тестирую, нажатия выключателей срабатывают четко, без задержек.
Так же на Бип сделал мелодию и она играет без запинок. До этого, с запущенным НА, подтормаживало и не всегда проигрывало.

Добрый день!

Похоже, что причина выявлена, но, к сожалению, как оптимизировать Home Assistant не могу подсказать. Сам столкнулся с подобной проблемой, поэтому теперь использую сервер и контроллер отдельно. Контроллер у меня выполняет только сбор данных с Modbus-устройств и обработку критичных сценариев, которые должны работать независимо от Home Assistant. Например, аварийное перекрытие кранов.

Можете уточнить, какую мелодию удалось реализовать? У меня пока не получилось добиться адекватного звучания.

Вот как раз с мелодичностью сложности)

melodicBeep([440, 440, 349, 440, 392, 349, 440, 349, 392, 440, 349, 392, 440, 349], 50, 300, 250); //Звездные войны
melodicBeep([264, 297, 330, 396, 330, 297, 264, 330, 396, 330], 100, 300, 220); //Нокиа

Отлючил интеграцию MQTT и процессор успокоился

Спойлер

Добрый день!

Рекомендую проанализировать количество передаваемых данных в MQTT через MQTT Explorer.

Возможно, стоит уменьшить частоту опроса, чтобы снизить нагрузку на систему.

Добрый день, удалось ли решить вопрос?