+ Antworten
Seite 1 von 3 1 2 3 LetzteLetzte
Ergebnis 1 bis 10 von 26
  1. #1
    Registriert seit
    Sep 2012
    Ort
    schwabmünchen
    Beiträge
    14

    Standard Wie kann ich Uhrzeiten vergleichen?

    Hallo liebe Comunity,

    erst mal vielen dank an alle ich konnte schon viel von euch lernen.
    jetzt hab ich ein problem aber kann keine lösung finden.

    ich poste als erstes mal mein script, dann werden 90% wissen was ich falsch mache.

    PHP-Code:

    $time 
    date("H:i");
    $tueroeffner getvalue(30649 /*[Unsortiertes und im hintergrund arbeitendes\treppenhauslicht\kanal 1 türöffner\STATE]*/ );
    $nach6 = ("18:00");
    $vor8 = ("08:00");



    if      ((
    $tueroeffner == true)
            and ((
    $time >= $nach6)
          or  (
    $time <= $vor8)))
          
    {
     
    setvalue(33471 /*[Unsortiertes und im hintergrund arbeitendes\treppenhauslicht\Treppenhauslicht\STATE]*/ true);

    und zwar möchte ich das ab 6 Uhr abends sobald ich den türöffner drücke auch das treppenhauslicht mit angeht.
    ich hab nur leider keine ahnung wie ich zeiten vergleichen kann.

    bitte habt nachsehen mit mir, bin jetzt den dritten tag am suchen nach einer lösung aber es will einfach nich.....

    vielen dank schon mal

    gruß, basti

  2. #2
    Registriert seit
    Sep 2011
    Ort
    53639 Königswinter
    Beiträge
    1,411

    Mit "Zeiten vergleichen" im Suchfenster finde ich das: http://www.ip-symcon.de/forum/thread...en+vergleichen
    mws
    ---------------------------------------------------------------
    Wer Rechtschreibfehler findet darf sie behalten.
    ----------------o00o----'(_)'----o00o---------------------

  3. #3
    Registriert seit
    Jun 2011
    Ort
    Lüneburg
    Beiträge
    700

    Man kann das nicht nur scriptbasiert, sondern auch eventbasiert lösen. Soll heissen:

    An die "State" Variable deines Türöffners hängst Du zwei Events, eines gilt von 18.00 bis 7.59 und eines von 8:00 bis 17:59 und die rufen jeweils ein anders script auf.

    Nicht so elegant, funktioniert aber.....

    Gruß
    Martin
    Guttenbergskripter mit FS20, Homematic und Plugwise im Einsatz. Zusätzlich AKM und RGBW 868. Jetzt auch mit EKM ! Neues Hobby: RasPi basteln

  4. #4
    Registriert seit
    Sep 2012
    Ort
    schwabmünchen
    Beiträge
    14

    vielen dank schon mal für eure schnelle hilfe.
    ich stand als anfänger seit tagen mit beiden beinen auf der leitung. ich denk ihr wisst was ich meine.
    bei vielen scripten mit sonnenaufgansberechnung und so blick ich leider einfach nich durch.
    aber das
    PHP-Code:
    $uhrzeit="20:15"
     
    $daten explode(":"$uhrzeit); // trennen und in array 
     
    $zeit=$daten[0]*60+$daten[1]; //20:15 Uhr als Integer 
    klingt gut

    und zwei scripte zu verwenden klingt auch gut mal ganz gut
    danke soweit

  5. #5
    Registriert seit
    Apr 2010
    Ort
    Oberbayern
    Beiträge
    5,046

    Hallo.

    Mit der festen Uhrzeit alleine wirst Du wahrscheinlich nicht glücklich werden. Im Sommer ist es um 18:00 noch taghell und die Beleuchtung überflüssig. Suche doch mal nach dem Astroskript (Klick) und nimm als Schaltschwellen den Sonnenauf- bzw. untergang.
    Grüsse, Kronos.
    Wenn am Anfang alles schief geht, nenne es Version 1.0
    IPS 5.5 auf Server 2016 / HM und HM-IP mit CCU2 (RaspberryMatic) + LAN-Adapter + LAN- & Wired Gateway, 252 Geräte / XBee Pro (Roomba) / RoboRock S50 / RGB-W 868 / MiLight / EKM 868 / AKM / ein Rudel Squeezeboxen+Pi / EM24DIN+VS102 / AM 220 AC / Shelly / VU+ / ALL4x00 / LevelJet / IRTRans / Echos diverse / Harmony / Sainlogic / viel zu wenig Zeit


    Einfach mal rein schauen: IPS-Chat

  6. #6
    Registriert seit
    Sep 2012
    Ort
    schwabmünchen
    Beiträge
    14

    hei kronos,
    auch dir vielen dank für deine hilfe. das skript schaut echt toll aus, allerdings hab ich dort null durchblick.
    wenn ich mal mehr ahnung von php und ip symcon habe werd ich garantiert so etwas verwenden.
    momentan möcht ich aber verstehen und lernen.
    mein script sieht gerade so aus:
    PHP-Code:
    $tueroeffner getvalue(30649 /*[Unsortiertes und im hintergrund arbeitendes\treppenhauslicht\kanal 1 türöffner\STATE]*/ );
    $time time();
    $nach6 mktime(15,0);
    $vor8 mktime(8,0);

    if      ((
    $tueroeffner == true) and (($time >= $nach6) or ($time <= $vor8)))
          
    {
     
    setvalue(33471 /*[Unsortiertes und im hintergrund arbeitendes\treppenhauslicht\Treppenhauslicht\STATE]*/ true);

    funktioniert aber immer noch nich

    naja irgend wann werd ich´s schon rausfinden.

  7. #7
    Registriert seit
    Oct 2010
    Ort
    HH
    Beiträge
    4,613

    wenn du mitteilst, was nicht funktioniert, könnte man evtl. helfen



    vielleicht noch ein Tipp zur Fehlersuche: lass dir im Script die Werte der Variablen per echo oder print_r() ausgeben. So kannst du überprüfen, ob Deine Annahmen stimmen. Das hilft sehr , man erlebt hier durchaus die ein oder andere Überaschung
    Geändert von Raketenschnecke (23.10.12 um 15:20 Uhr)
    mit gebücktem Gruss
    Raketenschnecke
    IPS-Projekte und -Tools auf
    www.raketenschnecke.net

  8. #8
    Registriert seit
    Sep 2012
    Ort
    schwabmünchen
    Beiträge
    14

    hei raketenschnecke,
    der tipp mit echo is echt genial. jetzt seh ich entlich was da so drin steht.

    der fehler: also das problem ist, ich weis nicht wie ich eine Uhrzeit ("18:00") in eine Varieble ($nach6) bekomme um sie mit der aktuellen zeit ($time = date("H:i") oder $time = time() ) zu vergleichen.

  9. #9
    Registriert seit
    Oct 2010
    Ort
    HH
    Beiträge
    4,613

    jetzt kann ich dir grad nicht folgen

    du hast doch oben im Script schon eine Zuweisung vorgenommen. In den Vars müssten doch jetzt die Unix-Timestamps drinstehen?!

    oder erwartest du hier "nur" die Uhrzeit (z.b. 2345)?
    mit gebücktem Gruss
    Raketenschnecke
    IPS-Projekte und -Tools auf
    www.raketenschnecke.net

  10. #10
    Registriert seit
    Sep 2012
    Ort
    schwabmünchen
    Beiträge
    14

    Hab wohl den Kasten Bier auch auf die leitung gestellt wo ich drauf steh.

    also in meinem ersten script oben, kann ich da denn $nach6 = ("18:00") mit $time = ("H:i") so vergleichen oder is des schon total falsch?

Ähnliche Themen

  1. Wie kann ich mein IPS retten?
    Von wolfgang im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 16
    Letzter Beitrag: 04.04.12, 22:23
  2. Wie kann ich Squeezebox-Server in WF einbinden?
    Von immergut im Forum WebFront
    Antworten: 6
    Letzter Beitrag: 20.01.12, 07:10
  3. Wie kann ich eine Fremd SPS einbinden?
    Von Wolf im Forum SPS Automatisierungstechnik
    Antworten: 9
    Letzter Beitrag: 10.10.09, 23:35
  4. Wie kann ich die FHZ Queue leeren?
    Von pshome im Forum Sonstige Funkkomponenten / Wetterstationen
    Antworten: 3
    Letzter Beitrag: 30.12.06, 22:46
  5. Antworten: 7
    Letzter Beitrag: 06.07.06, 18:18