Probleme bei der Logik bei Programmen...
Moderator: Co-Administratoren
-
- Beiträge: 21
- Registriert: 15.10.2017, 17:57
Probleme bei der Logik bei Programmen...
Hallo Zusammen,
ich bin ganz neu hier im Forum und möchte mich schon mal dafür entschuldigen das ich eventuell dieses Thema erneut bzw. an der Falschen Stelle eingebracht habe.
Ich beschäftige mich seit ein paar Monaten mit Homematic und wollte nun meine Programme verfeinern bzw. die Ratschläge die man hier im Forum so aufschnappt mir mal zu Herzen nehmen. Mehr mit Variablen und nicht zu komplexen Programmen, lieber kleinere.
Mit diesen Vorgaben wollte ich meine Rolladensteuerung optimieren und habe gemerkt, das ich die Logik wohl noch nicht ganz verstanden habe.
Ich habe einige Variablen angelegt, die ich in den verschieden Programmen verküpfen möchte und bei bedarf auch Gegenseitig verriegeln werde.
Var. Sturmschutz -> Rollo 0%
Var. Lüftung -> Rollo 75%
Var. Brandalarm -> Rollo 100%
Var. Einbruch -> Rollo 100%
Var. Rollos Hand / Automatik
Var. Astrofunktion +30 für Tag und Nacht
Taster Manu Rollo hoch
Taster Manu Rollo runter
Lüftung bedeutet, wenn Nachts die Rollos unten sind und ich das Fenster noch mal öffne, fährt das Rollo auf 75% und wenn ich das Fenster wieder schliesse färht es wieder zu.
Ich habe die Programme geschrieben...
1 Prog. Rollo Öffnen
2. Prog. Rollo Schliessen
3. Prog. Rollo Lüften
4. Prog. Rollo Sonnenschutz
Irgendwo habe ich aber einen Denkfehler, da meine Programme Teilweise nicht funktionieren.
ich bin ganz neu hier im Forum und möchte mich schon mal dafür entschuldigen das ich eventuell dieses Thema erneut bzw. an der Falschen Stelle eingebracht habe.
Ich beschäftige mich seit ein paar Monaten mit Homematic und wollte nun meine Programme verfeinern bzw. die Ratschläge die man hier im Forum so aufschnappt mir mal zu Herzen nehmen. Mehr mit Variablen und nicht zu komplexen Programmen, lieber kleinere.
Mit diesen Vorgaben wollte ich meine Rolladensteuerung optimieren und habe gemerkt, das ich die Logik wohl noch nicht ganz verstanden habe.
Ich habe einige Variablen angelegt, die ich in den verschieden Programmen verküpfen möchte und bei bedarf auch Gegenseitig verriegeln werde.
Var. Sturmschutz -> Rollo 0%
Var. Lüftung -> Rollo 75%
Var. Brandalarm -> Rollo 100%
Var. Einbruch -> Rollo 100%
Var. Rollos Hand / Automatik
Var. Astrofunktion +30 für Tag und Nacht
Taster Manu Rollo hoch
Taster Manu Rollo runter
Lüftung bedeutet, wenn Nachts die Rollos unten sind und ich das Fenster noch mal öffne, fährt das Rollo auf 75% und wenn ich das Fenster wieder schliesse färht es wieder zu.
Ich habe die Programme geschrieben...
1 Prog. Rollo Öffnen
2. Prog. Rollo Schliessen
3. Prog. Rollo Lüften
4. Prog. Rollo Sonnenschutz
Irgendwo habe ich aber einen Denkfehler, da meine Programme Teilweise nicht funktionieren.
- Dateianhänge
-
- 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: Probleme bei der Logik bei Programmen...
Und jetzt?
Sollen wir anhand deiner Screenshots selbst herausfinden, was nicht funktioniert? Zu einer Fehlerbeschreibung gehört eigentlich, den Fehler zu beschreiben.
Sollen wir anhand deiner Screenshots selbst herausfinden, was nicht funktioniert? Zu einer Fehlerbeschreibung gehört eigentlich, den Fehler zu beschreiben.
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.
-
- Beiträge: 3083
- Registriert: 23.08.2015, 11:06
- System: CCU
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 111 Mal
Re: Probleme bei der Logik bei Programmen...
Hallo,
und willkommen im Forum.
Bitte stelle die abgeschnittenen Screenshots neu und komplett ein. Z.B. in Firefox zoomst Du dafür mit "STRG" und "-" das Bild rein, bis Du den ganzen Inhalt für den Screenshot siehst.
Und was genau geht nicht?
LG
Stefan
und willkommen im Forum.
Bitte stelle die abgeschnittenen Screenshots neu und komplett ein. Z.B. in Firefox zoomst Du dafür mit "STRG" und "-" das Bild rein, bis Du den ganzen Inhalt für den Screenshot siehst.
Und was genau geht nicht?
LG
Stefan
Ich übernehme keine Haftung für von mir gegebene Antworten, Tipps und veröffentlichte Projekte! Jeder ist für sich selbst verantwortlich! Arbeiten an 230V sind von einer Elektrofachkraft auszuführen!
Homematic in Betrieb seit 15.08.2015, > 60 HM-Komp. | 3x USV APC ES400 | Visualisierung auf ioBroker | Audio: Home24-Apps
Raspberrymatic auf DS923+ in VMM (Produktivsystem1)
Rollläden, SSD, Wetter, Logging, Licht, RM, Sonos, Shelly
Raspberrymatic auf DS923+ in VMM (Produktivsystem2 )
Erweiterung GMA, Heizung, Licht, Shelly, SSD, Sonos
>100 Shelly-Geräte an Homematic | CCU2 endgültig in Rente | 3 Raspis als Rückfallebene für Raspimatic und ioBroker
Shelly an Homematic | Infrarot-Heizungssteuerung | Fensteröffnungszeit überwachen
Homematic in Betrieb seit 15.08.2015, > 60 HM-Komp. | 3x USV APC ES400 | Visualisierung auf ioBroker | Audio: Home24-Apps
Raspberrymatic auf DS923+ in VMM (Produktivsystem1)
Rollläden, SSD, Wetter, Logging, Licht, RM, Sonos, Shelly
Raspberrymatic auf DS923+ in VMM (Produktivsystem2 )
Erweiterung GMA, Heizung, Licht, Shelly, SSD, Sonos
>100 Shelly-Geräte an Homematic | CCU2 endgültig in Rente | 3 Raspis als Rückfallebene für Raspimatic und ioBroker
Shelly an Homematic | Infrarot-Heizungssteuerung | Fensteröffnungszeit überwachen
-
- Beiträge: 21
- Registriert: 15.10.2017, 17:57
Re: Probleme bei der Logik bei Programmen...
@Manfredh
Hallo Manfred,
da hast du natürlich recht, eigentlich sollte noch ein Text unter den Bildern stehen
Fehlerbeschreibung kommt mit den neuen Bildern
@Stefan
Danke Dir für den Tip,
Bilder kommen neu, mit einer Beschreibung der Fehler....
Hallo Manfred,
da hast du natürlich recht, eigentlich sollte noch ein Text unter den Bildern stehen
Fehlerbeschreibung kommt mit den neuen Bildern
@Stefan
Danke Dir für den Tip,
Bilder kommen neu, mit einer Beschreibung der Fehler....
-
- Beiträge: 21
- Registriert: 15.10.2017, 17:57
Re: Probleme bei der Logik bei Programmen...
Hallo Zusammen,
jetzt noch einmal und auch etwas ausführlicher...., sorry nochmal.
Mit Rollo Hand/Automatik werden ein Teil der Automatikfahrten frei gegeben ( Sonnenschutz, Lüftung, Sturmschutz, Astro+30)
Brandalarm und Einbruch sollen auch im Hand Modus funktionieren. Im Automatikmodus kann ich trotzdem noch manuell fahren.
1. Problem: Rollos fahren von hoch wenn die Var. Astro+30 auf Tag springt, aber nicht hinunter bei Nacht...
2. Problem: Wenn ich die Var. Rollo Hand/Auto umschalte auf Auto , schaltet mein Rolladenaktor ein und nach 2 Sec. wieder aus.
3. Problem: Wenn die Var. Brandalarm kommt fährt das Rollo Hoch, so wie es soll, aber beim abschalten der Var. Brandalarm klackt wieder mein Rolladenaktor Ein und nach 2 Sec. wieder aus.
Der Rest funktioniert so wie er soll.
Ich finde nicht das Problem in den Programmen und auch keine Überschneidungen.
Mir ist klar, das bei "Änderung auslösen" das Programm getriggert, bzw gestartet wird und immer von oben nach unten durchläuft, bis die erste Logische funktion übereinstimmt und dann die "Dann" Funktion ausführt.
Dieses Ein/Auschalten des Aktors kann ja nur durch eine gegeläufige Funktion entstehen, ich meine ein Teil meines Programms sagt Rollo hoch und direkt danach ist eine andere Logische Funktion wahr, die sagt Rollo wieder runter.
Aber allein die Umschaltung von Hand nach Auto erzeugt bei mir diese Aktion, das der Aktor ein und direkt wieder ausschaltet.
Das kann ich nicht nachvollziehen.
Ich hoffe ihr könnt mir helfen und ein paar Tips geben, worauf man achten sollte.....
danke euch
jetzt noch einmal und auch etwas ausführlicher...., sorry nochmal.
Mit Rollo Hand/Automatik werden ein Teil der Automatikfahrten frei gegeben ( Sonnenschutz, Lüftung, Sturmschutz, Astro+30)
Brandalarm und Einbruch sollen auch im Hand Modus funktionieren. Im Automatikmodus kann ich trotzdem noch manuell fahren.
1. Problem: Rollos fahren von hoch wenn die Var. Astro+30 auf Tag springt, aber nicht hinunter bei Nacht...
2. Problem: Wenn ich die Var. Rollo Hand/Auto umschalte auf Auto , schaltet mein Rolladenaktor ein und nach 2 Sec. wieder aus.
3. Problem: Wenn die Var. Brandalarm kommt fährt das Rollo Hoch, so wie es soll, aber beim abschalten der Var. Brandalarm klackt wieder mein Rolladenaktor Ein und nach 2 Sec. wieder aus.
Der Rest funktioniert so wie er soll.
Ich finde nicht das Problem in den Programmen und auch keine Überschneidungen.
Mir ist klar, das bei "Änderung auslösen" das Programm getriggert, bzw gestartet wird und immer von oben nach unten durchläuft, bis die erste Logische funktion übereinstimmt und dann die "Dann" Funktion ausführt.
Dieses Ein/Auschalten des Aktors kann ja nur durch eine gegeläufige Funktion entstehen, ich meine ein Teil meines Programms sagt Rollo hoch und direkt danach ist eine andere Logische Funktion wahr, die sagt Rollo wieder runter.
Aber allein die Umschaltung von Hand nach Auto erzeugt bei mir diese Aktion, das der Aktor ein und direkt wieder ausschaltet.
Das kann ich nicht nachvollziehen.
Ich hoffe ihr könnt mir helfen und ein paar Tips geben, worauf man achten sollte.....
danke euch
- Dateianhänge
Re: Probleme bei der Logik bei Programmen...
Prob. 1: Es kann abends nicht schließen weil es nirgends im Programm enthalten ist.ups, mein Fehler, ist doch enthalten und müsste Funktionieren
Prob. 2: Status der Variable ändert sich, Programm wird ausgelöst, es gibt mind. 1 erfüllten Block, Fahrbefehl wird erteilt obwohl Sollzustand bereits erreicht ist. Lösung: Behanghöhe als Bedingung prüfen
Prob. 3: identisch zu 2
Prob. 2: Status der Variable ändert sich, Programm wird ausgelöst, es gibt mind. 1 erfüllten Block, Fahrbefehl wird erteilt obwohl Sollzustand bereits erreicht ist. Lösung: Behanghöhe als Bedingung prüfen
Prob. 3: identisch zu 2
Zuletzt geändert von JRiemann am 15.10.2017, 22:09, insgesamt 1-mal geändert.
Viele Grüße!
Jörg
Jörg
-
- Beiträge: 3083
- Registriert: 23.08.2015, 11:06
- System: CCU
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 111 Mal
Re: Probleme bei der Logik bei Programmen...
Hallo.
Jörg hat mir gerade die Schreibarbeit abgenommen und war schneller. Danke Jörg.
Ergänzend noch ein Hinweis zu den Screenshots:
Wenn Du bei gezoomten Screen nur die genutzte Breite als Screenshot markierst, wird es noch deutlicher lesbar.
LG
Stefan
Jörg hat mir gerade die Schreibarbeit abgenommen und war schneller. Danke Jörg.
Ergänzend noch ein Hinweis zu den Screenshots:
Wenn Du bei gezoomten Screen nur die genutzte Breite als Screenshot markierst, wird es noch deutlicher lesbar.
LG
Stefan
-
- 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: Probleme bei der Logik bei Programmen...
Zu Problem 2 ein Hinweis, der vielleicht zum Verständnis beiträgt:
Die Programmlogik prüft von sich aus nicht, ob ein (Schalt-)Zustand bereits vorhanden ist. Auch ein Rollladen, der z.B. bereits bei 0 % steht, erhält erneut einen Fahrbefehl auf 0 %, wenn die Bedingung eines ablaufenden Programmes dies ergibt.
Das entsprechende Richtungsrelais zieht dann für ca. 2 Sekunden an - was übrigens auch bei lokaler Betätigung passiert.
Weniger schlimm ist dabei, dass der Aktor schaltet, schlimmer ist das Verbraten von Sendezeit - Stichwort Duty-Cycle.
Gruß
Manfred
Die Programmlogik prüft von sich aus nicht, ob ein (Schalt-)Zustand bereits vorhanden ist. Auch ein Rollladen, der z.B. bereits bei 0 % steht, erhält erneut einen Fahrbefehl auf 0 %, wenn die Bedingung eines ablaufenden Programmes dies ergibt.
Das entsprechende Richtungsrelais zieht dann für ca. 2 Sekunden an - was übrigens auch bei lokaler Betätigung passiert.
Weniger schlimm ist dabei, dass der Aktor schaltet, schlimmer ist das Verbraten von Sendezeit - Stichwort Duty-Cycle.
Gruß
Manfred
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.
-
- Beiträge: 21
- Registriert: 15.10.2017, 17:57
Re: Probleme bei der Logik bei Programmen...
Hallo an alle,
danke für eure Hilfe und Unterstützung
Ich habe die Idee von Jörg, die Behanghöhe des Rollos zum "Prüfen" als Abfrage, mit eingebaut.
Das Rollo soll natürlich nur dann Hoch fahren, wenn es noch nicht oben ist, das habe ich übersehen.
Manfred hat den DC Wert erwähnt, das möchte ich natürlich vermeiden aber ich möchte auch nicht unnötige Schaltspiele an meinen Aktoren verursachen.
@Stefan, das mit den Screenshots werde ich mir nochmal zu Gemüte führen
Meine Astro+30 Var. funktioniert, sie schaltet zuverlässig zwischen Tag und Nacht um.
AUSSER
Es gibt einen Unterschied ob ich die Var. von Hand schalte oder ob es durch ein Programm ausgelöst wird!
Momentan teste ich die einzelnen Abläufe, indem ich die entsprechende Var. von Hand umschalte.
Ich habe das "Gästebad Rollo öffnen" Programm neu geschrieben und zwischendurch getestet,
Doch im letzten Step (2. oder Verknüpfung, Hand/Automatik )passiert wieder das der Aktor 2 mal schaltet.
Mein Programm besteht aus 5 "oder" Verknüpfungen. Jede einzelne hat eine andere Funktion die auf "auslösen bei Änderung" steht und die Abfrage der Position ist auch drin. Zur Testzeit war mein Rollo oden , also größer 90%. Beim wechsel von Hand/Auto dürfte der Aktor doch nicht schalten, oder verstehe ich das immer noch falsch?
Bild zeigt nur die "Wenn" Funktionen, danach kommt direkt die "Dann" Funktion -> Rollo auf 100%
@Stefan, zum schmunzeln
Hätte ich das Bild mit Strg - noch kleiner gemacht damit alles drauf ist, hätte man es nicht mehr lesen können....
mfg
Rene
danke für eure Hilfe und Unterstützung
Ich habe die Idee von Jörg, die Behanghöhe des Rollos zum "Prüfen" als Abfrage, mit eingebaut.
Das Rollo soll natürlich nur dann Hoch fahren, wenn es noch nicht oben ist, das habe ich übersehen.
Manfred hat den DC Wert erwähnt, das möchte ich natürlich vermeiden aber ich möchte auch nicht unnötige Schaltspiele an meinen Aktoren verursachen.
@Stefan, das mit den Screenshots werde ich mir nochmal zu Gemüte führen
Meine Astro+30 Var. funktioniert, sie schaltet zuverlässig zwischen Tag und Nacht um.
AUSSER
Es gibt einen Unterschied ob ich die Var. von Hand schalte oder ob es durch ein Programm ausgelöst wird!
Momentan teste ich die einzelnen Abläufe, indem ich die entsprechende Var. von Hand umschalte.
Ich habe das "Gästebad Rollo öffnen" Programm neu geschrieben und zwischendurch getestet,
Doch im letzten Step (2. oder Verknüpfung, Hand/Automatik )passiert wieder das der Aktor 2 mal schaltet.
Mein Programm besteht aus 5 "oder" Verknüpfungen. Jede einzelne hat eine andere Funktion die auf "auslösen bei Änderung" steht und die Abfrage der Position ist auch drin. Zur Testzeit war mein Rollo oden , also größer 90%. Beim wechsel von Hand/Auto dürfte der Aktor doch nicht schalten, oder verstehe ich das immer noch falsch?
Bild zeigt nur die "Wenn" Funktionen, danach kommt direkt die "Dann" Funktion -> Rollo auf 100%
@Stefan, zum schmunzeln
Hätte ich das Bild mit Strg - noch kleiner gemacht damit alles drauf ist, hätte man es nicht mehr lesen können....
mfg
Rene