/** * Refresh last seen date of all connected devices. */ public function refreshConnectedDevices() { $devices = $this->entityManager->getRepository('WeatherSensorBundle:Sensor')->findAll(); foreach ($devices as $device) { if (null !== ($measureValue = $this->isDeviceConnected($device))) { $device->setLastSeen(new \DateTime()); $device->setConnected(true); $measure = new Measure(); $measure->setValue($measureValue); $measure->setDate(new \DateTime()); $device->addMeasure($measure); } else { $device->setConnected(false); } } $this->entityManager->flush(); }
public function addMeasure(Measure $measure) { $measure->setSensor($this); $this->measures->add($measure); }