Gerätebenennung auf alle Kanäle durchschlagen lassen?
Moderator: Co-Administratoren
Re: Gerätebenennung auf alle Kanäle durchschlagen lassen?
Moin!
eine kleine Anmerkung:
Wenn der Kanalname mit :Nr endet (z.B. Bad_Lampe:1) geht die Android App Homedroid davon aus das der Kanal noch nicht benannt wurde und zeigt den Aktornamen an.
Hat bei mir etwas für Verwirrung gesorgt.
Viele Grüße
Stephan
eine kleine Anmerkung:
Wenn der Kanalname mit :Nr endet (z.B. Bad_Lampe:1) geht die Android App Homedroid davon aus das der Kanal noch nicht benannt wurde und zeigt den Aktornamen an.
Hat bei mir etwas für Verwirrung gesorgt.
Viele Grüße
Stephan
- Herbert_Testmann
- Beiträge: 11062
- Registriert: 17.01.2009, 11:30
- Danksagung erhalten: 7 Mal
Re: Gerätebenennung auf alle Kanäle durchschlagen lassen?
Wie immer wäre die Funktion natürlich optimal, wenn sie optional wäreDaimler hat geschrieben: Edit:
Wobei der Vorschlag des TEs nat. ein tolles Feature wäre 'Komponentennamen ändern und alle Kanäle sind dann 'durchgenamed'' , trotz der Meinung, dies wäre ja kein Aufwand!
Wenn ich mir vorstelle, irgendwann auf eine andere Bezeichnungslogik uszustellen.....
Bei einem Gerät wie einem SCI, wo die 3 Kanäle komplett verschiedene Funktionen haben können, bei einer 19er Fernbedienung, bei einem 12/7 Hutschienenmodul ... bei so vielen anderen Komponenten ... eher nicht hilfreich.
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Gerätebenennung auf alle Kanäle durchschlagen lassen?
Das kann man dann durch ein Gewerk oder Favoriten oder so lösen.
Ich habe auf dem Handy mal schnell was zusammengetippt, was funktionieren sollte.
Das folgende Script liest die Gerätenamen und Kanalnamen eines Gewerkes/Favoriten o.ä. (im Beispielscript wurden die Favoriten "umbenennen" verwendet)
Anschliesend wird die ISE ID des jeweiligen Kanales an den Gerätenamen angehangen und
WENN das ! Ausrufezeichen vor der Zeile entfernt wurde
wird es ohne jegliche Nachfrage durchgeführt.
Das ist ganz dreckig, also Backup vorher machen.
Es sind keinerlei Abfragen oder Sonstiges vorhanden, da ich nicht zu Hause bin, kann ich es auch schlecht testen. Soll einfach nur als Ansatz dienen.
Wer das Script scharf benutzt, macht das auf eigenes Risiko
Ohne Entfernung des ! Ausrufezeichens erfolgt jedoch nur eine Ausgabe von:
Gerätename - jetziger Kanalname - theoretischer neuer Kanalname
sozusagen als Voransicht zur Kontrolle.
Wenn man bestimmte Kanäle nicht umbenennen will, kann man diese also vorher einfach aus dem Gewerk entfernen und das Script nochmal starten.
Das Anhängen der ISE_ID ist natürlich eigentlich sinnfrei und dient nur zur Demonstration.
Einfach, weil einmal da, und niemand hier eine willkommene Struktur gepostet hat.
Der TE wollte den Gerätenamen im Kanalnamen haben, und wie schon angemerkt wurde, darf kein Objekt wie ein anderes heissen.
Kann natürlich um eine sinnvolle Struktur erweitert werden.
Alchy
Ich habe auf dem Handy mal schnell was zusammengetippt, was funktionieren sollte.
Das folgende Script liest die Gerätenamen und Kanalnamen eines Gewerkes/Favoriten o.ä. (im Beispielscript wurden die Favoriten "umbenennen" verwendet)
Anschliesend wird die ISE ID des jeweiligen Kanales an den Gerätenamen angehangen und
WENN das ! Ausrufezeichen vor der Zeile entfernt wurde
wird es ohne jegliche Nachfrage durchgeführt.
Das ist ganz dreckig, also Backup vorher machen.
Es sind keinerlei Abfragen oder Sonstiges vorhanden, da ich nicht zu Hause bin, kann ich es auch schlecht testen. Soll einfach nur als Ansatz dienen.
Wer das Script scharf benutzt, macht das auf eigenes Risiko
Code: Alles auswählen
! Kanäle eines Gewerkes automatisch umbenennen wie Geräte + ISE_ID by Alchy
Gerätename - jetziger Kanalname - theoretischer neuer Kanalname
sozusagen als Voransicht zur Kontrolle.
Wenn man bestimmte Kanäle nicht umbenennen will, kann man diese also vorher einfach aus dem Gewerk entfernen und das Script nochmal starten.
Das Anhängen der ISE_ID ist natürlich eigentlich sinnfrei und dient nur zur Demonstration.
Einfach, weil einmal da, und niemand hier eine willkommene Struktur gepostet hat.
Der TE wollte den Gerätenamen im Kanalnamen haben, und wie schon angemerkt wurde, darf kein Objekt wie ein anderes heissen.
Kann natürlich um eine sinnvolle Struktur erweitert werden.
Alchy
Zuletzt geändert von alchy am 03.03.2020, 22:00, insgesamt 1-mal geändert.
Grund: Script entfernt wegen Nichtfunktion
Grund: Script entfernt wegen Nichtfunktion
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
-
- Beiträge: 395
- Registriert: 27.06.2014, 21:50
Re: Gerätebenennung auf alle Kanäle durchschlagen lassen?
Hallo zusammen,
vielen Dank für die vielen Antworten. Leider kam ich nicht sofort zum Antworten, wir haben gerade noch n zweites Großprojekt parallel.
Das Script von Dir Alchy habe ich gerade ausprobiert, und es tut fast 1:1 das was ich mir gewünscht habe Nur die ISE-ID hilft mir wie angesprochen als Separierung nicht viel. Ideal wäre, wenn einfach der Kanal dort auftauchen würde, zB so:
Danke und viele Grüße
Christian
vielen Dank für die vielen Antworten. Leider kam ich nicht sofort zum Antworten, wir haben gerade noch n zweites Großprojekt parallel.
Das Script von Dir Alchy habe ich gerade ausprobiert, und es tut fast 1:1 das was ich mir gewünscht habe Nur die ISE-ID hilft mir wie angesprochen als Separierung nicht viel. Ideal wäre, wenn einfach der Kanal dort auftauchen würde, zB so:
Gibt es dafür auch einen Weg? Ich stelle mir das so vor dass man mittels eines RegExp oder so alles raussammelt was hinter der Seriennummer kommt, in diesem Fall also zB "1", "2" usw., im Falle des HM-WDS10-TH-O so zB "1.TEMPERATURE" und "1.Humidty". Bei den Zwischensteckern mit Leistungsmessung ergäben sich natürlich auch noch nette Möglichkeiten, Stichwort Voltage, Current etc.Ta-WZ-Tuer - HM-PB-6-WM55 LEQ1234567:1 - Ta-WZ-Tuer_1
Ta-WZ-Tuer - HM-PB-6-WM55 LEQ1234567:2 - Ta-WZ-Tuer_2
Ta-WZ-Tuer - HM-PB-6-WM55 LEQ1234567:3 - Ta-WZ-Tuer_3
Ta-WZ-Tuer - HM-PB-6-WM55 LEQ1234567:4 - Ta-WZ-Tuer_4
Ta-WZ-Tuer - HM-PB-6-WM55 LEQ1234567:5 - Ta-WZ-Tuer_5
Ta-WZ-Tuer - HM-PB-6-WM55 LEQ1234567:6 - Ta-WZ-Tuer_6
Danke und viele Grüße
Christian
370 Kanäle in 119 Geräten und 22 CUxD-Kanäle in 18 CUxD-Geräten, dazu ioBroker und diverse weitere eingebundene Systeme, vom 433MHz Bewegungsmelder bis hin zur Wallbox.
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Gerätebenennung auf alle Kanäle durchschlagen lassen?
Dachte ich mir, habe es ja auch so geschriebenChristianF hat geschrieben: Nur die ISE-ID hilft mir wie angesprochen als Separierung nicht viel.
Natürlich gibt es einen Weg, die Kanalnummer anzuhängen, wie in deinem Beispiel.ChristianF hat geschrieben: Ideal wäre, wenn einfach der Kanal dort auftauchen würde, zB so:Code: Alles auswählen
Ta-WZ-Tuer - HM-PB-6-WM55 LEQ1234567:1 - Ta-WZ-Tuer_1
Gibt es dafür auch einen Weg? Ich stelle mir das so vor dass man mittels eines RegExp oder so alles raussammelt was hinter der Seriennummer kommt, in diesem Fall also zB "1", "2" usw.,
Ist sogar sehr einfach, müsste ungefähr so gehen:
Ich hasse es auf dem Handy zu scripten
Auch bei diesem Script gilt: wer es verwendet ist selber Schuld
Code: Alles auswählen
! Kanäle eines Geraetes automatisch umbenennen zu: Gerätename:Kanalnummer by Alchy
! v0.2 (c) by Alchy https://homematic-forum.de/forum/viewtopic.php?f=19&t=26139&start=10#p228003
string Device = "Test Rolloaktor"; ! Name des Gerätes, bei dem die Kanäle umbenannt werden sollen
string sDevId; string sChnId;
foreach (sDevId, root.Devices().EnumUsedIDs()) {
object oDevice = dom.GetObject(sDevId);
if(oDevice.Name() == Device){
WriteLine(oDevice.Name());
foreach(sChnId, oDevice.Channels()) {object oChannel = dom.GetObject(sChnId);
oChannel.Name(oDevice.Name()#":"#oChannel.ChnNumber());
WriteLine("\tKanalNr:"#oChannel.ChnNumber() #" heisst jetzt: " #oDevice.Name()#":"#oChannel.ChnNumber());
}
dom.RTUpdate(0);
WriteLine("FERTIG");
}else{WriteLine("\t bei: "#oDevice.Name() #" - soll nichts umbenannt werden");}
}
^^ Darauf habe ich dann noch gewartet.ChristianF hat geschrieben: im Falle des HM-WDS10-TH-O so zB "1.TEMPERATURE" und "1.Humidty". Bei den Zwischensteckern mit Leistungsmessung ergäben sich natürlich auch noch nette Möglichkeiten, Stichwort Voltage, Current etc.
Nun bringst du noch die Datenpunkte mit ins Spiel.
Du bringst da vielleicht auch etwas durcheinander.
nehmen wir den von dir angesprochenen HM-WDS10-TH-O
Der hat (wie viele Geräte zwar 2 Kanäle, aber die beiden Datenpunkte TEMPERATURE und HUMIDITY liegen beide unter Kanal 1. In der Klickibunti, siehst du folgerichtig auch nur das Gerät und einen Kanal. Ergo wäre auch nur ein Name zu vergeben.
Alchy
Zuletzt geändert von alchy am 04.03.2020, 21:34, insgesamt 3-mal geändert.
Grund: neue Version
Grund: neue Version
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
Re: Gerätebenennung auf alle Kanäle durchschlagen lassen?
Mein lieber alchy,alchy hat geschrieben:Die haben dann aber vielleicht kein :1 hinten dran stehen und das Script läuft ins Leere
Ergo, lieber Kanäle durchzählen, und daraus die angehangene Nummer bilden.
so verständlich das alles ist; leider gibt es auch einen Grund nicht mit :1, :2,... zu arbeiten.
Ich hab's nicht mehr exakt auf der Pfanne, aber Anwender mit Homedroid sollten eben nicht mit diesen Ziffern arbeiten, da die Bezeichnungen Homedroid dann unrichtig (?) angegeben werden.
Gruß
Rainer
EDIT: Habs gefunden:
http://homematic-forum.de/forum/viewtop ... 62#p216643
Alle meine Hinweise sind auf eigene Gefahr umzusetzen. Immer einen Fachmann zu Rate ziehen!
-
- Beiträge: 395
- Registriert: 27.06.2014, 21:50
Re: Gerätebenennung auf alle Kanäle durchschlagen lassen?
Das neue Script erzeugt jetzt Bezeichnungen wie "Ta-Bad-1_1", da sollte das Problem nicht auftreten.Homoran hat geschrieben: Mein lieber alchy,
so verständlich das alles ist; leider gibt es auch einen Grund nicht mit :1, :2,... zu arbeiten.
Ich hab's nicht mehr exakt auf der Pfanne, aber Anwender mit Homedroid sollten eben nicht mit diesen Ziffern arbeiten, da die Bezeichnungen Homedroid dann unrichtig (?) angegeben werden.
DANKE Alchy!
370 Kanäle in 119 Geräten und 22 CUxD-Kanäle in 18 CUxD-Geräten, dazu ioBroker und diverse weitere eingebundene Systeme, vom 433MHz Bewegungsmelder bis hin zur Wallbox.
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Gerätebenennung auf alle Kanäle durchschlagen lassen?
@ChristianF
bitteschön, keine Ursache
@ Homoran
EQ3 hängt bei der automatischen Erstellung der Kanalnamen nach dem Anlernen die Kanalnummer hinten dran, soweit ich mich erinnere.
Der TE wünscht sich eine Möglichkeit dieses automatisch zu ändern, er hätte gern den Gerätenamen und die Kanalnummer in Form von _1 _2 usw
Ich habe völlig wertungsfrei lediglich eine Möglichkeit aufgezeigt dies per Script zu erledigen.
Ich habe mit dem von dir zitierten Text lediglich darauf hingewiesen, wenn ein User seine Kanäle schon umbenannt hat, das das von mir gepostete Script ins Leere läuft. Also nicht funktioniert.
Da ich schon einige Scripte hier veröffentlich habe, weiß ich, wie schnell so etwas in Nörgelei endet.
Wenn ich nur für mich oder den TE schreiben würde, bräuchte ich nicht darauf hinzuweisen,
denn der hat lt. eigener Auskunft bisher nur die Geräte umbenannt.
So muss ich aber auch drüber nachdenken, was so manch anderer vielleicht getan hat und fälschlicherweise von dem Script erwartet.
Und nochmal, es steckt keinerlei Wertung in dem zitierten Hinweis, wenn du einen siehst, dann zeig ihn mir.
Alchy
.. ruhig Brauner ..
Nichst für Ungut, aber wieviel direkte und richtige Antworten auf die Frage des TE findest du denn z.B. in diesem Thread?
bitteschön, keine Ursache
@ Homoran
Und was willst du mir damit sagen? Bin ich dir zu Nahe getreten? Wo schreibe ich ALLE sollen ein :1 an den Kanalnamen hängen. Im Gegenteil, ich helfe dem TE ihn wegzumachen.Homoran hat geschrieben:Mein lieber alchy,alchy hat geschrieben:Die haben dann aber vielleicht kein :1 hinten dran stehen und das Script läuft ins Leere
Ergo, lieber Kanäle durchzählen, und daraus die angehangene Nummer bilden.
so verständlich das alles ist; leider gibt es auch einen Grund nicht mit :1, :2,... zu arbeiten.
Ich hab's nicht mehr exakt auf der Pfanne, aber Anwender mit Homedroid sollten eben nicht mit diesen Ziffern arbeiten, da die Bezeichnungen Homedroid dann unrichtig (?) angegeben werden.
Gruß
Rainer
EDIT: Habs gefunden:
http://homematic-forum.de/forum/viewtop ... 62#p216643
EQ3 hängt bei der automatischen Erstellung der Kanalnamen nach dem Anlernen die Kanalnummer hinten dran, soweit ich mich erinnere.
Der TE wünscht sich eine Möglichkeit dieses automatisch zu ändern, er hätte gern den Gerätenamen und die Kanalnummer in Form von _1 _2 usw
Ich habe völlig wertungsfrei lediglich eine Möglichkeit aufgezeigt dies per Script zu erledigen.
Ich habe mit dem von dir zitierten Text lediglich darauf hingewiesen, wenn ein User seine Kanäle schon umbenannt hat, das das von mir gepostete Script ins Leere läuft. Also nicht funktioniert.
Da ich schon einige Scripte hier veröffentlich habe, weiß ich, wie schnell so etwas in Nörgelei endet.
Wenn ich nur für mich oder den TE schreiben würde, bräuchte ich nicht darauf hinzuweisen,
denn der hat lt. eigener Auskunft bisher nur die Geräte umbenannt.
So muss ich aber auch drüber nachdenken, was so manch anderer vielleicht getan hat und fälschlicherweise von dem Script erwartet.
Und nochmal, es steckt keinerlei Wertung in dem zitierten Hinweis, wenn du einen siehst, dann zeig ihn mir.
Alchy
.. ruhig Brauner ..
Nichst für Ungut, aber wieviel direkte und richtige Antworten auf die Frage des TE findest du denn z.B. in diesem Thread?
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
Re: Gerätebenennung auf alle Kanäle durchschlagen lassen?
das kann für mich schon lange nicht mehr geltenalchy hat geschrieben:.. ruhig Brauner ..
Um Himmels Willen - ich wollte nur auf diese Möglichkeit hinweisen.alchy hat geschrieben:Und was willst du mir damit sagen?
nicht im geringsten - das wollte ich dir aber auch nichtalchy hat geschrieben:Bin ich dir zu Nahe getreten?
Gruß
Rainer
Alle meine Hinweise sind auf eigene Gefahr umzusetzen. Immer einen Fachmann zu Rate ziehen!
-
- Beiträge: 395
- Registriert: 27.06.2014, 21:50
Re: Gerätebenennung auf alle Kanäle durchschlagen lassen?
Hallo nochmal
Soo, nachdem ich mit Hilfe des Scripts erfolgreich alle möglichen Taster umbenannt habe, stellt sich mir nun noch die Frage: kann ich das Ganze auch irgendwie auf einen Gerätetyp anwenden, zB HM-TC-IT-WM-W-EU?
Die HM-TC-IT-WM-W-EU's haben Namen, zB "RT_WZ", die untergeordneten Channels aber natürlich wieder nicht.
Vielen Dank!
Soo, nachdem ich mit Hilfe des Scripts erfolgreich alle möglichen Taster umbenannt habe, stellt sich mir nun noch die Frage: kann ich das Ganze auch irgendwie auf einen Gerätetyp anwenden, zB HM-TC-IT-WM-W-EU?
Die HM-TC-IT-WM-W-EU's haben Namen, zB "RT_WZ", die untergeordneten Channels aber natürlich wieder nicht.
Vielen Dank!
370 Kanäle in 119 Geräten und 22 CUxD-Kanäle in 18 CUxD-Geräten, dazu ioBroker und diverse weitere eingebundene Systeme, vom 433MHz Bewegungsmelder bis hin zur Wallbox.