From c39bd123c5800e1f861040b697fefcb7208feecc Mon Sep 17 00:00:00 2001 From: mgehre <> Date: Sun, 9 Dec 2012 14:59:45 +0000 Subject: [PATCH] MAXLAN: implement new Send() interface git-svn-id: https://svn.fhem.de/fhem/trunk@2291 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/00_MAXLAN.pm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/fhem/FHEM/00_MAXLAN.pm b/fhem/FHEM/00_MAXLAN.pm index 0b4b7e68f..c2f5a976c 100755 --- a/fhem/FHEM/00_MAXLAN.pm +++ b/fhem/FHEM/00_MAXLAN.pm @@ -18,6 +18,7 @@ sub MAXLAN_Write(@); sub MAXLAN_ReadSingleResponse($$); sub MAXLAN_SimpleWrite(@); sub MAXLAN_Poll($); +sub MAXLAN_Send(@); sub MAXLAN_SendDeviceCmd($$); sub MAXLAN_RequestConfiguration($$); sub MAXLAN_RemoveDevice($$); @@ -102,6 +103,7 @@ MAXLAN_Define($$) $hash->{DeviceName} = $dev; #This interface is shared with 14_CUL_MAX.pm $hash->{SendDeviceCmd} = \&MAXLAN_SendDeviceCmd; + $hash->{Send} = \&MAXLAN_Send; $hash->{RemoveDevice} = \&MAXLAN_RemoveDevice; #Wait until all device definitions have been loaded @@ -648,6 +650,20 @@ MAXLAN_RequestConfiguration($$) return MAXLAN_Write($hash,"c:$addr", "C:"); } +sub +MAXLAN_Send(@) +{ + my ($hash, $cmd, $dst, $payload, $flags, $groupId, $msgcnt) = @_; + + $flags = "0"x8 if(!$flags); + $groupId = "00" if(!defined($groupId)); + + if(defined($msgcnt)) { + Log 2, "MAXLAN_Send: MAXLAN does not support msgcnt"; + } + return MAXLAN_SendDeviceCmd($hash, pack("H2B8H*","00",$flags,$msgCmd2Id{$cmd}."000000".$dst.$groupId.$payload)); +} + #Sends command to a device and waits for acknowledgment sub MAXLAN_SendDeviceCmd($$)