[gelöst]Systemvariable per Skript in eine Favoritenliste - möglich?
Moderator: Co-Administratoren
-
- Beiträge: 3083
- Registriert: 23.08.2015, 11:06
- System: CCU
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 111 Mal
[gelöst]Systemvariable per Skript in eine Favoritenliste - möglich?
Guten Morgen zusammen.
Ich suche eine Lösung für folgende Aufgabenstellung:
Ein funktionierendes Skript legt jeden Monat automatisch eine neue Variable für einen Zählerwert an (z.B. Verbrauch-2020-10, Verbrauch-2020-11)
Ist es möglich automatisiert per Skriptbefehl die neuen Variablen jeweils einer Favoritenliste z.B. "Zähler" zuzuordnen? Damit würde das händische Zuordnen in die Favoriten entfallen.
Um Mißverständnisse zu vermeiden:
Das variablenerstellende Skript funktioniert bestens und ist nicht Gegenstand meiner Frage.
Es geht mir nur um das per Skript automatisierte Zuordnen/die Darstellung einer Variablen in einer Favoritenliste.
Also ganz simpel dargestellt:
Variable "Verbrauch-2020-10" füge zu Favorit "Zähler" hinzu (per Skript).
Besten Dank für jede Hilfe und Euch allen einen schönen Sonntag.
Stefan
Ich suche eine Lösung für folgende Aufgabenstellung:
Ein funktionierendes Skript legt jeden Monat automatisch eine neue Variable für einen Zählerwert an (z.B. Verbrauch-2020-10, Verbrauch-2020-11)
Ist es möglich automatisiert per Skriptbefehl die neuen Variablen jeweils einer Favoritenliste z.B. "Zähler" zuzuordnen? Damit würde das händische Zuordnen in die Favoriten entfallen.
Um Mißverständnisse zu vermeiden:
Das variablenerstellende Skript funktioniert bestens und ist nicht Gegenstand meiner Frage.
Es geht mir nur um das per Skript automatisierte Zuordnen/die Darstellung einer Variablen in einer Favoritenliste.
Also ganz simpel dargestellt:
Variable "Verbrauch-2020-10" füge zu Favorit "Zähler" hinzu (per Skript).
Besten Dank für jede Hilfe und Euch allen einen schönen Sonntag.
Stefan
Zuletzt geändert von 66er am 11.10.2020, 12:42, insgesamt 1-mal geändert.
- Black
- Beiträge: 5463
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 418 Mal
- Danksagung erhalten: 1069 Mal
- Kontaktdaten:
Re: Systemvariable per Skript in eine Favoritenliste - möglich?
yup, geht... favoriten sind letztlich aufzählungen... und an aufzählungen kan man dienge anhängen verschieben oder löschen...
als Ansatz
Black
als Ansatz
Code: Alles auswählen
object oFav= dom.GetObject (ID_FAVORITES).Get("IchBinDeinFavoritenname");
oFav.Add (IchBinDieIDoderDasObjectDerNeuenVariablen);
!-Fertig
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
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
-
- Beiträge: 3083
- Registriert: 23.08.2015, 11:06
- System: CCU
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 111 Mal
Re: Systemvariable per Skript in eine Favoritenliste - möglich?
Muß nun leider doch nochmal nachfragen, weil es bei meiner Umsetzung leider (noch) nicht funktioniert :
Ich habe nun die beiden Zeilen
in mein Skript übernommen und so angepasst:
Zeile 1: Sauna entspricht dem Klartextnamen der Favoritenliste
Zeile 2: emsvmzk ist der Skriptvariablenname mit dem Namen der Monats-Sysvar, die zugefügt werden soll, als Inhalt
Ist meine Syntax für/mit dem Variablennamen falsch? Die SysVariable wird mit dieser Skriptvariablen im Skript ordnungsgemäß erstellt, aber nicht dem Favoriten zugefügt.
Hier mal ein Ausschnitt des Skriptes: nach dem Anlegen der Variablen (was ja funktioniert) soll die Variable der Favoritenliste zugefügt werden
Ich habe nun die beiden Zeilen
Code: Alles auswählen
object oFav= dom.GetObject (ID_FAVORITES).Get("IchBinDeinFavoritenname");
oFav.Add (IchBinDieIDoderDasObjectDerNeuenVariablen);
Code: Alles auswählen
object oFav= dom.GetObject (ID_FAVORITES).Get("Sauna");
oFav.Add (""#emsvmzk#"");
Zeile 2: emsvmzk ist der Skriptvariablenname mit dem Namen der Monats-Sysvar, die zugefügt werden soll, als Inhalt
Ist meine Syntax für/mit dem Variablennamen falsch? Die SysVariable wird mit dieser Skriptvariablen im Skript ordnungsgemäß erstellt, aber nicht dem Favoriten zugefügt.
Hier mal ein Ausschnitt des Skriptes: nach dem Anlegen der Variablen (was ja funktioniert) soll die Variable der Favoritenliste zugefügt werden
Code: Alles auswählen
string sName= ""#emsvmzk#"";
if (!dom.GetObject (ID_SYSTEM_VARIABLES).Get (sName)) {
object svObj = dom.CreateObject(OT_VARDP,sName);
svObj.DPInfo("autom. angelegt durch Skript ");
svObj.ValueUnit("Euro (brutto)");
dom.GetObject (ID_SYSTEM_VARIABLES).Add(svObj);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.ValueMin(0);
svObj.ValueMax(65000);
svObj.State (0); !. Zustand der Sysvar nach dem Anlegen
dom.RTUpdate(0);
}
WriteLine("SV für KM geprüft/angelegt");
dom.GetObject(""#emsvmzk#"").State(mzk);
object oFav= dom.GetObject (ID_FAVORITES).Get("Sauna");
oFav.Add (""#emsvmzk#"");
}
Zuletzt geändert von 66er am 11.10.2020, 12:43, insgesamt 2-mal geändert.
- Baxxy
- Beiträge: 10648
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 597 Mal
- Danksagung erhalten: 2180 Mal
Re: Systemvariable per Skript in eine Favoritenliste - möglich?
Funktionierendes Beispiel:
Code: Alles auswählen
object oSysVar = dom.GetObject (ID_SYSTEM_VARIABLES).Get ("A_Test_Programmausführung_Text");
object oFav= dom.GetObject (ID_FAVORITES).Get("Test_Fav");
oFav.Add (oSysVar);
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
-
- Beiträge: 3083
- Registriert: 23.08.2015, 11:06
- System: CCU
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 111 Mal
Re: Systemvariable per Skript in eine Favoritenliste - möglich?
Super
Mit diesen 3 Zeilen funktioniert es jetzt:
Vielen Dank und schönes WE.
Stefan
Mit diesen 3 Zeilen funktioniert es jetzt:
Code: Alles auswählen
object oSysVar = dom.GetObject (ID_SYSTEM_VARIABLES).Get (""#emsvmzk#"");
object oFav= dom.GetObject (ID_FAVORITES).Get("Sauna");
oFav.Add (oSysVar);
Stefan
- Black
- Beiträge: 5463
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 418 Mal
- Danksagung erhalten: 1069 Mal
- Kontaktdaten:
Re: Systemvariable per Skript in eine Favoritenliste - möglich?
yup, das Beispiel ist korrekt umgesetzt.
so sollte es aber auch gehen
so sollte es aber auch gehen
Code: Alles auswählen
string sName= ""#emsvmzk#"";
if (!dom.GetObject (ID_SYSTEM_VARIABLES).Get (sName)) {
object svObj = dom.CreateObject(OT_VARDP,sName);
svObj.DPInfo("autom. angelegt durch Skript 3EM");
svObj.ValueUnit("Euro (brutto)");
dom.GetObject (ID_SYSTEM_VARIABLES).Add(svObj);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.ValueMin(0);
svObj.ValueMax(65000);
svObj.State ( emmvges * pkwh.ToFloat() ); !. <----- State kann auch direkt beschrieben werden an der stelle
dom.GetObject (ID_FAVORITES).Get("Sauna").Add (svObj); !- <<<<<
dom.RTUpdate(0);
}
WriteLine("SV für KM geprüft/angelegt");
}
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
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