mediola

einfaches Rolladenscript funktioniert nicht

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

Werbung


einfaches Rolladenscript funktioniert nicht

Beitragvon mikk » 10.12.2017, 10:35

Hallo zusammen,
folgender Code fährt die Rollade zwar runter aber nicht rauf...
Code: Alles auswählen
wenn Uhr = Sonnenuntergang dann
   Rolladen_Wohnzimmer runterfahren
endewenn

wenn Uhr = Sonnenaufgang dann
   warte ("00:10:00")
   Rolladen_Wohnzimmer rauffahren
endewenn


Wo liegt mein Fehler?
Vielen Dank im Vorraus
Mikk
mikk
 
Beiträge: 11
Registriert: 07.12.2017, 13:44

Re: einfaches Rolladenscript funktioniert nicht

Beitragvon NickHM » 10.12.2017, 12:02

Guten Morgen

Du lässt das Makro alle Minute ausführen, da Du ja die exakte Zeit prüfst.

Morgens wartest Du 10 min. Aber nach 1 min wird das Makro neu ausgeführt, die Warteschleife gelöscht und die Bedingung = Sonnenaufgang ist auch vorbei.

Mehrere Lösungen

- die Rolllanden nicht direkt in dem Makro fahren lassen.
In dem Makro das alle Minute läuft nur die Zeit prüfen und dann zwei externe Makros starten die jeweils die Rollladen hoch oer runter fahren. Das hat den Vorteil, dass Du alle Rollladen in einem Makro hoch fährst. Dort kannst Du verzögern und Du kannst das Makro auch noch für andere Zwecke benutzen. Wenn was angepasst wird, dann nur an der einen Stelle

- ein eigenes Objekt "meinSA" anlegen
um z.B. 01:00 ein Makro laufen lassen, dass
meinSA := Sonnenaufgang + "00:10:00" berechnet.
Dann in Deinem Minutenmakro nicht SA sondern meinSA benutzen.

Vorteil, die Verzögerung wird zentral an einer Stelle berechnet. Die Zeit ist leicht anzupassen und kann auch aus einer Variable genommen werden, die über VisuWin als Objekt einstellbar sein kann.
NickHM
 
Beiträge: 1162
Registriert: 23.09.2017, 12:04

Re: einfaches Rolladenscript funktioniert nicht

Beitragvon mikk » 10.12.2017, 14:14

Vielen Dank,
das muss man erst mal verstehen. Ist vom Prinzip her aber logisch.
Ich habe vorher schon Probiert mit rauf und runter Objekten das zu realisieren, bin aber leider gescheitert.
Werde mich daran nochmal versuchen.
Aber wait, wenn kürzer als die ausführungszeit funktioniert?
Ich denke an wait 5 Sekunden oder so und Programm wird alle Minute ausgeführt?
Gruß
Mikk
mikk
 
Beiträge: 11
Registriert: 07.12.2017, 13:44

Re: einfaches Rolladenscript funktioniert nicht

Beitragvon mikk » 10.12.2017, 14:54

Hallo nochmal,
wenn ich das eingebe
Code: Alles auswählen
meinSA := Sonnenaufgang + "00:10:00"

erhalte ich 08.22.0000:10:00
wo liegt mein Fehler?
mikk
 
Beiträge: 11
Registriert: 07.12.2017, 13:44

Re: einfaches Rolladenscript funktioniert nicht

Beitragvon NickHM » 10.12.2017, 19:40

meinSA Typ Uhr

meinSU Typ Uhr

Beispiele

Code: Alles auswählen
meinSU := Sonnenuntergang - "00:30:00
wenn meinSU > "21:30:00" dann
meinSU := "21:30:00"
endewenn


Code: Alles auswählen
meinSA := Sonnenaufgang
wenn Wochentag =+ "1000001" und meinSA < "07:50:00" dann
meinSA := "07:50:00"
sonst
wenn meinSA < "05:45:00" dann
meinSA := "05:45:00"
endewenn
endewenn
NickHM
 
Beiträge: 1162
Registriert: 23.09.2017, 12:04

Re: einfaches Rolladenscript funktioniert nicht

Beitragvon mikk » 10.12.2017, 21:48

Hallo NickHM,
nach langem suchen habe ich endlich gefunden wo ich variablen definieren kann.
Jetzt rechne ich in
Temp typ uhr
wann die Rollade hoch gehen soll und setze dann Rolladen_wohn_hoch bzw runter gleich tmp
einem Objekt zuweisen habe ich nicht geschafft. Und auch nicht eine Variable in VisuWin darzustellen.
so funktioniert es, schön ist anders
danke dir
mikk
 
Beiträge: 11
Registriert: 07.12.2017, 13:44

Re: einfaches Rolladenscript funktioniert nicht

Beitragvon NickHM » 10.12.2017, 22:55

mikk hat geschrieben:so funktioniert es, schön ist anders
danke dir


Guten Abend

HPCL bedarf schon ein wenig Einarbeitung. Die integrierte Hilfe ist auch nicht so schlecht wie das alte Hilfeformat suggeriert :)

Und wenn Du etwas gar nicht hin bekommst kannst Du ja hier fragen, statt zu resignieren.
NickHM
 
Beiträge: 1162
Registriert: 23.09.2017, 12:04

Re: einfaches Rolladenscript funktioniert nicht

Beitragvon mikk » 11.12.2017, 11:48

Hallo NickMH,
jetzt habe ich nur noch das Problem das ich am ersten Tag dann keine Daten in MeinSA z.bsp. habe.
Kann ich irgendwo einstellen das beim Übertragen zuerst einmal das Makro ausgeführt wird?
Gruß Mikk
mikk
 
Beiträge: 11
Registriert: 07.12.2017, 13:44

Re: einfaches Rolladenscript funktioniert nicht

Beitragvon NickHM » 11.12.2017, 12:07

Guten Morgen

- in jedem Objekt kann man einen Startwert eingeben

- es gibt ein Makro mit dem Namen INIT_xx das beim Start ausgeführt wird. Dort kann man alle dinge eintragen, die beim Start gestartet werden sollen. Dort kann man auch weitere Makros starten. Es ist sinnvoll dort Wartezeiten von einigen Sekunden einzutragen, um nicht alles gleichzeitig zu starten

Code: Alles auswählen
variable_xx := "00:07:00"
//
starte LOG_Loeschen
//
warte("00:00:10")
starte SAU






- in der Konfiguration von HPCL kann man einstellen, dass alle variablenwerte bei einem normalen Neustart der exec wieder auf den zuletzt bekannten Wert gesetzt werden.

- in VisuWin kann man sich einen Button machnen, der das Makro startet

- in VisuWin kann man sich das Objekt anzeigen lasen und manuell einen Wert rein schreiben.

Es gibt viele Möglichkeiten das zu lösen.

und wie schon mal erwähnt, hat das Programm eine Hilfefunktion :)

Code: Alles auswählen
Makros sind Programme, die der Benutzer erstellen kann um die individuellen Anwendungsfunktionen seines Systems zu programmieren.
Jedes Objekt eines Moduls kann ein Makro beinhalten. Es können auch Objekte ohne Hardwarebezug (virtuelle Objekte) erstellt werden, für die ein Makro geschrieben wird.
Makros können in bestimmten Zeitintervallen oder durch den Empfang vom zugeordneten Hardwaresensor aktiviert werden.
 
Es gibt zwei spezielle Makrotypen, die jeweils beim Start und bei der Beendigung der ExecEngine ausgeführt werden.
 
Makros, deren Namen mit "INIT_" beginnen werden beim Start der ExecEngine vor allen anderen Makros ausgeführt.
 
Makros deren Namen mit "END_" beginnen werden beim Beenden der ExecEngine ausgeführt. Das geschieht allerdings nur wenn die ExecEngine "normal" beendet wird, d.h. durch Compilieren und Übertragen eines Projekts oder durch das Kontrollprogramm ExecEngineWin. Wird die ExecEngine durch einen Betriebssystembefehl oder WEB-Serverfunktionen beendet werden die END-Makros nicht ausgeführt.
 
NickHM
 
Beiträge: 1162
Registriert: 23.09.2017, 12:04

Re: einfaches Rolladenscript funktioniert nicht

Beitragvon mikk » 11.12.2017, 15:37

Danke dir,
in der Hilfe hatte ich schon nachgeschaut aber nichts gefunden. Nun bin ich überascht das das da drinne stand.
und zwar stehts sofort wenn man Makro eingibt, sorry, war ich zu dumm.
Gruß Mikk
mikk
 
Beiträge: 11
Registriert: 07.12.2017, 13:44

Nächste

Zurück zu homeputer Studio / Standard: allgemeine Fragen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste







© homematic-forum.de & Lizenzgebern. Alle Rechte vorbehalten. Alle Bilder & Texte auf dieser Seite sind Eigentum
der jeweiligen Besitzer und dürfen ohne deren Einwilligung weder kopiert noch sonstwie weiter verwendet werden.