Auslöser eines Programmes finden und loggen
Moderator: Co-Administratoren
- tomdler
- Beiträge: 22
- Registriert: 10.11.2018, 15:14
- System: CCU
- Wohnort: HILDEN
- Hat sich bedankt: 8 Mal
Re: Auslöser eines Programmes finden und loggen
Vielen Dank für die schnelle Antwort, habe es nun an verschiedenen Stellen Integriert leider funktioniert es nicht.
Die Systemvariable Anwesenheit habe ich selbst angelegt. Der Klarnamenbug hat wohl auf meiner CCU2 zugeschlagen.
Habe es auch schon mit der ID versucht ohne Erfolg.
Die Systemvariable Anwesenheit habe ich selbst angelegt. Der Klarnamenbug hat wohl auf meiner CCU2 zugeschlagen.
Habe es auch schon mit der ID versucht ohne Erfolg.
--------------------------------------------
307 Kanäle und 1411 Datenpunkte in 42 Geräten:
3x HM-Sec-RHS, 3x HM-CC-RT-DN, 2x HmIP-SLO, 1x HmIP-FSM16, 3x HM-MOD-Re-8, 1x HmIP-STHO, 1x HmIP-STE2-PCB, 2x HM-Sec-SCo, 2x HmIP-SRH, 4x HM-RC-19, 1x HM-RC-Dis-H-x-EU, 2x HM-Sen-EP, 1x HM-PB-6-WM55, 1x RPI-RF-MOD, 1x HmIP-eTRV-2, 4x HMIP-PS, 1x HmIP-MOD-OC8, 1x HM-WDS30-OT2-SM-2, 1x HmIP-RCV-50, 1x HMIP-SWDO, 1x HmIP-SMI, 1x HmIP-BS2, 1x HmIP-BDT, 1x HmIP-PDT, 1x HmIP-WRC6, 1x HM-TC-IT-WM-W-EU
--------------------------------------------
307 Kanäle und 1411 Datenpunkte in 42 Geräten:
3x HM-Sec-RHS, 3x HM-CC-RT-DN, 2x HmIP-SLO, 1x HmIP-FSM16, 3x HM-MOD-Re-8, 1x HmIP-STHO, 1x HmIP-STE2-PCB, 2x HM-Sec-SCo, 2x HmIP-SRH, 4x HM-RC-19, 1x HM-RC-Dis-H-x-EU, 2x HM-Sen-EP, 1x HM-PB-6-WM55, 1x RPI-RF-MOD, 1x HmIP-eTRV-2, 4x HMIP-PS, 1x HmIP-MOD-OC8, 1x HM-WDS30-OT2-SM-2, 1x HmIP-RCV-50, 1x HMIP-SWDO, 1x HmIP-SMI, 1x HmIP-BS2, 1x HmIP-BDT, 1x HmIP-PDT, 1x HmIP-WRC6, 1x HM-TC-IT-WM-W-EU
--------------------------------------------
-
- Beiträge: 10756
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 674 Mal
Re: Auslöser eines Programmes finden und loggen
Wie kommt man auf so was. Man probiert es doch erstmal aus und dann integriert man es.
3 Sätze die sich gegenseitig ausschließen.
Wenn du die Systemvariable Anwesenheit selbst angelegt hast, dann kannst du vom Klarnamenbug zumindest bezüglich der Systemvariable nicht betroffen sein.
Weil nämlich der Klarnamenbug nur auf die originale Systemvariable Anwesenheit mit der ISE_ID 950 zutrifft, deren Name dann eben nicht Anwesenheit sondern ${sysVarPresence} wäre . Somit würde ein Script welches auf das Objekt Anwesenheit zugreift dieses nicht finden, weil es ja nicht so heißt. Zig mal beschrieben, die Suche nach Klarnamenbug sollte Beiträge meinerseits bringen.
UND
Wenn du vom Klarnamenbug betroffen wärst würde die Verwendung der ISE_ID statt des Namens trotzdem funktionieren, sofern diese natürlich korrekt ist.
Also zurück auf Anfang und schauen was da los ist. Da kommen wir dann zu deinem Browserbild wo der halbe Befehl und völlig sinnloser Weise eine interne IP Adresse geschwärzt ist. Was willst du mir damit sagen? Für Rätselraten helfe ich hier nicht mehr.
Was wird ausgegeben, wenn du das folgende Script ausführst unter Script testen bzw. im Script Executer usw.
Code: Alles auswählen
string slist = "Testmail von Alchy";
object oSysvar = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Anwesenheit");
if( (oSysvar) && (slist!="") && (!oSysvar.Value()) )
{
dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_EXEC").State("/etc/config/addons/email/email 01 '"#slist# "'");
WriteLine("Mail raus");}else{WriteLine("Pustekuchen weil Systemvariable nicht da oder: "#oSysvar.Name()#" ist :" #oSysvar.Value());
}
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.
- tomdler
- Beiträge: 22
- Registriert: 10.11.2018, 15:14
- System: CCU
- Wohnort: HILDEN
- Hat sich bedankt: 8 Mal
Re: Auslöser eines Programmes finden und loggen
Ausgabe:
Pustekuchen weil Systemvariable nicht da oder: Anwesenheit ist :true
Pustekuchen weil Systemvariable nicht da oder: Anwesenheit ist :true
--------------------------------------------
307 Kanäle und 1411 Datenpunkte in 42 Geräten:
3x HM-Sec-RHS, 3x HM-CC-RT-DN, 2x HmIP-SLO, 1x HmIP-FSM16, 3x HM-MOD-Re-8, 1x HmIP-STHO, 1x HmIP-STE2-PCB, 2x HM-Sec-SCo, 2x HmIP-SRH, 4x HM-RC-19, 1x HM-RC-Dis-H-x-EU, 2x HM-Sen-EP, 1x HM-PB-6-WM55, 1x RPI-RF-MOD, 1x HmIP-eTRV-2, 4x HMIP-PS, 1x HmIP-MOD-OC8, 1x HM-WDS30-OT2-SM-2, 1x HmIP-RCV-50, 1x HMIP-SWDO, 1x HmIP-SMI, 1x HmIP-BS2, 1x HmIP-BDT, 1x HmIP-PDT, 1x HmIP-WRC6, 1x HM-TC-IT-WM-W-EU
--------------------------------------------
307 Kanäle und 1411 Datenpunkte in 42 Geräten:
3x HM-Sec-RHS, 3x HM-CC-RT-DN, 2x HmIP-SLO, 1x HmIP-FSM16, 3x HM-MOD-Re-8, 1x HmIP-STHO, 1x HmIP-STE2-PCB, 2x HM-Sec-SCo, 2x HmIP-SRH, 4x HM-RC-19, 1x HM-RC-Dis-H-x-EU, 2x HM-Sen-EP, 1x HM-PB-6-WM55, 1x RPI-RF-MOD, 1x HmIP-eTRV-2, 4x HMIP-PS, 1x HmIP-MOD-OC8, 1x HM-WDS30-OT2-SM-2, 1x HmIP-RCV-50, 1x HMIP-SWDO, 1x HmIP-SMI, 1x HmIP-BS2, 1x HmIP-BDT, 1x HmIP-PDT, 1x HmIP-WRC6, 1x HM-TC-IT-WM-W-EU
--------------------------------------------
-
- Beiträge: 10756
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 674 Mal
Re: Auslöser eines Programmes finden und loggen
Dann wird keine Mail verschickt, weil du anwesend bist.
das Gute: es gibt also durchaus eine Systemvariable Anwesenheit.
Wenn du die Variable Anwesend auf nicht anwesend setzen würdest, würdest du auch mit dem Testscript eine Mail erhalten bei nochmaliger Ausführung. korrekt? Nein?
Was gibt das Script aus?
Was steht im Fehlerprotokoll?
was mich dann zur überfälligen Frage treibt:
du hast cuxd.exec korrekt installiert?
das Mailaddon ist installiert, korrekt konfiguriert und funktioniert?
Alchy
das Gute: es gibt also durchaus eine Systemvariable Anwesenheit.
Wenn du die Variable Anwesend auf nicht anwesend setzen würdest, würdest du auch mit dem Testscript eine Mail erhalten bei nochmaliger Ausführung. korrekt? Nein?
Was gibt das Script aus?
Was steht im Fehlerprotokoll?
was mich dann zur überfälligen Frage treibt:
du hast cuxd.exec korrekt installiert?
das Mailaddon ist installiert, korrekt konfiguriert und funktioniert?
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.
- tomdler
- Beiträge: 22
- Registriert: 10.11.2018, 15:14
- System: CCU
- Wohnort: HILDEN
- Hat sich bedankt: 8 Mal
Re: Auslöser eines Programmes finden und loggen
Ja, ist alles installiert und funktioniert auch.
********
Ausgabe:
Mail raus
Ist auch angekommen:
Testmail von Alchy
MfG
Deine Zentrale
*********
Habe das Script und den Anhang zum Verschicken der E-Mail erneut an entsprechende Stelle im Dann-Bereich kopiert.
Jetzt wird keine Mail mehr versendet, wenn ich anwesend bin.
Danke für Deine Hilfe.
********
Ausgabe:
Mail raus
Ist auch angekommen:
Testmail von Alchy
MfG
Deine Zentrale
*********
Habe das Script und den Anhang zum Verschicken der E-Mail erneut an entsprechende Stelle im Dann-Bereich kopiert.
Jetzt wird keine Mail mehr versendet, wenn ich anwesend bin.
Danke für Deine Hilfe.
--------------------------------------------
307 Kanäle und 1411 Datenpunkte in 42 Geräten:
3x HM-Sec-RHS, 3x HM-CC-RT-DN, 2x HmIP-SLO, 1x HmIP-FSM16, 3x HM-MOD-Re-8, 1x HmIP-STHO, 1x HmIP-STE2-PCB, 2x HM-Sec-SCo, 2x HmIP-SRH, 4x HM-RC-19, 1x HM-RC-Dis-H-x-EU, 2x HM-Sen-EP, 1x HM-PB-6-WM55, 1x RPI-RF-MOD, 1x HmIP-eTRV-2, 4x HMIP-PS, 1x HmIP-MOD-OC8, 1x HM-WDS30-OT2-SM-2, 1x HmIP-RCV-50, 1x HMIP-SWDO, 1x HmIP-SMI, 1x HmIP-BS2, 1x HmIP-BDT, 1x HmIP-PDT, 1x HmIP-WRC6, 1x HM-TC-IT-WM-W-EU
--------------------------------------------
307 Kanäle und 1411 Datenpunkte in 42 Geräten:
3x HM-Sec-RHS, 3x HM-CC-RT-DN, 2x HmIP-SLO, 1x HmIP-FSM16, 3x HM-MOD-Re-8, 1x HmIP-STHO, 1x HmIP-STE2-PCB, 2x HM-Sec-SCo, 2x HmIP-SRH, 4x HM-RC-19, 1x HM-RC-Dis-H-x-EU, 2x HM-Sen-EP, 1x HM-PB-6-WM55, 1x RPI-RF-MOD, 1x HmIP-eTRV-2, 4x HMIP-PS, 1x HmIP-MOD-OC8, 1x HM-WDS30-OT2-SM-2, 1x HmIP-RCV-50, 1x HMIP-SWDO, 1x HmIP-SMI, 1x HmIP-BS2, 1x HmIP-BDT, 1x HmIP-PDT, 1x HmIP-WRC6, 1x HM-TC-IT-WM-W-EU
--------------------------------------------
Re: Auslöser eines Programmes finden und loggen
Hallo zusammen,
hab mich hier schon alles in meiner Macht probiert, aber was mache ich falsch wenn im Protokoll nur das hier steht:
Programm: DANN Alarmanlage durch Kanal: HmIP-SWDOxxxxxxxxxx SHUTTER_CONTACT mit DP: STATE mit dem Wert: 1 "" am: 28.08. 21:43 Uhr
Danke für einen kleinen Hinweis.
Liebe Grüße
hab mich hier schon alles in meiner Macht probiert, aber was mache ich falsch wenn im Protokoll nur das hier steht:
Programm: DANN Alarmanlage durch Kanal: HmIP-SWDOxxxxxxxxxx SHUTTER_CONTACT mit DP: STATE mit dem Wert: 1 "" am: 28.08. 21:43 Uhr
Danke für einen kleinen Hinweis.
Liebe Grüße
-
- Beiträge: 236
- Registriert: 02.10.2018, 19:24
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 59 Mal
- Danksagung erhalten: 11 Mal
Re: Auslöser eines Programmes finden und loggen
@SandyDE, da machst du mMn. nix falsch
Das script unterstützt eben nicht den HMIP-Kontakt mit "offen/zu", nur den HM-Kontakt.
Der Unterschied ist, dass der HMIP-SWDO seinen Status eben als Zahl = Integer liefert, 0 = zu, 1 = offen. der HM-Kontakt liefert binäre Werte...
Is jedoch für mich kein Problem, bei dir mit "DP: STATE mit dem Wert: 1 " heißt das dann wohl : Fenster / Tür ist offen.
Das script unterstützt eben nicht den HMIP-Kontakt mit "offen/zu", nur den HM-Kontakt.
Der Unterschied ist, dass der HMIP-SWDO seinen Status eben als Zahl = Integer liefert, 0 = zu, 1 = offen. der HM-Kontakt liefert binäre Werte...
Is jedoch für mich kein Problem, bei dir mit "DP: STATE mit dem Wert: 1 " heißt das dann wohl : Fenster / Tür ist offen.
Proxmox-MiniServer (J4125, 12GB RAM, nur SSDs, Proxmox 7.4-3), RM v3.69.7.20230506, abgesetztes, altes Funkmodul HM-MOD-RPI-PCB am RB-RF-ETH, ca. 5 HM- und 107 HMIP-Geräte, Addons : CUxD v2.10.1, eMail v1.7.6, XML-API v1.22, JB-HB v6.0, ProgrammeDrucken v2.6, CCU-Historian v3.3.1
-
- Beiträge: 10756
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 674 Mal
Re: Auslöser eines Programmes finden und loggen
.
Ich geh mal von aus, das due wie von G55 vermutet die 1 meinst, wo du lieber offen oder geschlossen hättest?
Da muss ich mal etwas ausholen. Der Grundsatz das Scriptes war mal nur die Werte der Objekte anzugeben.
Dann kamen nach und nach Anfragen statt true und false oder auch 1 und 2 doch lieber offen und geschlossen, feucht, nass und trocken usw. auszugeben. Also hatte ich mal begonnen, dies so wartungsarm wie möglich zu integrieren. Natürlich sind dabei noch nicht alle Möglichkeiten erfasst.
UND
Dabei gibt es aber wieder den ein oder anderen Fallstrick.
Mit neueren Geräten kann man z.B. aber wieder selber einstellen, ob Meldung in Position offen offen der geschlossen sein soll usw. Statische Übersetzungen sind dann also wieder falsch. Deshalb habe ich da auch nicht großartig weiter gemacht und hatte gehofft, das EQ-3 irgendwann mal die Methoden glattzieht. Die Methoden sind leider eben nicht überall gleich verwendet. Nimmt man z.b Systemvariablen, da geht es durch undokumentierte Methoden einfacher und wartungsarm.
Lange Rede....
Hab das mal zusätzlich in eine neue Version eingefügt, musst mal testen.
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: Auslöser eines Programmes finden und loggen
Hallo zusammen,
oh, gleich eine neue Version des Scriptes vielen Dank
Soweit verstanden und mehr als verständlich. Kann ich ja nun auch selber pflegen, was nicht passt.
Jetzt sieht es so aus, nachdem ich auch die Kanäle umbenannt habe:
"Programm: DANN Alarmanlage durch Kanal: Türkontakt Eingangstür SHUTTER_CONTACT mit DP: STATE mit dem Wert: offen am: 30.08. 22:08 Uhr"
Kann man die roten Sachen auch noch übersetzen? bzw. das Dann kann doch weg oder ist das mit Absicht um zu erkennen aus Bedingung der Auslöser im Programm kommt?
Vielen Dank und liebe Grüße.
oh, gleich eine neue Version des Scriptes vielen Dank
Soweit verstanden und mehr als verständlich. Kann ich ja nun auch selber pflegen, was nicht passt.
Jetzt sieht es so aus, nachdem ich auch die Kanäle umbenannt habe:
"Programm: DANN Alarmanlage durch Kanal: Türkontakt Eingangstür SHUTTER_CONTACT mit DP: STATE mit dem Wert: offen am: 30.08. 22:08 Uhr"
Kann man die roten Sachen auch noch übersetzen? bzw. das Dann kann doch weg oder ist das mit Absicht um zu erkennen aus Bedingung der Auslöser im Programm kommt?
Vielen Dank und liebe Grüße.
-
- Beiträge: 10756
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 674 Mal
Re: Auslöser eines Programmes finden und loggen
DANN ist der String den du gleich am Anfang des Scriptes verwendest.
machst du da ein
draus ....
viel weiter unten kommt dann
das kann man dann auch anpassen ungefähr z.B. in
Alchy
Code: Alles auswählen
string slist = " DANN "; ! Bitte den Zweig, DANN oder SONST eingeben
Code: Alles auswählen
string slist = ""; ! Bitte den Zweig, DANN oder SONST eingeben
viel weiter unten kommt dann
Code: Alles auswählen
slist = "Programm: "#slist #" durch Kanal: " #(dom.GetObject(dom.GetObject(src)).Channel()).Name() #" "#dom.GetObject(((dom.GetObject(src)).Channel())).HssType() #" mit DP: "#src.HssType() #" mit dem Wert: "#srcValue #" am: "#system.Date("%d.%m. %H:%M Uhr");
Code: Alles auswählen
slist = "Programm: "#slist #" durch Kanal: " #(dom.GetObject(dom.GetObject(src)).Channel()).Name() #" mit dem Wert: "#srcValue #" am: "#system.Date("%d.%m. %H:%M Uhr");
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.