annotate service/frontDoorLock/index.html @ 1229:02e4b84821d5

talk to store graph, second button for holding unlocked, etc Ignore-this: c2ae7d756e743c26e5e01d99772899bd darcs-hash:a0750d0bbc4dc7c0f65f63f3e7342b35a175141b
author drewp <drewp@bigasterisk.com>
date Thu, 04 Apr 2019 02:16:22 -0700
parents a72e9245cc72
children 756ff1170342
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1184
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
1 <!doctype html>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
2 <html>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
3 <head>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
4 <title>front door lock</title>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
5 <meta charset="utf-8" />
1228
a72e9245cc72 comments and console layout
drewp <drewp@bigasterisk.com>
parents: 1184
diff changeset
6 <meta name="mobile-web-app-capable" content="yes">
1184
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
7 <meta name="viewport" content="width=device-width, initial-scale=1">
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
8 <script src="/lib/polymer/1.0.9/webcomponentsjs/webcomponents.min.js"></script>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
9 <script src="/lib/require/require-2.3.3.js"></script>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
10 <script>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
11 requirejs.config({
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
12 paths: {
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
13 "streamed-graph": "/rdf/streamed-graph",
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
14 "quadstore": "/rdf/quadstore",
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
15 "async-module": "/lib/async/80f1793/async",
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
16 "async": "/lib/async/80f1793/async",
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
17 "jsonld-module": "/lib/jsonld.js/0.4.11/js/jsonld",
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
18 "jsonld": "/lib/jsonld.js/0.4.11/js/jsonld",
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
19 "rdfstore": "/lib/rdf_store/0.9.7/dist/rdfstore",
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
20 "moment": "/lib/moment.min",
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
21 "underscore": "/lib/underscore-1.5.2.min",
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
22 }
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
23 });
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
24 </script>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
25 <script>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
26 window.NS = {
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
27 dev: 'http://projects.bigasterisk.com/device/',
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
28 room: 'http://projects.bigasterisk.com/room/',
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
29 rdfs: 'http://www.w3.org/2000/01/rdf-schema#',
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
30 sensor: 'http://bigasterisk.com/homeauto/sensor/',
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
31 };
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
32 </script>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
33 <link rel="import" href="/rdf/streamed-graph.html">
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
34 <link rel="import" href="/lib/polymer/1.0.9/polymer/polymer.html">
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
35 <link rel="import" href="/rdf/rdf-oneshot.html">
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
36 <link rel="import" href="/rdf/rdf-uri.html">
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
37 </head>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
38 <body>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
39 <dom-module id="door-control">
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
40 <style>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
41 button {
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
42 min-width: 60px;
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
43 min-height: 40px;
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
44 }
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
45 div#form {
1228
a72e9245cc72 comments and console layout
drewp <drewp@bigasterisk.com>
parents: 1184
diff changeset
46 margin: 2px;
1184
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
47 background: #dff5e5;
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
48 padding: 10px;
1228
a72e9245cc72 comments and console layout
drewp <drewp@bigasterisk.com>
parents: 1184
diff changeset
49 line-height: 30px;
1184
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
50 text-align: center;
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
51 border: 2px groove white;
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
52 }
1228
a72e9245cc72 comments and console layout
drewp <drewp@bigasterisk.com>
parents: 1184
diff changeset
53 .invis-true {
a72e9245cc72 comments and console layout
drewp <drewp@bigasterisk.com>
parents: 1184
diff changeset
54 visibility: hidden;
a72e9245cc72 comments and console layout
drewp <drewp@bigasterisk.com>
parents: 1184
diff changeset
55 }
a72e9245cc72 comments and console layout
drewp <drewp@bigasterisk.com>
parents: 1184
diff changeset
56
1184
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
57 </style>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
58 <template>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
59 <div>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
60 <streamed-graph url="graph/events" graph="{{graph}}"></streamed-graph>
1229
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
61 <streamed-graph url="/store/graph/events" graph="{{storeGraph}}"></streamed-graph>
1184
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
62 </div>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
63
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
64 <div id="form">
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
65
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
66 <div>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
67 Door is {{lockState}}
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
68 </div>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
69
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
70 <rdf-oneshot
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
71 id="unlockOneshot"
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
72 post="output"
1228
a72e9245cc72 comments and console layout
drewp <drewp@bigasterisk.com>
parents: 1184
diff changeset
73 subject="room:frontDoorLock"
a72e9245cc72 comments and console layout
drewp <drewp@bigasterisk.com>
parents: 1184
diff changeset
74 predicate="room:state"
a72e9245cc72 comments and console layout
drewp <drewp@bigasterisk.com>
parents: 1184
diff changeset
75 object="room:unlocked"
1184
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
76 ></rdf-oneshot>
1229
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
77 <button on-click="unlock"
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
78 disabled$="[[!isLocked]]">Unlock 10 seconds</button>
1184
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
79
1229
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
80 <div class$="invis-[[!autoLockIsComing]]">
1184
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
81 Locking in {{autoLockInSec}}
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
82 </div>
1229
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
83
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
84 <div>
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
85 <rdf-oneshot
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
86 id="hold"
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
87 post="/store/values"
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
88 subject="room:frontDoorLockRequest"
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
89 predicate="room:state"
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
90 object="room:unlocked"
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
91 ></rdf-oneshot>
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
92 <template is="dom-if" if="{{!isHeld}}">
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
93 <button on-click="hold">Hold unlocked</button>
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
94 </template>
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
95 <rdf-oneshot
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
96 id="releaseHold"
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
97 post="/store/values"
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
98 subject="room:frontDoorLockRequest"
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
99 predicate="room:state"
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
100 object="room:unset"
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
101 ></rdf-oneshot>
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
102 <rdf-oneshot
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
103 id="lockNow"
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
104 post="output"
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
105 subject="room:frontDoorLock"
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
106 predicate="room:state"
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
107 object="room:locked"
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
108 ></rdf-oneshot>
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
109 <template is="dom-if" if="{{isHeld}}">
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
110 <button on-click="releaseHold">Release hold; lock door</button>
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
111 </template>
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
112 </div>
1184
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
113 </div>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
114 </template>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
115 <script>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
116 HTMLImports.whenReady(function () {
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
117 Polymer({
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
118 is: 'door-control',
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
119 properties: {
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
120 graph: { type: Object, notify: true, observer: "_onGraph" },
1229
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
121 storeGraph: { type: Object, notify: true, observer: "_onStoreGraph" },
1184
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
122 lockState: { type: String },
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
123 autoLockIsComing: { type: Boolean },
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
124 autoLockInSec: { type: String},
1229
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
125 isHeld: { type: Boolean },
1184
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
126 },
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
127 behaviors: [BigastUri],
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
128 _onGraph: function(graph) {
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
129 if (!graph.graph) return;
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
130 const env = graph.graph.store.rdf;
1229
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
131 const unlocked = env.createNamedNode('room:unlocked');
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
132 const locked = env.createNamedNode('room:locked');
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
133 this.isLocked = null;
1184
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
134 graph.graph.quadStore.quads(
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
135 {subject: env.createNamedNode('room:frontDoorLock'),
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
136 predicate: env.createNamedNode('room:state'),
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
137 },
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
138 (q) => {
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
139 this.lockState = q.object.toString().replace(/.*\//, '');
1229
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
140 this.isLocked = q.object.equals(locked) ? true : (q.object.equals(unlocked) ? false : null);
1184
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
141 });
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
142
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
143 this.autoLockIsComing = false;
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
144 graph.graph.quadStore.quads(
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
145 {subject: env.createNamedNode('room:frontDoorLock'),
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
146 predicate: env.createNamedNode('room:autoLockInSec'),
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
147 },
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
148 (q) => {
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
149 this.autoLockIsComing = true;
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
150 this.autoLockInSec = parseFloat(q.object.valueOf());
1229
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
151 });
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
152 },
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
153 _onStoreGraph: function(graph) {
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
154 if (!graph.graph) return;
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
155 const env = graph.graph.store.rdf;
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
156 const unlocked = env.createNamedNode('room:unlocked');
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
157 const locked = env.createNamedNode('room:locked');
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
158 this.isHeld = false;
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
159 graph.graph.quadStore.quads(
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
160 {subject: env.createNamedNode('room:frontDoorLockRequest'),
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
161 predicate: env.createNamedNode('room:state'),
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
162 },
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
163 (q) => {
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
164 this.isHeld = q.object.equals(unlocked);
1184
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
165 });
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
166 },
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
167 unlock: function() {
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
168 this.$.unlockOneshot.go();
1229
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
169 },
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
170 hold: function () {
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
171 this.$.hold.go();
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
172 },
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
173 releaseHold: function() {
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
174 this.$.releaseHold.go();
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
175 this.$.lockNow.go(); // may race with releaseHold?
02e4b84821d5 talk to store graph, second button for holding unlocked, etc
drewp <drewp@bigasterisk.com>
parents: 1228
diff changeset
176 },
1184
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
177 });
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
178 });
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
179 </script>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
180 </dom-module>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
181 <door-control></door-control>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
182 </body>
c87e5c8eb8ab frontdoor autolock. logging improvements. use simpler mqtt interface.
drewp <drewp@bigasterisk.com>
parents:
diff changeset
183 </html>