diff --git a/fhem/CHANGED b/fhem/CHANGED index 1c34e8e24..35b150aca 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: 98_DOIFtools: more precise hint related to DOELSE (Forum #89260) - change: 98_feels_like.pm: Improved algorithms - change: 98_dewpoint: new attributes absoluteHumidity, vapourPressure attribute absFeuchte is now deprecated, diff --git a/fhem/FHEM/98_DOIFtools.pm b/fhem/FHEM/98_DOIFtools.pm index 85b259a2e..59463b3bb 100644 --- a/fhem/FHEM/98_DOIFtools.pm +++ b/fhem/FHEM/98_DOIFtools.pm @@ -896,7 +896,7 @@ sub DOIFtoolsCheckDOIF { $ret .= "
  • sleep im DOIF zu nutzen, wird nicht empfohlen, nutze das Attribut wait für (Verzögerungen)
  • \n" if ($tail =~ m/(sleep\s\d+\.?\d+\s*[;|,]?)/); $ret .= "
  • ersetze [name:?regex] durch [name:\"regex\"] (Vermeidung veralteter Syntax)
  • \n" if ($tail =~ m/(\[.*?[^"]?:[^"]?\?.*?\])/); - $ret .= "
  • der erste Befehl nach DOELSE scheint eine Bedingung zu sein, weil $2 enthalten ist, bitte prüfen.
  • \n" if ($tail =~ m/(DOELSE .*?\]\s*?(\!\S|\=\~|\!\~|and|or|xor|not|\|\||\&\&|\=\=|\!\=|ne|eq|lt|gt|le|ge)\s*?).*?\)/); + $ret .= "
  • nach DOELSE ist möglicherweise eine Bedingung angegeben, weil $2 gefunden wurde, bitte prüfen (ignorieren, wenn der Operator zu einem Befehl gehört).
  • \n" if ($tail =~ m/(DOELSE .*?\]\s*?(\!\S|\=\~|\!\~|and|or|xor|not|\|\||\&\&|\=\=|\!\=|ne|eq|lt|gt|le|ge)\s*?).*?\)/); my @wait = SplitDoIf(":",AttrVal($tn,"wait","")); my @sub0 = (); my @tmp = (); @@ -966,7 +966,7 @@ sub DOIFtoolsCheckDOIF { $ret .= "
  • sleep is not recommended in DOIF, use attribute wait for (delay)
  • \n" if ($tail =~ m/(sleep\s\d+\.?\d+\s*[;|,]?)/); $ret .= "
  • replace [name:?regex] by [name:\"regex\"] (avoid old syntax)
  • \n" if ($tail =~ m/(\[.*?[^"]?:[^"]?\?.*?\])/); - $ret .= "
  • the first command after DOELSE seems to be a condition indicated by $2, check it.
  • \n" if ($tail =~ m/(DOELSE .*?\]\s*?(\!\S|\=\~|\!\~|and|or|xor|not|\|\||\&\&|\=\=|\!\=|ne|eq|lt|gt|le|ge)\s*?).*?\)/); + $ret .= "
  • $2 found after DOELSE, it seems to be a condition, check it (ignore if it's part of a command).
  • \n" if ($tail =~ m/(DOELSE .*?\]\s*?(\!\S|\=\~|\!\~|and|or|xor|not|\|\||\&\&|\=\=|\!\=|ne|eq|lt|gt|le|ge)\s*?).*?\)/); my @wait = SplitDoIf(":",AttrVal($tn,"wait","")); my @sub0 = (); my @tmp = ();