From 5b0db7a7730ad21f0ae35caddd1f6780c3f25d70 Mon Sep 17 00:00:00 2001 From: rudolfkoenig Date: Wed, 3 Jun 2020 18:47:13 +0000 Subject: [PATCH] DevIo.pm: ad DevIo_Ping, output ping/pong data (Forum #109910) git-svn-id: https://svn.fhem.de/fhem/trunk@22104 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/DevIo.pm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/fhem/FHEM/DevIo.pm b/fhem/FHEM/DevIo.pm index 301ae2e80..b9790e5db 100644 --- a/fhem/FHEM/DevIo.pm +++ b/fhem/FHEM/DevIo.pm @@ -162,6 +162,14 @@ my %wsCloseCode = ( 1011=>"unexpected condition" ); +sub +DevIo_Ping($;$) +{ + my ($hash,$msg) = @_; + $msg="" if(!defined($msg)); + syswrite($hash->{TCPDev}, DevIo_MaskWS(0x9, $msg)) if($hash->{WEBSOCKET}); +} + sub DevIo_DecodeWS($$) { @@ -216,8 +224,14 @@ DevIo_DecodeWS($$) } elsif($op == 9) { # Ping syswrite($hash->{TCPDev}, DevIo_MaskWS(0xA, $data)); # Pong + Log3 $hash, 5, "Websocket ping: $data" if($data); $hash->{".WSBUF"} = substr($data, 2); return DevIo_DecodeWS($hash, ""); + + } elsif($op == 10) { # Pong + Log3 $hash, 5, "Websocket pong: $data" if($data); + return "" + } return $data;