Custom JS файл загружается через раз

Данный раздел предназначен для русскоязычных пользователей. Если вы владеете английским, рекомендуем также просмотреть общую ветку обсуждений на английском.
Post Reply
hecashit
Posts: 11
Joined: 07 Nov 2014 09:08

Custom JS файл загружается через раз

Post by hecashit »

Здравствуйте!

Вся логика работы дома сведена в один JS файлик, который лежит в папке Automation.
По каким-то причинам после перезапуска сервера файлик прицепляется не всегда.

На 5-6 перезапусков срабатывает только 1. В остальное время при обращении к функциям из него получаю "Referencies Error".

В логах ничего аномального не замечено.

Такое же поведение было в 1.7.2ю
В чем может быть проблема? Спасибо!
User avatar
PoltoS
Posts: 7565
Joined: 26 Jan 2011 19:36

Re: Custom JS файл загружается через раз

Post by PoltoS »

В 2.0? Это скорее всего связано с тем, что ваш JS грузится до того, как загрузился Z-Way Binding и весь Z-Wave объект.

Посмотрите вот это:
viewtopic.php?f=3422&t=20816&p=53488&hi ... ter#p53478
hecashit
Posts: 11
Joined: 07 Nov 2014 09:08

Re: Custom JS файл загружается через раз

Post by hecashit »

PoltoS wrote:В 2.0? Это скорее всего связано с тем, что ваш JS грузится до того, как загрузился Z-Way Binding и весь Z-Wave объект.

Посмотрите вот это:
viewtopic.php?f=3422&t=20816&p=53488&hi ... ter#p53478
Не совсем понял...

У меня есть 2 типа биндингов/функций:
- просто функции, объявленные как "myFunction = function(data) {}"
- привязки, а-ля "zway.devices[8].instances[0].commandClasses[48].data[1].level.bind(function() {})"

Насколько я понял вышеуказанная ссылка относится только ко второму типу. А что делать в первом?
Очень прошу привести примеры как мне все это хозяйство правильно объявить!
Спасибо!
User avatar
PoltoS
Posts: 7565
Joined: 26 Jan 2011 19:36

Re: Custom JS файл загружается через раз

Post by PoltoS »

первое - именованные ф-ции, но тоже подключенные к событиям через bind().
второе - анонимные ф-ции, подключенные к событиям через bind().

Разницы между ними нет никакой.

На момент исполнения Вашего кода регистрации объекта zway ещё не прошла. Нужно отлавливать события zway.register и из них выполнять Ваш код
Post Reply