FHEM Forum

FHEM => Frontends => readingsGroup / readingsHistory => Thema gestartet von: Morgennebel am 24 Oktober 2017, 17:27:47

Titel: rename Befehl arbeitet nicht korrekt
Beitrag von: Morgennebel am 24 Oktober 2017, 17:27:47
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
Titel: Antw:rename Befehl arbeitet nicht korrekt
Beitrag 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.

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 ([^ ]*)$/) {
Titel: Antw:rename Befehl arbeitet nicht korrekt
Beitrag von: Morgennebel am 24 Oktober 2017, 19:59:17
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
Titel: Antw:rename Befehl arbeitet nicht korrekt
Beitrag von: igami am 24 Oktober 2017, 20:29:05
War ja auch nicht böse gemeint, sondern informativ
Titel: Antw:rename Befehl arbeitet nicht korrekt
Beitrag von: marvin78 am 25 Oktober 2017, 09:01:42
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.
Titel: Antw:rename Befehl arbeitet nicht korrekt
Beitrag von: Morgennebel am 25 Oktober 2017, 10:34:17
Verstehe ich nicht (da manches geändert wird, manches nicht), werd ich aber so akzeptieren...

Danke, -MN
Titel: Antw:rename Befehl arbeitet nicht korrekt
Beitrag von: Thorsten Pferdekaemper am 25 Oktober 2017, 10:40:51
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
Titel: Antw:rename Befehl arbeitet nicht korrekt
Beitrag von: igami am 25 Oktober 2017, 11:49:05
Der Patch steht doch schon weiter oben, es muss nur noch der Maintainer darauf hingewiesen werden
Titel: Antw:rename Befehl arbeitet nicht korrekt
Beitrag 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!
Titel: Antw:rename Befehl arbeitet nicht korrekt
Beitrag von: Fixel2012 am 03 Januar 2018, 00:18:20
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.
Titel: Antw:rename Befehl arbeitet nicht korrekt
Beitrag von: abc2006 am 03 Januar 2018, 09:53:03
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
Titel: Antw:rename Befehl arbeitet nicht korrekt
Beitrag von: kadettilac89 am 03 Januar 2018, 12:15:16
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
Titel: Antw:rename Befehl arbeitet nicht korrekt
Beitrag von: abc2006 am 03 Januar 2018, 12:35:09
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