[Модуль] Sonoff (dev_sonoff)

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

Модератор: immortal

Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение nick7zmail » Пн апр 15, 2019 6:39 am

Странно всё это))) должно падать =D...
С 4х канальным ещё гляну в чём проблема, а в остальном, получется - можно в работу вводить? Главное чтобы не посыпалась гора недовольств после этого))
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
samolet
Сообщения: 474
Зарегистрирован: Чт июн 29, 2017 10:29 am
Благодарил (а): 46 раз
Поблагодарили: 45 раз

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение samolet » Пн апр 15, 2019 7:39 am

С четырехканалкой следующее,,, такое ощущение что какоето эхо в самом мажорике гуляет, так как реле работает хорошо а вот статус с каким то эхом, и после вкл. выкл статус непосредственно в картинках может заново показать что реле включено ну или выключино, но буквально через 5-10 сек. приходит в свое норм. состояние.




вот такая ошибка вылезла в (ошибки системы)
но скорее всего она выскочила при агрессивном использовании выключателей

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

Exception in "spalnya.turnOn" method Empty read; connection dead?  Stream state: {"crypto":{"protocol":"TLSv1.2","cipher_name":"ECDНE-ХКA-AES118-GCM-SHA256","cipher_bits":128,"cipher_version":"TLSv1.2"},"timed_out":false,"blocked":true,"eof":false,"stream_type":"tcp_socket\/ssl","mode":"r+","unread_bytes":0,"seekable":false}
Backtrace:
#0 C:\_majordomo\htdocs\modules\objects\objects.class.php(578): registerError('method', 'Exception in "s...')
#1 C:\_majordomo\htdocs\modules\objects\objects.class.php(571) : eval()'d code(5): objects->callMethod('turnOn')
#2 C:\_majordomo\htdocs\modules\objects\objects.class.php(571): eval()
#3 C:\_majordomo\htdocs\lib\objects.class.php(991): objects->callMethod('switch', Array)
#4 C:\_majordomo\htdocs\modules\scenes\scenes.class.php(677): callMethod('switch', Array)
#5 C:\_majordomo\htdocs\modules\scenes\scenes.class.php(102): scenes->usual(Array)
#6 C:\_majordomo\htdocs\modules\application.class.php(400) : eval()'d code(5): scenes->run()
#7 C:\_majordomo\htdocs\modules\application.class.php(400): eval()
#8 C:\_majordomo\htdocs\index.php(71): application->run()
#9 C:\_majordomo\htdocs\admin.php(150): include_once('C:\\_majordomo\\h...')
#10 {main}

немного подкорректировал код, были чуть лишние скобки и запятые, особой роли не играли но все так-же работает хорошо, цикл не падает
нашел повторяющуюся строку, удалил.(не знаю может и не правильно сделал. но все работает хорошо)
$sonoffws = new SonoffWS($wssurl, $config);

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

<?php
chdir(dirname(__FILE__) . '/../');
include_once("./config.php");
include_once("./lib/loader.php");
include_once("./lib/threads.php");
include_once("./lib/websockets/sonoffws.class.php");
set_time_limit(0);
 

$db = new mysql(DB_HOST, '', DB_USER, DB_PASSWORD, DB_NAME);
include_once "./load_settings.php";
include_once DIR_MODULES . "control_modules/control_modules.class.php" ;
$ctl = new control_modules();
include_once DIR_MODULES . 'dev_sonoff/dev_sonoff.class.php' ;
$dev_sonoff_module = new dev_sonoff();
$dev_sonoff_module->getConfig();
$tmp = SQLSelectOne "SELECT ID FROM dev_sonoff_devices LIMIT 1" ;
if (!$tmp['ID'])
   exit; 
echo date("H:i:s") . " running " . basename(__FILE__) . PHP_EOL;
$latest_check=0;
$checkEvery = $dev_sonoff_module->config['POLL_PERIOD'];
$wssurl = $dev_sonoff_module->getWssUrl();

