regex substitute in DOIF funktioniert nicht, in myutils schon [gelöst, typo]

Begonnen von abc2006, 21 Februar 2022, 17:38:52

Vorheriges Thema - Nächstes Thema

abc2006

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
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Adimarantis

Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

abc2006

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!
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX