annotate service/frontDoorLock/index.html @ 379:67cebf7a14de

frontdoor autolock. logging improvements. use simpler mqtt interface. Ignore-this: e2bf5262a89ebb898108a634679fdec7
author drewp@bigasterisk.com
date Wed, 12 Dec 2018 01:11:54 -0800
parents
children d495d4382a07
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
379
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
1 <!doctype html>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
2 <html>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
3 <head>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
4 <title>front door lock</title>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
5 <meta charset="utf-8" />
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
6 <meta name="viewport" content="width=device-width, initial-scale=1">
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
7 <script src="/lib/polymer/1.0.9/webcomponentsjs/webcomponents.min.js"></script>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
8 <script src="/lib/require/require-2.3.3.js"></script>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
9 <script>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
10 requirejs.config({
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
11 paths: {
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
12 "streamed-graph": "/rdf/streamed-graph",
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
13 "quadstore": "/rdf/quadstore",
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
14 "async-module": "/lib/async/80f1793/async",
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
15 "async": "/lib/async/80f1793/async",
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
16 "jsonld-module": "/lib/jsonld.js/0.4.11/js/jsonld",
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
17 "jsonld": "/lib/jsonld.js/0.4.11/js/jsonld",
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
18 "rdfstore": "/lib/rdf_store/0.9.7/dist/rdfstore",
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
19 "moment": "/lib/moment.min",
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
20 "underscore": "/lib/underscore-1.5.2.min",
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
21 }
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
22 });
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
23 </script>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
24 <script>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
25 window.NS = {
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
26 dev: 'http://projects.bigasterisk.com/device/',
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
27 room: 'http://projects.bigasterisk.com/room/',
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
28 rdfs: 'http://www.w3.org/2000/01/rdf-schema#',
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
29 sensor: 'http://bigasterisk.com/homeauto/sensor/',
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
30 };
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
31 </script>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
32 <link rel="import" href="/rdf/streamed-graph.html">
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
33 <link rel="import" href="/lib/polymer/1.0.9/polymer/polymer.html">
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
34 <link rel="import" href="/rdf/rdf-oneshot.html">
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
35 <link rel="import" href="/rdf/rdf-uri.html">
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
36 </head>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
37 <body>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
38 <dom-module id="door-control">
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
39 <style>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
40 button {
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
41 min-width: 60px;
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
42 min-height: 40px;
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
43 }
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
44 div#form {
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
45 margin: 20px;
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
46 background: #dff5e5;
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
47 padding: 10px;
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
48 line-height: 40px;
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
49 text-align: center;
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
50 border: 2px groove white;
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
51 }
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
52 </style>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
53 <template>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
54 <div>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
55 <streamed-graph url="graph/events" graph="{{graph}}"></streamed-graph>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
56 </div>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
57
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
58 <div id="form">
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
59
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
60 <div>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
61 Door is {{lockState}}
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
62 </div>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
63
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
64 <rdf-oneshot
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
65 id="unlockOneshot"
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
66 post="output"
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
67 subject="<http://projects.bigasterisk.com/room/frontDoorLock>"
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
68 predicate="<http://projects.bigasterisk.com/room/state>"
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
69 object="<http://projects.bigasterisk.com/room/unlocked>"
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
70 ></rdf-oneshot>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
71 <button on-click="unlock">Unlock</button>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
72
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
73 <template is="dom-if" if="{{autoLockIsComing}}">
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
74 <div>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
75 Locking in {{autoLockInSec}}
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
76 </div>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
77 </template>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
78 </div>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
79 </template>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
80 <script>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
81 HTMLImports.whenReady(function () {
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
82 Polymer({
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
83 is: 'door-control',
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
84 properties: {
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
85 graph: { type: Object, notify: true, observer: "_onGraph" },
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
86 lockState: { type: String },
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
87 autoLockIsComing: { type: Boolean },
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
88 autoLockInSec: { type: String},
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
89 },
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
90 behaviors: [BigastUri],
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
91 _onGraph: function(graph) {
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
92 if (!graph.graph) return;
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
93 const env = graph.graph.store.rdf;
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
94 graph.graph.quadStore.quads(
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
95 {subject: env.createNamedNode('room:frontDoorLock'),
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
96 predicate: env.createNamedNode('room:state'),
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
97 },
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
98 (q) => {
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
99 this.lockState = q.object.toString().replace(/.*\//, '');
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
100 });
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
101
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
102 this.autoLockIsComing = false;
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
103 graph.graph.quadStore.quads(
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
104 {subject: env.createNamedNode('room:frontDoorLock'),
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
105 predicate: env.createNamedNode('room:autoLockInSec'),
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
106 },
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
107 (q) => {
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
108 this.autoLockIsComing = true;
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
109 this.autoLockInSec = parseFloat(q.object.valueOf());
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
110 });
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
111 },
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
112 unlock: function() {
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
113 this.$.unlockOneshot.go();
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
114 }
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
115 });
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
116 });
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
117 </script>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
118 </dom-module>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
119 <door-control></door-control>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
120 </body>
67cebf7a14de frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp@bigasterisk.com
parents:
diff changeset
121 </html>