X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=raspberry-kiosk%2Fkiosk.js;h=52d84daad44f3e680be97e4543608e821265a485;hb=e2120a0b5c7264a9a741519b52f829d6ade95865;hp=253b2d1d7818b19e78d1f6976d1dc835396a0141;hpb=0cfc9aa6adadf56be358775e6a5b8c8a280fc4e8;p=svn42.git diff --git a/raspberry-kiosk/kiosk.js b/raspberry-kiosk/kiosk.js index 253b2d1..52d84da 100644 --- a/raspberry-kiosk/kiosk.js +++ b/raspberry-kiosk/kiosk.js @@ -30,7 +30,7 @@ function writeGooglePlusEvents(data, elem) noteimgs.push(attach[a].thumbnails[t].image.url); } } - else if ( attach[a].objectType == "photo") + else if ( attach[a].objectType == "photo" || attach[a].objectType == "video") { noteimgs.push(attach[a].image.url); } @@ -44,7 +44,7 @@ function writeGooglePlusEvents(data, elem) ghtml += '

'+item.updated.substring(0,16).replace("T"," ")+'

'; ghtml += '

'+notetxt+'

'; if (noteimgs.length>0) - { + { var bigimglimit; ghtml += ''; if (noteimgs.length > 3) @@ -112,27 +112,36 @@ function calendarItemEnhancer(data) for (var s=0; s dt) + var stime = data[s].starttime; + var dt; + if (stime) { + dt = Date.parse(data[s].start+'T'+data[s].starttime); + } else { + dt = Date.parse(data[s].start); + } + if (stime && Date.now() > dt) { when = "JETZT"; } else { var weekday = weekday2str((new Date(dt)).getDay()); - var stime = data[s].starttime; var month = data[s].start.substring(5,7); if (month[0] == '0') month = month[1]; var dayofmonth = data[s].start.substring(8,10); if (dayofmonth[0] == '0') dayofmonth = dayofmonth[1]; - while (stime.substring(stime.length-3,stime.length) == ":00") - { - stime=stime.substring(0,stime.length-3); + if (stime) { + while (stime.substring(stime.length-3,stime.length) == ":00") + { + stime=stime.substring(0,stime.length-3); + } + if (stime.length <= 2) { stime+="h"; } + when = weekday + " " + dayofmonth+"."+month +", "+stime; + } else { + when = weekday + " " + dayofmonth+"."+month; } - if (stime.length <= 2) { stime+="h"; } - when = weekday + " " + dayofmonth+"."+month +", "+stime; } data[s].when = when } @@ -145,7 +154,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=''; }); @@ -164,6 +173,56 @@ function loadCalendarMainPage() }); } +var gauges = {} +function drawGauge(targetelem, label, temp, options) { + // Create and draw the visualization. + if (targetelem) + { + var data = google.visualization.arrayToDataTable([["Label", "Value"],[label,temp]]); + if (!gauges.hasOwnProperty(targetelem.id)) { + gauges[targetelem.id] = new google.visualization.Gauge(targetelem); + } + gauges[targetelem.id].draw(data, options); + } +} + +var linecharts = {} +function drawLineGraph(targetelem, dataarray, options, x_is_epochdate) { + if (dataarray && targetelem) { + var data; + if (x_is_epochdate) { + data=new google.visualization.DataTable(); + data.addColumn('datetime',dataarray[0][0]); + for (var c=1; c
    '+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 +282,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 +292,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=''+sensorstd+'
    '; @@ -275,7 +336,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 +411,7 @@ function reloadImg(element) $(document).ready(function() { updateAnwesenheitStatus(); - setInterval("updateAnwesenheitStatus()", 10*1000); + setInterval("updateAnwesenheitStatus()", 10*1000); if (document.getElementById("dateclock")) { updateDateClock(new Date()); @@ -366,9 +427,14 @@ $(document).ready(function() loadCalendarMainPage(); setInterval("loadCalendarMainPage()", 123*1000); } - if (document.getElementById("sensorgraphs")) +// if (document.getElementById("sensorgraphs")) +// { +// setInterval("updateSensors()",145*1000); +// } + if (document.getElementById("tempgooglegraph") || document.getElementById("lightgooglegraph") || document.getElementById("movementgooglegraph")) { - setInterval("updateSensors()",145*1000); + loadAndDrawSensorData(); + setInterval("loadAndDrawSensorData()",145*1000); } if (document.getElementById("gplusevents")) {