Die virtuellen Tasten der CCU erfüllen nicht diesen Zweck? Diese lassen sich in Programmen sowohl als Trigger auswerten als auch als Aktionsziel im DANN auswählen.
Gruß Xel66
Moderator: Co-Administratoren
Die virtuellen Tasten der CCU erfüllen nicht diesen Zweck? Diese lassen sich in Programmen sowohl als Trigger auswerten als auch als Aktionsziel im DANN auswählen.
Hmmm... Bedingte logische Verknüpfungen lassen sich aber nun nicht als Direktverknüpfungen anlegen. Irgendeinen Tod musst Du sterben. Und da ist der vom Hersteller vorgesehene immer noch der einfachste, effektivste und der mit den wenigsten Nebenwirkungen. Du willst also vermeiden, dass System so zu nutzen, wie es der Hersteller vorgesehen hat. Stattdessen setzt Du eine separate aufwändige Logikschicht ein, die dazu auch nicht in der Lage ist. Irgendwie kommt mir das wie in der Autotuner-Szene vor. Auf keine Fälle das Fahrzeug so nutzen, wie es der Hersteller vorgesehen hat. Alles mögliche rein- und dranbauen und ersetzen und dann am Ende doch nicht zu einem "guten" Ergebnis kommen. Aber soll jede(r) machen wie sie/er es will.
Code: Alles auswählen
string Windsensor = "Name des Windsensors";
string Aussenrollo = "Name des Außenrollos";
string Innenrollo = "Name des Innenrollos";
real Innenrollo_Behanghoehe = "40.0";
integer diff = (dom.GetObject(ID_DEVICES).Get(Windsensor)).Timestamp().ToInteger() - (dom.GetObject(ID_DEVICES).Get(Aussenrollo )).Timestamp().ToInteger();
if(diff <= 1){
(dom.GetObject(ID_CHANNELS).Get(Innenrollo)).DPByHssDP("LEVEL").State(Innenrollo_Behanghoehe/100.0);
}
Jetzt bin ich gedanklich raus.
Programme sind doch nicht gewünscht. Die funktionieren doch nicht zuverlässig. Ich weiß nur nicht, warum ich hier ein System habe, welches mit so einigen Programmen und einer Vielzahl an Systemvariablen stabil läuft und nachvollziehbar das tut, was ich mit der Programmierung beabsichtigt habe. Wie konnte das bei einem solche buggy system nur passieren?
Dem Enduser? Ich bin ebenfalls nur ein Anwender und habe mit den Firmen außer der Kundenbeziehung nichts weiter zu tun. Ich bestelle meine Geräte genau wie die meisten Anwender hier online und bezahle sie mit meinem selbst verdienten Geld. Unfair und billig ist eher, irgendwelche Gründe an den Haaren herbeizuzerren um ja einen Grund zu finden, das System nicht so zu benutzen, wie es vorgesehen ist. Beispiel: die "unzuverlässige" Programmeditierfunktion. Ich habe bei mir Programme im System, die ich gefühlte hundert mal geändert habe, und sie tun trotzdem ihren Dienst. Aber habe aber auch schon kaputte Programme gehabt. Aber irgendwas muss ich anders machen, dass dieses bei mir äußerst selten auftritt. Zweites Beispiel: Systemvariablen. Bei einer Umbenennung habe ich noch nie das Problem gehabt, dass eine Systemvariable nicht mehr "funktionierte". Reproduzierbar treten solche Effekte aber bei Typänderungen oder beim Hinzufügen von zusätzlichen Kriterien einer Mehrfachauswahl auf. Ich stecke nicht tief in der Firmware-Materie der CCU drin, aber ich kann mir durchaus vorstellen, dass Typänderungen, die eben nicht den in den Programmen angelegten Zustandserwartungen entsprechen, das System dann zu unvorhergesehen Aktionen veranlasst (meist funktioniert es einfach nicht). Wenn man davon weiß, dann berücksichtigt man das in seiner Programmerstellung genau so, wie man eine Syntax oder Namensgebung beim Erstellen von Scripten (auch in anderen Programmiersprachen) zu beachten hat. Der einfachste Weg ist, die Verwendungsstellen zu identifizieren und dort die Systemvariablenauswahl wiederholen. Fertig.