Websocket

Enheten skickar alla mätvärden den tar emot från elmätaren till anslutna websocket klienter. Detta används bland annat av webbgränssnittet för att kunna visa mottagna mätvärden i realtid men kan också användas av andra websocket klienter.

Man kan ansluta till läsarens websocket server via ws://192.168.4.1/ws om man är ansluten till läsarens WiFi accesspunkt. Om läsaren är ansluten till ett WiFi nätverk så byter man ut ip adressen mot läsarens ip adress på nätverket.

Websocket servern kan tillhandahålla elmätarens mätarställning, statusuppdateringar och log meddelanden från enhetens firmware. Varje klient som ansluter till servern behöver tala om vilken information som önskas. Detta görs genom att skicka ett meddelande till servern formaterat på följande sätt:

Begär man datauppdateringar med "dataUpdate": true så får man uppdateringar på mätarställningen i realtid. Dessa uppdateringar ser ut ungefär som nedanstående exempel:

Om man har begärt statusuppdateringar så får man, var tredje sekund, en uppdatering på exempelvis hur länge enheten har varit igång, hur mycket minne enheten använder eller enhetens ip address. Endast parametrar som har ändrats sedan den senaste statusuppdateringen kommer att skickas. Det kan till exempel se ut som följande:

För att testa anslutningen till servern kan man skicka ping meddelanden (med op kod 0x09). Servern kommer då svara med ett pong meddelande (med op kod 0x0A). Dessa meddelanden har inget innehåll. Om websocket implementationen inte tillåter att man skickar meddalanden med specifika op koder (den inbyggda websocket implementationen i webläsare till exempel) så kan man också skicka ett textmeddelande med innehållet ”ping”. Servern kommer då att svara med ”pong”.

Om du utvecklar en egen applikation för att kommunicera med enheten via websocket kan du använda ett av följande klientbibliotek: