Wecker -Funktion mit Eingabefeld?
Moderator: Co-Administratoren
Wecker -Funktion mit Eingabefeld?
Hallo
Ich teste nun schon seit längerer Zeit alle möglichen Komponenten die ich so bekommen kann. Manche Funktionen wollen sich mir jedoch nicht erschließen.
Meine Herausforderung:
Erstelle ein Feld in einer Ansicht der Software, in die ich eine Uhrzeit eintragen kann (als Text per Tastatur - weniger schöne Alternative: extra "Weckeransicht" mit vielen festen Weckzeiten als Buttons). Evtl. bestätigen.
Dann zu dieser eingestellten "Weckzeit" ein Makro ausführen (Licht einschalten, etc...).
Ich könnte das mit PHP realisieren, aber brauche da etwas Starthilfe. Ich stelle mir das so vor: Ich gebe eine Uhrzeit ein und diese wird als Variable gespeichert. Zur Zeit "$Weckzeit" wird dann das Makro ausgeführt. Dann ist mir noch unklar, wie der PC merkt, wann er dieses Makro ausführen soll (jede Minute auf Wahr prüfen fände ich doof - aber wenn es sich nicht vermeiden ließe...)
Ich hoffe ihr könnt mir nen Tipp geben.
Grüße, Dennis
--------------------
FHZ, FS20, Keymatic, Frau und 2 Kinder
Ich teste nun schon seit längerer Zeit alle möglichen Komponenten die ich so bekommen kann. Manche Funktionen wollen sich mir jedoch nicht erschließen.
Meine Herausforderung:
Erstelle ein Feld in einer Ansicht der Software, in die ich eine Uhrzeit eintragen kann (als Text per Tastatur - weniger schöne Alternative: extra "Weckeransicht" mit vielen festen Weckzeiten als Buttons). Evtl. bestätigen.
Dann zu dieser eingestellten "Weckzeit" ein Makro ausführen (Licht einschalten, etc...).
Ich könnte das mit PHP realisieren, aber brauche da etwas Starthilfe. Ich stelle mir das so vor: Ich gebe eine Uhrzeit ein und diese wird als Variable gespeichert. Zur Zeit "$Weckzeit" wird dann das Makro ausgeführt. Dann ist mir noch unklar, wie der PC merkt, wann er dieses Makro ausführen soll (jede Minute auf Wahr prüfen fände ich doof - aber wenn es sich nicht vermeiden ließe...)
Ich hoffe ihr könnt mir nen Tipp geben.
Grüße, Dennis
--------------------
FHZ, FS20, Keymatic, Frau und 2 Kinder
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: Wecker -Funktion mit Eingabefeld?
Hallo Dennis und willkommen im Forum!
Das Objekt muss vom Typ Zeichen sein (weil es keinen Typ Uhr gibt). Da trägst du dann z.B. 06:00:00 ein. Schreibfehler werden natürlich nicht überprüft und führen zum Misserfolg. Damit ist das Objekt selbst die Variable.
Der ganze "Weckablauf" mit Licht einschalten usw. kann im gleichen Objekt stehen. Das Makro würde dann lauten:
Du darfst in diesem Makro aber keine WARTE() haben die - kumuliert - mehr als 1 Minute (=Ausführungsintervall) betragen. Sollte der Ablauf so sein, dass längere WARTE() nötig sind, musst du alles in ein anderes Makro packen und im "Steuer-Makro" nur folgendes eintragen:
Ein WARTE() wird nämlich durch jeden erneuten Aufruf des Makros (durch Empfang/Eingabe/Intervall usw.) abgebrochen.
PHP würde dir keine Vorteile bringen. Den Ausführungsintervall kannst du nur über Homeputer steuern. Die jede Minute erfolgende einfache Auswertung der WENN-Bedingung wird übrigens den Rechner nicht aus dem Tiefschlaf wecken!
Viele Grüsse
Bümpi
Das lässt sich nicht vermeiden. Wobei es natürlich davon abhängt, was für Weckzeiten in Frage kommen. Wenn du auch an 06:05:05 denkst, musst du es sogar alle 5 Sekunden ausführen lassen. Falls du mit runden Stunden "zufrieden" bist, natürlich nur jede Stunde.deuconet hat geschrieben:Dann ist mir noch unklar, wie der PC merkt, wann er dieses Makro ausführen soll (jede Minute auf Wahr prüfen fände ich doof - aber wenn es sich nicht vermeiden ließe...
Das Objekt muss vom Typ Zeichen sein (weil es keinen Typ Uhr gibt). Da trägst du dann z.B. 06:00:00 ein. Schreibfehler werden natürlich nicht überprüft und führen zum Misserfolg. Damit ist das Objekt selbst die Variable.
Der ganze "Weckablauf" mit Licht einschalten usw. kann im gleichen Objekt stehen. Das Makro würde dann lauten:
Code: Alles auswählen
wenn Uhrzeit = NameDeinesObjektes dann
Licht einschalten
Rollladen := "oben"
** usw.
endewenn
Code: Alles auswählen
wenn Uhrzeit = NameDeinesObjektes dann
Starte(AusfuehrungsMakro)
endewenn
PHP würde dir keine Vorteile bringen. Den Ausführungsintervall kannst du nur über Homeputer steuern. Die jede Minute erfolgende einfache Auswertung der WENN-Bedingung wird übrigens den Rechner nicht aus dem Tiefschlaf wecken!
Viele Grüsse
Bümpi
Re: Wecker -Funktion mit Eingabefeld?
Habe das grad mal getestet:
Funzt super
Code: Alles auswählen
wenn Uhrzeit = WeckerDennis dann
UP_Dimmer_WZ1 setzen auf raufdimmen Geschwindigkeit 5
UP_Dimmer_WZ2 setzen auf raufdimmen Geschwindigkeit 5
WeckerDennis := ""
endewenn
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: Wecker -Funktion mit Eingabefeld?
Hallo Dennis
Freut mich, dass es funzt! Aber: Warum setzst du das Objekt am Schluss zurück? So musst du das täglich neu eintragen, auch wenn die Weckzeit für den Folgetag nicht ändert. Und wenn du es einmal vergisst, wirst du gar nicht geweckt.
Man kann natürlich auch andersrum denken: Das leere Feld erinnert dich daran, dass da noch was zu tun ist...
Viele Grüsse
Bümpi
Freut mich, dass es funzt! Aber: Warum setzst du das Objekt am Schluss zurück? So musst du das täglich neu eintragen, auch wenn die Weckzeit für den Folgetag nicht ändert. Und wenn du es einmal vergisst, wirst du gar nicht geweckt.
Man kann natürlich auch andersrum denken: Das leere Feld erinnert dich daran, dass da noch was zu tun ist...
Viele Grüsse
Bümpi
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: Wecker -Funktion mit Eingabefeld?
Hallo Dennis
Du könntest es auch noch weiter treiben:
Die vielen WENN-Abfragen sind nötig, damit du überhaupt eine Weckzeit eintragen kannst. Sonst würde dein Eintrag immer gleich wieder mit dem nächsten Wort überschrieben. Du kannst sie auch alle (ausser der ersten!) weglassen und stattdessen "Ausführen bei Eingabe" aktivieren. Dann fängt das Makro sofort nach der Eingabe einer Uhrzeit oben an und überschreibt die Uhrzeit auch nicht.
Auch diese Spielerei wird deine CPU nicht ausser Atem bringen!
Viele Grüsse
Bümpi
Du könntest es auch noch weiter treiben:
Code: Alles auswählen
wenn Uhrzeit = WeckerDennis dann
UP_Dimmer_WZ1 setzen auf raufdimmen Geschwindigkeit 5
UP_Dimmer_WZ2 setzen auf raufdimmen Geschwindigkeit 5
WeckerDennis := ""
endewenn
Nochmals:
wenn WeckerDennis = "Weckzeit" oder WeckerDennis = "eintragen" oder WeckerDennis = "" dann
WeckerDennis := "Weckzeit"
warte("00:00:01")
wenn WeckerDennis = "Weckzeit" dann
WeckerDennis := "eintragen"
endewenn
warte("00:00:01")
wenn WeckerDennis = "eintragen" dann
WeckerDennis := ""
endewenn
warte("00:00:01")
wenn WeckerDennis = "" dann
gehezu Nochmals
endewenn
endewenn
Auch diese Spielerei wird deine CPU nicht ausser Atem bringen!
Viele Grüsse
Bümpi
Re: Wecker -Funktion mit Eingabefeld?
Danke für den Tipp, aber die Funktion, die ich geschrieben hatte, tut genau das, was ich damit erreichen wollte. Als Selbstständiger muss ich jeden Abend entscheiden, wann mein Wecker am nächsten Tag klingeln soll. Kein Tag ist wie der nächste
Aber: Es gibt sicherlich noch ein paar Aufgaben, die ich hier zur Lösung einstellen werde ...
Grüße, Dennis
Aber: Es gibt sicherlich noch ein paar Aufgaben, die ich hier zur Lösung einstellen werde ...
Grüße, Dennis