ALLE Geräte auf "Protokolliert" stellen

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

fischmir
Beiträge: 972
Registriert: 03.02.2014, 18:04
Wohnort: Münsterland
Hat sich bedankt: 27 Mal
Danksagung erhalten: 8 Mal

Re: ALLE Geräte auf "Protokolliert" stellen

Beitrag von fischmir » 25.07.2017, 09:06

Danke alchy. Hast recht.

Wobei ich ein Fan davon bin, zu schreiben (und auch zu lesen) wozu etwas eingesetzt werden soll, um den Hintergrund zu verstehen. So können einem erfahrene User vielleicht gleich andere Ratschläge geben, ob sinnvoll oder nicht. In diesem Fall ist die eigentliche Frage in den Hintergrund gerückt (worden).

Homematic-Script liegt mir nicht. Aber wenn ich dich richtig verstehe, gibt es dazu kein fertige Skript, welches ich einfach nutzen könnte. Dann bleibt mir nix anderes übrig, als mich selber ranzusetzen...

Danke!

//Edit: Typo

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

Re: ALLE Geräte auf "Protokolliert" stellen

Beitrag von alchy » 25.07.2017, 09:58

Ist ja nichts dagegen zu sagen, wenn man über den Sinn oder Unsinn des Willens einer gewollten Funktion diskutiert,
aber ich denke du weißt was ich meinte.
fischmir hat geschrieben:Aber wenn ich dich richtig verstehe, gibt es dazu kein fertige Skript, welches ich einfach nutzen könnte.
Mir ist kein solches veröffentlichtes Script bekannt, aber das sollte sich bewerkstelligen lassen.
Bin ja grade erst über den Thread gestolpert und im Moment nicht in der Lage, nachzuschauen oder gar zu Scripten.

Es gibt dazu eine Funktion, die sich .ChnArchive() nennt, welche auf den Kanal angewandt dein Gewünschtes erzeugen sollte.

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.

fischmir
Beiträge: 972
Registriert: 03.02.2014, 18:04
Wohnort: Münsterland
Hat sich bedankt: 27 Mal
Danksagung erhalten: 8 Mal

Re: ALLE Geräte auf "Protokolliert" stellen

Beitrag von fischmir » 25.07.2017, 10:28

Ja, verstehe.

Die Funktion habe ich auch gerade gefunden. Kapitel 6.9 in der Objektmodell-Doku. :D

Ich schau mal, wie weit ich komme. Dauert noch bis zum Wochenende. Ich melde mich.

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

Re: ALLE Geräte auf "Protokolliert" stellen

Beitrag von alchy » 25.07.2017, 11:25

Auf die Schnelle und ungetestet, vielleicht ein Anfang für dich.
Hatte auf dem Handy noch einen Schnipsel, den ich für dich umgebaut habe:

Code: Alles auswählen

