From 6182d2fb3fe7f9dd67615f498e3bf4a846caee85 Mon Sep 17 00:00:00 2001
From: rudolfkoenig <>
Date: Sun, 23 Aug 2015 12:43:56 +0000
Subject: [PATCH] fhem.pl: add -temporary option to the define command (Forum
#39610)
git-svn-id: https://svn.fhem.de/fhem/trunk@9118 2b470e98-0d58-463d-a4d8-8e2adae1ed80
---
fhem/docs/commandref_frame.html | 15 ++++++++++++++-
fhem/docs/commandref_frame_DE.html | 16 ++++++++++++++--
fhem/fhem.pl | 9 ++++++++-
3 files changed, 36 insertions(+), 4 deletions(-)
diff --git a/fhem/docs/commandref_frame.html b/fhem/docs/commandref_frame.html
index 415ad6ec7..bd2673598 100644
--- a/fhem/docs/commandref_frame.html
+++ b/fhem/docs/commandref_frame.html
@@ -732,7 +732,7 @@ The following local attributes are used by a wider range of devices:
define
- define <name> <type> <type-specific>
+ define [option] <name> <type> <type-specific>
Define a device. You need devices if you want to manipulate them (e.g.
set on/off), and the logfile is also more readable if it contains e.g.
@@ -744,6 +744,19 @@ The following local attributes are used by a wider range of devices:
Each device takes different additional arguments at definition, see the
corresponding device section for details.
+ Options:
+
+ - -temporary
+ Add the TEMPORARY flag to the definition, which will prevent saving the
+ device to fhem.cfg.
+
+ - -ignoreErr
+ Reduce the number of errors displayed when a certain FHEM-module cannot
+ be loaded. Used by fhem.cfg.demo, as using the RSS example requires the
+ installation of several uncommon perl modules.
+
+
+
diff --git a/fhem/docs/commandref_frame_DE.html b/fhem/docs/commandref_frame_DE.html
index e1612bc14..24ad38061 100644
--- a/fhem/docs/commandref_frame_DE.html
+++ b/fhem/docs/commandref_frame_DE.html
@@ -760,7 +760,7 @@ Die folgenden lokalen Attribute werden von mehreren Geräten verwendet:
define
- define <name> <type> <type-specific>
+ define [option] <name> <type> <type-specific>
Definiert ein Gerät. Sie müssen Geräte einrichten um sie zu
@@ -773,7 +773,19 @@ Die folgenden lokalen Attribute werden von mehreren Geräten verwendet:
Je nach Typ benötigt man unterscheidliche Argumente, lesen Sie sich
bitte die zu dem jeweiligen Gerät gehörenden Abschnitte durch.
-
+
+ Optionen:
+
+ - -temporary
+ Setzt den TEMPORARY Marker, was das Abspeichern dieser Definition in
+ fhem.cfg verhindert.
+
+ - -ignoreErr
+ Reduziert die Anzahl der Fehlermeldungen, falls ein FHEM-Modul nicht
+ geladen werden kann. Wird in fhem.cfg.demo verwendet, da das RSS Beispiel
+ etliche, normalerweise nicht installierte perl-Module benötigt.
+
+
diff --git a/fhem/fhem.pl b/fhem/fhem.pl
index a30a059e5..2bf73581b 100755
--- a/fhem/fhem.pl
+++ b/fhem/fhem.pl
@@ -1627,7 +1627,7 @@ CommandDefine($$)
{
my ($cl, $def) = @_;
my @a = split("[ \t]+", $def, 3);
- my $ignoreErr;
+ my ($ignoreErr, $temporary);
# used by RSS in fhem.cfg.demo, with no GD installed
if($a[0] && $a[0] eq "-ignoreErr") {
@@ -1635,6 +1635,12 @@ CommandDefine($$)
@a = split("[ \t][ \t]*", $def, 3);
$ignoreErr = 1;
}
+ if($a[0] && $a[0] eq "-temporary") { # Forum #39610
+ $def =~ s/\s*-temporary\s*//;
+ @a = split("[ \t][ \t]*", $def, 3);
+ $temporary = 1;
+ }
+
my $name = $a[0];
return "Usage: define "
if(int(@a) < 2);
@@ -1679,6 +1685,7 @@ CommandDefine($$)
delete $attr{$name};
} else {
+ $hash{TEMPORARY} = 1 if($temporary);
foreach my $da (sort keys (%defaultattr)) { # Default attributes
CommandAttr($cl, "$name $da $defaultattr{$da}");
}