Programm schaltet variable nicht
Moderator: Co-Administratoren
Programm schaltet variable nicht
Hallo Leute,
Ich verstehe es einfach nicht:
Warum schaltet die VAR nicht?
Bin ich zu doof, oder spackt da die CCU ?
Lg
steffen
Ich verstehe es einfach nicht:
Warum schaltet die VAR nicht?
Bin ich zu doof, oder spackt da die CCU ?
Lg
steffen
Zuletzt geändert von Chevi am 19.09.2020, 19:49, insgesamt 2-mal geändert.
-
- Beiträge: 14261
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 597 Mal
- Danksagung erhalten: 1524 Mal
Re: Programm schaltet variable nicht
Vermutlich weil die Elevation nicht mehr größer als 20° war, als die Systemvariable "Sonne" ihren Status gewechselt hat. An meinem Standort war zu diesem Zeitpunkt die Elevation etwas größer als 8°. Und wenn man vom groben Daumenwert 12° pro Stunde (je nach Jahreszeit) ausgeht, dürfte es knapp mit den 20° werden.
Gruß Xel66
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
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
Re: Programm schaltet variable nicht
Hmm,
Ok, daaaas könnte natürlich sein...
Dann probiere ich das verUNDen und verODERen mal neu zu verknuddeln, und probiere...
Danke für den Denkanstoß!
Ok, daaaas könnte natürlich sein...
Dann probiere ich das verUNDen und verODERen mal neu zu verknuddeln, und probiere...
Danke für den Denkanstoß!
Re: Programm schaltet variable nicht
Ja, neee.....
Sollte doch trotzdem gehen!?
3 Bedingungen
wenn alle 3 wahr
dann VAR Süd auf wahr
Ansonsten (irgendeine Bedingung falsch)
Dann VAR Süd auf falsch
Es sind NICHT alle 3 Bedingungen wahr
Also sollte doch VAR Süd auf falsch schalten - steht aber auf wahr.
Sollte doch trotzdem gehen!?
3 Bedingungen
wenn alle 3 wahr
dann VAR Süd auf wahr
Ansonsten (irgendeine Bedingung falsch)
Dann VAR Süd auf falsch
Es sind NICHT alle 3 Bedingungen wahr
Also sollte doch VAR Süd auf falsch schalten - steht aber auf wahr.
-
- Beiträge: 9806
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 711 Mal
- Danksagung erhalten: 1656 Mal
Re: Programm schaltet variable nicht
Zum einen muss das Programm ausgelöst werden und "bei Änderung" ist auch eine Bedingung die erfüllt werden muss.
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Re: Programm schaltet variable nicht
Also entweder steh ich auf dem Schlauch, oder ihr missversteht mich....
Mein Verständnis:
WENN eine der 3 Bedingungen sich ändert —> DANN Programm auslösen
|—- WENN alle 3 Bedingungen = WAHR —> DANN Systemvariable = WAHR
|—- WENN NICHT alle 3 Bedingungen = WAHR —> DANN Systemvariable = FALSCH
Es waren im Screenshot nur 2 von 3 Bedingungen wahr, somit sollte doch die Systemvariable auf Falsch springen.
-
- Beiträge: 14261
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 597 Mal
- Danksagung erhalten: 1524 Mal
Re: Programm schaltet variable nicht
Die Bedingungsprüfung des Programms muss durch einen der Trigger angestoßen werden. Ändert sich keiner der Trigger über den hinterlegten Schwellwert, passiert auch nichts. Manuelles Starten des Programms führt immer das erste DANN ohne Prüfung der Bedingungen aus. Steht auch so im WebUI-Handbuch und in den Einsteigertipps.
Gruß Xel66
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
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
Re: Programm schaltet variable nicht
Ahhh, ok.
Das „manuelle starten dann erstes Wenn“ hatte ich nicht auf dem Schirm.
Beim Speichern wird ja m.W. Manuell gestartet!?
Somit würde sich das Verhalten erklären.
Es könnte so schön sein wenn die Logik einfach logisch wäre... wie es bei 100 anderen Programmiersprachen auch ist. Warum nur weicht man bei einer Scriptsprache nur von allen bekannten Regeln ab.... ich versteh‘s einfach nicht.
Danke für die Denkanstöße!
Das „manuelle starten dann erstes Wenn“ hatte ich nicht auf dem Schirm.
Beim Speichern wird ja m.W. Manuell gestartet!?
Somit würde sich das Verhalten erklären.
Es könnte so schön sein wenn die Logik einfach logisch wäre... wie es bei 100 anderen Programmiersprachen auch ist. Warum nur weicht man bei einer Scriptsprache nur von allen bekannten Regeln ab.... ich versteh‘s einfach nicht.
Danke für die Denkanstöße!
-
- Beiträge: 14261
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 597 Mal
- Danksagung erhalten: 1524 Mal
Re: Programm schaltet variable nicht
Weil das was Du dort angelegt hast ein Programm logischer Verknüpfungen und kein Script ist und darum verhält es sich anders als ein Script. Und letztendlich ist es der Art und Weise geschuldet, wie die CCU Programme abarbeitet. Die Bedingungsprüfung wird durch einen der angelegten Trigger gestartet und dann eben von oben nach unten abgearbeitet. Die manuelle Ausführung ist nur eine Krücke, die man vermutlich zusätzlich angebaut hat, um die Aktionen zu prüfen. Konsequent wäre gewesen, dort auch das DANN auswählen zu können oder eben eine richtige Bedingungsprüfung zu machen.
Eigentlich ist diese Funktion überflüssig. Es gibt aber Anwender, die Programme aus Scripten heraus aufrufen. Dort läuft es aber nach der gleichen Maßgabe. Es wird nur das erste DANN ausgeführt. Da es sich bei der Logik um eine zugekaufte Funktionalität handelt, ist eq-3 daran wohl unschuldig. Alternativ legt man in dem Programm als zusätzlichen verODERten Trigger eine virtuelle Taste an, dann werden auch die Bedingungen geprüft. Das kann man auch in einem SONST WENN machen. Ein SONST funktioniert aber dann nicht, da die Bedingungsprüfung der Taste ein WAHR ergibt und das zugehörige DANN ausgeführt würde. Legt man dort die gleichen Bedingungen wie im SONST an, hat man so auch eine funktionierende Konstellation. Alles in Allem aber zu viel Aufwand für einen überschaubaren Zweck. Besser wäre es, wenn es sich erwartungsgemäß verhielte (Prüfung der Bedingungen).
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
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