Hauptmenü

define mit devspec?

Begonnen von klausw, 19 November 2014, 16:41:39

Vorheriges Thema - Nächstes Thema

klausw

Hallo zusammen,

folgendes Problem:

ich habe z.B. mehere presence devices, die alle mit pres_ beginnen.
Nun möchte ich separate logfiles für alle anlegen.
Gibt es da eine ähnliche Möglichkeit wie bei attriuten (attr pres_.* room test1), das ich mit einem Befehl die Logfiles für alle devices, die mit pres_ beginnen, anlegen kann?

und gleich noch eine Frage:
kann ich mit rename alles Devices die z.B mit pres_ beginnen umbenennen? Also pres_.* -> presence_.*


RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

igami

Benutzer nur DbLog, aber zum umbenennen, defines und attribute ändern baue ich mir grad eine Funktion

sub modify($$$$){
  my ($device,$value,$old,$new) = @_ ;
  my @devices = devspec2array($device) ;
   
  foreach $device (@devices){
    if ($value eq "DEF"){
      my $VALUE = InternalVal($device,$value,($value." error"));
      $VALUE =~ s/$old/$new/g;
      fhem("modify $device $VALUE");
    }elsif ($value eq "NAME"){
      my $VALUE = InternalVal($device,$value,($value." error"));
      $VALUE =~ s/$old/$new/g;
      fhem("rename $device $VALUE");
    }else{
      my $VALUE = AttrVal($device,$value,($value." error"));
      $VALUE =~ s/$old/$new/g;
      fhem("attr $device $value $VALUE");
    }
  }
}


Grüße
Igami
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

klausw

danke, das schaue ich mir am We mal an
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

choetzu

Zitat von: igami am 19 November 2014, 17:37:39
Benutzer nur DbLog, aber zum umbenennen, defines und attribute ändern baue ich mir grad eine Funktion

sub modify($$$$){
  my ($device,$value,$old,$new) = @_ ;
  my @devices = devspec2array($device) ;
   
  foreach $device (@devices){
    if ($value eq "DEF"){
      my $VALUE = InternalVal($device,$value,($value." error"));
      $VALUE =~ s/$old/$new/g;
      fhem("modify $device $VALUE");
    }elsif ($value eq "NAME"){
      my $VALUE = InternalVal($device,$value,($value." error"));
      $VALUE =~ s/$old/$new/g;
      fhem("rename $device $VALUE");
    }else{
      my $VALUE = AttrVal($device,$value,($value." error"));
      $VALUE =~ s/$old/$new/g;
      fhem("attr $device $value $VALUE");
    }
  }
}


Grüße
Igami

Hallo Igami

dieser Post ist lange her. Wo speicherst du das? in MyUtils? Und wie rufst du es auf.. Wenn ich folgendes eingebe

{modify("HM_40A3B3.*", "NAME", "HM_40A3B3", "Steckdose_Technik"}

krieg ich die Fehlermeldung

2018.01.21 10:42:10 1: ERROR evaluating {modify("HM_40A3B3.*", "NAME", "HM_40A3B3", "Steckdose_Technik"}: syntax error at (eval 10878) line 1, at EOF

Oder gilt das heute nicht mehr, da der Post aus Jahr 2014?
Raspi3, EnOcean, Zwave, Homematic

choetzu

#4
hat sich erledigt: es gibt ja den SET Befehl deviceRename... damit ist das obsolet.
Raspi3, EnOcean, Zwave, Homematic

igami

Zitat von: choetzu am 21 Januar 2018, 10:43:05
Hallo Igami

dieser Post ist lange her. Wo speicherst du das? in MyUtils? Und wie rufst du es auf.. Wenn ich folgendes eingebe

{modify("HM_40A3B3.*", "NAME", "HM_40A3B3", "Steckdose_Technik"}

krieg ich die Fehlermeldung

2018.01.21 10:42:10 1: ERROR evaluating {modify("HM_40A3B3.*", "NAME", "HM_40A3B3", "Steckdose_Technik"}: syntax error at (eval 10878) line 1, at EOF

Oder gilt das heute nicht mehr, da der Post aus Jahr 2014?
Ist wirklich schon lange her :D
Es fehlt eine ) am Ende, daher der syntax error. Ansonsten wird es so gemacht wie du vermutet hast.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED