--- ./include/views/monitoring.charts.php.orig	2014-07-17 15:49:46.000000000 +0200
+++ ./include/views/monitoring.charts.php	2014-08-22 19:02:14.000000000 +0200
@@ -68,6 +68,41 @@
 		'profileIdx' => $screen->profileIdx
 	));
 }
+else if ($this->data['pageFilter']->hostid != 0) {
+	$options = array(
+		'output' => array('graphid', 'name', 'graphtype'),
+		'hostids' => $this->data['pageFilter']->hostid,
+		'limit' => CWebUser::$data['rows_per_page']
+	);
+	$graphs = API::Graph()->get($options);
+
+	usort($graphs, function($a, $b) {
+		return strcmp(
+			( ($a['graphtype']<2) ? 0 : 1).$a['name'],
+			( ($b['graphtype']<2) ? 0 : 1).$b['name']
+		);
+	});
+
+	$chartTable = new CTable(_('No graphs defined.'), 'maxwidth');
+	foreach ($graphs as $graph) {
+		$graphid = $graph['graphid'];
+		$screen = CScreenBuilder::getScreen(array(
+			'resourcetype' => SCREEN_RESOURCE_CHART,
+			'graphid' => $graph['graphid'],
+			'profileIdx' => 'web.screens',
+			'profileIdx2' => $graph['graphid'],
+			'dataId' => 'graph_full_' . $graph['graphid']
+		));
+		$chartTable->addRow($screen->get());
+	}
+
+	$chartsWidget->addItem($chartTable);
+
+	CScreenBuilder::insertScreenStandardJs(array(
+		'timeline' => $screen->timeline,
+		'profileIdx' => $screen->profileIdx
+	));
+}
 else {
 	$screen = new CScreenBuilder();
 	CScreenBuilder::insertScreenStandardJs(array(
--- ./include/classes/screens/CScreenChart.php.orig	2014-07-17 15:49:47.000000000 +0200
+++ ./include/classes/screens/CScreenChart.php	2014-08-22 18:51:00.000000000 +0200
@@ -38,6 +38,7 @@
 		parent::__construct($options);
 
 		$this->graphid = isset($options['graphid']) ? $options['graphid'] : null;
+		$this->dataId = isset($options['dataId']) ? $options['dataId'] : null;
 	}
 
 	/**
@@ -46,7 +47,9 @@
 	 * @return CDiv (screen inside container)
 	 */
 	public function get() {
-		$this->dataId = 'graph_full';
+		if (empty($this->dataId)) {
+			$this->dataId = 'graph_full';
+		}
 		$containerId = 'graph_container';
 
 		// time control
--- ./js/flickerfreescreen.js.orig	2014-07-17 15:49:46.000000000 +0200
+++ ./js/flickerfreescreen.js	2014-08-22 18:51:00.000000000 +0200
@@ -299,7 +299,7 @@
 						// re-refresh image
 						var bufferImg = $(this);
 
-						if (bufferImg.data('timestamp') > screen.timestamp) {
+						if (bufferImg.data('timestamp')+1000 > screen.timestamp) {
 							screen.timestamp = bufferImg.data('timestamp');
 
 							// set id
