Frage zum beigelegte Programm

Kabellose und kabelgebundene Sender und Empfänger der klassischen Homematic-Serie

Moderator: Co-Administratoren

Antworten
insp
Beiträge: 148
Registriert: 08.06.2014, 12:01
Danksagung erhalten: 1 Mal

Frage zum beigelegte Programm

Beitrag von insp » 18.04.2019, 18:14

Das Programm funktioniert bedingt.
Zum konkreten Fall:
Variable Boiler-Tagestemeratur ist war
Variable Raum_Temperatur_Wohnzimmer falsch
Wenn ich das Progamm mit dem Haken aktiviere schaltet …680:2 sofort auf "ein" soweit ok
Wenn ich nun mit einem Drittprogramm oder via Gui …680:2 ausschalte sollte meiner Meinung nach …680:2 wieder einschalten ev. etwas verzögert; tut es aber nicht. :( Meine Frage wiso?

Xel66
Beiträge: 14165
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 585 Mal
Danksagung erhalten: 1500 Mal

Re: Frage zum beigelegte Programm

Beitrag von Xel66 » 18.04.2019, 18:52

Vermutlich steht der Trigger auf "bei Änderung" und der Triggerwert hat sich nicht über den programmierten Grenzwert verändert. Ansonsten kann ich nichts "beigelegtes" sehen. Ist alles Glaskugel. Und der Grund für das Verhalten lässt sich vermutlich aus den in den Einsteigertipps hinterlegten Hinweisen oder im als Download beim Hersteller verfügbaren Handbuch zur WebUI zur Art und Weise, wie die CCU die Programme triggert und abarbeitet nachvollziehen. In den Einsteigertipps steht auch, wie man Screenshots von Programmen hier im Forum einfügt.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

insp
Beiträge: 148
Registriert: 08.06.2014, 12:01
Danksagung erhalten: 1 Mal

Re: Frage zum beigelegte Programm

Beitrag von insp » 19.04.2019, 20:14

Nochmals den Dateiangang. Ich habe das Problem bedingt gefunden. Wenn ich die Variable von wahr/falsch auf logic /1/0 ändere funktioniert es wie gewollt! ist das ev ein BUG. Mein das benutzen doch viele!
hm.jpg
hm1.jpg

Xel66
Beiträge: 14165
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 585 Mal
Danksagung erhalten: 1500 Mal

Re: Frage zum beigelegte Programm

Beitrag von Xel66 » 19.04.2019, 20:28

insp hat geschrieben:
18.04.2019, 18:14
Wenn ich nun mit einem Drittprogramm oder via Gui …680:2 ausschalte sollte meiner Meinung nach …680:2 wieder einschalten ev. etwas verzögert;
Warum? In Deinem Programm ist dieses nirgendwo angelegt. Das Ausschalten wird nicht überprüft. Die einzigen Trigger sind die Systemvariablen und die Zeiten. Ergeben sich dort keine Änderungen, wird das Programm auch nicht abgearbeitet. Dann ist da noch ein SONST WENN mit Aktionen aber ohne Trigger drin. Wozu ist das? Das Leerfeld im SONST muss auch noch gelöscht werden. Ist auch eine potenzielle Fehlerquelle. Außerdem ist das gleichzeitige Senden zweier Zustande an einen Aktor nur bei wired zu empfehlen. Bei Funk kann es schnell zu Kollisionen kommen. Auch wenn es sich hier um ein und denselben Aktor handelt. Ich würde erst mal aufräumen. Das Programm hat auch nur am Rande was mit Deiner Erzählung aus dem ersten Posting zu tun.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

insp
Beiträge: 148
Registriert: 08.06.2014, 12:01
Danksagung erhalten: 1 Mal

Re: Frage zum beigelegte Programm

Beitrag von insp » 19.04.2019, 21:51

Mal Dank für die schnelle Antwort. Da das triggern der Variable habe ich nicht beigelegt, das hat ja auch laut GUI funktioniert. Ich habe das Programm vereinfacht um das Problem einfach zu dokumentieren. Das Problem war, dass trotz der Variabel Boiler Temperatur falsch die Aktoren nicht reagiert haben bei Script aktivieren. Mit Logik 0/1 war alles palleti.
Was neu für mich ist, dass ich auf einen Mehrkanal-Funkaktor nicht ein Kanal einschalten und den 2 sofort ausschalten soll. Steht das irgendwo, soll man das ein Delay dazwischen basteln, aber wie

Xel66
Beiträge: 14165
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 585 Mal
Danksagung erhalten: 1500 Mal

Re: Frage zum beigelegte Programm

Beitrag von Xel66 » 19.04.2019, 23:17

insp hat geschrieben:
19.04.2019, 21:51
...Programm vereinfacht um das Problem einfach zu dokumentieren.
Ist nicht zielführend, da man so eben eventuelle Nebeneffekte nicht analysieren kann. So wie oben ist das Programm jedenfalls kaputt.
Variabel Boiler Temperatur falsch ...Logik 0/1 war alles palleti.
Ich weiß nicht, was Du mir damit sagen willst. Eine Variable, die ihren Inhalt zwischen WAHR/FALSCH wechselt, ist eine Logikvariable. Was ist Logik 0/1? Änderst Du nur die Texte? Die sind eigentlich egal, da sie nur auf die boolschen Zustände 0/1 in der WebUI gemapt werden.
Steht das irgendwo, soll man das ein Delay dazwischen basteln, aber wie
Ob du nun zwei Kanäle von zwei Aktoren ansteuerst oder die Kanäle sich in einem Aktor befinden, ist egal. Es sind getrennte Funksignale, deren Empfang und Ausführung auch jeweils von der Gegenseite quittiert werden müssen. Hierbei können Kollisionen auftreten, da das klassische HM keine Kanalüberwachung macht. Für das Delay ist das Dropdown "sofort" zuständig. Eine Verzögerung von einer Sekunde sollte reichen.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

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

Re: Frage zum beigelegte Programm

Beitrag von Linnet998 » 20.04.2019, 03:51

Werde das Gefühl nicht los das der zweite Zweig nicht das macht was du willst... denn grundsätzlich gilt Wird irgendwo im Programm etwas getriggert egal ob alles andere im Zweig falsch ist... wird das ganze Programm von oben nach unten geprüft und der erste richtige Zweig ausgeführt. D.h
Wird in deinem zweiten Zweig die Temperatur auf wahr springen und dein Boiler ist falsch wird dennoch dein erster Zweig ausgelöst!!! Ist das so von dir gewollt???

insp
Beiträge: 148
Registriert: 08.06.2014, 12:01
Danksagung erhalten: 1 Mal

Re: Frage zum beigelegte Programm

Beitrag von insp » 20.04.2019, 10:14

Ja danke für die Hilfe nun muss ich aber diverse Programme anpassen

insp
Beiträge: 148
Registriert: 08.06.2014, 12:01
Danksagung erhalten: 1 Mal

Re: Frage zum beigelegte Programm

Beitrag von insp » 20.04.2019, 13:58

ja jetzt habe ich doch noch eine Frage zum Delay. Da das ja die CCU sendet/empfängt auf einem Kanal müsste ja in allen Programmen ein Delay für alle Aktoren gesetzt werden da es ja auch Konflikte zwischen Aktor A und B kommen kann, und weiter wenn die Programme parallel laufen! Verstehe ich da was falsch. Ist ja nicht sehr Programmierfreundlich wenn ich mich um Timing-Probleme kümmern muss. Bei IP geht das ja indem zuert gehört wird und erst dann gesendet (CSMA). Sollte es denn noch eine Kollision geben wird der Vorgang wiederholt

Xel66
Beiträge: 14165
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 585 Mal
Danksagung erhalten: 1500 Mal

Re: Frage zum beigelegte Programm

Beitrag von Xel66 » 20.04.2019, 16:37

insp hat geschrieben:
20.04.2019, 13:58
...und weiter wenn die Programme parallel laufen! Verstehe ich da was falsch.
...Sollte es denn noch eine Kollision geben wird der Vorgang wiederholt
Erst mal können keine Programme parallel abgearbeitet werden. Es erscheint dem Anwender zwar gleichzeitig, ist aber in Wirklichkeit seriell. Insofern ergeben sich aus dieser Tatsache keine gleichzeitigen Funkaussendungen. Listen before talk machen nur die IP-Geräte. Aber auch klassisches HM wiederholt Aussendungen, wenn Quittierungen ausbleiben. Das ist ja gerade der Vorteil eines bidirektionalen Systems. Darum erhöhen nicht/schlecht erreichbare Aktoren ja auch den Duty Cycle etwas, weil ggf. mehr/wiederholt gesendet werden muss. Die Anzahl der Wiederholungen kann man auch konfigurieren. Und auf normalerweise bis zu 10 hochdrehen.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Antworten

Zurück zu „HomeMatic Aktoren und Sensoren (klassisch)“