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;
}
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;
}