2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-12 16:46:35 +00:00

- feature: new commands fullinit and reopen for FHZ, commandref.html update

git-svn-id: https://svn.fhem.de/fhem/trunk@259 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
borisneubert 2008-11-01 13:58:39 +00:00
parent bd3450cb81
commit aaea25da26
3 changed files with 59 additions and 10 deletions

View File

@ -225,7 +225,7 @@
- filelogs will additionally be notified on set or trigger commands
- the extra_notify flag is gone: it is default now, there is a
do_not_notify flag for the opposite behaviour.
- feature: at timespec as a function. Example: at +*{sunset()}
- feature: at timespec as a function. Example: at +*{sunset()}
commandref.html and examples revisited.
- feature: 99_SUNRISE.pm added to use with the new at functionality
(replaces the old 99_SUNSET.pm)
@ -434,3 +434,4 @@
- feature: add timestamp to inform
- feature: The strange stty settings in 00_FHEM.pm are optional
- bugfix: webpgm2 iPhone fix
- feature: fullinit and reopen commands for FHZ added (Boris 2008-11-01)

View File

@ -30,6 +30,8 @@ my %sets = (
"activefor"=> "xx xx",
"raw" => "xx xx",
"initfull" => "xx xx",
"reopen" => "xx xx",
);
my %setnrparam = (
"time" => 0,
@ -38,6 +40,8 @@ my %setnrparam = (
"FHTcode" => 1,
"activefor"=> 1,
"raw" => 2,
"initfull" => 0,
"reopen" => 0,
);
my %codes = (
@ -74,7 +78,7 @@ FHZ_Initialize($)
$hash->{StateFn} = "FHZ_SetState";
$hash->{AttrList}= "do_not_notify:1,0 dummy:1,0 filtertimeout repeater:1,0 " .
"showtime:1,0 model:fhz1000,fhz1300 loglevel:0,1,2,3,4,5,6 ".
"fhtsoftbuffer:1,0";
"fhtsoftbuffer:1,0";
}
#####################################
sub
@ -117,6 +121,21 @@ FHZ_Set($@)
$dhash->{IODev} = $hash;
return undef;
} elsif($a[1] eq "initfull") {
my @init;
push(@init, "get $name init2");
push(@init, "get $name serial");
push(@init, "set $name initHMS");
push(@init, "set $name initFS20");
push(@init, "set $name time");
push(@init, "set $name raw 04 01010100010000");
CommandChain(3, \@init);
} elsif($a[1] eq "reopen") {
FHZ_Reopen($hash);
} elsif($a[1] eq "raw") {
$fn = $a[2];
@ -266,7 +285,7 @@ FHZ_Define($$)
$attr{$name}{dummy} = 1;
return undef;
}
Log 3, "FHZ opening FHZ device $dev";
if ($^O=~/Win/) {
require Win32::SerialPort;
@ -429,7 +448,7 @@ FHZ_CompleteMsg($$)
return pack('C*', 0x81, $len/2+2, ord(pack('H*',$fn)), FHZ_Crc(@data), @data);
}
#####################################
# Check if the 1% limit is reached and trigger notifies
sub
@ -525,6 +544,31 @@ FHZ_HandleWriteQueue($)
}
}
#####################################
sub
FHZ_Reopen($)
{
my ($hash) = @_;
my $devname = $hash->{DeviceName};
$hash->{PortObj}->close();
Log 1, "USB device $devname closed";
for(;;) {
sleep(5);
if ($^O eq 'MSWin32') {
$hash->{PortObj} = new Win32::SerialPort($devname);
}else{
$hash->{PortObj} = new Device::SerialPort($devname);
}
if($hash->{PortObj}) {
Log 1, "USB device $devname reopened";
$hash->{FD} = $hash->{PortObj}->FILENO if !($^O eq 'MSWin32');
DoInit($hash->{NAME}, $hash->{ttytype}, $hash->{PortObj});
return;
}
}
}
#####################################
sub
FHZ_Read($)
@ -551,9 +595,9 @@ FHZ_Read($)
if ($^O eq 'MSWin32') {
$hash->{PortObj} = new Win32::SerialPort($devname);
}else{
$hash->{PortObj} = new Device::SerialPort($devname);
$hash->{PortObj} = new Device::SerialPort($devname);
}
if($hash->{PortObj}) {
Log 1, "USB device $devname reappeared";
$hash->{FD} = $hash->{PortObj}->FILENO if !($^O eq 'MSWin32');

View File

@ -122,8 +122,8 @@
- Rudi Sun Aug 5 10:59:51 MEST 2007
- WS300 Loglevel changed for KS300 device (from 2 to GetLogLevel or 5)
- First version of the FritzBox port:
- Perl binary/ftdi_sio module
- First version of the FritzBox port:
- Perl binary/ftdi_sio module
- EM: added setTime, reset
- docs/fritzbox.html. Note: The fb_fhem_0.1.tar.gz won't be part of CVS
as it contains largee binaries (swapfile, perl mipsel executable, etc).
@ -187,7 +187,7 @@
One step closer for complete fhem on the FritzBox.
- Boris Sun Jan 06 13:35:00 CET 2008
- bugfix: 62_EMEM.pm: changed reading energy_total_kWh to energy_kWh_w,
- bugfix: 62_EMEM.pm: changed reading energy_total_kWh to energy_kWh_w,
added energy_kWh (formerly energy_total_kWh)
- changed em1010.pl accordingly, added em1000em doc for getDevStatus reply
from device
@ -213,7 +213,7 @@
- Rudi Sun Jan 27 18:12:42 MET 2008
- em1010PC: sending a "67" after a reset skips the manual interaction:
automatic reset is now possible.
automatic reset is now possible.
- Peter S. Sat Feb 16 22:22:21 MET 2008
- linux.html: Note on kernel 2.6.24.2 (includes our changes)
@ -313,3 +313,7 @@ Fri Jul 25 18:14:26 MEST 2008
these are considered "utility" modules and are loaded at the beginning.
Some of the older 99_x modules were renamed (99_SVG, 99_dummy), and most
contrib modules were moved to the main FHEM directory.
- Boris Sat Nov 01 CET 2008
- feature: new commands fullinit and reopen for FHZ, commandref.html update