Не помешает строку преобразовать в числовой формат.
Код: Выделить всё
$T = (float)file_get_contents("http://192.168.0.30/sec/?pt=25&cmd=get");
Модератор: immortal
Не помешает строку преобразовать в числовой формат.
Код: Выделить всё
$T = (float)file_get_contents("http://192.168.0.30/sec/?pt=25&cmd=get");
Там проблема в том, что иногда (непонятно откуда) прилетает значение "2orm>bmit". Так что может и не помочь.
Код: Выделить всё
$T = file_get_contents("http://192.168.0.30/sec/?pt=25&cmd=get");
if (is_numeric($T)) {
//
}
Так то оно так. Я предлагал такой вариант чуть выше.skysilver писал(а): ↑Ср янв 16, 2019 12:27 pmТогда проверить is_numeric()Код: Выделить всё
$T = file_get_contents("http://192.168.0.30/sec/?pt=25&cmd=get"); if (is_numeric($T)) { // }
Chainik писал(а): ↑Ср янв 16, 2019 9:57 amДавайте пробовать дальше:Здесь будет производиться запись текущего значения, если данные в переменной $T являются числовыми и попадают в допустимый диапазон. Иначе пишем предыдущее значение.Код: Выделить всё
$T = file_get_contents("http://192.168.0.30/sec/?pt=25&cmd=get"); if (is_numeric($T) || $T <= 50 || $T >= -10) { //Пишем предыдущее значение, чтобы не терялась дискретность по периодичности сбора показаний sg('Sensor_temp06.value', $T); } else { sg('Sensor_temp06.value', gg('Sensor_temp06.value'));}
Пробуйте, наблюдайте, не появляются ли при таком варианте явно нереальные значения.