Makros

Programmierung der FHZ-Zentralen mit contronics homeputer Standard / homeputer Studio & WEB-Server

Moderator: Co-Administratoren

tsa
Beiträge: 725
Registriert: 03.01.2008, 17:42
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: Makros

Beitrag von tsa » 01.07.2009, 10:19

Hallo Timm,

ich tippe eher darauf, dass Dein Makro aus irgend einem Grund zu oft ausgeführt wird. Wenn ein Makro während einer Wartezeit erneut zur Ausführung kommt, wird die ursprüngliche Ausführung abgebrochen, und es wird NEU gestartet.
Am Besten, Du loggst mal mit, wann die Ausführung passiert. Im übrigen könntest Du diesen Log mal in jedem Makro einbauen, der Rollläden ansteuert. Dann kommst Du bestimmt dem Übeltäter schnell auf die Spur.

In einer Datei Informationen mitzuschreiben ist in der Studio-Version sehr einfach - z.B.:

Code: Alles auswählen

  z := ZEIT
  z := z + "Meine spezielle Meldung"
  SCHREIBEDATEI("C:\MEINPFAD\MEINDATEINAME.TXT",z)
Dabei musst Du z als Variable vom Typ Zeichen im jeweiligen Makro anlegen.

Komfortablere Logging-Funktionen sind im Forum bereits an anderen Stellen ausgiebig vorgestellt worden, aber zur Fehlerfindung reicht es erstmal so.

Gruss
Thomas

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Makros

Beitrag von buempi » 01.07.2009, 10:43

Hallo Thomas
tsa hat geschrieben:ich tippe eher darauf, dass Dein Makro aus irgend einem Grund zu oft ausgeführt wird
An so was hatte ich auch lange herumstudiert; und die Angaben mit "Schaltbefehl", "Anwesenheitssimulation", "Ausschlafen" hatten mich vollends verwirrt. Aber es sind schon die 60 Minuten! Hab's eben (allerdings nur mit Sekunden) getestet:

Code: Alles auswählen

Anzeige := Uhrzeit + " Start"
warte 60 Sekunden
Anzeige := Uhrzeit + " nach 60 Sekunden"
warte("00:01:00")
Anzeige :=Uhrzeit  + " nach 1 Minute"
Die erste Wartezeit wird übersprungen! Setzst du dort aber 59 Sekunden ein, läuft's richtig.

Viele Grüsse
Bümpi

tsa
Beiträge: 725
Registriert: 03.01.2008, 17:42
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: Makros

Beitrag von tsa » 01.07.2009, 10:49

buempi hat geschrieben:...Aber es sind schon die 60 Minuten!...
Hi Bümpi - man lernt eben nie aus! :)

Gruss
Thomas

Benutzeravatar
tbass15
Beiträge: 19
Registriert: 26.09.2008, 22:26

Re: Makros

Beitrag von tbass15 » 01.07.2009, 15:36

Hallo ihr beiden (Thomas und Buempi)
ähm ich habe eine IOlog.txt die die mitgeschrieben wird. Daraus geht aber nicht ein Makrostart hervor, man sieht nur
wann ein Sensor schaltet bzw wann eine aktion stattfindet. Das meint ihr nicht, oder?
Die letzte Aktion Rückwärts bis zum Start von heute habe ich mal zusammengeschrumpft:

01.07.2009 11:45:15;Fernbedienung16;<-1
01.07.2009 11:45:15;DaemmerungssensorOst1;<-1
01.07.2009 11:45:16;Buero_Simone_Rolladen;->dreiviertel

01.07.2009 11:45:51;Buero_Simone_Rolladen;->dreiviertel

01.07.2009 11:47:15;Schlafzimmer_Rolladen_1;->dreiviertel
01.07.2009 11:47:16;Schlafzimmer_Rolladen_2;->unten
01.07.2009 11:47:49;Schlafzimmer_Rolladen_1;->dreiviertel

01.07.2009 11:48:59;Fernbedienung16;<-0
01.07.2009 11:48:59;DaemmerungssensorOst1;<-0
01.07.2009 11:49:00;Buero_Simone_Rolladen;->oben

01.07.2009 11:57:50;Schlafzimmer_Heizung;<-
01.07.2009 11:57:50;Schlafzimmer_Heizung;<-25,9 (CURRTEMP)
01.07.2009 11:57:50;Schlafzimmer_Heizung;<-
01.07.2009 11:57:51;Schlafzimmer_Heizung;<-0 (WINDOW)
01.07.2009 11:57:51;Schlafzimmer_Heizung;<-
01.07.2009 11:57:51;Schlafzimmer_Heizung;<-

