Обновление MD. Перестают работать сценарии.

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

mcfry
Сообщения: 21
Зарегистрирован: Чт апр 23, 2015 12:52 pm
Благодарил (а): 0
Поблагодарили: 0

Обновление MD. Перестают работать сценарии.

Сообщение mcfry » Пт сен 27, 2019 1:36 pm

Всем привет.

Есть MD в которую пробрасываются данные с ESP8266(объекты). Данные обрабатываеются скриптом(сценарии) "espdata". Так же есть графики на PChart. PChart берет данные с базы, с таблицы phistory.

MD не обновлялся пару лет. Решил обновить через встроенный механизм.

После обновления перестал отрабатывать скрипт "espdata". Данные приходят, скрипт якобы отрабатыавает, но значения никуда не записываются. В таблицу phistory ничего не пишется. Там старые значения.

Подскажите пожалуйста где может быть проблема?

Скрипт espdata:

Код: Выделить всё

$light=$params['light'];  //Данные с датчика BH1750
$ds=$params['ds'];        //Данные с датчика DS18B20
$co2=$params['co2'];   //Данные с датчика CO2 MH-Z1x
$bmpt=$params['bmpt'];  //Данные с датчика BMP (температура)
$bmpp=$params['bmpp'];  //Данные с датчика BMP (давление)
$bmet=$params['bmet'];  //Данные с датчика BME (температура)
$bmep=$params['bmep'];  //Данные с датчика BME (давление)
$bmeh=$params['bmeh'];  //Данные с датчика BME (влажность)
$dhtt1=$params['dhtt1']; //Данные с первого датчика DHT (температура)
$dhth1=$params['dhth1'];  //Данные с первого датчика DHT (влажность)
$dhtt2=$params['dhtt2']; // Данные со второго датчика DHT (температура)
$dhth2=$params['dhth2'];  //Данные со второго датчика DHT (влажность)
$idesp=$params['idesp'];  //ID устройства
$ver=$params['ver'];     //Версия прошивки
$vdd=$params['vdd']; //Напряжение на модуле
$uptime=$params['uptime'];
$freemem=$params['freemem']; //Объем свободной памяти модуля
$rssi=$params['rssi'];
$iavg1m=$params['iavg1m'];
$kWh=$params['kWh'];
$Vbat=$params['Vbat'];
setGlobal(($idesp.".light"),$light);
setGlobal(($idesp.".ds"),$ds);
setGlobal(($idesp.".co2"),$co2);
setGlobal(($idesp.".bmpt"),$bmpt);
setGlobal(($idesp.".bmpp"),$bmpp);
setGlobal(($idesp.".bmet"),$bmet);
setGlobal(($idesp.".bmep"),$bmep);
setGlobal(($idesp.".bmeh"),$bmeh);
setGlobal(($idesp.".dhtt1"),$dhtt1);
setGlobal(($idesp.".dhtt2"),$dhtt2);
setGlobal(($idesp.".dhth1"),$dhth1);
setGlobal(($idesp.".dhth2"),$dhth2);
setGlobal(($idesp.".idesp"),$idesp);
setGlobal(($idesp.".ver"),$ver);
setGlobal(($idesp.".vdd"),$vdd);
setGlobal(($idesp.".uptime"),$uptime);
setGlobal(($idesp.".freemem"),$freemem);
setGlobal(($idesp.".rssi"),$rssi);
setGlobal(($idesp.".iavg1m"),$iavg1m);
setGlobal(($idesp.".kWh"),$kWh);
setGlobal(($idesp.".Vbat"),$Vbat);

DebMes("espdata request: ".$_SERVER['REQUEST_URI']);
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Обновление MD. Перестают работать сценарии.

Сообщение tarasfrompir » Пт сен 27, 2019 2:08 pm

mcfry писал(а):
Пт сен 27, 2019 1:36 pm
Всем привет.

Есть MD в которую пробрасываются данные с ESP8266(объекты). Данные обрабатываеются скриптом(сценарии) "espdata". Так же есть графики на PChart. PChart берет данные с базы, с таблицы phistory.

MD не обновлялся пару лет. Решил обновить через встроенный механизм.

