WebUI-Programm-Logik : warum wird bei geschlossen auslöst ? ist mMn. im Programm nicht drin.

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

g55
Beiträge: 236
Registriert: 02.10.2018, 19:24
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 59 Mal
Danksagung erhalten: 11 Mal

WebUI-Programm-Logik : warum wird bei geschlossen auslöst ? ist mMn. im Programm nicht drin.

Beitrag von g55 » 22.07.2019, 21:06

Hi Ihr Lieben,
Ich bin grad dabei, meine, wenigen Programme zu überarbeiten ... hab schon viel gelesen in den Anfängertipps und anderen Quellen.
bei einem Programm hab ich noch Probleme, hier meine Absicht:
  • es geht mit darum, den Namen des zuletzt geöffneten Fensters / Tür in einer SV zu speichern
  • Warum ? ganz einfach : weil ich es eben wissen möchte :lol: ... und bei einer Benachrichtigung im Falle Alarmanlage = scharf wohl gleich den Auslöser auswerten könnte
ok, die TFKs dazu sind gemischt, HM + HMIP, ich hoffe mal, das sollte keine Rolle spielen. alle TFKs haben 3 sec. Verzögerung eingestellt.
meine Probleme sind z.Zt.:
  • der DC geht durch die Decke = 100%, wenn ich mal intensiver teste ... Tür auf / zu mehrfach
  • wenn ich jetzt im Sommer mal ein Fenster/Tür kurzzeitig auf/zu mache, wird mir danach in der SV ein anderes Fenster/Tür in der SV angezeigt :?:
  • wenn ich ein Fenster/Tür schließe, wird mir das vorige in der SV angezeigt :?:
ok ich hoffe mal, dass ich hier die nötigen Infos zur Verfügung stelle :
  • Testprogramm mit @alchy's script:was hat ausgelöst ... (sorry for PDF ... kann ich grad net anders :roll: )
  • Systemprotokoll
meine Frage wäre :
  • warum wird das Programm ausgelöst, wenn ich um 20:07:38 den Kontakt schließe ?
  • ich hab doch in den Bedingungen nur "offen" "bei Anderung auslösen" drin :?:
kann schon sein, dass ich die WebUI-Programlogik noch nicht verstehe, trotz vielen Lesens...
Auf jeden fall bin ich für jeden Tipp dankbar :D
wenn noch Infos benötigt werden ... werd mein Bestes tun, zu liefern :D
Dateianhänge
systemprotokoll_TFK.jpg
test_TFK_programm.pdf
(109.43 KiB) 50-mal heruntergeladen
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

Benutzeravatar
robbi77
Beiträge: 13860
Registriert: 19.01.2011, 19:15
System: CCU
Wohnort: Landau
Hat sich bedankt: 182 Mal
Danksagung erhalten: 739 Mal

Re: WebUI-Programm-Logik : warum wird bei geschlossen auslöst ? ist mMn. im Programm nicht drin.

Beitrag von robbi77 » 22.07.2019, 22:52

Weil das Programm auch angestoßen wird wenn es sich auf geschlossen ändert.
Es wird dann halt nur kein Dann sondern das Sonst ausgeführt.

Wenn es jetzt nur um den Zeitstempel geht wann das Prog ausgeführt wurde.

(hab das pdf nicht angesehen)
Bei Risiken und Nebenwirkungen fragen Sie den Elektriker Ihres geringsten Mißtrauens!
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/downloads/download/ ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
Troll des Forums ...

Sven_A
Beiträge: 4156
Registriert: 26.01.2016, 08:14
System: Alternative CCU (auf Basis OCCU)
Wohnort: Renningen
Hat sich bedankt: 348 Mal
Danksagung erhalten: 284 Mal

Re: WebUI-Programm-Logik : warum wird bei geschlossen auslöst ? ist mMn. im Programm nicht drin.

Beitrag von Sven_A » 23.07.2019, 07:29