01.07.2009 12:09:50;Schlafzimmer_Heizung;<-
01.07.2009 12:09:50;Schlafzimmer_Heizung;<-25,8 (CURRTEMP)
01.07.2009 12:09:50;Schlafzimmer_Heizung;<-
01.07.2009 12:09:51;Schlafzimmer_Heizung;<-0 (WINDOW)
01.07.2009 12:09:51;Schlafzimmer_Heizung;<-
01.07.2009 12:09:51;Schlafzimmer_Heizung;<-

01.07.2009 12:26:29;Schlafzimmer_Heizung;<-
01.07.2009 12:26:29;Schlafzimmer_Heizung;<-25,8 (CURRTEMP)
01.07.2009 12:26:30;Schlafzimmer_Heizung;<-
01.07.2009 12:26:30;Schlafzimmer_Heizung;<-0 (WINDOW)
01.07.2009 12:26:30;Schlafzimmer_Heizung;<-
01.07.2009 12:26:30;Schlafzimmer_Heizung;<-

01.07.2009 12:41:50;Schlafzimmer_Heizung;<-
01.07.2009 12:41:50;Schlafzimmer_Heizung;<-25,7 (CURRTEMP)
01.07.2009 12:41:51;Schlafzimmer_Heizung;<-25,7 (CURRTEMP)
01.07.2009 12:41:51;Schlafzimmer_Heizung;<-
01.07.2009 12:41:51;Schlafzimmer_Heizung;<-0 (WINDOW)
01.07.2009 12:41:51;Schlafzimmer_Heizung;<-
01.07.2009 12:41:52;Schlafzimmer_Heizung;<-

01.07.2009 12:48:59;Schlafzimmer_Rolladen_1;->oben
01.07.2009 12:49:00;Schlafzimmer_Rolladen_2;->oben


Seit dem geht die Temp im Schlafzimmer wieder hoch.
Und was ist Fernbedienung16?!?
Wo kommt denn das her? Gehört das zum DS?
Habe beim DS alledings eine Filterzeit von 8min eingestellt, die hat er auch mal eingehalten...
Kann der so etwas Vergessen?
Das mit der Stunde funktioniert jetzt ja, dann verknüpf ich das hochfahren halt noch mit der Temperatur...
oder setz die Zeit noch weiter rauf. das macht ja dann auch sinn, oder auch nicht.

Gruß Timm

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Makros

Beitrag von buempi » 01.07.2009, 16:36

Hallo Timm

Das Makro hat 100% richtig geschaltet: Als der Sensor um 11:45 "an" meldete, wurden der Rollladen Büro sofort und die Rollläden Schlafzimmer zwei Minuten später auf die gewünschten Positionen gefahren. Dass bei "dreiviertel" jeweils 2 Einträge erscheinen, hängt wohl damit zusammen, dass beim Anfahren von Zwischenpositionen zuerst ganz rauf gefahren wird.

Ebenso lief alles richtig, als der Sensor "aus" meldete: Der Büro-Rollladen wurde sofort hochgefahren, die beiden im Schlafzimmer genau eine Stunde später.

Bei Aussentemperaturen von über 30° ist es klar, dass die Raumtemperatur weiter steigt, auch wenn die Sonne nicht mehr reinscheint. Kühler bleibt's aber bestimmt mit geschlossenen Rollläden. Eine Verknüpfung mit der Raumtemperatur (wenigstens während der paar wenigen Sommertage, die wir ja üblicherweise in unseren Breiten erdulden müssen) macht also sicher Sinn. Das Raufsetzen der Wartezeit bringt eher wenig. Im Winter bestimmt nicht, und an wirklich heissen Tagen im Sommer sollten die Läden bis zum Eindunkeln unten bleiben. Verknüpfen mit der Temperatur (und eventuell Sonnenuntergang) ist da sicher praxistauglicher.

Was Fernbedienung16 ist, müsstest du besser wissen als ich. Für mich sieht es so aus, dass du noch ein solches Modul in deinem Projekt hast, welches die gleiche FS20-Adresse wie der DS hat! Dieses Modul solltest du löschen.

Ob das Gerät die Filterzeit vergessen kann (z.B. bei leeren Batterien), weiss ich nicht. Steht darüber nichts in der Bedienungsanleitung?

Viele Grüsse
Bümpi

Benutzeravatar
tbass15
Beiträge: 19
Registriert: 26.09.2008, 22:26

Re: Makros

Beitrag von tbass15 » 01.07.2009, 20:58

Also, ich hab das jetzt so Verknüpft:

Code: Alles auswählen

wenn DaemmerungssensorOst1 ist gleich "aus" dann
warte("03:00:00")
Buero_Simone_Rolladen öffnen
wenn-Block-Ende
wenn DaemmerungssensorOst1 ist gleich "aus" und
wenn Schlafzimmer_Heizung.Temperatur <= 21,0 dann
    Schlafzimmer_Rolladen_1 öffnen
    Schlafzimmer_Rolladen_2 öffnen
wenn DaemmerungssensorOst1 ist gleich "an" dann
  Buero_Simone_Rolladen fahren auf "dreiviertel"
  warte 2 Minuten
  Schlafzimmer_Rolladen_1 fahren auf "dreiviertel"
  Schlafzimmer_Rolladen_2 schliessen
wenn-Block-Ende
Was passiert jetzt wenn ich jetzt mal angenommen um 21:30 ins Bett gehe (mit meinem Taster überm Bett die Läden ganz schließe und die Temperatur von 21° unterschreite... Fahren die Läden dann wieder hoch?!?
Da liege ich doch mit meine besseren hälfte gleich wieder im klinsch ^^
Ich versuchs einfach mal.
Gruß Timm

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Makros

Beitrag von buempi » 01.07.2009, 21:46

Hallo Timm

Diese Nacht wird's ja wohl kaum so kühl werden... Aber - selbst wenn - ihr würdet nicht durch hochfahrende Rollläden gestört. Das Makro wird nur ausgeführt, wenn sich der Dämmerungssensor meldet. Da er ja schon längst "aus" gesendet hat, kommt das nächste Signal erst wieder, wenn morgen die Sonne scheint, und das ist dann "an". Das wird euch dann gegen die Mittagszeit wecken, weil der eine Rollladen zum Anfahren der ¾-Position zuerst hochfährt...

Hat Homeputer dieses Makro tatsächlich so geschluckt? Ich glaube kaum! Ein "wenn" ist zu viel und ein wenn-Block-Ende fehlt! So wär's richtig:

Code: Alles auswählen

wenn DaemmerungssensorOst1 ist gleich "aus" dann
    warte("03:00:00")
    Buero_Simone_Rolladen öffnen
wenn-Block-Ende

wenn DaemmerungssensorOst1 ist gleich "aus" und
Schlafzimmer_Heizung.Temperatur <= 21,0 dann
    Schlafzimmer_Rolladen_1 öffnen
    Schlafzimmer_Rolladen_2 öffnen
wenn-Block-Ende

wenn DaemmerungssensorOst1 ist gleich "an" dann
    Buero_Simone_Rolladen fahren auf "dreiviertel"
    warte 2 Minuten
    Schlafzimmer_Rolladen_1 fahren auf "dreiviertel"
    Schlafzimmer_Rolladen_2 schliessen
wenn-Block-Ende
Die Wartezeit im Schlafzimmer, um die wir ja so sehr "gekämpft" haben, ist mit diesem Makro allerdings aufgehoben. Sobald die Sonne weg ist, fahren die Rollläden (bei Temperatur <= 21") hoch. Lässt sich ja - wenn gewünscht - leicht wieder einbauen (aber nicht 60 Minuten!)

Viele Grüsse
Bümpi

tsa
Beiträge: 725
Registriert: 03.01.2008, 17:42
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: Makros

Beitrag von tsa » 02.07.2009, 09:54

Hallo ihr beiden,

dass der Dämmerungssensor um 21:30 schon längst aus ist (bzw. das dies immer so ist), halte ich für ein Gerücht! :wink:
Heute zum Beispiel ist der Sonnenuntergang bei mir um 21:22 - der berechnete Zeitpunkt für meine abendlichen Rollladenbewegungen (nahe der "bürgerlichen Dämmerung") ist allerdings erst 21:51 !!!

Wäre es aus diesem Grunde nicht besser abzufragen, ob die Rollläden bereits manuell bewegt wurden - um dann das automatisierte Hochfahren zu verhindern.

In Deinem Beispiel wäre das sehr einfach möglich mit folgender Erweiterung:

Code: Alles auswählen

wenn DaemmerungssensorOst1 ist gleich "aus" dann
    warte("03:00:00")
    Buero_Simone_Rolladen öffnen
wenn-Block-Ende

wenn DaemmerungssensorOst1 ist gleich "aus" und
Schlafzimmer_Heizung.Temperatur <= 21,0 und
Schlafzimmer_Rolladen_1 ist gleich "dreiviertel" und
Schlafzimmer_Rolladen_2 ist gleich "unten"
dann
    Schlafzimmer_Rolladen_1 öffnen
    Schlafzimmer_Rolladen_2 öffnen
wenn-Block-Ende

wenn DaemmerungssensorOst1 ist gleich "an" dann
    Buero_Simone_Rolladen fahren auf "dreiviertel"
    warte 2 Minuten
    Schlafzimmer_Rolladen_1 fahren auf "dreiviertel"
    Schlafzimmer_Rolladen_2 schliessen
wenn-Block-Ende
Hinzugefügt ist nur die Abfrage der derzeitigen Rollladenposition.

Denkbar wäre aber auch ein Entscheidungskriterium anhand der Auswertung, wann die letzte manuelle Betätigung war.
Der Möglichkeiten gibt es viele...

Gruss
Thomas

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Makros

Beitrag von buempi » 02.07.2009, 11:10

Hallo Thomas

Der Sensor ist offenbar so eingestellt, dass er bei nur direkter Sonneneinstrahlung auf der Ost-Seite "an" meldet. So habe ich jedenfalls die Ausführungen ganz am Anfang des Thread verstanden. Die Frage von Timm ging ja auch dahin, ob bei Unterschreiten von 21° Raumtemperatur das Makro plötzlich mitten in der Nacht ein Rauffahren verursachen würde. Und das ist so oder so nicht der Fall. Die Rollläden werden NUR im Augenblick der Schaltschwelle des Dämmerungssensors (bzw. nach der entsprechenden Verzögerungszeit) gefahren.

Deine raffinierte Zusatzbedingung ermöglicht es allerdings, die Automatik für das Öffnen durch einfaches Verstellen eines einzigen Rollladens ausser Kraft zu setzen. Also bei Ausschlafen, Krankheit, Ferien usw.!

Etwas Wichtiges hatte ich gestern übersehen, wo ich nicht sicher bin, ob das so gewollt ist: Die Schlafzimmer-Rollläden werden erst nach 3 Stunden Wartezeit geöffnet, weil ja das WARTE im ersten Wenn-Block zuerst "abgewickelt" wird.

Viele Grüsse
Bümpi

Benutzeravatar
tbass15
Beiträge: 19
Registriert: 26.09.2008, 22:26

Re: Makros

Beitrag von tbass15 » 02.07.2009, 20:48

Hallo,
also es ist eine Ausbaustufe die jetzt vorhanden ist. Es folgt noch ein 2ter DS (richtig, auf der Westseite) der die Rollläden auf der Westseite Steuern wird in Verbindung mit dem DS Ost. Ich habe 2 Fenster nach Norden (Katzenzimmer und Bad) und 2 Dachflächenfenster nach Süden(Ab ca15°° keine Sonne mehr drauf). Die anderen sind alle nach Ost und West. 2 DS auf Dach Ost und West sind mir da die Praktikabelste Lösung, zumal auch die Außenbeleuchtung (2 HAustüren nach Osten) später mit einbezogen werden soll.

Die 3 Std sind nur, um dem Klimagerät die Arbeit ein wenig zu erleichtern die 21° zu erreichen.
Habe noch zusätzliche Rollläden ins Auge gefasst, aber momentan ist meine Schrauberhalle finanziell wichtiger (Vor 2 MOnaten gekauft). Daher ist erstmal bis zum Herbst Optimierarbeit und Makroübungen meine beschäftigung, natürlich nur neben der Arbeit und der Renovierung und Einrichtung meiner kleinen Werkstatt...

Das mit der Abfrage vor dem öffnen hab ich gleich mit eingebaut, super idee von Thomas, und na klar hat er gemeckert als ich neu gestartet hab---> Syntaxfehler^^
Nachdem ich heute Administrativ tätig war und nur den Kondenswasserschlauch der Klima in meinem Schlafzimmer nach draußen Verlegt hab, werd ich jetzt mal Duschen gehen (32° hier im Büro) und werde aus meinem Bett die Pinguine verjagen :wink:

Schönen Abend noch und
Danke an Buempi und Thomas...

Gruß Timm

Antworten

Zurück zu „homeputer Studio / Standard: Programmierbeispiele“