while (1)
{
  





   setGlobal((str_replace('.php','', basename(__FILE__))) . 'Run', time());
    echo date('Y-m-d H:i:s').' Polling devices...';
    	if($sonoffws->isConnected()) {
		
      $read   = array($sonoffws->getSocket());
	 $write = null;
      $except = null;

		if (false === ($num_changed_streams = stream_select($read, $write, $except, $checkEvery))) {
			
		} elseif ($num_changed_streams > 0) {
		
			$recv=$sonoffws->receive();
			if($dev_sonoff_module->config['DEBUG']) {
				debmes('[wss] +++ '.$recv, 'cycle_dev_sonoff_debug');
			}
			$dev_sonoff_module->wssRecv($recv, $sonoffws);
		}
		
	} else {
		
		$sonoffws = new SonoffWS($wssurl, $config);
		$sonoffws->socketUrl=$wssurl;
		$sonoffws->connect();
		if($sonoffws->isConnected()) {
			$dev_sonoff_module->wssInit($sonoffws);
		}
	}




   if (file_exists('./reboot') || $_GET['onetime'])
   {
      $db->Disconnect();
      exit;
   }
   sleep(1);
}
DebMes("Unexpected close of cycle: " . basename(__FILE__));

вот что хря выдает, ну так, на всякий

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


04:02:47 0.85245800 Closing thread: c:/_majordomo/server/php/php.exe -q ./scripts/cycle_websockets.php --params "a:0:{}" > NUL
02:00:08 0.15881500 Removing log file C:\_majordomo\htdocs/cms/debmes/2019-04-10_optimizer.log
02:00:08 0.15234400 Removing log file C:\_majordomo\htdocs/cms/debmes/2019-04-09_threads.log
02:00:08 0.14670100 Removing log file C:\_majordomo\htdocs/cms/debmes/2019-04-09_terminals.log
02:00:08 0.14175500 Removing log file C:\_majordomo\htdocs/cms/debmes/2019-04-09_process_subscription.log
02:00:08 0.13697600 Removing log file C:\_majordomo\htdocs/cms/debmes/2019-04-09_patterns.log
02:00:08 0.13050100 Removing log file C:\_majordomo\htdocs/cms/debmes/2019-04-09_homebridge.log
02:00:08 0.12518500 Removing log file C:\_majordomo\htdocs/cms/debmes/2019-04-09_execs.log
02:00:08 0.11902300 Removing log file C:\_majordomo\htdocs/cms/debmes/2019-04-09_error.log
02:00:08 0.11339000 Removing log file C:\_majordomo\htdocs/cms/debmes/2019-04-09_diagnostics.log
02:00:08 0.10732200 Removing log file C:\_majordomo\htdocs/cms/debmes/2019-04-09_backup.log
02:00:08 0.09568300 Removing log file C:\_majordomo\htdocs/cms/debmes/2019-04-09.log
02:00:03 0.00332200 Running maintenance script
00:00:04 0.06366700 Не удалось обновить курс валют
Последний раз редактировалось samolet Пн апр 15, 2019 8:17 am, всего редактировалось 1 раз.
kirovskij
Сообщения: 6
Зарегистрирован: Сб фев 02, 2019 10:32 am
Благодарил (а): 2 раза
Поблагодарили: 0

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение kirovskij » Пн апр 15, 2019 8:17 am

Заменил код. Перезапустил цикл и всё. Цикл отвалился и не стартует.
Аватара пользователя
samolet
Сообщения: 474
Зарегистрирован: Чт июн 29, 2017 10:29 am
Благодарил (а): 46 раз
Поблагодарили: 45 раз

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение samolet » Пн апр 15, 2019 8:55 am

kirovskij писал(а):
Пн апр 15, 2019 8:17 am
Заменил код. Перезапустил цикл и всё. Цикл отвалился и не стартует.
попробуйте оптимизировать все таблицы в phpmyadmin перепроверил у себя, и со страым кодом и с новым все работает
kirovskij
Сообщения: 6
Зарегистрирован: Сб фев 02, 2019 10:32 am
Благодарил (а): 2 раза
Поблагодарили: 0

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение kirovskij » Пн апр 15, 2019 11:02 am

