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;