annotate service/wallscreen/gui.js @ 866:a99b4d5afb83

use websockets for temperature update Ignore-this: 558ad53cf5b4b0c013041db555fbb458 darcs-hash:20130210214135-312f9-f69d37d4b9bce7fa6ec0e9c9889b2de90fd26a8f
author drewp <drewp@bigasterisk.com>
date Sun, 10 Feb 2013 13:41:35 -0800
parents
children 85d12376b415
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
866
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
1 var reloadData;
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
2 $(function () {
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
3
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
4 setTimeout(function () {
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
5 window.resizeTo(702,480);
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
6 }, 10000);
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
7
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
8 var model = {
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
9 requestedF: ko.observable(),
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
10 tasks: ko.observableArray([]),
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
11 events: ko.observableArray([]),
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
12 isToday: function (ev) {
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
13 var today = moment().format("YYYY-MM-DD");
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
14 return ev.date == today;
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
15 }
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
16 };
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
17 reloadData = function() {
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
18 $.getJSON("content", function (data) {
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
19 model.tasks(data.tasks);
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
20 model.events(data.events);
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
21 });
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
22 }
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
23 setInterval(reloadData, 30*60*1000);
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
24 reloadData();
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
25
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
26 function onMessage(d) {
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
27 if (d.tempF) {
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
28 model.requestedF(d.tempF);
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
29 }
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
30 }
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
31 reconnectingWebSocket("ws://localhost:9102/live", onMessage);
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
32
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
33 ko.applyBindings(model);
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
34
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
35 if (navigator.userAgent == "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:18.0) Gecko/18.0 Firefox/18.0") {
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
36 $(".rot").removeClass("rot");
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
37 }
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
38
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
39 function updateClock() {
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
40 var now = moment();
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
41 var s = (new Date()).toLocaleTimeString();
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
42 $("#clock").html(
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
43 "<div>"+now.format("dddd")+"</div>"+
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
44 "<div>"+now.format("MMM Do")+"</div>"+
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
45 "<div>"+now.format("HH:mm")+"</div>"
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
46 )
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
47 }
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
48 setInterval(updateClock, 20000)
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
49 updateClock();
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
50 });