![]()
old buildings used by the army
![]()
Street Blocks filled around Civic Center
![]()
Pick your color, shape, and size :)
![]()
Although Gold's Gym did win by having the best male bodies :)
![]()
the biosphere was reasonably good
![]()
for people who don't dive, lots of nice things you'd see during dives
![]()
The serial W800RF32 is easier to extend with a long serial cable
![]()
iolinc has a 2nd relay in parallel with its own relay in put to act as an OR gate and leave the output on even if the input (mailbox) has gone back down
![]()
got a weather proof box this time, tight fit
![]()
lots of wires going to the mailbox now, but I've always prefered wired to wireless
#08/05/2010 11:34:22 State Garage2 is alertbattlowmin
#08/05/2010 11:34:22 State Garage2 is normalbattlowmin
my %x10rfstate; #noloop
foreach my $dev (["x10sec_garage1", "Main Garage Door"], ["x10sec_garage2", "Small Garage Door"], ["x10sec_mailbox", "Mailbox"])
{
my $obj = $dev->[0];
my $name = $dev->[1];
$obj = &::get_object_by_name($obj);
$x10rfstate{$obj} = $obj->state if (not defined $x10rfstate{$obj});
if ($obj->state_now)
{
my $oldstate = $x10rfstate{$obj};
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime();
$year += 1900;
$mon++;
print_log "X10SEC: $name is ".$obj->state." (was $oldstate)";
open(LOG, ">>/var/log/x10sec");
printf LOG ("%.4d/%.2d/%.2d %.2d:%.2d:%.2d $name: ".$obj->state." (was $oldstate)\n", $year,$mon,$mday,$hour,$min,$sec);
close(LOG);
if ($obj->state ne $oldstate)
{
if ($obj->state =~ /alert/)
{
system('date | Mail -s "'.$name.' Just Opened" EMAIL');
}
elsif ($obj->state =~ /normal/)
{
system('date | Mail -s "'.$name.' Just Closed" EMAIL');
}
else
{
system('date | Mail -s "'.$name.' UNKNOWN STATE" EMAIL');
}
$x10rfstate{$obj} = $obj->state;
}
}
}
# vim:sts=4:sw=4
![]()
The hole is where I changed the server
gargamel:~# cat /etc/udev/rules.d/50-local-usb-serial.rules # /etc/udev/rules.d/50-local-usb-serial.rules # http://www.reactivated.net/writing_udev_rules.html#udevinfo # was udevinfo -a -p /class/tty/ttyUSB0 # now udevadm info --attribute-walk -p /class/tty/ttyUSB0 SUBSYSTEMS=="usb", ATTRS{product}=="FT232R USB UART", ATTRS{serial}=="A7006gvN", SYMLINK+="usb-serial-ftdi-8_1" SUBSYSTEMS=="usb", ATTRS{product}=="FT232R USB UART", ATTRS{serial}=="A7006gvO", SYMLINK+="usb-serial-ftdi-8_2" SUBSYSTEMS=="usb", ATTRS{product}=="FT232R USB UART", ATTRS{serial}=="A7006gvP", SYMLINK+="usb-serial-ftdi-8_3" SUBSYSTEMS=="usb", ATTRS{product}=="FT232R USB UART", ATTRS{serial}=="A7006gvR", SYMLINK+="usb-serial-ftdi-8_4" SUBSYSTEMS=="usb", ATTRS{product}=="FT232R USB UART", ATTRS{serial}=="A7006gvQ", SYMLINK+="usb-serial-ftdi-8_5" SUBSYSTEMS=="usb", ATTRS{product}=="FT232R USB UART", ATTRS{serial}=="A7006gvS", SYMLINK+="usb-serial-ftdi-8_6" SUBSYSTEMS=="usb", ATTRS{product}=="FT232R USB UART", ATTRS{serial}=="A7006gvT", SYMLINK+="usb-serial-ftdi-8_7" SUBSYSTEMS=="usb", ATTRS{product}=="FT232R USB UART", ATTRS{serial}=="A7006gvU", SYMLINK+="usb-serial-ftdi-8_8" SUBSYSTEMS=="usb", ATTRS{product}=="FT232R USB UART", ATTRS{serial}=="A800dMFk", SYMLINK+="rfxcom" SUBSYSTEMS=="usb", ATTRS{product}=="USB-Serial Controller", ATTRS{manufacturer}=="Prolific Technology Inc.", SYMLINK+="usb-serial-pl2303"After making a change
udevadm trigger will update symlinks.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()