Mercurial > code > home > repos > homeauto
annotate service/wallscreen/websocket.js @ 1147:ef494fe0499f
forgot devices_shared.py
Ignore-this: 210e7777d9d4d11f148bb7e63f5de65a
darcs-hash:8dd34afc9d00fe796f94da254519e22ca1fa7d03
author | drewp <drewp@bigasterisk.com> |
---|---|
date | Wed, 04 Apr 2018 14:58:27 -0700 |
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 } |