к сожалению нет, управление из Majordomo работает, само 4х канальное реле срабатывает,но цикл не запускается
sonoff.jpg
sonoff.jpg (91.33 КБ) 3279 просмотров
и если управлять реле не из Majordomo то статус не обновляет.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение nick7zmail » Пн апр 15, 2019 11:09 am

samolet писал(а):
Пн апр 15, 2019 7:39 am

вот такая ошибка вылезла в (ошибки системы)
но скорее всего она выскочила при агрессивном использовании выключателей

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

Exception in "spalnya.turnOn" method Empty read; connection dead?  Stream state: {"crypto":{"protocol":"TLSv1.2","cipher_name":"ECDНE-ХКA-AES118-GCM-SHA256","cipher_bits":128,"cipher_version":"TLSv1.2"},"timed_out":false,"blocked":true,"eof":false,"stream_type":"tcp_socket\/ssl","mode":"r+","unread_bytes":0,"seekable":false}
Backtrace:
#0 C:\_majordomo\htdocs\modules\objects\objects.class.php(578): registerError('method', 'Exception in "s...')
#1 C:\_majordomo\htdocs\modules\objects\objects.class.php(571) : eval()'d code(5): objects->callMethod('turnOn')
#2 C:\_majordomo\htdocs\modules\objects\objects.class.php(571): eval()
#3 C:\_majordomo\htdocs\lib\objects.class.php(991): objects->callMethod('switch', Array)
#4 C:\_majordomo\htdocs\modules\scenes\scenes.class.php(677): callMethod('switch', Array)
#5 C:\_majordomo\htdocs\modules\scenes\scenes.class.php(102): scenes->usual(Array)
#6 C:\_majordomo\htdocs\modules\application.class.php(400) : eval()'d code(5): scenes->run()
#7 C:\_majordomo\htdocs\modules\application.class.php(400): eval()
#8 C:\_majordomo\htdocs\index.php(71): application->run()
#9 C:\_majordomo\htdocs\admin.php(150): include_once('C:\\_majordomo\\h...')
#10 {main}
Вот именно с этой ошибкой у меня и валится цикл. При чем как при использовании выключателей так и без. В момент, когда пинг прилетает.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
samolet
Сообщения: 474
Зарегистрирован: Чт июн 29, 2017 10:29 am
Благодарил (а): 46 раз
Поблагодарили: 45 раз

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение samolet » Пн апр 15, 2019 6:14 pm

у меня все работает отлично
Вложения
435345345.png
435345345.png (150.75 КБ) 3255 просмотров
kirovskij
Сообщения: 6
Зарегистрирован: Сб фев 02, 2019 10:32 am
Благодарил (а): 2 раза
Поблагодарили: 0

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение kirovskij » Пн апр 15, 2019 8:04 pm

samolet писал(а):
Пн апр 15, 2019 6:14 pm
у меня все работает отлично
Может зависит от платформы на которую сервер установлен? У меня стоит на Малинке, и не работает... вернее работает, но цикл падает и не восстанавливается.А у вас судя по всему на винде. Но это только предположение.
Аватара пользователя
samolet
Сообщения: 474
Зарегистрирован: Чт июн 29, 2017 10:29 am
Благодарил (а): 46 раз
Поблагодарили: 45 раз

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение samolet » Пн апр 15, 2019 10:15 pm

винда десятка, железо хорошее не дешевое
Вложения
54.png
54.png (321.14 КБ) 3235 просмотров
Аватара пользователя
samolet
Сообщения: 474
Зарегистрирован: Чт июн 29, 2017 10:29 am
Благодарил (а): 46 раз
Поблагодарили: 45 раз

Re: [Модуль] Sonoff (dev_sonoff)

Сообщение samolet » Вт апр 16, 2019 7:44 am

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