Ankündigung

Einklappen
Keine Ankündigung bisher.

nachricht mit eibd an gira smartsensor

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    nachricht mit eibd an gira smartsensor

    Moin!
    Ich wollte schon imma mal von meinem Debian Server was Nachrichten an meine Gira Smartsensoren senden. Heut hab ichs mir mal zusammengebastelt.

    falls es jemanden interessiert:



    #!/usr/bin/perl
    #
    # nachricht an gira smartsensor senden
    #
    #
    # beispiel:
    # /usr/local/sbin/sendsensor.pl 0/6/6 "AWA16;Alarm Keller;Flur"
    #
    # ; ist lf
    # kein ":" verwenden
    #
    # quick and dirty by jens oliver nagel (jens.oliver.nagel(kaffe)web.de)

    $ausgabe= $ARGV[1];
    $adresse = $ARGV[0];
    $eibURL = "ip:localhost";
    $logfile;
    $ENV{'PATH'}="/usr/bin";
    $zeichen = length($ausgabe);
    $c=12;
    $count=0;
    $zeilen = sprintf("%.0f", (($zeichen / 12) + 0.5));
    $zeilennr=0;

    while ($zeilennr < $zeilen) {
    $grpwrite = "";
    if ($zeilennr == 0) {$grpwrite .= "00 0$zeilen";}
    else {$grpwrite .= "0$zeilennr 00";}
    $zeilennr++;
    while (0 < $c) {
    $t=substr($ausgabe,$count,1);
    $tend=substr($ausgabe,($count+1),1);
    $hex=sprintf "%x", ord($t);
    $thex=sprintf "%x", ord($tend);
    if ($hex == 0) {$hex = "00";}
    if ($thex == 0) {$thex = "00";}
    if ($hex == "3B") {$hex = "0A";}
    $grpwrite .= " " . $hex;
    $count++;
    $c--;
    }
    $gw = "groupwrite $eibURL $adresse $grpwrite";
    print "$gw\n";
    system ($gw);
    if (($thex eq "00") and ($hex ne "00")){
    $gwend = "groupwrite $eibURL $adresse 0$zeilen 00 00 00 00 00 00 00 00 00 00 00 00 00";
    print "$gwend\n";
    system ($gwend);
    }
    $c=12;
    }
Lädt...
X