Mercurial > code > home > repos > homeauto
annotate service/wallscreen/websocket.js @ 1133:114ca7fd9d01
IR remote rule
Ignore-this: 901771de421a81129f2ddf4316af91d9
darcs-hash:a037a1bcf9631ac214fe1e61ff42fb00f25cb451
author | drewp <drewp@bigasterisk.com> |
---|---|
date | Sat, 03 Feb 2018 14:38:10 -0800 |
parents | a99b4d5afb83 |
children |
rev | line source |
---|---|
866
a99b4d5afb83
use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
1 // from the light9/rdfdb one |
a99b4d5afb83
use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
2 |
a99b4d5afb83
use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
3 function reconnectingWebSocket(url, onMessage) { |
a99b4d5afb83
use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
4 var pong = 0; |
a99b4d5afb83
use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
5 function connect() { |
a99b4d5afb83
use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
6 var ws = new WebSocket(url); |
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 ws.onopen = function() { $("#status").text(""); }; |
a99b4d5afb83
use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
9 ws.onerror = function(e) { $("#status").text("error: "+e); }; |
a99b4d5afb83
use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
10 ws.onclose = function() { |
a99b4d5afb83
use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
11 pong = 1 - pong; |
a99b4d5afb83
use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
12 $("#status").text("disconnected (retrying "+(pong ? "😼":"😺")+")"); |
a99b4d5afb83
use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
13 setTimeout(connect, 2000); |
a99b4d5afb83
use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
14 }; |
a99b4d5afb83
use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
15 ws.onmessage = function (evt) { |
a99b4d5afb83
use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
16 onMessage(JSON.parse(evt.data)); |
a99b4d5afb83
use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
17 }; |
a99b4d5afb83
use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
18 } |
a99b4d5afb83
use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
19 connect(); |
a99b4d5afb83
use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
20 } |