Слежение за температурой контура отопления
Модератор: immortal
-
- Сообщения: 354
- Зарегистрирован: Вт окт 09, 2012 8:05 am
- Откуда: Луза Кировская обл. Россия
- Благодарил (а): 20 раз
- Поблагодарили: 35 раз
Re: Слежение за температурой контура отопления
Sorry за качество скрина, некогда было искать файлообменник.
Спасибо за строку в скетче, думал уже про это но еще не добрался до него.
Спасибо за строку в скетче, думал уже про это но еще не добрался до него.
Linux версия. Ubuntu Server 16.04+2xArduinoMega+Eth_GW_Mysensors_10node+WeatherStation+Xiaomi
CONNECT
CONNECT
-
- Сообщения: 708
- Зарегистрирован: Сб авг 18, 2012 10:21 am
- Благодарил (а): 26 раз
- Поблагодарили: 183 раза
Re: Слежение за температурой контура отопления
Брать температуру через web переменные получилось, осталось решить проблему с записью времени в "tempSensors. updatedTime" там пусто.sergejey писал(а):На сколько я понимаю, нужно опрашивать устройство через веб-переменные.
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Слежение за температурой контура отопления
Можно попробовать прописать такие строчки в код, запускаемый при обновлении веб-переменной:Jager писал(а):Брать температуру через web переменные получилось, осталось решить проблему с записью времени в "tempSensors. updatedTime" там пусто.sergejey писал(а):На сколько я понимаю, нужно опрашивать устройство через веб-переменные.
Код: Выделить всё
$params=array('t'=>$new_status);
callMethod('mySensor.tempChanged',$params);

