Gewerke mit Script bearbeiten

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

Antworten
mschu
Beiträge: 36
Registriert: 07.04.2016, 05:59
System: Alternative CCU (auf Basis OCCU)

Gewerke mit Script bearbeiten

Beitrag von mschu » 21.10.2020, 10:50

Hallo Zusammen,

ich habe mal eine Frage zur Bearbeitung von Gewerken mit Scripten.
Wird z.B. eine CUxD Universalfernbedienung als Taster angelegt ist jeder Kanal des CUxD devices im Gewerk Licht angelegt.
Gibt es eine Möglichkeit per Script die Kanäle eines Devices aus einem Gewerk (z.B. Licht) zu entfernen?

VG
Peter

Benutzeravatar
Black
Beiträge: 5460
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 417 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Gewerke mit Script bearbeiten

Beitrag von Black » 21.10.2020, 12:28

ja, man kann mit scripting auf der rega Seite so ziemlich alles treiben
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

mschu
Beiträge: 36
Registriert: 07.04.2016, 05:59
System: Alternative CCU (auf Basis OCCU)

Re: Gewerke mit Script bearbeiten

Beitrag von mschu » 21.10.2020, 19:04

Hallo Black,

Danke.

finde ich ja erstmal gut das es diese Möglichkeit gibt.
Aber wo finde ich Dokus und vieleicht auch Beispiele dazu?
Konnte bisher leider nichts dazu finden.

alchy
Beiträge: 10744
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 671 Mal

Re: Gewerke mit Script bearbeiten

Beitrag von alchy » 21.10.2020, 19:31

mschu hat geschrieben:
21.10.2020, 10:50
Gibt es eine Möglichkeit per Script die Kanäle eines Devices aus einem Gewerk (z.B. Licht) zu entfernen?
auf die Schnelle sollte das gehen:

Code: Alles auswählen

! Wechslerscript alle Kanaele eines Device einem Gewerk per Script hinzufuegen oder entfernen
! v0.2 (c) by Alchy
! https://homematic-forum.de/forum/viewtopic.php?f=43&t=61900&p=612878#p612878
string sFunc = "Licht"; ! Name des Gewerkes
string sDevicename = "Test Rolloaktor"; ! Name des Gerätes
! ++++++++ Finger weg +++++++++++++++
object oFunc = dom.GetObject(sFunc);
object oDevice = devices.Get(sDevicename);
if ( (oFunc)&& (oDevice)){
WriteLine("Geraet und Gewerk vorhanden");
string ChnId; foreach (ChnId, oDevice.Channels()){
boolean bChannelRemove = false;
object oChannel = dom.GetObject(ChnId);
string id; foreach(id, oChannel.ChnFunction()) { object oChannelFunc = dom.GetObject(id); 
if (sFunc == oChannelFunc.Name()){ WriteLine("  Kanal "#oChannel.Name() #" schon im Gewerk "#sFunc  ); bChannelRemove = true;}
}
if(bChannelRemove) { oFunc.Remove(oChannel.ID()); WriteLine("\t Kanal "#oChannel.Name() #" aus dem Gewerk "#sFunc  #" entfernt" );
}else{ oFunc.Add(oChannel.ID()); WriteLine("\t Kanal "#oChannel.Name() #" dem Gewerk "#sFunc  #" hinzugefuegt ");}
} }else{WriteLine("Kanal und / oder Gewerk nicht vorhanden");}
Alchy
Zuletzt geändert von alchy am 22.10.2020, 20:38, insgesamt 1-mal geändert.

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.

mschu
Beiträge: 36
Registriert: 07.04.2016, 05:59
System: Alternative CCU (auf Basis OCCU)

Re: Gewerke mit Script bearbeiten

Beitrag von mschu » 22.10.2020, 09:27

Hallo Alchy,

vielen Dank.
Habe eine kleine Änderung gemacht jetzt funktioniert es. Super

Die Zuweisung
boolean bChannelRemove = false;

muss an diese Stelle im Script.

string ChnId; foreach (ChnId, oDevice.Channels()){
boolean bChannelRemove = false;
object oChannel = dom.GetObject(ChnId);

Kannst du mir vielleicht noch sagen wo man Informationen zu diesem "rega" findet?

LG
Peter

Benutzeravatar
Black
Beiträge: 5460
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 417 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Gewerke mit Script bearbeiten

Beitrag von Black » 22.10.2020, 13:01

mschu hat geschrieben:
22.10.2020, 09:27
(...)
Kannst du mir vielleicht noch sagen wo man Informationen zu diesem "rega" findet?
LG
Peter
Die Scriptsprache der CCU kannst du grob unterteilen in den 1. offiziell dokumentierten und 2. den "inoffiziellen" Teil.

Teil 1 findest du in den Beschreibungen bei EQ3

den Inoffiziellen Teil findest du an mehreren Stellen, Hier im Forum bei diversen Scripten, die hier publiziert sind, Wikimatic ist auch einiges Beschrieben, auf so manchen Seiten im Netz findet man auch informnationen, einige der HM-Script Editoren haben auch entsprechende Hilfefunktionen.

Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

alchy
Beiträge: 10744
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 671 Mal

Re: Gewerke mit Script bearbeiten

Beitrag von alchy » 22.10.2020, 21:04

mschu hat geschrieben:
22.10.2020, 09:27
Kannst du mir vielleicht noch sagen wo man Informationen zu diesem "rega" findet?
rega ? du meinst RegaHss Da hilft dir die Suche hier im Forum und auf deiner CCU.

In meiner Signatur findest du die Links zur offiziellen Scriptdoku.
In dem Script sollte schätzungsweise auch nicht viel mehr sein, als dort offiziell dokumentiert. Ansonsten hat ja Black auch schon Hinweise hinterlassen.

Alchy

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.

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“