From 1c0da3d1a68d772263405e36d3d2c85955cc584d Mon Sep 17 00:00:00 2001 From: justme-1968 Date: Sun, 27 Apr 2014 10:28:47 +0000 Subject: [PATCH] read devices-local.xml in addition to devices.xml git-svn-id: https://svn.fhem.de/fhem/trunk@5677 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/34_SWAP.pm | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/fhem/FHEM/34_SWAP.pm b/fhem/FHEM/34_SWAP.pm index 317fdcf71..f3d43eda3 100755 --- a/fhem/FHEM/34_SWAP.pm +++ b/fhem/FHEM/34_SWAP.pm @@ -99,12 +99,25 @@ SWAP_loadDevices() my $_products = {}; my $file_name = "$attr{global}{modpath}/FHEM/lib/SWAP/devices.xml"; - - if( ! -e $file_name ){ + if( !SWAP_loadDevicesHelper( $file_name, $_developers, $_products ) ) { Log3 undef, 2, "could not read $file_name"; - return ($_developers,$_products); } + $file_name = "$attr{global}{modpath}/FHEM/lib/SWAP/devices-local.xml"; + if( !SWAP_loadDevicesHelper( $file_name, $_developers, $_products ) ) { + Log3 undef, 4, "could not read $file_name"; + } + + return ($_developers,$_products); +} + +sub +SWAP_loadDevicesHelper($$$) +{ + my ($file_name, $_developers, $_products) = @_; + + return 0 if( ! -e $file_name ); + my $developers = XMLin($file_name, KeyAttr => { }, ForceArray => [ 'dev' ]); foreach my $developer (@{$developers->{developer}}){ @@ -126,7 +139,7 @@ SWAP_loadDevices() } } - return ($_developers,$_products); + return 1; } sub readDeviceXML($$)