/** * Title * * Description * * @access public */ function getProperty($id) { $prop = SQLSelectOne("SELECT * FROM knxproperties WHERE ID='" . $id . "' AND CAN_READ=1"); if (!$prop['ID']) { return false; } if (!$this->connection) { $this->connect(0); } if ($this->connection) { $res = cacheread($this->connection, $prop['ADDRESS'], 0); //var_dump($res); // $res[0] - addr // $res[1] - from if (isset($res[2])) { $data = array(); $total = count($res); for ($i = 2; $i < $total; $i++) { $data[] = (int) $res[$i]; } $old_value = $prop['DATA_VALUE']; if ($prop['DATA_TYPE'] == 'small') { $prop['DATA_VALUE'] = $data[0]; } elseif ($prop['DATA_TYPE'] == 'p1') { $prop['DATA_VALUE'] = round($data[0] * 100 / 255, 2); } elseif ($prop['DATA_TYPE'] == 'f2') { $prop['DATA_VALUE'] = f2_decode($data); // TO-DO: OTHER TYPES!!! } elseif ($prop['DATA_TYPE'] == 'b1') { } elseif ($prop['DATA_TYPE'] == 'b2') { } $prop['DATA_RAW'] = implode(',', $data); $prop['UPDATED'] = date('Y-m-d H:i:s'); print_r($prop); SQLUpdate('knxproperties', $prop); if ($prop['LINKED_OBJECT'] && $prop['LINKED_PROPERTY']) { setGlobal($prop['LINKED_OBJECT'] . '.' . $prop['LINKED_PROPERTY'], $prop['DATA_VALUE'], array($this->name => '0')); } if ($prop['LINKED_OBJECT'] && $prop['LINKED_METHOD'] && $prop['DATA_VALUE'] != $old_value) { $params = array(); $params['VALUE'] = $prop['DATA_VALUE']; callMethod($prop['LINKED_OBJECT'] . '.' . $prop['LINKED_METHOD'], $params); } } } }
function display($con) { control_begin('temp', $this->title); $temp = "20"; if ($this->stateaddr != "" && ($r = fetchstats($con, $this->stateaddr, $this->age))) { if (count($r) == 2) { $temp = f2_decode($r); printf("%s °C", $temp); } } control_main(); if ($this->tempaddr != "") { send_form("Send", $this->tempaddr, "f2", $temp, 1); } control_end(); }