rename Befehl arbeitet nicht korrekt

Begonnen von Morgennebel, 24 Oktober 2017, 17:27:47

Vorheriges Thema - Nächstes Thema

Morgennebel

Moin Moin,


ich überarbeite gerade meine Konfiguration (einheitliches Namensschema, überflüssige Dinge entfernen). Dabei habe ich den Befehl


rename Pollenflugvorhersage IN_PollenVorhersage


eingegeben. Dieser führte jedoch bei dieser ReadingsGroup nur zu einem rename von jedem zweitem Treffer:


<>,<Ampfer>,<Ambrosia>,<Beifuss>,<Birke>,<Buche>,<Eiche>,<Erle>,<Graeser>,<Hasel>,<Pappel>,<Roggen>,<Ulme>,<Wegerich>,<Weide>  IN_PollenVorhersage:fc1_day_of_week,fc1_Ampfer,fc1_Ambrosia,fc1_Beifuss,fc1_Birke,fc1_Buche,fc1_Eiche,fc1_Erle,fc1_Graeser,fc1_Hasel,fc1_Pappel,fc1_Roggen,fc1_Ulme,fc1_Wegerich,fc1_Weide
Pollenflugvorhersage:fc2_day_of_week,fc2_Ampfer,fc2_Ambrosia,fc2_Beifuss,fc2_Birke,fc2_Buche,fc2_Eiche,fc2_Erle,fc2_Graeser,fc2_Hasel,fc2_Pappel,fc2_Roggen,fc2_Ulme,fc2_Wegerich,fc2_Weide
IN_PollenVorhersage:fc3_day_of_week,fc3_Ampfer,fc3_Ambrosia,fc3_Beifuss,fc3_Birke,fc3_Buche,fc3_Eiche,fc3_Erle,fc3_Graeser,fc3_Hasel,fc3_Pappel,fc3_Roggen,fc3_Ulme,fc3_Wegerich,fc3_Weide
Pollenflugvorhersage:fc4_day_of_week,fc4_Ampfer,fc4_Ambrosia,fc4_Beifuss,fc4_Birke,fc4_Buche,fc4_Eiche,fc4_Erle,fc4_Graeser,fc4_Hasel,fc4_Pappel,fc4_Roggen,fc4_Ulme,fc4_Wegerich,fc4_Weide
IN_PollenVorhersage:fc5_day_of_week,fc5_Ampfer,fc5_Ambrosia,fc5_Beifuss,fc5_Birke,fc5_Buche,fc5_Eiche,fc5_Erle,fc5_Graeser,fc5_Hasel,fc5_Pappel,fc5_Roggen,fc5_Ulme,fc5_Wegerich,fc5_Weide
Pollenflugvorhersage:fc6_day_of_week,fc6_Ampfer,fc6_Ambrosia,fc6_Beifuss,fc6_Birke,fc6_Buche,fc6_Eiche,fc6_Erle,fc6_Graeser,fc6_Hasel,fc6_Pappel,fc6_Roggen,fc6_Ulme,fc6_Wegerich,fc6_Weide
IN_PollenVorhersage:fc7_day_of_week,fc7_Ampfer,fc7_Ambrosia,fc7_Beifuss,fc7_Birke,fc7_Buche,fc7_Eiche,fc7_Erle,fc7_Graeser,fc7_Hasel,fc7_Pappel,fc7_Roggen,fc7_Ulme,fc7_Wegerich,fc7_Weide


Wie zu sehen ist, wechseln sich nun IN_PollenVorhersage und Pollenflugvorhersage ab, obwohl nur noch IN_PollenVorhersage verwendet werden sollte...?

Danke, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

igami

#1
rename ändert keine DEF. Du solltest das Thema zu dem zu readingsGroup zugehörigen Forumsbereich verschieben.

Das sollte helfen:

