Logik-Denkfehler bei Programmen

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
ah966
Beiträge: 8
Registriert: 31.10.2017, 18:56

Logik-Denkfehler bei Programmen

Beitrag von ah966 » 14.09.2018, 10:52

Hallo,

ich weiß, das Thema wurde schon x-mal hier behandelt. Und ich habe auch versucht mich einzulesen, aber bei folgendem, sehr einfach gestricktem Programm wills einfach nicht klappen.

Ich möchte per Leistungsaufnahme einer Schaltsteckdose HMiP-PSM wissen, wann die Waschmaschine läuft und wann sie fertig ist. Der Zustand soll dann in einer SysVar als Logikwert gespeichert werden:
hmipsm-p1.JPG
Die Verzögerung soll bewirken, daß Pausen beim Waschen nicht falsch gedeutet werden. Dieser Teil scheint zu funktionieren.

Mein Problem besteht hierbei:
hmipsm-p2.JPG
Die SysVar steht ja gewöhnlich auf "fertig" und wird nur dann auf "läuft" gesetzt, wenn die Maschine gestartet wurde.
Trotzdem wurde sofort bei Anschalten der Maschine - und bei Setzen auf "läuft" - eine SMS verschickt.

Wie ist die "bei Änderung" - Logik zu verstehen?

1.) Variable hat den Wert fertig und hat sich nun geändert --> dann ausführen
oder
2.) Variable hat sich geändert und hat nun den Wert --> dann ausführen

Ich hätte 2.) vermutet.
Aber beim Versuch hat die CCU m.E. nach 1.) reagiert.

Wie würdet Ihr die Logik aufbauen?
Sollte ich im 2. Programm zur Wenn-Bedingung noch ein
Systemzustand - vWaschmaschine bei fertig - nur prüfen
einsetzen?

Oder sollte die Logik der Wenn-Bedingung einfach nur rumgedreht werden:
Systemzustand - vWaschmaschine bei läuft - bei Änderung auslösen
Was wäre die sauberste/zuverlässigste/richtige Variante?

Viele Grüße,
Andreas

Benutzeravatar
Sammy
Beiträge: 9172
Registriert: 09.09.2008, 20:47
Hat sich bedankt: 15 Mal
Danksagung erhalten: 174 Mal

Re: Logik-Denkfehler bei Programmen

Beitrag von Sammy » 14.09.2018, 11:06

Hallo Andreas,

beide Programme sehen richtig aus. Hast Du evtl. die Wertcodierung der svWaschmaschine nachträglich geändert?
Kommt die Meldung wirklich SOFORT beim Aktivieren der Maschine? Oder erst nach mehr als 90s?
Gibt/gab es noch andere Programme dazu?

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!

ah966
Beiträge: 8
Registriert: 31.10.2017, 18:56

Re: Logik-Denkfehler bei Programmen

Beitrag von ah966 » 14.09.2018, 11:33

Hallo Sammy,

danke für Deine Nachricht.

Die Variable war vorher als Werteliste definiert, das habe ich nachträglich in Logikwert geändert.
Aber natürlich auch in den beiden Programmen entsprechend angepasst.

Die Meldung kommt wirklich sofort.
Genau beim Ändern der Variable. Allerdings beim Ändern auf "läuft".

Es gibt noch ein nachgelagertes Programm, das den eigentlichen SMS-Versand übernimmt.
Das wird von dem Script (s. 2. Screenshot) aus aufgerufen - hat aber keine Bedingung. Und ist durch die Parametrisierung so allgemein gehalten, daß ich es von mehreren Scripten aus nutzen kann.

Viele Grüße,
Andreas

Benutzeravatar
Sammy
Beiträge: 9172
Registriert: 09.09.2008, 20:47
Hat sich bedankt: 15 Mal
Danksagung erhalten: 174 Mal

Re: Logik-Denkfehler bei Programmen

Beitrag von Sammy » 14.09.2018, 11:48

Ich würde sicherheitshalber beide Programme löschen und neu anlegen.
Nach dem Erstellen eines Programms dürfen die darin enthaltenen Variablen nicht mehr verändert werden.
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!

ah966
Beiträge: 8
Registriert: 31.10.2017, 18:56

Re: Logik-Denkfehler bei Programmen

Beitrag von ah966 » 28.09.2018, 15:34

Hallo Sammy,

das war es!
Habe die Programme neu angelegt.

Jetzt funktioniert es, wie es soll.

Vielen Dank und viele Grüße,
Andreas

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“