После обновления перестал отрабатывать скрипт "espdata". Данные приходят, скрипт якобы отрабатыавает, но значения никуда не записываются. В таблицу phistory ничего не пишется. Там старые значения.

Подскажите пожалуйста где может быть проблема?

Скрипт espdata:

Код: Выделить всё

$light=$params['light'];  //Данные с датчика BH1750
$ds=$params['ds'];        //Данные с датчика DS18B20
$co2=$params['co2'];   //Данные с датчика CO2 MH-Z1x
$bmpt=$params['bmpt'];  //Данные с датчика BMP (температура)
$bmpp=$params['bmpp'];  //Данные с датчика BMP (давление)
$bmet=$params['bmet'];  //Данные с датчика BME (температура)
$bmep=$params['bmep'];  //Данные с датчика BME (давление)
$bmeh=$params['bmeh'];  //Данные с датчика BME (влажность)
$dhtt1=$params['dhtt1']; //Данные с первого датчика DHT (температура)
$dhth1=$params['dhth1'];  //Данные с первого датчика DHT (влажность)
$dhtt2=$params['dhtt2']; // Данные со второго датчика DHT (температура)
$dhth2=$params['dhth2'];  //Данные со второго датчика DHT (влажность)
$idesp=$params['idesp'];  //ID устройства
$ver=$params['ver'];     //Версия прошивки
$vdd=$params['vdd']; //Напряжение на модуле
$uptime=$params['uptime'];
$freemem=$params['freemem']; //Объем свободной памяти модуля
$rssi=$params['rssi'];
$iavg1m=$params['iavg1m'];
$kWh=$params['kWh'];
$Vbat=$params['Vbat'];
setGlobal(($idesp.".light"),$light);
setGlobal(($idesp.".ds"),$ds);
setGlobal(($idesp.".co2"),$co2);
setGlobal(($idesp.".bmpt"),$bmpt);
setGlobal(($idesp.".bmpp"),$bmpp);
setGlobal(($idesp.".bmet"),$bmet);
setGlobal(($idesp.".bmep"),$bmep);
setGlobal(($idesp.".bmeh"),$bmeh);
setGlobal(($idesp.".dhtt1"),$dhtt1);
setGlobal(($idesp.".dhtt2"),$dhtt2);
setGlobal(($idesp.".dhth1"),$dhth1);
setGlobal(($idesp.".dhth2"),$dhth2);
setGlobal(($idesp.".idesp"),$idesp);
setGlobal(($idesp.".ver"),$ver);
setGlobal(($idesp.".vdd"),$vdd);
setGlobal(($idesp.".uptime"),$uptime);
setGlobal(($idesp.".freemem"),$freemem);
setGlobal(($idesp.".rssi"),$rssi);
setGlobal(($idesp.".iavg1m"),$iavg1m);
setGlobal(($idesp.".kWh"),$kWh);
setGlobal(($idesp.".Vbat"),$Vbat);

DebMes("espdata request: ".$_SERVER['REQUEST_URI']);
А дебмес что показывает ?
Спасибо нам ПОМОЖЕТ..!
mcfry
Сообщения: 21
Зарегистрирован: Чт апр 23, 2015 12:52 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Обновление MD. Перестают работать сценарии.

Сообщение mcfry » Пт сен 27, 2019 2:51 pm

tarasfrompir писал(а):
Пт сен 27, 2019 2:08 pm
А дебмес что показывает ?
Извиняюсь,
Можно поподробнее.

xray-debug - есть сообщения от ESP. На самих ESP прошивка от WiFi-IoT. Там можно отсылать данные на MD.
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Обновление MD. Перестают работать сценарии.

Сообщение tarasfrompir » Пт сен 27, 2019 3:07 pm

mcfry писал(а):
Пт сен 27, 2019 2:51 pm
tarasfrompir писал(а):
Пт сен 27, 2019 2:08 pm
А дебмес что показывает ?
Извиняюсь,
Можно поподробнее.

xray-debug - есть сообщения от ESP. На самих ESP прошивка от WiFi-IoT. Там можно отсылать данные на MD.
тогда - попробуй так
setGlobal($idesp.".Vbat",$Vbat);
Спасибо нам ПОМОЖЕТ..!
mcfry
Сообщения: 21
Зарегистрирован: Чт апр 23, 2015 12:52 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Обновление MD. Перестают работать сценарии.

Сообщение mcfry » Пт сен 27, 2019 6:12 pm

tarasfrompir писал(а):
Пт сен 27, 2019 2:08 pm
тогда - попробуй так
setGlobal($idesp.".Vbat",$Vbat);
К сожалению не помогло.

Пример:
В свойстве объекта вижу такое:

Код: Выделить всё

ESP82660084XXXX.bmeh (H) 

27.4 (src: /objects/?script=espdata&idesp=ESP82660084XXXX&hostname=ESP0084XXXX&bmet=24.8&bmeh=27.4&bmep=748.00&uptime=596580&errconn=4&wanip=10.0.0.57&freemem=31904&ver=0.1.1_14:33:51_17.09.2018&vdd=3382&co2=533&rssi=-71)
В дебаге:

Код: Выделить всё

script=espdata&idesp=ESP82660084XXXX&hostname=ESP0084XXXX&bmet=24.8&bmeh=24.6&bmep=748.00&uptime=596640&errconn=4&wanip=10.0.0.57&freemem=31904&ver=0.1.1_14:33:51_17.09.2018&vdd=3382&co2=533&rssi=-
Скрипт отрабатывает. Значение где-то есть. Но похоже не в той таблице.
В phistory старые значения.
mcfry
Сообщения: 21
Зарегистрирован: Чт апр 23, 2015 12:52 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Обновление MD. Перестают работать сценарии.

Сообщение mcfry » Пт сен 27, 2019 6:21 pm

Вижу данные в таблице pvalues. Но неуверен попадали ли они туда раньше...
Похоже эта таблица содержит текущие значения.

Причем данные с другого объекта, которые берутся по MQTT, добавляются с таблицу phistory. А от скрипта espdata нет.
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Обновление MD. Перестают работать сценарии.

Сообщение Divan » Пн сен 30, 2019 12:29 am

Кстати да, у меня тоже перестали запускаться сценарии по расписанию, галочка стоит "Выполнять периодически", но сценарии не запускается, пришлось пока подключить планировщик. Думал, что это баг моей системы, но когда установил MD с 0 на виртуалку и там точно также сценарии не запускается по времени, то стало ясно, что это косяк случился после последнего обновления.
СпойлерПоказать
Снимок.JPG
Снимок.JPG (29.35 КБ) 3281 просмотр
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
mcfry
Сообщения: 21
Зарегистрирован: Чт апр 23, 2015 12:52 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Обновление MD. Перестают работать сценарии.

Сообщение mcfry » Пн сен 30, 2019 9:01 pm

Пришлось переустновить MD с нуля.
Сейчас все работает как ожидалось.

Как ни странно но предыдущая база нормльно подтянулась.

Правда теперь графики(PChart) не отображаются
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Обновление MD. Перестают работать сценарии.

Сообщение Divan » Вт окт 01, 2019 1:26 am

Хотелось бы понять, у меня одного такая проблема с запуском сценария, когда стоит галочка "Выполнять периодически" или нет?
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
GIV_59
Сообщения: 91
Зарегистрирован: Ср апр 05, 2017 11:13 pm
Благодарил (а): 52 раза
Поблагодарили: 5 раз

Re: Обновление MD. Перестают работать сценарии.

Сообщение GIV_59 » Вт окт 01, 2019 3:10 am

Divan писал(а):
Вт окт 01, 2019 1:26 am
Хотелось бы понять, у меня одного такая проблема с запуском сценария, когда стоит галочка "Выполнять периодически" или нет?
На одних работает, на других нет. Какая зависимость и в чем причина, я так и не понял. Заметил одну особенность, если выбирать не всю неделю, а дня 3-4, то начинает работать,но и то, не всегда.
За это сообщение автора GIV_59 поблагодарил:
Divan (Вт окт 01, 2019 10:15 am)
Рейтинг: 1.16%
Ответить