Ankündigung

Einklappen

Sammelbestellung ETS6 Vollversionen aktiv!

Sammelbestellung für ETS6 Vollversionen (Prof., Home, Lite) mit 40% Rabatt aktiv! Infos im Forum!
Mehr anzeigen
Weniger anzeigen

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