Autor Thema: Connair über FHEM steuern  (Gelesen 25884 mal)

Offline rippi46

  • Full Member
  • ***
  • Beiträge: 269
Connair über FHEM steuern
« am: 06 November 2013, 20:04:17 »
Hallo zusammen,

bin über Simple Solutions an den Connair-Gateway gekommen, und habe meine Brennenstuhl, Elro und Intertechno Funkschalter geschalten.
Nachdem ich dann später auch noch die Heizköperthermostate von MAX! über den MAXLAN-Gateway steuerte bin ich auf die geniale Software FHEM gestoßen.
Leider gab es da keine Möglichkeit den Connair zu integrieren, deshalb habe ich versucht ( und eigentlich ist es mir auch gelungen) den Connair über FHEM anzusteuern.
Falls jemand Interesse hat kann er den Code bei sich integrieren.

Eintragung in der  fhem.cfg

define Umwaelzpumpe dummy
attr Umwaelzpumpe alias Umwälzpumpe Garage
attr Umwaelzpumpe eventMap BI:on B0:off
attr Umwaelzpumpe room Garage
attr Umwaelzpumpe setList state:on,off
define Umwaelzpumpe_ntfy notify Umwaelzpumpe:.* {\
    my $master = "01010";;\
    my $slave = "11101";;\
    my $v=Value("Umwaelzpumpe");;\
    if ($v eq "on") {connair("on",bin2dec("$master"),bin2dec("$slave"))};;\
    if ($v eq "off") {connair("off",bin2dec("$master"),bin2dec("$slave"))};;\
    }


Eintragung in der 99_myUtils.pm
die IP des Connair muß noch eingetragen werden

use CGI qw(:standard);
use IO::Socket;
use MIME::Base64;
use Time::Piece;
$main::NextUpdate = ();

sub connair {
 my $c_ip = "192.168.x.x";
 my $c_port = "49880";
 my $c_speed = "16";
 my $c_A = "0";
 my $c_G = "0";
 my $c_repeat = "15";
 my $c_pause = "5600";
 my $c_tune = "350";
 my $c_baud = "25";
 my $c_speed = "16";
 my $c_AN = "1,3,1,3,3";
 my $c_AUS = "3,1,1,3,1";
 my $c_master = "$_[1]";
 my $c_slave = "$_[2]";
 my $c_bitLow="1";
 my $c_bitHgh="3";
 
 my $c_seqLow="$c_bitHgh,$c_bitHgh,$c_bitLow,$c_bitLow,";
 my $c_seqHgh="$c_bitHgh,$c_bitLow,$c_bitHgh,$c_bitLow,";

 
 $c_bits[0]="$c_seqLow$c_seqLow$c_seqLow$c_seqLow$c_seqLow";
 $c_bits[1]="$c_seqLow$c_seqLow$c_seqLow$c_seqLow$c_seqHgh";
 $c_bits[2]="$c_seqLow$c_seqLow$c_seqLow$c_seqHgh$c_seqLow";
 $c_bits[3]="$c_seqLow$c_seqLow$c_seqLow$c_seqHgh$c_seqHgh";
 $c_bits[4]="$c_seqLow$c_seqLow$c_seqHgh$c_seqLow$c_seqLow";
 $c_bits[5]="$c_seqLow$c_seqLow$c_seqHgh$c_seqLow$c_seqHgh";
 $c_bits[6]="$c_seqLow$c_seqLow$c_seqHgh$c_seqHgh$c_seqLow";
 $c_bits[7]="$c_seqLow$c_seqLow$c_seqHgh$c_seqHgh$c_seqHgh";
 $c_bits[8]="$c_seqLow$c_seqHgh$c_seqLow$c_seqLow$c_seqLow";
 $c_bits[9]="$c_seqLow$c_seqHgh$c_seqLow$c_seqLow$c_seqHgh";
 $c_bits[10]="$c_seqLow$c_seqHgh$c_seqLow$c_seqHgh$c_seqLow";
 $c_bits[11]="$c_seqLow$c_seqHgh$c_seqLow$c_seqHgh$c_seqHgh";
 $c_bits[12]="$c_seqLow$c_seqHgh$c_seqHgh$c_seqLow$c_seqLow";
 $c_bits[13]="$c_seqLow$c_seqHgh$c_seqHgh$c_seqLow$c_seqHgh";
 $c_bits[14]="$c_seqLow$c_seqHgh$c_seqHgh$c_seqHgh$c_seqLow";
 $c_bits[15]="$c_seqLow$c_seqHgh$c_seqHgh$c_seqHgh$c_seqHgh";
 $c_bits[16]="$c_seqHgh$c_seqLow$c_seqLow$c_seqLow$c_seqLow";
 $c_bits[17]="$c_seqHgh$c_seqLow$c_seqLow$c_seqLow$c_seqHgh";
 $c_bits[18]="$c_seqHgh$c_seqLow$c_seqLow$c_seqHgh$c_seqLow";
 $c_bits[19]="$c_seqHgh$c_seqLow$c_seqLow$c_seqHgh$c_seqHgh";
 $c_bits[20]="$c_seqHgh$c_seqLow$c_seqHgh$c_seqLow$c_seqLow";
 $c_bits[21]="$c_seqHgh$c_seqLow$c_seqHgh$c_seqLow$c_seqHgh";
 $c_bits[22]="$c_seqHgh$c_seqLow$c_seqHgh$c_seqHgh$c_seqLow";
 $c_bits[23]="$c_seqHgh$c_seqLow$c_seqHgh$c_seqHgh$c_seqHgh";
 $c_bits[24]="$c_seqHgh$c_seqHgh$c_seqLow$c_seqLow$c_seqLow";
 $c_bits[25]="$c_seqHgh$c_seqHgh$c_seqLow$c_seqLow$c_seqHgh";
 $c_bits[26]="$c_seqHgh$c_seqHgh$c_seqLow$c_seqHgh$c_seqLow";
 $c_bits[27]="$c_seqHgh$c_seqHgh$c_seqLow$c_seqHgh$c_seqHgh";
 $c_bits[28]="$c_seqHgh$c_seqHgh$c_seqHgh$c_seqLow$c_seqLow";
 $c_bits[29]="$c_seqHgh$c_seqHgh$c_seqHgh$c_seqLow$c_seqHgh";
 $c_bits[30]="$c_seqHgh$c_seqHgh$c_seqHgh$c_seqHgh$c_seqLow";
 $c_bits[31]="$c_seqHgh$c_seqHgh$c_seqHgh$c_seqHgh$c_seqHgh";


 
 my ($state) = "$_[0]";
 if ($state eq "on")
 {
  system("echo \"TXP:$c_A,$c_G,$c_repeat,$c_pause,$c_tune,$c_baud,$c_bitLow,$c_bits[$c_master]$c_bits[$c_slave]$c_bitHgh,$c_AN,1,1,$c_speed,;\" | nc -u $c_ip $c_port & pid=$! sleep 1 kill $pid 2>/dev/null >/dev/null");
 }
 else
 {
  system("echo \"TXP:$c_A,$c_G,$c_repeat,$c_pause,$c_tune,$c_baud,$c_bitLow,$c_bits[$c_master]$c_bits[$c_slave]$c_bitHgh,$c_AUS,1,1,$c_speed,;\" | nc -u $c_ip $c_port & pid=$! sleep 1 kill $pid 2>/dev/null >/dev/null");
 }
}

sub bin2dec { return unpack("N", pack("B32", substr("0" x 32 . shift, -32))); }




Leider sind mein Perlkenntnisse noch sehr mager und man kann das auch sicher noch schöner programmieren,aber es funktioniert.
Im Moment funktioniert es nur mit Brennenstuhl und Elro für Intertechno müssen die Parameter und der Sendestring angepasst werden.


Viel Spass damit.
« Letzte Änderung: 13 März 2016, 15:44:29 von rippi46 »
FHEM, LMS, VDR ,Dell 9010 Ubuntu 14.04; Max-Thermostate, Max Gateway, HM-Thermostate; Elro, Brennenstuhl u. Intertechno mit Connair-GW.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, fhemduino, Signalduino(wifi)
MySensor-GW mit diversen Sensoren, RGBWW

mm

  • Gast
Antw:Connair über FHEM steuern
« Antwort #1 am: 14 Dezember 2013, 23:47:10 »
hi,

vielen dank, leider geht das bei mir nicht.

beim speichern bekomme ich:

2013.12.14 23:35:08 1: reload: Error:Modul 99_Utils deactivated:
 Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 276.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 277.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 278.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 279.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 280.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 281.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 282.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 283.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 284.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 285.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 286.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 287.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 288.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 289.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 290.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 291.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 292.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 293.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 294.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 295.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 296.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 297.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 298.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 299.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 300.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 301.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 302.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 303.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 304.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 305.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 306.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 307.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 314.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 314.
Global symbol "$pid" requires explicit package name at ./FHEM/99_Utils.pm line 314.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 318.
Global symbol "@c_bits" requires explicit package name at ./FHEM/99_Utils.pm line 318.
Global symbol "$pid" requires explicit package name at ./FHEM/99_Utils.pm line 318.

Danke

Offline Joachim

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1460
Antw:Connair über FHEM steuern
« Antwort #2 am: 15 Dezember 2013, 00:06:47 »
Google mal:
requires explicit package name at
werden diverse Lösungen vorgeschlagen.

Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

mm

  • Gast
Antw:Connair über FHEM steuern
« Antwort #3 am: 15 Dezember 2013, 00:16:27 »
habe ich schon, dachte aber der code geht so.
hast Du strict ausgeklammert?

Offline Joachim

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1460
Antw:Connair über FHEM steuern
« Antwort #4 am: 15 Dezember 2013, 01:49:41 »
Ich habe kein connair
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

Offline rippi46

  • Full Member
  • ***
  • Beiträge: 269
Antw:Connair über FHEM steuern
« Antwort #5 am: 15 Dezember 2013, 14:34:29 »
Hallo mm,

wenn ich " use strict; " in meinen code einfüge, bekomme ich beim speicher die gleichen Fehlermeldungen.
Lasse es einfach mal weg, vielleicht funktioniert es dann.

Gruß

rippi46
FHEM, LMS, VDR ,Dell 9010 Ubuntu 14.04; Max-Thermostate, Max Gateway, HM-Thermostate; Elro, Brennenstuhl u. Intertechno mit Connair-GW.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, fhemduino, Signalduino(wifi)
MySensor-GW mit diversen Sensoren, RGBWW

Offline UliM

  • Global Moderator
  • Hero Member
  • ****
  • Beiträge: 2703
Antw:Connair über FHEM steuern
« Antwort #6 am: 15 Dezember 2013, 14:43:53 »
Hi,

requires explicit package name
ist der Hinweis von perl, dass eine Variable verwendet wird, die zuvor nicht deklariert wurde.

Hast Du mal ein
my @c_bits;eingefügt?

=8-)
RPi2/Raspbian, CUL V3 (FS20, CUL_WS), HM-CFG-USB (ca. 30 HomeMatic-devices), LAN (HueBridge, iTunes, HarmonyHub etc.). Slave-Installation auf OSX.
Aktives Mitglied des FHEM e.V. (Marketing)

Offline dirkeden

  • New Member
  • *
  • Beiträge: 13
Antw:Connair über FHEM steuern
« Antwort #7 am: 18 Dezember 2013, 22:52:41 »
Hab auch noch Code zu dem Thema Connair:

define n_Leuchtstofflampe_actor notify Leuchtstofflampe_actor:* {connair("11100","00100","%")}


sub connair($$$){
my ($Master,$Slave,$action) = @_;
my  $SendData="";
my    $sA=0;
my    $sG=0;
my    $sRepeat=10;
my    $sPause=5600;
my    $sTune=350;
my    $sBaud=25;
my    $sSpeed=16;
my    $uSleep=800000;
my    $txversion=2;
my    $HEAD="TXP:$sA,$sG,$sRepeat,$sPause,$sTune,$sBaud,";
my    $TAIL=",$txversion,1,$sSpeed,;";
my    $AN="1,3,1,3,3";
my    $AUS="3,1,1,3,1";
my    $bitLow=1;
my    $bitHgh=3;
my    $seqLow=$bitHgh.",".$bitHgh.",".$bitLow.",".$bitLow.",";
my    $seqHgh=$bitHgh.",".$bitLow.",".$bitHgh.",".$bitLow.",";
my    $i=0;
my    $bit="";   
my    $msg="";

my  $bits=$Master;
    for($i=0; $i<length($bits); $i++) {   
        $bit=substr($bits,$i,1);
        if($bit=="0") {
            $msg=$msg.$seqLow;
        } else {
            $msg=$msg.$seqHgh;
        }
    }
my    $msgM=$msg;
   
    $bits=$Slave;
   
    $msg="";
    for($i=0; $i<length($bits); $i++) {
        $bit=substr($bits,$i,1);
        if($bit=="0") {
            $msg=$msg.$seqLow;
        } else {
            $msg=$msg.$seqHgh;
        }
    }
my    $msgS=$msg;

    if($action eq "on") {
        $SendData = $HEAD.$bitLow.",".$msgM.$msgS.$bitHgh.",".$AN.$TAIL;
    } else {
        $SendData = $HEAD.$bitLow.",".$msgM.$msgS.$bitHgh.",".$AUS.$TAIL;
    }
my ($socket,$data);
#  We call IO::Socket::INET->new() to create the UDP Socket
$socket = new IO::Socket::INET(PeerAddr=>'192.168.9.102:49880',Proto=>'udp') or die "ERROR in Socket Creation : $!\n";
$socket->send($SendData);

$socket->close();

}



Offline Ollo65

  • New Member
  • *
  • Beiträge: 3
Antw:Connair über FHEM steuern
« Antwort #8 am: 26 Januar 2014, 20:22:53 »
moin,

ich habe mich jetzt auch mal an fhem gewagt und das Beispiel von rippi46 benutzt. Hat auch funktioniert.
Ich bekomme es nur leider nicht selbst hin, eine neue Lampe einzurichten.
Kann mir von euch vielleicht jemand erklären, wie ich z.B.
die Papierlampe im Kinderzimmer mit Elro (00001 00100) eingeben muss?
Was muß in die Befehlzeile von fhem rein geschrieben werden und was direkt 99_Utils.pm geschrieben werden oder in die fhem.cfg.

Ich würde mich sehr freuen, wenn mir jemand weiterhelfen könnte

Grüße aus dem Norden

Offline rippi46

  • Full Member
  • ***
  • Beiträge: 269
Antw:Connair über FHEM steuern
« Antwort #9 am: 27 Januar 2014, 10:46:51 »
Hallo Ollo65,

wenn du den code von mir verwendest, muss der nachfolgende code in die fhem.cfg
In der Befehlszeile kannst du einfach "set Papierlampe on" bzw "set Papierlampe off" eingeben
(ohne Anführungsstriche).

define Papierlampe dummy
attr Papierlampe alias Papierlampe Kinderzimmer
attr Papierlampe eventMap BI:on B0:off
attr Papierlampe room Kinderzimmer
attr Papierlampe setList state:on,off
define Papierlampe_ntfy notify Papierlampe:.* {\
    my $master = "00001";;\
    my $slave = "00100";;\
    my $v=Value("Papierlampe");;\
    if ($v eq "on") {connair("on",bin2dec("$master"),bin2dec("$slave"))};;\
    if ($v eq "off") {connair("off",bin2dec("$master"),bin2dec("$slave"))};;\
    }

Oder du nimmst den code von dirkeden.

define Papierlampe dummy
attr Papierlampe alias Papierlampe Kinderzimmer
attr Papierlampe eventMap BI:on B0:off
attr Papierlampe room Kinderzimmer
attr Papierlampe setList state:on,off
define Papierlampe_ntfy notify Papierlampe:.* {\
    my $master = "00001";;\
    my $slave = "00100";;\
    my $v=Value("Papierlampe");;\
    if ($v eq "on") {connair("$master","$slave","on")};;\
    if ($v eq "off") {connair("$master","$slave","off")};;\
    }

Du musst dann aber die sub connair von dirkeden verwenden und in 99_myUtils kopieren.
Habe ich aber selber noch nicht getestet.(P.S.: funktioniert auch, ist sogar etwas eleganter)
Vielleicht kann ja dirkeden was dazu sagen.
Ansonsten musst du nur die Anweisungen im ersten Post befolgen.

Gruß rippi46

« Letzte Änderung: 27 Januar 2014, 12:06:05 von rippi46 »
FHEM, LMS, VDR ,Dell 9010 Ubuntu 14.04; Max-Thermostate, Max Gateway, HM-Thermostate; Elro, Brennenstuhl u. Intertechno mit Connair-GW.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, fhemduino, Signalduino(wifi)
MySensor-GW mit diversen Sensoren, RGBWW

Offline Ollo65

  • New Member
  • *
  • Beiträge: 3
Antw:Connair über FHEM steuern
« Antwort #10 am: 29 Januar 2014, 17:04:17 »
hi rippi46,

hat wunderbar funktioniert.
ich danke Dir für Deine Hilfe.
Hat es von euch schon jemand geschafft einen timer zu integrieren.
Habe es mit "define onAt at 20:45 set Papierlampe on-for-timer 600" hat leider nicht funktioniert.

Gruß Ollo65
« Letzte Änderung: 29 Januar 2014, 21:09:33 von Ollo65 »

Offline rippi46

  • Full Member
  • ***
  • Beiträge: 269
Antw:Connair über FHEM steuern
« Antwort #11 am: 30 Januar 2014, 19:02:24 »
Hallo Ollo65

define Timer_LautsprecherGaeste_off at *00:00:20 { fhem("set LautsprecherGaeste off")}
attr Timer_LautsprecherGaeste_off room Gästeklo,Timer

oder in Abhängigkeit mit Sonnenauf/untergang.

