Mercurial > code > home > repos > homeauto
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 |
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 | 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 | 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 | 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 | 53 .invis-true { |
54 visibility: hidden; | |
55 } | |
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 | 73 subject="room:frontDoorLock" |
74 predicate="room:state" | |
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> |