Wenn Systemzustand auf ABW geändert wird Script...offene
Moderator: Co-Administratoren
Wenn Systemzustand auf ABW geändert wird Script...offene
Hallo,
als Anfänger -trotz Suche hier- hat man es nicht leicht...
Ich möchte, dass die CCU bei Änderung des Systemzustandes auf Abwesenheit prüft, ob "Fensterkontakte" (HM-Sec-SCo ) noch geöffnet
sind und falls ja, das EmpfangsModul "HM-MOD-Re-8" ansteuert, damit eine LED geschaltet wird.
Bei Änderung auf "Anwesend" soll die LED wieder ausgeschaltet werden.
Über Programmerstellung habe ich es jetzt so improvisiert, dass alle Kontakte über "oder" abgefragt werden. Ich möchte es aber
per script realisieren. Das hier im Forum stehende script "offene Fenster zaehlen" hilft mir nur ein Stück weit weiter...
viewtopic.php?t=25517
Ich dachte an einer Ergänzung im Sinne, wenn Zaehler größer Null, dann sende an "HM-MOD-Re-8..."
Wer hilft mir....??
als Anfänger -trotz Suche hier- hat man es nicht leicht...
Ich möchte, dass die CCU bei Änderung des Systemzustandes auf Abwesenheit prüft, ob "Fensterkontakte" (HM-Sec-SCo ) noch geöffnet
sind und falls ja, das EmpfangsModul "HM-MOD-Re-8" ansteuert, damit eine LED geschaltet wird.
Bei Änderung auf "Anwesend" soll die LED wieder ausgeschaltet werden.
Über Programmerstellung habe ich es jetzt so improvisiert, dass alle Kontakte über "oder" abgefragt werden. Ich möchte es aber
per script realisieren. Das hier im Forum stehende script "offene Fenster zaehlen" hilft mir nur ein Stück weit weiter...
viewtopic.php?t=25517
Ich dachte an einer Ergänzung im Sinne, wenn Zaehler größer Null, dann sende an "HM-MOD-Re-8..."
Wer hilft mir....??
-
- Beiträge: 3083
- Registriert: 23.08.2015, 11:06
- System: CCU
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 111 Mal
Re: Wenn Systemzustand auf ABW geändert wird Script...offene
Hallo,
darf man wissen, warum es unbedingt per Skript sein muß ?
Ich wundere mich etwas, da Du die Lösung ja eigentlich schon hast:
LG und schönes WE
Stefan
darf man wissen, warum es unbedingt per Skript sein muß ?
Ich wundere mich etwas, da Du die Lösung ja eigentlich schon hast:
LG und schönes WE
Stefan
Re: Wenn Systemzustand auf ABW geändert wird Script...offene
...weil ich es ausprobieren möchte und bei weiteren Kontakten das Programm nicht angepasst werden muss. Leider weiß ich die Lösung nur theoretisch, meine JF Zeile funktioniert nicht...
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Wenn Systemzustand auf ABW geändert wird Script...offene
Code: Alles auswählen
! Anzahl offener Kontakte in einem Gewerk
! v 0.1 (c) by Alchy
string functions = "Verschluss";
! +++++ Finger weg +++++
string ids;integer anzahl = 0;
object func = (dom.GetObject(ID_FUNCTIONS)).Get(functions);
if(func){ foreach(ids, func.EnumUsedIDs()){
if( (dom.GetObject(ids).HssType() == "SHUTTER_CONTACT") || ( dom.GetObject(ids).HssType() == "ROTARY_HANDLE_SENSOR") ){
if(dom.GetObject(ids).DPByHssDP("STATE").Value()){anzahl = anzahl + 1;}
}
}
if (anzahl > 0) {
WriteLine("Offen: " #anzahl #" - mach was bei offene Fenster und Tueren");
}else{
WriteLine("Offen: " #anzahl #" - mach was bei alles zu");
}}else{WriteLine("Gewerk nicht vorhanden");}
Das Script ergibt nur eine entsprechende Ausgabe auf dem Bildschirm.
Wenn du stattdessen etwas anders willst, ersetze die WriteLine Zeilen bzw. erweitere das Script durch sinnvolle Anweisungen, wie das Setzen einer Systemvariablen oder Schalten eines Gerätes.
DAzu die ScriptDoku in meiner Signatur lesen und/oder fragen.
Eine erweiterte Version mit Versenden von mehr Infos per Push usw. gibt es >> H I E R <<
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.
Re: Wenn Systemzustand auf ABW geändert wird Script...offene
HAllo, danke schon mal für die Anworten.
Aber genau da liegt mein Problem, die Anweisung zu programmieren. Stehe auf dem Schlauch.
Es soll die Variable "FensterOffen" gesetzt und das Modul "HM-MOD-Re-8" angesteuert werden, das eine
LED schaltet...
Aber genau da liegt mein Problem, die Anweisung zu programmieren. Stehe auf dem Schlauch.
Es soll die Variable "FensterOffen" gesetzt und das Modul "HM-MOD-Re-8" angesteuert werden, das eine
LED schaltet...
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Wenn Systemzustand auf ABW geändert wird Script...offene
Ich wusste es. Jetzt kommt noch eine Variable ins Spiel.
Eine Logik oder Alarmvariable namens FensterOffen kannst du mit:
auf wahr setzen und mit
auf unwahr.
Wo der Code hin muss, habe ich dir ja oben beschrieben. Einfach unter die jeweilige WriteLine Aussage.
Ich habe keinen Bock nach den Datenpunkten des HM-MOD-Re-8 zu schauen, ich habe kein solches Modul.
Schau also selber in der Doku (siehe Signatur) oder mit einem Script nach, wie die Datenpunkte bei dem Modul heißen.
Wenn du sie lieferst, schreibe ich auch den Code dazu.
ABER
wenn du die Variable FensterOffen mittels Script setzt, kannst du dir ja ein Programm zusammenklickern
Wenn Systemzustand FensterOffen dann Modulkanal X = ein ...
Alchy
Eine Logik oder Alarmvariable namens FensterOffen kannst du mit:
Code: Alles auswählen
dom.GetObject(ID_SYSTEM_VARIABLES).Get("FensterOffen").State(true);
Code: Alles auswählen
dom.GetObject(ID_SYSTEM_VARIABLES).Get("FensterOffen").State(false);
Wo der Code hin muss, habe ich dir ja oben beschrieben. Einfach unter die jeweilige WriteLine Aussage.
Ich habe keinen Bock nach den Datenpunkten des HM-MOD-Re-8 zu schauen, ich habe kein solches Modul.
Schau also selber in der Doku (siehe Signatur) oder mit einem Script nach, wie die Datenpunkte bei dem Modul heißen.
Wenn du sie lieferst, schreibe ich auch den Code dazu.
ABER
wenn du die Variable FensterOffen mittels Script setzt, kannst du dir ja ein Programm zusammenklickern
Wenn Systemzustand FensterOffen dann Modulkanal X = ein ...
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.
Re: Wenn Systemzustand auf ABW geändert wird Script...offene
Es macht aus meiner Sicht wenig Sinn und bringt keine Vorteile die gewünschte Anforderung per Skript zu löschen.
Denn auch dieses Skript muss in einem Programm ausgeführt werden. Das Programm wiederum benötigt einen Trigger. Im Umkehrschluss müssen also alle Fensterkontakte in ein Programm gepackt werden damit auf deren Statusänderung reagiert und das Skript ausgeführt wird. Man würde dumm gesagt auf eine Statusänderung reagieren um dann abzufragen ob sich der Status geändert hat.
Das Programm zyklisch und dann evtl. noch im Minutentakt aufzurufen wäre absolut sinnfrei!!!
Per Skript das Gerwerk auszulesen macht also nur Sinn wenn man detaillierte Informationen auslesen und weiterverarbeiten möchte!
Denn auch dieses Skript muss in einem Programm ausgeführt werden. Das Programm wiederum benötigt einen Trigger. Im Umkehrschluss müssen also alle Fensterkontakte in ein Programm gepackt werden damit auf deren Statusänderung reagiert und das Skript ausgeführt wird. Man würde dumm gesagt auf eine Statusänderung reagieren um dann abzufragen ob sich der Status geändert hat.
Das Programm zyklisch und dann evtl. noch im Minutentakt aufzurufen wäre absolut sinnfrei!!!
Per Skript das Gerwerk auszulesen macht also nur Sinn wenn man detaillierte Informationen auslesen und weiterverarbeiten möchte!
Viele Grüße!
Jörg
Jörg
Re: Wenn Systemzustand auf ABW geändert wird Script...offene
JRiemann hat geschrieben:Es macht aus meiner Sicht wenig Sinn und bringt keine Vorteile die gewünschte Anforderung per Skript zu löschen.
Denn auch dieses Skript muss in einem Programm ausgeführt werden. Das Programm wiederum benötigt einen Trigger. Im Umkehrschluss müssen also alle Fensterkontakte in ein Programm gepackt werden damit auf deren Statusänderung reagiert und das Skript ausgeführt wird. Man würde dumm gesagt auf eine Statusänderung reagieren um dann abzufragen ob sich der Status geändert hat.
Das Programm zyklisch und dann evtl. noch im Minutentakt aufzurufen wäre absolut sinnfrei!!!
Per Skript das Gerwerk auszulesen macht also nur Sinn wenn man detaillierte Informationen auslesen und weiterverarbeiten möchte!
Die Systemvariable "FensterOffen" wird auf wahr gesetzt, wenn der Systemzustand "abwesend" wahr ist und zu dem Zeitpunkt noch "fenster" geöffnet sind, die einem Gewerk zugeordnet sind. Dann erfolgt eine Signalisierung per LED an einem Board.
Kommen weitere Kontakte hinzu oder werden entfernt, muss nur das Gewerk angepasst werden und nicht das Programm, in dem ggf. alle Kontakte mit "oder" aufgeführt wären.
Das waren meine Gedanken dazu. Sind die so falsch = SINNFREI . ??
Re: Wenn Systemzustand auf ABW geändert wird Script...offene
alchy hat geschrieben:Das Script ermittelst offene Fenstersensoren in einem Gewerk und gibt die Anzahl aus.Code: Alles auswählen
Scriptcopy gelöscht
Das Script ergibt nur eine entsprechende Ausgabe auf dem Bildschirm.
Wenn du stattdessen etwas anders willst, ersetze die WriteLine Zeilen bzw. erweitere das Script durch sinnvolle Anweisungen, wie das Setzen einer Systemvariablen oder Schalten eines Gerätes.
DAzu die ScriptDoku in meiner Signatur lesen und/oder fragen.
Eine erweiterte Version mit Versenden von mehr Infos per Push usw. gibt es >> H I E R <<
Alchy
Ja, genau so... herzlichen Dank . funktioniert natürlich
Zuletzt geändert von alchy am 11.02.2018, 13:22, insgesamt 1-mal geändert.
Grund: Scriptcopy gelöscht
Grund: Scriptcopy gelöscht
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Wenn Systemzustand auf ABW geändert wird Script...offene
Naja, er will den Zustand zumindest bisher nur prüfen, wenn sich die Anwesenheit ändert also ist die Logik dahinter schon in Ordnung und nicht sinnfrei.JRiemann hat geschrieben:Das Programm zyklisch und dann evtl. noch im Minutentakt aufzurufen wäre absolut sinnfrei!!!
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.