Shop-Wechsel

Der Warenkorb wird nicht übernommen.

Zum Firmenkunden / Bildungseinrichtungs Shop

Homematic IP Hausautomation

Programm Problem mit Prüfung einer Variable - CCU3

Beiträge zu diesem Thema: 5
Programm Problem mit Prüfung einer Variable - CCU3
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
21.01.2021, 21:53
Bitte seite nachsichtig mit mir, ich bin noch neu hier, keine Ahnung ob ich mit einer Frage im richten Forum gelandet bin.

Ich habe ein Programm erstellen welches soweit auch funktioniert. Vorab, ich verwende eine Variable zum Abfragen eines Kontakts.

Bedingung:

Zeitsteuerung > Täglich um XX:XX > zu Zeitpunkt auslösen

UND

Systemzusand >"Kontakt" bei > geschlossen > nur prüfen

Aktivität:

Geräteauswahl > "Aktor" > sofort >Schaltzustand: ein



Soweit funktioniert das. Jetzt stehe ich aber vor der Herausvorderung wenn der Kontakt nicht in 5Sek. auf "offen" geht, möchte ich den Aktor sofort in den Schaltzustand: aus versetzen. Soll ein Sicherheitsmechanissmus sein.

Wir realisiert man sowas? Ich habe schon versucht ein extra programm mittels script aus diesem programm zu starten welches mit den zustand des kontaktes prüft und wenn nicht offen, dann den aktor ausschaltet. Mir ist bewusst, dass eine "nur Prüfen" funktion kein Porgamm ausführt. Aus diesem Grund habe ich mal zwecks Test einfach die Bedingung mit "Zeitsteuerung" > "Ganztägig" erweitert, hat aber nicht funktioniert. Ich habe echt schon alles versucht, videos gekuckt, 6 Stunden im Netz gesucht, aber soweit bin ich anscheinen noch nicht dass ich sowas realisieren kann.

Bin für jeden Tipp dankbar.
Aw: Programm Problem mit Prüfung einer Variable - CCU3
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
21.01.2021, 23:14
Hallo Quixtos,

verstehe ich das richtig.....die Schaltfunktion soll nur ausgelöst werden, wenn der TFK länger als 55 sec offen ist… Dann ergänze im Gerätemenü die Eventverzögerung auf 1 min. D.h. erst wenn der TFK > 60 sec offen ist, wird sein Status ausgewertet.
Oder meinst Du...es wird aber auf jeden Fall bei der o.g. Bedingung der Aktor EIN-geschaltet, wenn aber der TFK > 55 sec offen ist, soll danach der Aktor AUS-geschaltet werden. Dann sehe Dir einmal folgendes Programm an:
Wenn: TFk - offen - bei Änderung auslösen
UND
Aktor - Schaltzustand: ein - nur prüfen
Dann: ..Aktor - verzögert um > 55sec - Schaltzustand: aus
Viele Grüße..elkotek
Aw: Programm Problem mit Prüfung einer Variable - CCU3
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
22.01.2021, 06:42
Hallo Elko,
ich versuchs nochmal zu erklären an einem Beispiel. Ich möchte wenn bestimmte Vorraussetzungen gegeben (z.B 1x täglich um XX:XX Uhr) mit einem Linearmotor eine Türe öffen. Soweit so gut, das funktioniert. Türe offen / geschlossen überwache ich mit dem HmIP-FCI1 und einem Mikroschalter.

Wenn das Programm jetzt gestartet wurde, ändert der Mikroschalter ja von "geschlossen" auf "offen" und schreibt mir das in eine Variable. Jetzt möchte ich aber wenn das Programm gestartet wurde, dass nach 5 Seknuden geprüft wird ob der Status auch wirklich auf "offen" ist. Wenn der HmIP-FCI1 "offen" meldet soll der Linearmotor XX Sek weiterlaufen. Ist dies nicht der Fall und der HmIP-FCI1 meldet weiterhin "geschlossen", muss das Programm sofort abgebrochen werden und der Linearmotor XX Sek zurück in seine ursprüngliche Position fahren.

Das ganze funktioniert auch (Variable setzen, Auf / Zu über 2 Channels an einem SW4-DR-2 mit Umpolrelais für den Linearmotor, Zeitpunkt wann das Programm ausgeführt wird). Nur mit der Prüfung nach XX Sekunden des Kontakts des HmIP-FCI1 oder der Variable scheitert es bei mir. Eventuell denke ich noch anderes als das Programm.
Aw: Programm Problem mit Prüfung einer Variable - CCU3
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
22.01.2021, 08:20
Hallo Quixtos,

Ok.. im Prinzip möchtest Du eine Laufzeit des Status offen überwachen ..hier 5 sec bzw. die aktuelle Einschaltdauer einer Systemvariablen vom Typ Logik.. Dies geht mit normalen Boardmitteln nicht, da Zeitintervalle nur > 15 min mit der CCU2/CCU3 nicht realisiert werden können.
Lade Dir hierzu CuXD herunter ----> https://www.homematic-inside.de/suche/cuxd. --- Timer mit Set und event. Die Vorgehensweise ist in der Dokumentation im wesentlichen beschrieben.
Viele Grüße..elkotek
Aw: Programm Problem mit Prüfung einer Variable - CCU3
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
22.01.2021, 10:15
Hallo Quixtos,

wenn Du CUxD nicht verwenden möchtest, gibt es für Deine Applikation folgenden konventionellen Weg.

Erstelle hierzu 2 Systemvariable vom Typ Logik (wahr/falsch..1/0).
SYS1 --> Ergebnis Deiner Aktion
SYS2 –-> als Hilfsgröße für die Zeitüberwachung von z.B. 5 sec

1. Programm
Wenn: SYS1 ist wahr ..bei Änderung auslösen
Dann: SyY2– verzögert um 5sec – ist wahr
Sonst: SYS2 – sofort – ist falsch

2. Programm ...für die eigentliche Bewertung nach 5sec
Wenn: SYS2 – ist wahr – bei Änderung auslösen
UND
SYS1 – bei – ist wahr – nur prüfen
Dann: Ergebnis….alles in Ordnung nach 5 sec
Sonst: Ergebnis – nicht ok …Bedingung für SYS1 ist nach 5 sec nicht erfüllt
Viele Grüße..elkotek