Du hast im Programm 3 Fensterkontakte verodert.
Bei deinen Tests:
Ein Fenster davon wird geschlossen, eines oder beide anderen sind vermutlich noch offen.
In diesem Fall wird das Scirpt ausgeführt.

Um 20:07:38 schließt du das letzte der 3 Fenster, auch da wird das Programm getriggert, die Bedinungen geprüft, und der Zeitstempel aktualisiert. Jetzt sind aber alle 3 Fenster zu, also wird der DANN Zweig NICHT abgearbeitet.

manfredh
Beiträge: 4155
Registriert: 09.09.2012, 10:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 78 Mal
Danksagung erhalten: 301 Mal

Re: WebUI-Programm-Logik : warum wird bei geschlossen auslöst ? ist mMn. im Programm nicht drin.

Beitrag von manfredh » 23.07.2019, 09:47

g55 hat geschrieben:
22.07.2019, 21:06

meine Frage wäre :
  • warum wird das Programm ausgelöst, wenn ich um 20:07:38 den Kontakt schließe ?
Darum:
g55 hat geschrieben:
22.07.2019, 21:06
[*]ich hab doch in den Bedingungen nur "offen" "bei Anderung auslösen" drin :?:
Der Zustand "offen" ändert sich doch, oder?

Sonst müsste es ja heißen "bei eintreten [des Zustandes] auslösen".

Gut, dass das so ist. Die Programmierung einfacher Schaltvorgänge wird dadurch ungemein erleichtert:

Wenn Kontakt auf
Dann Licht an
Sonst Licht aus
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

Linnet998
Beiträge: 110
Registriert: 04.07.2018, 21:46
Danksagung erhalten: 2 Mal

Re: WebUI-Programm-Logik : warum wird bei geschlossen auslöst ? ist mMn. im Programm nicht drin.

Beitrag von Linnet998 » 23.07.2019, 19:21

Das script von alchy ist um programme zu loggen für ne Fehler Diagnose.
Wenn ich es richtig verstehe willst du einfach nur wissen welches wann geöffnet.
Probier mal das

Code: Alles auswählen

string svName = "offen";
 object svObj = dom.GetObject(svName); 
if (!svObj){ object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES); 
svObj = dom.CreateObject(OT_VARDP);
 svObjects.Add(svObj.ID());
 svObj.Name(svName); 
svObj.ValueType(ivtString); 
svObj.ValueSubType(istChar8859); 
svObj.DPInfo(""); 
svObj.ValueUnit(""); 
svObj.State(""); 
svObj.Internal(false); 
svObj.Visible(true); 
dom.RTUpdate(false); }

object dp = dom.GetObject("$src$");
var ch = dom.GetObject(dp.Channel());
var dev = dom.GetObject(ch.Device()); 
ch = ch.Name();
dev = dev.Name();
var time =system.Date("%T");
dom.GetObject("offen").State(dev #" um" # time #" Uhr");   

g55
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: WebUI-Programm-Logik : warum wird bei geschlossen auslöst ? ist mMn. im Programm nicht drin.

Beitrag von g55 » 23.07.2019, 19:26

besten Dank für Eure Rückmeldungen :D
es scheint mir fast so, als wenn die WebUI-Logik eben anders funktioniert als meine "Denke" :
  • ok, is mir schon klar, dass es einen Unterschied gibt zwischen Programm-Auslösung und Abarbeitung
  • wenn jetzt z.B ein Fenster geschlossen wird, wird also mein Programm ausgelöst, auch wenn als Bedingung hier nur immer "Offen" + "Bei Änderung auslösen" drin steht... und das Programm wird, wie in der WebUI-Logik beschrieben, schön von oben nach unten abgearbeitet.
  • is auch irgendwie verständlich für mich ...
  • was ich definiv nicht verstehe, ist, dass ,wenn der TFK jetzt geschlossen wird, trotzdem der DANN-Zweig ausgeführt wird :?:
  • ja, die Bedingung lautet "Offen" + "Bei Änderung auslösen" ... ok, bei TFK = zu ist das ne Änderung des Zustandes, aber nach meinem Verständnis eben nicht mehr offen. :!: Es heißt in den Anleitungen, die Bedingungen werden von oben nach unten bei "Auslösung des Programms" neu geprüft ... für mich sind zwar einige TFKs nach wie vor offen, aber es hat eben keine Änderung ergeben :?:
Wie gesagt, eigentlich wollte ich nur eine SV haben, in der der Name des zuletzt geöffneten Fensters / Tür drin steht ... zusammengeklickt als Programm ... aus Interesse und zum Auswerten bei Alarmanlage = scharf in Benachrichtigungen. Wenn die Variable sich ändert auch bei Fenster/Tür = zu auf irgendein bereits seit Stunden geöffnetes Fenster, bringt es mir nix, denke ich.

Zudem hab ich die paar Programme / SV für letztes Fenster / Tür offen, bzw. "alles zu" bereits seit "Monden" ohne Problem am Laufen, erst mit den letzten Tests seit ca. v3.14.xx hab ich die Probleme mit dem DANN-Zweig bei "geschlossen" ... hat sich evtl. was in der Logik / Rega grundlegendes geändert ?
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

Linnet998
Beiträge: 110
Registriert: 04.07.2018, 21:46
Danksagung erhalten: 2 Mal

Re: WebUI-Programm-Logik : warum wird bei geschlossen auslöst ? ist mMn. im Programm nicht drin.

Beitrag von Linnet998 » 23.07.2019, 19:57

Ich verstehe deine Denkweise... und soweit ich weiss ist das auch richtig... wenn ein fenster geschlossen wird... wird das peogramm nicht getriggert und auch keine anderen fenster von oben nach unten geprüft... das programm ruht so lange bis eins der 3 fenster geöffnet wird... lösch das programm mal und erstelle 3 einzelne Programme....einfach zum ausprobieren

Oder du fragst im script einfach denn State(1) ab und schreibst erst darauf in die variable... dann kann dir egal sein welches fenster triggert
Zuletzt geändert von Linnet998 am 23.07.2019, 20:09, insgesamt 1-mal geändert.

g55
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: WebUI-Programm-Logik : warum wird bei geschlossen auslöst ? ist mMn. im Programm nicht drin.

Beitrag von g55 » 23.07.2019, 20:07

Danke @Linnet998 :D
mein Problem ist nur, dass dies ein Testprogramm ist, eben wegen DC und dem Wert der SV beim Schließen.
Ich hab eigentlich so ca. 15 TFks ... da möchte ich ungern für jeden ein einzelnes Programm erzeugen :(
aber ok, die Idee hatte ich auch schon ... ich werd's bei Gelegenheit mal ausprobieren ...
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

Sven_A
Beiträge: 4156
Registriert: 26.01.2016, 08:14
System: Alternative CCU (auf Basis OCCU)
Wohnort: Renningen
Hat sich bedankt: 348 Mal
Danksagung erhalten: 284 Mal

Re: WebUI-Programm-Logik : warum wird bei geschlossen auslöst ? ist mMn. im Programm nicht drin.

Beitrag von Sven_A » 23.07.2019, 20:09

Nein, auch ein schließen startet das Programm.
Dann werden alle drei Fenster geprüft.
Wenn auch nur eines davon offen ist wird der DANN Teil ausgeführt

Glaubt dass doch mal.

Sven_A
Beiträge: 4156
Registriert: 26.01.2016, 08:14
System: Alternative CCU (auf Basis OCCU)
Wohnort: Renningen
Hat sich bedankt: 348 Mal
Danksagung erhalten: 284 Mal

Re: WebUI-Programm-Logik : warum wird bei geschlossen auslöst ? ist mMn. im Programm nicht drin.

Beitrag von Sven_A » 23.07.2019, 20:10

Nachtrag: ein schließen startet das Programm weil sich der Wahrheitsgehalt der Abfrage ÄNDERT.

Antworten

Zurück zu „HomeMatic allgemein“