- Рейтинг: 1.16%
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 1138
- Зарегистрирован: Вт янв 29, 2013 9:16 am
- Откуда: Белозерск
- Благодарил (а): 16 раз
- Поблагодарили: 402 раза
- Контактная информация:
Re: Слежение за температурой контура отопления
Напишите пожалуйста пошагово как подключить 1-wire датчик температуры и вывести результат в меню и в график, в устройствах датчики видны.
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
Re: Слежение за температурой контура отопления
Приведите, пжлста, в текстовом виде шаблон поиска?Anton_kulibin писал(а):Sorry за качество скрина, некогда было искать файлообменник.
Спасибо за строку в скетче, думал уже про это но еще не добрался до него.
Где-то так T0:283AC2E603000039(*?); ?
-
- Сообщения: 708
- Зарегистрирован: Сб авг 18, 2012 10:21 am
- Благодарил (а): 26 раз
- Поблагодарили: 183 раза
Re: Слежение за температурой контура отопления
283AC2E603000039:(.+?);Outrider писал(а): Приведите, пжлста, в текстовом виде шаблон поиска?
Где-то так T0:283AC2E603000039(*?); ?
Re: Слежение за температурой контура отопления
моем случае: передача данных от датчика посредством радиопередатчика на 433мгц, прием на ардуино и передача в мдомо через arduinoGW я сделал так:Vit писал(а):Можно еще такой вариант...
в сценарии датчика 1-wire добавить следующий код, который будет изменять свойства объекта
в выше указанном примере будет следующий код
if (isset($params['temperature'])) {
setGlobal('Sensor_Temperature_Test.Updated_Time',date('H:i'));
}
выбирайте какой больше вариант нравиться...
в любом случае за обои варианты огромное спасибо Сергею))
1) Create Scenario called easyRF:
$device_id=$params['did'];
$destination_id=$params['dest'];
$packet_id=$params['pid'];
$command_id=$params['c'];
$data=$params['d'];
setGlobal('GarageTS.temp',$data);
2) Create/Add Proprties to object: TempSensors
3) Add/modify TempSensors properties to:
direction (keep history let's say 7 days)
temp (Start method on change: tempUpdated, keep history let's say 7 days)
updated (keep history let's say 7 days)
updatedTime (keep history let's say 7 days)
4) Create Object under TempSensors:
GarageTS
Set Method of GarageTS Object to:
setGlobal('GarageTS.updatedTime',date("H:i",time()));
но как же быть с изменением направления, я в тупике подскажите код плиз!
-
- Сообщения: 1138
- Зарегистрирован: Вт янв 29, 2013 9:16 am
- Откуда: Белозерск
- Благодарил (а): 16 раз
- Поблагодарили: 402 раза
- Контактная информация:
Re: Слежение за температурой контура отопления
может кому нибудь будет полезен код обработки с датчика температуры 1-ware
температуру берет со свойства temperature12
имя объекта tempD5 свойство temp, свойства не связываем, просто устанавливаем интервал обновления и пишем следующий код:
округление температуры до десятых
я не понял как он вбазу пишет, пишет ли если значение не изменилось, если в базу необходимо писать только измененные значения то код будет иметь следующий вид:
в данном коде если температура совпадает, то значение температуры не пишется, а время обновления данных всё равно обновляется
вроде так, у Вас значение температуры я так понял в переменной $data
температуру берет со свойства temperature12
имя объекта tempD5 свойство temp, свойства не связываем, просто устанавливаем интервал обновления и пишем следующий код:
Код: Выделить всё
$temp12 = $params['temperature12']['VALUE'];
if ($temp12<>"" and $temp12<>0 and $temp12<>85 )
{
$temp12 = round($temp12,1);
sg("tempD5.temp", $temp12);
callMethod('tempD5.tempChanged',array('t'=>$temp12));
}
я не понял как он вбазу пишет, пишет ли если значение не изменилось, если в базу необходимо писать только измененные значения то код будет иметь следующий вид:
Код: Выделить всё
$temp12 = $params['temperature12']['VALUE'];
if ($temp12<>"" and $temp12<>0 and $temp12<>85 )
{
$temp12 = round($temp12,1);
$temp00=getGlobal("tempD5.temp");
if ($temp12<>$temp00){sg("tempD5.temp", $temp12);}
callMethod('tempD5.tempChanged',array('t'=>$temp12));
}
добавить в конец:но как же быть с изменением направления, я в тупике подскажите код плиз!
Код: Выделить всё
$old_temp = getGlobal("GarageTS.temp");
if ($data>$old_temp) {
$d=1;
} elseif ($data<$old_temp) {
$d=-1;
} else {
$d=0;
}
setGlobal('GarageTS.direction',$d);
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
Re: Слежение за температурой контура отопления
Подскажите кто может
не устанавливает updatedTime и все тут
0.70b
ubuntu 14
$this->setProperty("updated",time());
$this->setProperty('updatedTime',date("H:i",time()));
$this->setProperty("alive",1);
$ot=$this->object_title;
$alive_timeout=(int)$this->getProperty("aliveTimeOut");
if (!$alive_timeout) {
$alive_timeout=30*60;
}
clearTimeOut($ot."_alive");
setTimeOut($ot."_alive","sg('".$ot.".alive',0);",$alive_timeout);
if (!isset($params['t'])) {
return;
}
$old_temp=$this->getProperty('temp');
$t=round($params['t'],1);
if ($t>110) return;
$this->setProperty('temp',$t);
if ($params['uptime']) {
$this->setProperty('uptime',$params['uptime']);
}
if ($t>$old_temp) {
$d=1;
} elseif ($t<$old_temp) {
$d=-1;
} else {
$d=0;
}
$this->setProperty('direction',$d);
$linked_room=$this->getProperty("LinkedRoom");
if ($linked_room) {
setGlobal($linked_room.'.Temperature',$t);
}
причем не устанавливает даже direction
не устанавливает updatedTime и все тут
0.70b
ubuntu 14
$this->setProperty("updated",time());
$this->setProperty('updatedTime',date("H:i",time()));
$this->setProperty("alive",1);
$ot=$this->object_title;
$alive_timeout=(int)$this->getProperty("aliveTimeOut");
if (!$alive_timeout) {
$alive_timeout=30*60;
}
clearTimeOut($ot."_alive");
setTimeOut($ot."_alive","sg('".$ot.".alive',0);",$alive_timeout);
if (!isset($params['t'])) {
return;
}
$old_temp=$this->getProperty('temp');
$t=round($params['t'],1);
if ($t>110) return;
$this->setProperty('temp',$t);
if ($params['uptime']) {
$this->setProperty('uptime',$params['uptime']);
}
if ($t>$old_temp) {
$d=1;
} elseif ($t<$old_temp) {
$d=-1;
} else {
$d=0;
}
$this->setProperty('direction',$d);
$linked_room=$this->getProperty("LinkedRoom");
if ($linked_room) {
setGlobal($linked_room.'.Temperature',$t);
}
причем не устанавливает даже direction
-
- Сообщения: 2
- Зарегистрирован: Сб май 23, 2015 1:56 pm
- Благодарил (а): 1 раз
- Поблагодарили: 0
Re: Слежение за температурой контура отопления
Добрый день!
Взяли всё необходимое оборудование и пытались реализовать по инструкции. Затык на загрузке прошивки в Ардуино:
http://smartliving.ru/Main/ArduinoCode
Библиотеки подгрузил...их видно. Но зависает компиляция и всё.
Что можно ещё сделать? Или мне нужно обращаться к техподдержке Ардуино?
Взяли всё необходимое оборудование и пытались реализовать по инструкции. Затык на загрузке прошивки в Ардуино:
http://smartliving.ru/Main/ArduinoCode
Библиотеки подгрузил...их видно. Но зависает компиляция и всё.
Что можно ещё сделать? Или мне нужно обращаться к техподдержке Ардуино?