';
if (noteimgs.length > 3)
@@ -145,7 +145,7 @@ function loadCalendarKiosk()
$.getJSON('/shmcache/grical_realraum.json', function(data){
var calhtml = "";
$.each(calendarItemEnhancer(data), function(index, itm) {
- calhtml += ''+itm.when+' - '+itm.title+''+"\n";
+ calhtml += ''+itm.when+' - '+itm.title+''+"\n";
});
calcontainer.innerHTML='';
});
@@ -165,6 +165,40 @@ function loadCalendarMainPage()
}
+function drawGauge(targetelem, label, temp, options) {
+ var data = google.visualization.arrayToDataTable([["Label", "Value"],[label,temp]]);
+ // Create and draw the visualization.
+ if (targetelem)
+ {
+ options["width"] = targetelem.getAttribute("width");
+ options["height"] = targetelem.getAttribute("height");
+ var chart = new google.visualization.Gauge(targetelem);
+ chart.draw(data, options);
+ }
+}
+
+function drawLineGraph(targetelem, dataarray, options) {
+ if (dataarray) {
+ var data = google.visualization.arrayToDataTable(dataarray);
+ // Create and draw the visualization.
+ if (targetelem)
+ {
+ options["width"]= targetelem.getAttribute("width");
+ options["height"]=targetelem.getAttribute("height");
+ new google.visualization.LineChart(targetelem).draw(data, options);
+ }
+ }
+}
+
+function loadAndDrawSensorData() {
+ $.getJSON("https://realraum.at/shmcache/r3sensors.json", function(data){
+ drawLineGraph(document.getElementById('tempgooglegraph'), data["TempSensorUpdate"],
+ {curveType: "function", title: 'Temperature Sensors', vAxis: {maxValue: 29, minValue:5}, colors: ['#FF0000','#CC0033','#660000','#CC3333'], chartArea:{left:32,top:20,width:"88%",height:"83%"}, legend: {position: "none"}} );
+ drawLineGraph(document.getElementById('lightgooglegraph'), data["IlluminationSensorUpdate"],
+ {curveType: "none", title: 'Illumination Sensors', vAxis: {maxValue: 1024, minValue:5}, chartArea:{left:32,top:20,width:"88%",height:"83%"}, legend: {position: "none"}} );
+ });
+}
+
function writeAnwesenheitStatus(data)
{
var html="";
@@ -190,28 +224,30 @@ function writeAnwesenheitStatus(data)
{
anwesenheit_status_frontpage.innerHTML=' | | '+data.status+' |
';
}
-
+
if (data.sensors)
{
if (data.sensors.temperature)
{
- sensorstd+='Temperatur';
+ sensorstd+=' | Temperatur';
$.each( data.sensors.temperature, function(s, sensorobj) {
sensorstd+=' '+sensorobj.location+': '+sensorobj.value.toFixed(2)+sensorobj.unit;
+ drawGauge(document.getElementById('tempgauge'), "Temp "+sensorobj.location, sensorobj.value, {redFrom: 33, redTo: 40, yellowFrom:29, yellowTo: 33, minorTicks: 4, min:0, max:40});
});
sensorstd+=' | ';
}
if (data.sensors.ext_illumination)
{
- sensorstd+='Licht';
+ sensorstd+=' | Licht';
$.each( data.sensors.ext_illumination, function(s, sensorobj) {
sensorstd+=' '+sensorobj.location+': '+sensorobj.value;
+ drawGauge(document.getElementById('lightgauge'), "Licht "+sensorobj.location, sensorobj.value, {redFrom: 950, redTo: 1024,yellowFrom:0, yellowTo: 200,minorTicks: 4, min:0, max:1024});
});
sensorstd+=' | ';
}
if (data.sensors.door_locked)
{
- sensorstd+='Eingangstür';
+ sensorstd+=' | Eingangstür';
$.each( data.sensors.door_locked, function(s, sensorobj) {
var lockstatus="Auf";
if (sensorobj.value) { lockstatus = "Zu"; }
@@ -221,7 +257,7 @@ function writeAnwesenheitStatus(data)
}
if (data.sensors.ext_door_ajar)
{
- sensorstd+=' | Türkontakt';
+ sensorstd+=' | Türkontakt';
$.each( data.sensors.ext_door_ajar, function(s, sensorobj) {
var lockstatus="Auf";
if (sensorobj.value) { lockstatus = "Zu"; }
@@ -231,13 +267,13 @@ function writeAnwesenheitStatus(data)
}
if (data.sensors.ext_dust)
{
- sensorstd+=' | Staub';
+ sensorstd+=' | Staub';
$.each( data.sensors.ext_dust, function(s, sensorobj) {
sensorstd+=' '+sensorobj.location+': '+sensorobj.value+sensorobj.unit+' | ';
});
sensorstd+='';
- }
+ }
if (sensorstd != "")
{
sensorshtml='';
@@ -275,7 +311,7 @@ function highlightEntry(idx, color, value)
if(value == 0) {
if(idx%2 == 0)
$('#upnext' + idx).css('background-color', 'white');
- else
+ else
$('#upnext' + idx).css('background-color', '#E0E0E0');
} else {
$('#upnext' + idx).css('background-color', color);
@@ -350,7 +386,7 @@ function reloadImg(element)
$(document).ready(function()
{
updateAnwesenheitStatus();
- setInterval("updateAnwesenheitStatus()", 10*1000);
+ setInterval("updateAnwesenheitStatus()", 10*1000);
if (document.getElementById("dateclock"))
{
updateDateClock(new Date());
@@ -370,6 +406,11 @@ $(document).ready(function()
{
setInterval("updateSensors()",145*1000);
}
+ if (document.getElementById("tempgooglegraph") || document.getElementById("lightgooglegraph"))
+ {
+ loadAndDrawSensorData();
+ setInterval("loadAndDrawSensorData()",145*1000);
+ }
if (document.getElementById("gplusevents"))
{
loadGooglePlusEvents();