mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 09:16:53 +00:00
93_DbRep: contrib 8.23.0
git-svn-id: https://svn.fhem.de/fhem/trunk@20050 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
5f8c0ec5e8
commit
c3b9d59283
@ -1,5 +1,5 @@
|
|||||||
##########################################################################################################
|
##########################################################################################################
|
||||||
# $Id: 93_DbRep.pm 19507 2019-05-31 09:03:18Z DS_Starter $
|
# $Id: 93_DbRep.pm 20048 2019-08-23 20:08:48Z DS_Starter $
|
||||||
##########################################################################################################
|
##########################################################################################################
|
||||||
# 93_DbRep.pm
|
# 93_DbRep.pm
|
||||||
#
|
#
|
||||||
@ -58,6 +58,7 @@ no if $] >= 5.017011, warnings => 'experimental::smartmatch';
|
|||||||
|
|
||||||
# Version History intern
|
# Version History intern
|
||||||
our %DbRep_vNotesIntern = (
|
our %DbRep_vNotesIntern = (
|
||||||
|
"8.23.0" => "24.08.2019 devices marked as \"Associated With\" if possible ",
|
||||||
"8.22.0" => "23.08.2019 new attr fetchValueFn. When fetching the database content, manipulate the VALUE-field before create reading ",
|
"8.22.0" => "23.08.2019 new attr fetchValueFn. When fetching the database content, manipulate the VALUE-field before create reading ",
|
||||||
"8.21.2" => "14.08.2019 commandRef revised ",
|
"8.21.2" => "14.08.2019 commandRef revised ",
|
||||||
"8.21.1" => "31.05.2019 syncStandby considers executeBeforeProc, commandRef revised ",
|
"8.21.1" => "31.05.2019 syncStandby considers executeBeforeProc, commandRef revised ",
|
||||||
@ -1211,6 +1212,11 @@ sub DbRep_Attr($$$$) {
|
|||||||
$hash->{MODEL} = $hash->{ROLE};
|
$hash->{MODEL} = $hash->{ROLE};
|
||||||
delete($attr{$name}{icon}) if($do eq "Client");
|
delete($attr{$name}{icon}) if($do eq "Client");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($aName eq "device") {
|
||||||
|
my $awdev = $aVal;
|
||||||
|
DbRep_modAssociatedWith ($hash,$cmd,$awdev);
|
||||||
|
}
|
||||||
|
|
||||||
if ($cmd eq "set") {
|
if ($cmd eq "set") {
|
||||||
if ($aName =~ /valueFilter/) {
|
if ($aName =~ /valueFilter/) {
|
||||||
@ -1345,9 +1351,10 @@ sub DbRep_Notify($$) {
|
|||||||
$event = "" if(!defined($event));
|
$event = "" if(!defined($event));
|
||||||
my @evl = split("[ \t][ \t]*", $event);
|
my @evl = split("[ \t][ \t]*", $event);
|
||||||
|
|
||||||
# if ($devName = $myName && $evl[0] =~ /done/) {
|
if($event =~ /DELETED/) {
|
||||||
# InternalTimer(time+1, "browser_refresh", $own_hash, 0);
|
my $awdev = AttrVal($own_hash->{NAME}, "device", "");
|
||||||
# }
|
DbRep_modAssociatedWith ($own_hash,"set",$awdev);
|
||||||
|
}
|
||||||
|
|
||||||
if ($own_hash->{ROLE} eq "Agent") {
|
if ($own_hash->{ROLE} eq "Agent") {
|
||||||
# wenn Rolle "Agent" Verbeitung von RENAMED Events
|
# wenn Rolle "Agent" Verbeitung von RENAMED Events
|
||||||
@ -10555,12 +10562,12 @@ sub DbRep_setVersionInfo($) {
|
|||||||
if($modules{$type}{META}{x_prereqs_src} && !$hash->{HELPER}{MODMETAABSENT}) {
|
if($modules{$type}{META}{x_prereqs_src} && !$hash->{HELPER}{MODMETAABSENT}) {
|
||||||
# META-Daten sind vorhanden
|
# META-Daten sind vorhanden
|
||||||
$modules{$type}{META}{version} = "v".$v; # Version aus META.json überschreiben, Anzeige mit {Dumper $modules{SMAPortal}{META}}
|
$modules{$type}{META}{version} = "v".$v; # Version aus META.json überschreiben, Anzeige mit {Dumper $modules{SMAPortal}{META}}
|
||||||
if($modules{$type}{META}{x_version}) { # {x_version} ( nur gesetzt wenn $Id: 93_DbRep.pm 19507 2019-05-31 09:03:18Z DS_Starter $ im Kopf komplett! vorhanden )
|
if($modules{$type}{META}{x_version}) { # {x_version} ( nur gesetzt wenn $Id: 93_DbRep.pm 20048 2019-08-23 20:08:48Z DS_Starter $ im Kopf komplett! vorhanden )
|
||||||
$modules{$type}{META}{x_version} =~ s/1.1.1/$v/g;
|
$modules{$type}{META}{x_version} =~ s/1.1.1/$v/g;
|
||||||
} else {
|
} else {
|
||||||
$modules{$type}{META}{x_version} = $v;
|
$modules{$type}{META}{x_version} = $v;
|
||||||
}
|
}
|
||||||
return $@ unless (FHEM::Meta::SetInternals($hash)); # FVERSION wird gesetzt ( nur gesetzt wenn $Id: 93_DbRep.pm 19507 2019-05-31 09:03:18Z DS_Starter $ im Kopf komplett! vorhanden )
|
return $@ unless (FHEM::Meta::SetInternals($hash)); # FVERSION wird gesetzt ( nur gesetzt wenn $Id: 93_DbRep.pm 20048 2019-08-23 20:08:48Z DS_Starter $ im Kopf komplett! vorhanden )
|
||||||
if(__PACKAGE__ eq "FHEM::$type" || __PACKAGE__ eq $type) {
|
if(__PACKAGE__ eq "FHEM::$type" || __PACKAGE__ eq $type) {
|
||||||
# es wird mit Packages gearbeitet -> Perl übliche Modulversion setzen
|
# es wird mit Packages gearbeitet -> Perl übliche Modulversion setzen
|
||||||
# mit {<Modul>->VERSION()} im FHEMWEB kann Modulversion abgefragt werden
|
# mit {<Modul>->VERSION()} im FHEMWEB kann Modulversion abgefragt werden
|
||||||
@ -10782,6 +10789,43 @@ sub browser_refresh($) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
###################################################################################
|
||||||
|
# Associated Devices im DEF setzen
|
||||||
|
###################################################################################
|
||||||
|
sub DbRep_modAssociatedWith ($$$) {
|
||||||
|
my ($hash,$cmd,$awdev) = @_;
|
||||||
|
my @naw;
|
||||||
|
|
||||||
|
my @def = split("{",$hash->{DEF});
|
||||||
|
|
||||||
|
if($cmd eq "del") {
|
||||||
|
$hash->{DEF} = $def[0];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
my @nadev = split("[, ]", $awdev);
|
||||||
|
|
||||||
|
foreach my $d (@nadev) {
|
||||||
|
if($defs{$d}) {
|
||||||
|
push(@naw, $d);
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
my @a = devspec2array($d);
|
||||||
|
foreach(@a) {
|
||||||
|
next if(!$defs{$_});
|
||||||
|
push(@naw, $_) if( !( "EXCLUDE=".$_ ~~ @nadev) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(@naw) {
|
||||||
|
$hash->{DEF} = $def[0]." {".join(" ",@naw)."}";
|
||||||
|
} else {
|
||||||
|
$hash->{DEF} = $def[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
# Test-Sub zu Testzwecken
|
# Test-Sub zu Testzwecken
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
|
Loading…
x
Reference in New Issue
Block a user