Index: FHEM/33_readingsGroup.pm
===================================================================
--- FHEM/33_readingsGroup.pm (Revision 15314)
+++ FHEM/33_readingsGroup.pm (Arbeitskopie)
@@ -1250,7 +1250,7 @@
       my ($old, $new) = ($1, $2);
       if( defined($hash->{CONTENT}{$old}) ) {

-        $hash->{DEF} =~ s/(^|\s+)$old((:\S+)?\s*)/$1$new$2/g;
+        $hash->{DEF} =~ s/(^|\s+)$old((:\S+)?\s*)/$1$new$2/gm;
       }
       readingsGroup_updateDevices($hash);
     } elsif( $dev->{NAME} eq "global" && $s =~ m/^DELETED ([^ ]*)$/) {
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

Morgennebel

Zitat von: igami am 24 Oktober 2017, 18:58:03
rename ändert keine DEF. Du solltest das Thema zu dem zu readingsGroup zugehörigen Forumsbereich verschieben.

Ich hatte den Fehler nicht in der readingsGroup, sondern im rename-Befehl vermutet...

Ciao, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

igami

War ja auch nicht böse gemeint, sondern informativ
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

marvin78

Zitat von: Morgennebel am 24 Oktober 2017, 19:59:17
Ich hatte den Fehler nicht in der readingsGroup, sondern im rename-Befehl vermutet...

Ciao, -MN


Es gibt keinen Fehler. Works as designed. rename kann nicht alle DEFs ändern da nicht klar ist, wo geändert werden sollte. Es ist bewusst kein search & replace Befehl und das ist aus vielen Gründen auch gut so.

Morgennebel

Verstehe ich nicht (da manches geändert wird, manches nicht), werd ich aber so akzeptieren...

Danke, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

Thorsten Pferdekaemper

Naja, ich finde es schon ein bisschen komisch, wenn jedes zweite Vorkommen geändert wird. Ich würde an Deiner Stelle nicht so schnell aufgeben. Bisher hat sich der Modul-Maintainer ja noch gar nicht geäußert.
Gruß,
   Thorsten
FUIP

igami

Der Patch steht doch schon weiter oben, es muss nur noch der Maintainer darauf hingewiesen werden
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

Barracus

Hallo zusammen,

gibt es Neuigkeiten bzgl. dieses Patches?
In meinem Augen ist es eine große Einschränkung für Rename, da man nach einem Rename nicht mehr weißt, ob alles noch funktionier wie es soll.

Aus diesem Grund verwende ich Rename gar nicht mehr und editiere meine Config Dateien per Suchen/Ersetzen (was schade ist, weil sonst alles direkt auf der Web-Interface machbar ist).

Ciao!

Fixel2012

Zitat von: Barracus am 02 Januar 2018, 23:20:33
Hallo zusammen,

gibt es Neuigkeiten bzgl. dieses Patches?
In meinem Augen ist es eine große Einschränkung für Rename, da man nach einem Rename nicht mehr weißt, ob alles noch funktionier wie es soll.

Aus diesem Grund verwende ich Rename gar nicht mehr und editiere meine Config Dateien per Suchen/Ersetzen (was schade ist, weil sonst alles direkt auf der Web-Interface machbar ist).

Ciao!


Durch die liste "Probably associated with" die unter einem Device steht, weißt wird dir angezeigt, wo der Device Name noch verwendet wird. Vor dem umbenennen musst du dir die Devices nur merken und eben einzeln Editieren. Ist ein wenig Arbeit, geht aber tatsächlich recht gut.
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

abc2006

Hi,
ungeachtet der technischen Machbarkeit fände ich es auch gut, wenn es *alle* vorkommen ersetzen würde.

Vielleicht kann man unterscheiden zwischen einem Default (das was die meisten machen wollen werden) und verschiedenen Parametern
* rename all a x # benennt alle vorkommen von a um
* rename device a b # ändert nur den namen des devices
* usw..

evtl kann man das so weit treiben, dass sogar
* rename db a x (DbLog bzw DbRep) möglich wird, damit die Devices auch in der Datenbank umbenannt werden ...

nur als ungeprüfte Idee, vielleicht finden sich ja noch mehr Leute, denen es gefällt...

Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

kadettilac89

Zitat von: abc2006 am 03 Januar 2018, 09:53:03

evtl kann man das so weit treiben, dass sogar
* rename db a x (DbLog bzw DbRep) möglich wird, damit die Devices auch in der Datenbank umbenannt werden ...

was man so alles im Wiki finden könnte ...
https://wiki.fhem.de/wiki/DbRep_-_Reporting_und_Management_von_DbLog-Datenbankinhalten#DbRep_Agent_-_automatisches_.C3.84ndern_von_Device-Namen_in_Datenbanken_und_DbRep-Definitionen_nach_FHEM_.22rename.22

am DBlog sollte es somit nicht scheitern, wenn rename in Fhem "rekursiv" möglich wäre

abc2006

Zitat von: kadettilac89 am 03 Januar 2018, 12:15:16
was man so alles im Wiki finden könnte ...

Vielleicht habe ich mich missverständlich ausgedrückt... dass das geht, ist mir schon klar. Dadurch komm ich ja erst auf diese Idee.
Ich hatte eher auf einen "shortcut" abgezielt, der das in einem Schritt erledigt...

Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX