FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: abc2006 am 21 Februar 2022, 17:38:52

Titel: regex substitute in DOIF funktioniert nicht, in myutils schon [gelöst, typo]
Beitrag von: abc2006 am 21 Februar 2022, 17:38:52
Hi,
ich habe in einem DOIF folgenden Code:

Internals:
   CFGFN     
   DEF        (1){
my $var = "3.5";
$var = s/\./,/g;
fhem("setreading $SELF var $var");
my $var2 = repla("4.9");
fhem("setreading $SELF var2 $var2");

}
   FUUID      6213bf08-f33f-4040-3b69-3df8b5db55561c08
   MODEL      FHEM
   NAME       DF_test14
   NOTIFYDEV  global
   NR         1254575
   NTFY_ORDER 50-DF_test14
   STATE      cmd_1
   TYPE       DOIF
   VERSION    24905 2021-09-01 18:35:54
   READINGS:
     2022-02-21 17:36:23   cmd             1
     2022-02-21 17:36:23   cmd_event       set_cmd_1
     2022-02-21 17:36:23   cmd_nr          1
     2022-02-21 17:36:19   mode            enabled
     2022-02-21 17:36:23   state           cmd_1
     2022-02-21 17:35:33   var             1
     2022-02-21 17:36:23   var2            4,9
   Regex:
     accu:
     collect:
   attr:
     cmdState:
   condition:
     0          1
   do:
     0:
       0          { my $var = "3.5"; $var = s/\./,/g; fhem("setreading DF_test14 var $var"); my $var2 = repla("4.9"); fhem("setreading DF_test14 var2 $var2");  }
     1:
   helper:
     DEVFILTER  ^global$
     NOTIFYDEV  global
     globalinit 1
     last_timer 0
     sleeptimer -1
     DOIF_eventa:
       cmd_nr: 1
       cmd: 1
       cmd_event: set_cmd_1
       cmd_1
     DOIF_eventas:
       cmd_nr: 1
       cmd: 1
       cmd_event: set_cmd_1
       state: cmd_1
   uiState:
   uiTable:
Attributes:
   room       x_devel


Die sub "repla" ist wie folgt in der 99_myUtils definiert:
sub repla{
my $string = shift;
$string =~ s/\./,/g;
return $string;
}


Warum funktioniert das in der MyUtils, aber im DOIF selbst nicht?

Danke für ne Info,
Grüße,
Stephan
Titel: Antw:regex substitute in DOIF funktioniert nicht, in myutils schon
Beitrag von: Adimarantis am 21 Februar 2022, 17:55:23
da fehlt ein ~
Titel: Antw:regex substitute in DOIF funktioniert nicht, in myutils schon
Beitrag von: abc2006 am 21 Februar 2022, 18:10:43
Ja, da hast du wohl recht. Ich hätte schwören können, es wäre da gewesen - habe ja extra ein neues minimal-Doif zum testen gebaut. Aber der andere Code ist schon wieder gelöscht - Danke erstmal!