Home Assistant websockets

HTML

<script src="https://unpkg.com/[email protected]/dist/haws.umd.js"></script>
<ul>
 <li>Start Home Assistant locally without a password.</li>
 <li>Refresh this fiddle.</li>
</ul>
<p>Connected: <span id='status'>Connecting…</span></p>
<table id='content'></table>

JavaScript

const status = document.getElementById('status');
const root = document.getElementById('content');

function render(entities) {
  root.innerHTML = Object.keys(entities).sort().map(
  	key => `
    	<tr>
      	<td>${entities[key].entity_id}</td>
      	<td>${entities[key].state}</td>
      </tr>
    `).join('');
}

HAWS.createConnection('ws://192.168.88.20:8123/api/websocket').then(conn => {
  status.innerHTML = 'yes';
  HAWS.subscribeEntities(conn, render);
}, err => { status.innerHTML = `no (${err})`; });