define Timer_Christbaum_on at *{sunset(-600)} { fhem("set ChristbaumHof on")}
attr Timer_Christbaum_on room Hof,Timer
define Timer_Christbaum_off at *{sunrise(+900)} { fhem("set ChristbaumHof off")}
attr Timer_Christbaum_off room Hof,Timer

so hat es bei mir funktioniert

Gruß

rippi46
FHEM, LMS, VDR ,Dell 9010 Ubuntu 14.04; Max-Thermostate, Max Gateway, HM-Thermostate; Elro, Brennenstuhl u. Intertechno mit Connair-GW.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, fhemduino, Signalduino(wifi)
MySensor-GW mit diversen Sensoren, RGBWW

Offline Ollo65

  • New Member
  • *
  • Beiträge: 3
Antw:Connair über FHEM steuern
« Antwort #12 am: 30 Januar 2014, 21:28:45 »
Hallo rippi46,

Genial.......ich Danke Dir für Deine Hilfe.......funktioniert super.
Jetzt kann ich weiter basteln :)

Gruß Ollo65

ms81

  • Gast
Antw:Connair über FHEM steuern
« Antwort #13 am: 27 Februar 2014, 11:54:51 »
Hallo,

kann ich damit auch direkt fertige TXP Codes senden bzw. gibt es eine andere Möglichkeit mit FHEM TXP Codes an den Gateway zu senden?

Ich möchte damit Rolladen Funkschalter von rohrmotor24 schalten, die TXP Codes habe ich durch anlernen in der Steckerchecker app und auslesen der UDP Pakete erhalten.

Es sind jeweils 3 TXP Codes: Auf,Ab und Stop.

In der Console kann ich z.b. mittels
echo "TXP:0,0,10,10920,91,42,57,18,8,4,4,8,8,4,4,8,4,8,4,8,4,8,8,4,8,4,4,8,8,4,8,4,8,4,4,8,8,4,4,8,4,8,8,4,4,8,8,4,8,4,8,4,4,8,8,4,8,4,4,8,8,4,8,4,4,8,8,4,8,4,8,4,4,8,8,4,4,8,8,4,4,8,8,4,4,8,8,120,0;" | nc -u 192.168.178.20 49880

einen Code absenden und der wird auch ausgeführt.

Offline rippi46

  • Full Member
  • ***
  • Beiträge: 269
Antw:Connair über FHEM steuern
« Antwort #14 am: 27 Februar 2014, 13:19:51 »
Hallo ms81

das hier in die fhem.cfg

define RolladenW dummy
attr RolladenW alias Rolladen Wohnzimmer
attr RolladenW eventMap BI:auf B0:ab
attr RolladenW room Wohnzimmer
attr RolladenW setList state:auf,ab
define RolladenW_ntfy notify RolladenW:.* {\
    my $v=Value("RolladenW");;\
    if ($v eq "auf") {connair("auf")};;\
    if ($v eq "ab") {connair("ab")};;\
    }

und das in die 99_myUtils.pm

use CGI qw(:standard);
use IO::Socket;
use MIME::Base64;
use Time::Piece;
$main::NextUpdate = ();

sub connair {

   
 my ($state) = "$_[0]";
 if ($state eq "auf")
 {
  system("echo \"TXP:0,0,10,10920,91,42,57,18,8,4,4,8,8,4,4,8,4,8,4,8,4,8,8,4,8,4,4,8,8,4,8,4,8,4,4,8,8,4,4,8,4,8,8,4,4,8,8,4,8,4,8,4,4,8,8,4,8,4,4,8,8,4,8,4,4,8,8,4,8,4,8,4,4,8,8,4,4,8,8,4,4,8,8,4,4,8,8,120,0;\" | nc -u 192.168.178.20 49880 & pid=$! sleep 1 kill $pid 2>/dev/null >/dev/null");
 }
 else
 {
  system("echo \Befehl für on oder off, da ich nicht weiss was der obere Befehl macht\" | nc -u 192.168.178.20 49880 & pid=$! sleep 1 kill $pid 2>/dev/null >/dev/null");
 }
}


So könnte es funktionieren.
Keine Garantie!!
kannst dich  ja mal melden wenn es funktioniert hat

Gruß ripp46

FHEM, LMS, VDR ,Dell 9010 Ubuntu 14.04; Max-Thermostate, Max Gateway, HM-Thermostate; Elro, Brennenstuhl u. Intertechno mit Connair-GW.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, fhemduino, Signalduino(wifi)
MySensor-GW mit diversen Sensoren, RGBWW

 

decade-submarginal