Hi zusammen,
ich versuche mich mal wieder an Programmen und verzweifle etwas an den Sonst, wenn Bedingungen. Ich möchte Dinge verschachteln um die Übersicht zu behalten. Bisher habe ich sowas immer getrennt gebaut, finde aber nun ab und an einfach die Dinge nicht wieder.
Beispiel:
Ich möchte morgens, sobald eine Lampe angeht, den Rolladen hochfahren lassen. Zusätzlich soll, wenn es draußen Dunkel ist, Lampe2 angehen.
Ich bekomme es aber irgendwie nicht in einer Regel hin.
Meine Regel sagt derzeit:
Wenn: Lampe an (bei Änderung auslösen)
Dann: Rolladen hoch
Sonst, wenn: Lampe an (bei Änderung auslösen) UND Helligkeit < 500 (nur prüfen)
Dann: Lampe2 an
Ich hatte es auch schon so versucht, hatte dann aber Chaos mit den Rolläden:Wenn: Lampe an (bei Änderung auslösen)
Dann: Rolladen hoch
Sonst, wenn: Lampe an (bei Änderung auslösen) UND Helligkeit < 500 (nur prüfen)
Dann: Lampe2 an UND Rolladen hoch
Bevor ich nun weiter suche und ständig die Rolläden hoch/runter düsen lassen: Geht so eine Verschachtelung überhaupt die ich vorhabe? Oder müssen es tatsächlich zwei Programme sein?
Oder gehe ich das ganze "verkehrt herum an"? Oben mit Prüfung und unten ohne Prüfung? Also eher so:
Wenn: Lampe an (bei Änderung auslösen) UND Helligkeit < 500 (nur prüfen)
Dann: Lampe2 an
Sonst, wenn: Lampe an (bei Änderung auslösen)
Dann: Rolladen hoch
Trigger ist doch immer die erste Regel, habe ich zumindest gelesen.
Grüße
Manuel
Sonst / wenn: Zusätzlich Dinge ausführen wenn eine Prüfung positiv ist
Moderator: Co-Administratoren
- robbi77
- Beiträge: 13845
- Registriert: 19.01.2011, 19:15
- System: CCU
- Wohnort: Landau
- Hat sich bedankt: 181 Mal
- Danksagung erhalten: 738 Mal
Re: Sonst / wenn: Zusätzlich Dinge ausführen wenn eine Prüfung positiv ist
Programm wird gestartet (durch welchen Trigger und wo der im Programm ist scheiß egal)
Programm prüft von oben nach unten die Bedingungen
Programm sieht die ersten Wenn Bedingungen erfüllt
Programm führt erstes Dann aus
Programm geht wieder ins Bett
Also:
2 Programme machen
Programm prüft von oben nach unten die Bedingungen
Programm sieht die ersten Wenn Bedingungen erfüllt
Programm führt erstes Dann aus
Programm geht wieder ins Bett
Also:
2 Programme machen
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 ...
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 ...
-
- Beiträge: 4154
- Registriert: 26.01.2016, 08:14
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Renningen
- Hat sich bedankt: 348 Mal
- Danksagung erhalten: 284 Mal
Re: Sonst / wenn: Zusätzlich Dinge ausführen wenn eine Prüfung positiv ist
Geht fast:
Wenn: Lampe an (bei Änderung auslösen) UND Helligkeit < 500 (nur prüfen)
Dann: Rolladen hoch
Dann: Lampe2 an
Sonst
Dann: Rolladen hoch
Wenn ein "WENN" Zweig abgearbeitet wird ist das Programm vorbei.
Re: Sonst / wenn: Zusätzlich Dinge ausführen wenn eine Prüfung positiv ist
Als Sparmaßnahme Programme zusammenzulegen und artfremde Schaltungen (Rollladen und Licht) zu vermischen macht in den wenigsten Fällen Sinn.
Der Rollladen und Lampe2 haben zwar mit Licht1 den selben Auslöser, aber die eigentlichen Schaltbedingungen sind unterschiedlich.
Bedingung Roll: fahre hoch wenn Licht1 an. Bedingung Licht2: Schalte ein wenn Licht1 an draußen dunkel.
Sowas kann nur halbherzig und fehlerbehaftet in einem Programm umgesetzt werden. Außerdem kann man in solchen Programmen keine Rücksicht auf den DC und die Funkhygiene nehmen und z.B. nur einschalten wenn das Licht aus ist.
Grundsätzlich sollte man verschiedenartige Aufgaben nicht vermischen und für die Licht- und Rollsteuerung getrennte Programme nutzen.
Die Aufteilung der Aufgaben in WENN fürs eine und SONST-WENN fürs andere kann auf Grund der Programmlogik der CCU nicht funktionieren.
Ein Programm kann zwar aus jedem Bereich getiggert werden und der Durchlauf startet dann in Zeile 1, sobald aber ein erfüllter Block gefunden und das folgende DANN ausgeführt wird endet der Durchlauf an dieser Stelle. Alle noch folgenden Blöcken dann ignoriert.
Der Rollladen und Lampe2 haben zwar mit Licht1 den selben Auslöser, aber die eigentlichen Schaltbedingungen sind unterschiedlich.
Bedingung Roll: fahre hoch wenn Licht1 an. Bedingung Licht2: Schalte ein wenn Licht1 an draußen dunkel.
Sowas kann nur halbherzig und fehlerbehaftet in einem Programm umgesetzt werden. Außerdem kann man in solchen Programmen keine Rücksicht auf den DC und die Funkhygiene nehmen und z.B. nur einschalten wenn das Licht aus ist.
Grundsätzlich sollte man verschiedenartige Aufgaben nicht vermischen und für die Licht- und Rollsteuerung getrennte Programme nutzen.
Die Aufteilung der Aufgaben in WENN fürs eine und SONST-WENN fürs andere kann auf Grund der Programmlogik der CCU nicht funktionieren.
Ein Programm kann zwar aus jedem Bereich getiggert werden und der Durchlauf startet dann in Zeile 1, sobald aber ein erfüllter Block gefunden und das folgende DANN ausgeführt wird endet der Durchlauf an dieser Stelle. Alle noch folgenden Blöcken dann ignoriert.
Viele Grüße!
Jörg
Jörg
- Sammy
- Beiträge: 9172
- Registriert: 09.09.2008, 20:47
- Hat sich bedankt: 15 Mal
- Danksagung erhalten: 174 Mal
Re: Sonst / wenn: Zusätzlich Dinge ausführen wenn eine Prüfung positiv ist
@Jörg: Grundsätzlich ja, aber der Weg von Sven ist in diesem Fall trotzdem richtig und funktioniert genau so gut, wie 2 Programme.
Gruß Sammy
Gruß Sammy
Links: CCU-Logik, Tipps für Anfänger, WebUI-Doku, Expertenparameter, virtuelle Aktorkanäle
Inventur vom 22.01.14: 516 Kanäle in 165 Geräten, 132 Programme, 270 Direkte Verknüpfungen
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!
Inventur vom 22.01.14: 516 Kanäle in 165 Geräten, 132 Programme, 270 Direkte Verknüpfungen
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!
Re: Sonst / wenn: Zusätzlich Dinge ausführen wenn eine Prüfung positiv ist
Kleinlich gesehen entspricht der Vorschlag aber nicht zu 100% den Anforderungen des TE:
Die Fragestellung des TE klingt für mich auch so als sollen noch weitere Verschachtelungen unterschiedlicher Schaltungen erstellt werden. Frei nach dem Motto: Lieber 10 SONST-WENN wie 10 einzelne Programme.
Auch die Gegenprüfung der aktuellen Schaltzustände entfällt in der gezeigten Lösung.
Die Fragestellung des TE klingt für mich auch so als sollen noch weitere Verschachtelungen unterschiedlicher Schaltungen erstellt werden. Frei nach dem Motto: Lieber 10 SONST-WENN wie 10 einzelne Programme.
Viele Grüße!
Jörg
Jörg
-
- Beiträge: 197
- Registriert: 04.12.2018, 11:23
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 1 Mal
Re: Sonst / wenn: Zusätzlich Dinge ausführen wenn eine Prüfung positiv ist
Erst mal besten Dank für die Hinweise, damit kann ich versuchen da wieder etwas tiefer einzusteigen.
In Sachen Funkhygiene muss ich zugegebenermaßen noch einiges machen, da besteht Potential nach oben Ich habe für mich die Programme derzeit auch eher nach Tätigkeit als nach Gewerken gebaut. Ist für mich logischer, da mag aber jeder so eine Sortierung haben.
Und Jriemann liegt da schon richtig. Ich möchte am Ende etwas mehr Verschachteln, habe die Fragestellung aber sehr vereinfacht dargestellt um es nicht so kompliziert zu machen.
In Sachen Funkhygiene muss ich zugegebenermaßen noch einiges machen, da besteht Potential nach oben Ich habe für mich die Programme derzeit auch eher nach Tätigkeit als nach Gewerken gebaut. Ist für mich logischer, da mag aber jeder so eine Sortierung haben.
Und Jriemann liegt da schon richtig. Ich möchte am Ende etwas mehr Verschachteln, habe die Fragestellung aber sehr vereinfacht dargestellt um es nicht so kompliziert zu machen.
Raspi 3 mit piVCCU3