! einschalten der Protokollierung eines Gerätes mittels Script - Ausgabe Gerät/Kanal/Datenpunkte
! v0.1 (c) by Alchy
string sChnId;string sDPId;integer count;
object oDevice = dom.GetObject("GERÄTENAME");
if(oDevice){
WriteLine("Gerät:" #oDevice.Name());
foreach(sChnId, oDevice.Channels()) {
object oChannel = dom.GetObject(sChnId);
if (!oChannel.Internal()) {
! Hier wird dann archivieren ein bzw. ausgeschalten
oChannel.ChnArchive(true); 
count = count+1;
 WriteLine("\t Kanal: " # oChannel.Name() # "\t\t\t\t\t archiviert: " #oChannel.ChnArchive());
foreach(sDPId, oChannel.DPs().EnumUsedIDs()){
object oDP = dom.GetObject(sDPId);
string sName = oDP.Name();
WriteLine("\t\t Datenpunkt: "#sName# "\t" #" archiviert: "#oDP.DPArchive() );
}}}
WriteLine("\r\t "#count #" Kanäle auf protokolliert gesetzt");
}else{WriteLine("Gerät ist falsch");}
Ist jetzt nur für ein Gerät (GERÄTENAME anpassen) und sollte funktionieren.
Was passiert, wenn du das Script umbaust und auf alle Geräte loslässt weiß ich nicht, bzw. kann ich von hier nicht abschätzen.
Ist sicherlich ausbaufähig und nicht optimal, aber auf dem Handy geht's grad nicht anders.

Alchy
PS: Nicht wundern, wenn die Kreuzchen bei protokolliert trotz ausgeführtem Script nicht gesetzt werden.
Das wird auf die Art glaube erst aktualisiert, wenn du dich von der Klickibunti abmeldest und neu anmeldest.
Schalte einfach mal einen Kanal nach ausführen des Scriptes.

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.

fischmir
Beiträge: 972
Registriert: 03.02.2014, 18:04
Wohnort: Münsterland
Hat sich bedankt: 27 Mal
Danksagung erhalten: 8 Mal

Re: ALLE Geräte auf "Protokolliert" stellen

Beitrag von fischmir » 30.07.2017, 13:46

Hallo alchy,

ich habe es gerade getestet und es funktioniert wunderbar.

Um den "Haken" als "aktiviert" zu sehen, habe ich mich einfach einmal ab- und wieder angemeldet.

Danke Dir!

Viele Grüße,
Christian

BadenPower

Re: ALLE Geräte auf "Protokolliert" stellen

Beitrag von BadenPower » 31.07.2017, 12:06

fischmir hat geschrieben:ich habe es gerade getestet und es funktioniert wunderbar.
Aber nicht wundern, weshalb die regadom plötzllich 3 mal so groß ist und auch nicht wieder kleiner wird, wenn Du die Protokollierung aufhebst.
.

fischmir
Beiträge: 972
Registriert: 03.02.2014, 18:04
Wohnort: Münsterland
Hat sich bedankt: 27 Mal
Danksagung erhalten: 8 Mal

Re: ALLE Geräte auf "Protokolliert" stellen

Beitrag von fischmir » 31.07.2017, 12:33

Hallo BadenPower,

danke, aber das wird nicht passieren, denn die Größe der regadom geht mir persönlich am Ar*** vorbei - heißt: Weder kenne ich die aktuelle Größe der Datei noch bin ich daran interessiert, diese in irgendeiner Form zu pflegen. Sie ist einfach so groß, wie sie ist. Steuern kann ich da eh' nix.

Und irgendwie muss ich ja versuchen, meine Servicemeldung(en) zukünftig zu vermeiden.

Trotzdem danke für den Hinweis,
Christian

BadenPower

Re: ALLE Geräte auf "Protokolliert" stellen

Beitrag von BadenPower » 31.07.2017, 13:21

fischmir hat geschrieben:denn die Größe der regadom geht mir persönlich am Ar*** vorbei -
Noch vielleicht.

Aber bedenke, dass momentan nur 65535 IDs vergeben werden können.

Und bei dem Datenmüll, welcher in der regadom zurückbleibt ist es nur eine Frage der Zeit, bis keine IDs mehr frei sind, wenn man nicht ab und an aufräumt.
.

fischmir
Beiträge: 972
Registriert: 03.02.2014, 18:04
Wohnort: Münsterland
Hat sich bedankt: 27 Mal
Danksagung erhalten: 8 Mal

Re: ALLE Geräte auf "Protokolliert" stellen

Beitrag von fischmir » 31.07.2017, 13:29

BadenPower hat geschrieben: [...]wenn man nicht ab und an aufräumt.
.
Interessant, ist mir nicht bewusst gewesen. Ich muss aber die Protokollierung (de-)/aktieren, sonst komme ich mit meinem Problem nicht weiter. In dem Zusammenhang fallen mir zwei Fragen ein:

1. ^^ Wie mache ich das?
2. Wie kann ich erkennen, wie hoch der Zähler für IDs ist?

Viele Grüße,
Christian

Benutzeravatar
blackhole
Beiträge: 3730
Registriert: 21.07.2015, 14:03
System: CCU
Hat sich bedankt: 184 Mal
Danksagung erhalten: 587 Mal

Re: ALLE Geräte auf "Protokolliert" stellen

Beitrag von blackhole » 31.07.2017, 13:36

BadenPower hat geschrieben:Aber bedenke, dass momentan nur 65535 IDs vergeben werden können.
Das ist interessant. Ich habe in meiner regadom einfach einmal die Anzahl der "<id>"-Tags zählen lassen:
9478 matches bei einer etwa 3 Jahre alten, gewachsenen Installation mit > 100 Geräten (ohne Protokollierungsorgien).

Mal beobachten wie das wächst.

Antworten

Zurück zu „HomeMatic allgemein“