Re: Модуль "MegaD"
Добавлено: Вт июн 27, 2017 4:28 pm
Бинго! %) Как сам не додумался, ведь видел же в логах фразы про аваст... %)Может роутер или файрвол блокируют трафик...
Бинго! %) Как сам не додумался, ведь видел же в логах фразы про аваст... %)Может роутер или файрвол блокируют трафик...
Помнится, что-то там по броадкасту еще отправляется/принимается. Может аваст широковещательные пакеты рубит?ferenir писал(а):Работает только при полностью отключенном авасте (интернет секьюрити у меня), пробовал отдельно веб-экран отключать, играть с настройками файрволла - бесполезно. Какая такая деятельность происходит между мегой и мажором, что аваст ее блокирует? Вроде 80 порт в одной подсети...
В общем веб-экран и модуль оценки сайтов аваста блокируют общение меги и мажора, настроек в них нет, не помогает даже внесение в список исключений. Техподдержка аваста молчит.skysilver писал(а):Помнится, что-то там по броадкасту еще отправляется/принимается. Может аваст широковещательные пакеты рубит?ferenir писал(а):Работает только при полностью отключенном авасте (интернет секьюрити у меня), пробовал отдельно веб-экран отключать, играть с настройками файрволла - бесполезно. Какая такая деятельность происходит между мегой и мажором, что аваст ее блокирует? Вроде 80 порт в одной подсети...
viewtopic.php?f=5&t=2263&start=670#p54342koshnv писал(а):Всем добра!
Буду рад помощи или совету где покататься с кодом, с налета не разобрался где раскладываются запросы с меги.
Код: Выделить всё
//Задаем массив датчиков: [матка => [номер свойства, доступность, показание]]
$tempSensors = [
"fff7b0b31603" => [1, false, -1],
"ff2790c11604" => [2, false, -1],
"ff2790c00000" => [3, false, -1],
];
//не зарегистрированный датчики на шине
$notRegSensors = "";
//Получаем строку с меги и делим ее по датчикам в массив
//$listTemps = "ff2790c11604:24.18;fff7b0b31603:23.81";
$listTemps = file_get_contents("http://192.168.1.10/sec/?pt=31&cmd=list");
$temps = explode( ';', $listTemps);
//print_r ($temps);
//Сравнивая метки пишем показания, меняя доступность
foreach($temps as $temp){
$temp = explode( ':', $temp);
if(array_key_exists($temp[0], $tempSensors)){
$tempSensors[$temp[0]][1] = true;
$tempSensors[$temp[0]][2] = $temp[1];
}else{//пишем не найденные датчики в свойство
$notRegSensors = $notRegSensors."$temp[0]; ";
}
}
//обновляем свойства
foreach($tempSensors as $key => $sensor){
$this->setProperty($sensor[0], $sensor[2]);
}
$this->setProperty("notRegSensors", $notRegSensors);
Код: Выделить всё
//Отображение влажности (HTU21D/Si7021)
file_get_contents("http://192.168.0.14/sec/?pt=35&scl=34&i2c_dev=htu21d");
//Отображение температуры (HTU21D)
file_get_contents("http://192.168.0.14/sec/?pt=35&scl=34&i2c_dev=htu21d&i2c_par=1");
//Отображение атмосферного давления (BMP280/BME280)
file_get_contents("http://192.168.0.14/sec/?pt=30&scl=31&i2c_dev=bmx280");
//Отображение температуры (BMP280/BME280)
file_get_contents("http://192.168.0.14/sec/?pt=31&scl=30&i2c_dev=bmx280&i2c_par=1");
//Отображение влажности (BME280)
file_get_contents("http://192.168.0.14/sec/?pt=31&scl=30&i2c_dev=bmx280&i2c_par=2");
setTimeOut('myTimer_opros','runScript("opros");',60*5);Код: Выделить всё
$hum = file_get_contents("http://192.168.0.14/sec/?pt=35&scl=34&i2c_dev=htu21d");
sg('HTU21D.Hum',$hum);