Gerätebenennung auf alle Kanäle durchschlagen lassen?

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Geotec
Beiträge: 36
Registriert: 28.07.2014, 08:45

Re: Gerätebenennung auf alle Kanäle durchschlagen lassen?

Beitrag von Geotec » 06.08.2015, 10:21

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

Benutzeravatar
Herbert_Testmann
Beiträge: 11062
Registriert: 17.01.2009, 11:30
Danksagung erhalten: 7 Mal

Re: Gerätebenennung auf alle Kanäle durchschlagen lassen?

Beitrag von Herbert_Testmann » 06.08.2015, 13:04

Daimler 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.....
Wie immer wäre die Funktion natürlich optimal, wenn sie optional wäre ;-)

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

alchy
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?

Beitrag von alchy » 06.08.2015, 13:49

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. :mrgreen:
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
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. :D

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

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.

ChristianF
Beiträge: 395
Registriert: 27.06.2014, 21:50

Re: Gerätebenennung auf alle Kanäle durchschlagen lassen?

Beitrag von ChristianF » 07.08.2015, 11:41

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:
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
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.

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.

alchy
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?

Beitrag von alchy » 07.08.2015, 15:44

ChristianF hat geschrieben: Nur die ISE-ID hilft mir wie angesprochen als Separierung nicht viel.
Dachte ich mir, habe es ja auch so geschrieben
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.,
Natürlich gibt es einen Weg, die Kanalnummer anzuhängen, wie in deinem Beispiel.
Ist sogar sehr einfach, müsste ungefähr so gehen:
Ich hasse es auf dem Handy zu scripten :evil:
Auch bei diesem Script gilt: wer es verwendet ist selber Schuld :mrgreen:

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");}
}

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.
^^ Darauf habe ich dann noch gewartet. :wink:
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. :shock:

Alchy
Zuletzt geändert von alchy am 04.03.2020, 21:34, insgesamt 3-mal geändert.
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.

Benutzeravatar
Homoran
Beiträge: 8613
Registriert: 02.07.2013, 15:29
Wohnort: Köln
Danksagung erhalten: 4 Mal

Re: Gerätebenennung auf alle Kanäle durchschlagen lassen?

Beitrag von Homoran » 07.08.2015, 15:53

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.
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.

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!

ChristianF
Beiträge: 395
Registriert: 27.06.2014, 21:50

Re: Gerätebenennung auf alle Kanäle durchschlagen lassen?

Beitrag von ChristianF » 07.08.2015, 16:12

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.
Das neue Script erzeugt jetzt Bezeichnungen wie "Ta-Bad-1_1", da sollte das Problem nicht auftreten.

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.

alchy
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?

Beitrag von alchy » 07.08.2015, 16:46

@ChristianF
bitteschön, keine Ursache

@ Homoran
Homoran hat geschrieben:
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.
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.

Gruß
Rainer

EDIT: Habs gefunden:
http://homematic-forum.de/forum/viewtop ... 62#p216643
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.

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.

Benutzeravatar
Homoran
Beiträge: 8613
Registriert: 02.07.2013, 15:29
Wohnort: Köln
Danksagung erhalten: 4 Mal

Re: Gerätebenennung auf alle Kanäle durchschlagen lassen?

Beitrag von Homoran » 07.08.2015, 16:50

alchy hat geschrieben:.. ruhig Brauner ..
das kann für mich schon lange nicht mehr gelten ;-)
alchy hat geschrieben:Und was willst du mir damit sagen?
Um Himmels Willen - ich wollte nur auf diese Möglichkeit hinweisen.
alchy hat geschrieben:Bin ich dir zu Nahe getreten?
nicht im geringsten - das wollte ich dir aber auch nicht :shock:

Gruß
Rainer
Alle meine Hinweise sind auf eigene Gefahr umzusetzen. Immer einen Fachmann zu Rate ziehen!

ChristianF
Beiträge: 395
Registriert: 27.06.2014, 21:50

Re: Gerätebenennung auf alle Kanäle durchschlagen lassen?

Beitrag von ChristianF » 25.08.2015, 22:37

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!
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.

Antworten

Zurück zu „HomeMatic allgemein“