[Модуль] MySensors (mysensor)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

ipz
Сообщения: 238
Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Благодарил (а): 38 раз
Поблагодарили: 45 раз

Re: [Модуль] MySensors (mysensor)

Сообщение ipz » Чт ноя 22, 2018 7:57 pm

Иван, за мультигейт спасибо!

Только что обновился, но что-то интерфейс поломан...
mys.jpg
mys.jpg (175.97 КБ) 4522 просмотра
ahelper
Сообщения: 106
Зарегистрирован: Ср фев 08, 2017 5:04 pm
Благодарил (а): 34 раза
Поблагодарили: 66 раз

Re: [Модуль] MySensors (mysensor)

Сообщение ahelper » Чт ноя 22, 2018 9:57 pm

ahelper писал(а):
Вт ноя 20, 2018 10:31 am
Приветствую. До обновления IR передатчик работал на гейте, после, перестал. Обращение к нему такого вида

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

$NId = 0;
$SId = 2;
$mType = 1;
$ack = 0;
$SubType = 32;
$val = 90;

include_once(DIR_MODULES . 'mysensor/mysensor.class.php');
$notify = new mysensor();
$notify->cmd( "$NId;$SId;$mType;$ack;$SubType;" . $val );
Во вкладке узлы он нулевой, во вкладке Gates id1.
Сам он информацию исправно отправляет (температуру, давление, влажность, движение).
Как теперь мне отправлять код на гейт?
В продолжение, Как теперь отправлять команду?
Такое уже не работает

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

$NId = 25;
$SId = 3;
$mType = 1;
$ack = 0;
$SubType = 32;
$val = 90;

include_once(DIR_MODULES . 'mysensor/mysensor.class.php');
$notify = new mysensor();
$notify->cmd( "$NId;$SId;$mType;$ack;$SubType;" . $val );
Ошибка такая

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

Fatal error: Uncaught ArgumentCountError: Too few arguments to function mysensor::cmd(), 1 passed in C:\_majordomo\htdocs\modules\scripts\scripts.class.php(150) : eval()'d code on line 10 and at least 2 expected in C:\_majordomo\htdocs\modules\mysensor\mysensor.class.php:651 Stack trace: #0 C:\_majordomo\htdocs\modules\scripts\scripts.class.php(150) : eval()'d code(10): mysensor->cmd('25;3;1;0;32;90') #1 C:\_majordomo\htdocs\modules\scripts\scripts.class.php(150): eval() #2 C:\_majordomo\htdocs\lib\common.class.php(789): scripts->runScript('Rostel_Bed', Array) #3 C:\_majordomo\htdocs\objects\index.php(171): runScript('Rostel_Bed', Array) #4 {main} thrown in C:\_majordomo\htdocs\modules\mysensor\mysensor.class.php on line 651
ipz
Сообщения: 238
Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Благодарил (а): 38 раз
Поблагодарили: 45 раз

Re: [Модуль] MySensors (mysensor)

Сообщение ipz » Чт ноя 22, 2018 11:32 pm

Вангую, что так

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

$notify->cmd($GID, "$NId;$SId;$mType;$ack;$SubType;" . $val, true );
т.к. заголовок функции выглядит так

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

function cmd($GId, $str, $immediately = false)
и надо определить дополнительно
$GId - номер гейта
$immediately = true
mrdenis
Сообщения: 31
Зарегистрирован: Чт мар 19, 2015 7:55 am
Благодарил (а): 6 раз
Поблагодарили: 1 раз

Re: [Модуль] MySensors (mysensor)

Сообщение mrdenis » Пн ноя 26, 2018 6:48 am

ipz писал(а):
Чт ноя 22, 2018 7:57 pm

Только что обновился, но что-то интерфейс поломан...
У меня была такая хрень, когда обновил модуль, а систему нет.
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: [Модуль] MySensors (mysensor)

Сообщение Ivan » Пн ноя 26, 2018 2:28 pm

ipz писал(а):Иван, за мультигейт спасибо!

Только что обновился, но что-то интерфейс поломан...
mys.jpg
Сегодня увидел у одного человека такое
Проблема в том что система старая. Обновите систему
Также сегодня сделал патч для более старых версий

Отправлено с моего SM-J730FM через Tapatalk

За это сообщение автора Ivan поблагодарил:
ipz (Сб дек 01, 2018 8:50 pm)
Рейтинг: 1.16%
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: [Модуль] MySensors (mysensor)

Сообщение Ivan » Пн ноя 26, 2018 2:31 pm

ahelper писал(а):
ahelper писал(а):
Вт ноя 20, 2018 10:31 am
Приветствую. До обновления IR передатчик работал на гейте, после, перестал. Обращение к нему такого вида

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

$NId = 0;
$SId = 2;
$mType = 1;
$ack = 0;
$SubType = 32;
$val = 90;

include_once(DIR_MODULES . 'mysensor/mysensor.class.php');
$notify = new mysensor();
$notify->cmd( "$NId;$SId;$mType;$ack;$SubType;" . $val );
Во вкладке узлы он нулевой, во вкладке Gates id1.
Сам он информацию исправно отправляет (температуру, давление, влажность, движение).
Как теперь мне отправлять код на гейт?
В продолжение, Как теперь отправлять команду?
Такое уже не работает

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

$NId = 25;
$SId = 3;
$mType = 1;
$ack = 0;
$SubType = 32;
$val = 90;

include_once(DIR_MODULES . 'mysensor/mysensor.class.php');
$notify = new mysensor();
$notify->cmd( "$NId;$SId;$mType;$ack;$SubType;" . $val );
Ошибка такая

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

Fatal error: Uncaught ArgumentCountError: Too few arguments to function mysensor::cmd(), 1 passed in C:\_majordomo\htdocs\modules\scripts\scripts.class.php(150) : eval()'d code on line 10 and at least 2 expected in C:\_majordomo\htdocs\modules\mysensor\mysensor.class.php:651 Stack trace: #0 C:\_majordomo\htdocs\modules\scripts\scripts.class.php(150) : eval()'d code(10): mysensor->cmd('25;3;1;0;32;90') #1 C:\_majordomo\htdocs\modules\scripts\scripts.class.php(150): eval() #2 C:\_majordomo\htdocs\lib\common.class.php(789): scripts->runScript('Rostel_Bed', Array) #3 C:\_majordomo\htdocs\objects\index.php(171): runScript('Rostel_Bed', Array) #4 {main} thrown in C:\_majordomo\htdocs\modules\mysensor\mysensor.class.php on line 651
Все правильно. Внутри сильно поменялся класс. И добавились параметры у функций.

А можно нескромный вопрос. А зачем вам работать напрямую с функциями?

Я вот сколько пользуюсь разными нодами еще не приходилось команды функциями слать

Отправлено с моего SM-J730FM через Tapatalk

Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
sav13
Сообщения: 19
Зарегистрирован: Пн мар 12, 2018 8:41 am
Откуда: Пермь
Благодарил (а): 0
Поблагодарили: 0
Контактная информация:

Re: [Модуль] MySensors (mysensor)

Сообщение sav13 » Сб дек 01, 2018 2:23 pm

Всем привет
Вопросик по модулю Mysensors
Как в скриптах добраться до свойств конкретной ноды (а не сенсора). Например, уровня заряда батареи или времени последней перезагрузки?
Orange PI PC + Mysensors + ESP8266/32 MQTT + miHome
cabat
Сообщения: 216
Зарегистрирован: Ср май 28, 2014 12:42 pm
Откуда: Санкт-Петерург
Благодарил (а): 76 раз
Поблагодарили: 28 раз

Re: [Модуль] MySensors (mysensor)

Сообщение cabat » Сб дек 01, 2018 6:24 pm

Я создал для каждой ноды объект, пишу в его свойства заряд и напряжение батарейки.
ipz
Сообщения: 238
Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Благодарил (а): 38 раз
Поблагодарили: 45 раз

Re: [Модуль] MySensors (mysensor)

Сообщение ipz » Сб дек 01, 2018 9:00 pm

Вопрос, скорее, был про те свойства, которые модуль MySensor сам сохраняет в базе: BATTERY, LASTREBOOT
Нужно смотреть/править таблицу msnodes

(у меня иногда прилетают мусорные значения в поле BATTERY, приходится удалять)
ученик
Сообщения: 230
Зарегистрирован: Чт фев 12, 2015 2:34 pm
Благодарил (а): 36 раз
Поблагодарили: 6 раз

Re: [Модуль] MySensors (mysensor)

Сообщение ученик » Пт дек 07, 2018 7:54 am

Пытался сделать из nodemcu v3 гейт для mysensors/
Обновил библиотеки, взял пример из скетчей
поменял ip адрес, шлюз
Пытаюсь скомпилировать появляются ошибки

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

Компиляция скетча...
"C:\Users\Temp\ideV2\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\Users\Temp\ideV2\portable\packages\esp8266\hardware\esp8266\2.4.2/tools/sdk/include" "-IC:\Users\Temp\ideV2\portable\packages\esp8266\hardware\esp8266\2.4.2/tools/sdk/lwip2/include" "-IC:\Users\Temp\ideV2\portable\packages\esp8266\hardware\esp8266\2.4.2/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\Users\AppData\Local\Temp\arduino_build_965810/core" -c -w  -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD -ffunction-sections -fdata-sections -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536   -DARDUINO=10801 -DARDUINO_ESP8266_NODEMCU -DARDUINO_ARCH_ESP8266 -DARDUINO_BOARD="ESP8266_NODEMCU"   -DESP8266 "-IC:\Users\Temp\ideV2\portable\packages\esp8266\hardware\esp8266\2.4.2\cores\esp8266" "-IC:\Users\Temp\ideV2\portable\packages\esp8266\hardware\esp8266\2.4.2\variants\nodemcu" "-IC:\Users\Temp\ideV2\portable\packages\esp8266\hardware\esp8266\2.4.2\libraries\EEPROM" "-IC:\Users\Temp\ideV2\portable\packages\esp8266\hardware\esp8266\2.4.2\libraries\SPI" "-IC:\Users\Temp\ideV2\portable\packages\esp8266\hardware\esp8266\2.4.2\libraries\ESP8266WiFi\src" "-IC:\Users\Temp\ideV2\portable\sketchbook\libraries\MySensors" "C:\Users\AppData\Local\Temp\arduino_build_965810\sketch\GatewayESP8266.ino.cpp" -o "C:\Users\AppData\Local\Temp\arduino_build_965810\sketch\GatewayESP8266.ino.cpp.o"
In file included from C:\Users\Temp\ideV2\portable\sketchbook\libraries\MySensors/MySensors.h:299:0,
                 from C:\Users\AppData\Local\Temp\arduino_modified_sketch_432810\GatewayESP8266.ino:137:
C:\Users\Temp\ideV2\portable\sketchbook\libraries\MySensors/core/MyMainESP8266.cpp:37:53: error: declaration of C function 'void ets_update_cpu_frequency(int)' conflicts with
 extern "C" void ets_update_cpu_frequency(int freqmhz);
         In file included from C:\Users\Temp\ideV2\portable\packages\esp8266\hardware\esp8266\2.4.2\cores\esp8266/pgmspace.h:10:0,
                 from C:\Users\Temp\ideV2\portable\packages\esp8266\hardware\esp8266\2.4.2\cores\esp8266/Arduino.h:256,
                 from C:\Users\AppData\Local\Temp\arduino_build_965810\sketch\GatewayESP8266.ino.cpp:1:
C:\Users\Temp\ideV2\portable\packages\esp8266\hardware\esp8266\2.4.2/tools/sdk/include/ets_sys.h:218:6: error: previous declaration 'void ets_update_cpu_frequency(uint32_t)' here
 void ets_update_cpu_frequency(uint32_t ticks_per_us);
Используем библиотеку EEPROM версии 1.0 из папки: C:\Users\Temp\ideV2\portable\packages\esp8266\hardware\esp8266\2.4.2\libraries\EEPROM 
Используем библиотеку SPI версии 1.0 из папки: C:\Users\Temp\ideV2\portable\packages\esp8266\hardware\esp8266\2.4.2\libraries\SPI 
Используем библиотеку ESP8266WiFi версии 1.0 из папки: C:\Users\Temp\ideV2\portable\packages\esp8266\hardware\esp8266\2.4.2\libraries\ESP8266WiFi 
Используем библиотеку MySensors версии 2.0.0 из папки: C:\Users\Temp\ideV2\portable\sketchbook\libraries\MySensors 
exit status 1
Ошибка компиляции для платы NodeMCU 1.0 (ESP-12E Module).
как скомпилировать скетч?
до этого делал проекты на nodemcu никаких проблем не было
server i5, OS-Ubuntu Server 16., 1-wire
php 7, AMS,broadlink rm2,rm3 mini.
Ответить