From b580e5221f24e77b848015ac43bf45b6b4e11322 Mon Sep 17 00:00:00 2001 From: delmar <> Date: Fri, 25 Oct 2019 06:59:21 +0000 Subject: [PATCH] 71_ZM_Monitor: improving statistics git-svn-id: https://svn.fhem.de/fhem/trunk@20406 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 1 + fhem/FHEM/70_ZoneMinder.pm | 3 ++- fhem/FHEM/71_ZM_Monitor.pm | 5 ++++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index c3ef4dbc2..c96a9bcd6 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - change: 71_ZM_Monitor: now writing internal 'model' - feature: 74_AMADDevice: add class support for openApp, fix bug then change attr remoteServer set Internal MODEL - change: 76_SMAInverter: readings bat_loadtotal / bat_loadtoday included, diff --git a/fhem/FHEM/70_ZoneMinder.pm b/fhem/FHEM/70_ZoneMinder.pm index 0e95f5450..170d2a64f 100755 --- a/fhem/FHEM/70_ZoneMinder.pm +++ b/fhem/FHEM/70_ZoneMinder.pm @@ -474,8 +474,9 @@ sub ZoneMinder_UpdateMonitorAttributes { my $function = ZoneMinder_GetConfigValueByKey($hash, $monitorData, 'Function'); my $enabled = ZoneMinder_GetConfigValueByKey($hash, $monitorData, 'Enabled'); my $streamReplayBuffer = ZoneMinder_GetConfigValueByKey($hash, $monitorData, 'StreamReplayBuffer'); + my $monitorType = ZoneMinder_GetConfigValueByKey($hash, $monitorData, 'Type'); - my $msg = "monitor:$monitorId|$function|$enabled|$streamReplayBuffer"; + my $msg = "monitor:$monitorId|$function|$enabled|$streamReplayBuffer|$monitorType"; my $dispatchResult = Dispatch($hash, $msg, undef); } diff --git a/fhem/FHEM/71_ZM_Monitor.pm b/fhem/FHEM/71_ZM_Monitor.pm index 3012e3bd6..367f35561 100755 --- a/fhem/FHEM/71_ZM_Monitor.pm +++ b/fhem/FHEM/71_ZM_Monitor.pm @@ -392,11 +392,12 @@ sub ZM_Monitor_handleMonitorUpdate { my ( $io_hash, $message ) = @_; my $ioName = $io_hash->{NAME}; - my @msgTokens = split(/\|/, $message); #$message = "$monitorId|$function|$enabled|$streamReplayBuffer"; + my @msgTokens = split(/\|/, $message); #$message = "$monitorId|$function|$enabled|$streamReplayBuffer|$monitorType"; my $zmMonitorId = $msgTokens[0]; my $function = $msgTokens[1]; my $enabled = $msgTokens[2]; my $streamReplayBuffer = $msgTokens[3]; + my $monitorType = $msgTokens[4]; my $logDevAddress = $ioName.'_'.$zmMonitorId; if ( my $hash = $modules{ZM_Monitor}{defptr}{$logDevAddress} ) { @@ -406,6 +407,8 @@ sub ZM_Monitor_handleMonitorUpdate { my $bufferChanged = readingsBulkUpdateIfChanged($hash, 'streamReplayBuffer', $streamReplayBuffer); readingsEndUpdate($hash, 1); + $hash->{model} = $monitorType; + ZM_Monitor_UpdateStreamUrls($hash); return $hash->{NAME};