+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 17
  1. #1
    Registriert seit
    Jun 2010
    Beiträge
    98

    Standard Türkontakt Licht ein mit Timer, Bewegunsmelder verlängert den Timer

    Hallo zusammen,

    nachdem ich nun den Grossteil meiner Aktoren mit einigen Kopfschmerz im IPS eingebunden habe und einfachere Schaltungen auch ohne Skripte hinbekommen habe, nun meine erste komplexere Aufgabe. Da meine PHP Kenntnisse fast gegen null laufen ich mich aber gerne damit auseinandersetzen würde hier mal eine grundsätzliche Anfrage. Leider habe ich kein Beispielskript in dieser From hier gefunden, vielleicht kann aber doch einer weiter helfen. Über einen HM Türkontakt würde ich gerne einen Merten Dimmer auf 100% einschalten. Dieser soll nach einer Zeit von 60 Sek. wieder ausschalten, es sei den mein EZ Motion erkennt eine Bewegung. In diesem Fall soll das Licht weitere 120 Sek. eingeschaltet bleiben (nach der letzten Bewegungserkennung). Keine Bewegung über 120Sek. dann licht wieder aus. Wird erneut Bewegung erkannt soll das Licht sofort wieder eingeschaltet werden für 120 Sek. ... das war es dann eigetnlich auch schon :-) wäre für jede Hilfe dankbar ...

    Beste grüße

    Marko

  2. #2
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    23,729

    Zum Schalten: http://www.ip-symcon.de/service/doku...zw-switchmode/
    Für die Timer: http://www.ip-symcon.de/service/doku...etscripttimer/

    Wenn du nach dem zweiten Befehl suchst, dann kannst du bestimmt ein paar guten Beispiele finden

    paresy

  3. #3
    Registriert seit
    Jan 2010
    Ort
    Friedrichsdorf-Köppern
    Beiträge
    1,441

    Zitat Zitat von Marko Beitrag anzeigen
    Hallo zusammen,

    nachdem ich nun den Grossteil meiner Aktoren mit einigen Kopfschmerz im IPS eingebunden habe und einfachere Schaltungen auch ohne Skripte hinbekommen habe, nun meine erste komplexere Aufgabe. Da meine PHP Kenntnisse fast gegen null laufen ich mich aber gerne damit auseinandersetzen würde hier mal eine grundsätzliche Anfrage. Leider habe ich kein Beispielskript in dieser From hier gefunden, vielleicht kann aber doch einer weiter helfen. Über einen HM Türkontakt würde ich gerne einen Merten Dimmer auf 100% einschalten. Dieser soll nach einer Zeit von 60 Sek. wieder ausschalten, es sei den mein EZ Motion erkennt eine Bewegung. In diesem Fall soll das Licht weitere 120 Sek. eingeschaltet bleiben (nach der letzten Bewegungserkennung). Keine Bewegung über 120Sek. dann licht wieder aus. Wird erneut Bewegung erkannt soll das Licht sofort wieder eingeschaltet werden für 120 Sek. ... das war es dann eigetnlich auch schon :-) wäre für jede Hilfe dankbar ...

    Beste grüße

    Marko
    Genau so habe ich meine Kellerausgangsbeleuchtung realisiert.

    Werde das Script nochmal ein wenig auf-hübschen und kann es dir dann zur Verfügung stellen.
    • Server: 3x 19" 1HE ITX Intel Atom D525 Server
    • Router: Sophos UTM 9
    • IPS-Server: 19" Intel I5/ 32 GB / 500 GB HDD
    • HT: Homematic 95% / 1-Wire 5% / Z-Wave Beginner

  4. #4
    Registriert seit
    Jun 2010
    Beiträge
    98

    Hallo Frank,

    das wäre mega perfekt. Zumindest würde ich darüber auch mal den Ablauf mitbekommen. Zur Zeit hangel ich mich hier durchs Forum und diverse Skripte, wo ich bei den meisten aber schon den Grundsatz nicht so recht nachvollziehen kann.

    gruss marko

  5. #5
    Registriert seit
    Jan 2010
    Ort
    Friedrichsdorf-Köppern
    Beiträge
    1,441

    Schau mal ob du damit schon klar kommst, ansonsten erläutere ich dir den Ablauf noch genauer....

    Denke aber das durch die IPS Kommentare es recht gut verständlich ist.

    Ich schalte über Bewegungsmelder oder Türkontakt den Timer auf 3min (3*60sec) und schalte das Licht ein
    Wenn der Timer abläuft schaltet er das Licht aus.

    Das ganze mache ich nur zwischen 17 Uhr abend und morgens 9 Uhr ansonsten ist es hell genug (kannst du gerne rausnehmen)

    PHP-Code:
    <?
    $aktTime
    =date("Hi"); 
    // aktuelle Uhzeit im Format 1200 für 12:00Uhr
    $id_Bewegungsmelder_Motion=16026 
    /*[Keller\Waschkeller\Bewegungsmelder Kellerausgang\Bewegungserkennung\MOTION]*/;
    $id_Kellerausgang_tuer=11672 
    /*[Keller\Waschkeller\Kellerausgang\STATE]*/;
    $id_timer_event=55823 /
    *[
    Keller\Waschkeller\Beleuchtung_Waschkeller\]*/;
    $id_Beleuchtung=39899 
    /*[Keller\Hobbyraum\Bewässerungsventile\VENTIL 4 derzeit noch für Waschkellerlicht]*/;

    if ( 
    $aktTime <= 900 || $aktTime >= 1700 ) {

    if(@
    $_IPS['VARIABLE'] == $id_Bewegungsmelder_Motion ) {    

    IPS_SetScriptTimer($IPS_SELF60*3); // Timer um 3 Minuten verlängern   
    HM_WriteValueBoolean($id_Beleuchtung,"STATE",true); //Licht einschalten

    } else if (GetValueBoolean$id_Kellerausgang_tuer/*[Keller\Waschkeller\Kellerausgang\STATE]*/)){    
    IPS_SetScriptTimer($IPS_SELF60*3); // Timer um 3 Minuten verlängern    
    HM_WriteValueBoolean($id_Beleuchtung,"STATE",true);

    }else 
    {
    IPS_SetScriptTimer($IPS_SELF0);
    HM_WriteValueBoolean($id_Beleuchtung ,"STATE",false);
    }
    }
    if (@
    $_IPS['EVENT'] ==  $id_timer_event )
    {
    IPS_SetScriptTimer($IPS_SELF0);
    HM_WriteValueBoolean($id_Beleuchtung ,"STATE",false);
    }
    //ENDE
    ?>
    Geändert von dapor (13.11.12 um 18:38 Uhr)
    • Server: 3x 19" 1HE ITX Intel Atom D525 Server
    • Router: Sophos UTM 9
    • IPS-Server: 19" Intel I5/ 32 GB / 500 GB HDD
    • HT: Homematic 95% / 1-Wire 5% / Z-Wave Beginner

  6. #6
    Registriert seit
    Jun 2010
    Beiträge
    98

    auf den ersten Blick sieht es schonmal verständlich aus. Auf Grund des allgemeinen Weltfriedens (oder auch Familienfriedens), komme ich leider erst morgen früh dazu mir das ganze in Ruhe anzuschauen. Puhh und es kribbelt wirklich in den Fingern ... naja mal schauen vielleicht dann auch noch heute zu etwas späterer Stunde :-)

    Besten Dank

    Marko

  7. #7
    Registriert seit
    Jun 2010
    Beiträge
    98

    so den Teil mit der Uhrzeit habe ich entfernt den Rest soweit möglich auf meinen Objektbaum angepasst. Allerdings fehlt mir so ein wenig das Verständnis für die Zeile $id_timer_event=55823 ... ansonsten wenn ich das skript manuell ausführe bekomme ich einen Fehler aus der Zeile ZW_SwitchMode($id_Beleuchtung, false); mit der Fehlermeldung :Warning: ZW_SwitchMode: Instance #33709 not found! in F:\IP-Symcon\scripts\38740.ips.php on line 21
    [0] in function ZW_SwitchMode in F:\IP-Symcon\scripts\38740.ips.php on line 21
    aber die id ist vorhanden und stimmt auch ?????????

    PHP-Code:
    <?
    $id_Bewegungsmelder_Motion
    =13110 /*[Install\ZWave\Keller Serverraum - Bewegungsmelder (NodeID 009)\Data(Boolean)]*/;
    $id_Kellertuer_innen=17921 /*[Install\EG Kellerzugang\EG - Kellertüre:1\STATE]*/;
    $id_timer_event=55823 /*[Keller\Waschkeller\Beleuchtung_Waschkeller\]*/;
    $id_Beleuchtung=33709 /*[Install\ZWave\EG Keller - Treppenlicht\Status]*/;

    if(@
    $_IPS['VARIABLE'] == $id_Bewegungsmelder_Motion ) {

    IPS_SetScriptTimer($IPS_SELF60*3); // Timer um 3 Minuten verlängern
    ZW_SwitchMode($id_Beleuchtungtrue); //Licht einschalten

    } else

    if (
    GetValueBoolean$id_Kellertuer_innen/*[Install\EG Kellerzugang\EG - Kellertüre:1\STATE]*/)){
    IPS_SetScriptTimer($IPS_SELF60*3); // Timer um 3 Minuten verlängern
    ZW_SwitchMode($id_Beleuchtungtrue);

    }else
    {
    IPS_SetScriptTimer($IPS_SELF0);
    ZW_SwitchMode($id_Beleuchtungfalse);
    }
    if (@
    $_IPS['EVENT'] ==  $id_timer_event )
    {
    IPS_SetScriptTimer($IPS_SELF0);
    ZW_SwitchMode($id_Beleuchtungfalse);
    }
    //ENDE
    ?>
    Besten Dank

    Marko

  8. #8
    Registriert seit
    Jan 2010
    Ort
    Friedrichsdorf-Köppern
    Beiträge
    1,441

    ich kenne mich mit ZW_SwitchMode nicht aus, kann aber sein, das du nicht den Status sondern die Oberinstanz auswählen musst.

    die Timer-ID entsteht, wenn du das Script das erste mal getriggert wird, legt es einen Timer unterhalb des Scriptes an, diese ID trägst du dann ein.
    • Server: 3x 19" 1HE ITX Intel Atom D525 Server
    • Router: Sophos UTM 9
    • IPS-Server: 19" Intel I5/ 32 GB / 500 GB HDD
    • HT: Homematic 95% / 1-Wire 5% / Z-Wave Beginner

  9. #9
    Registriert seit
    Jun 2010
    Beiträge
    98

    ok das mit dem Timer ist dann auch erledigt.

    Wenn ich die obere Instanz nehme kommt zwar kein Fehler mehr aber eine wirkliche Funktion hat dann dieses Skript auch nicht :-(

    Vielleicht noch jemand mit zWave Nodes hier der weiter helfen kann ?? im übrigen ist das Licht manuell eingeschaltet worden steigt das Skript schon früher aus (zw_switch.....true) und das mit der gleicher Fehlermeldung.

    gruss marko

    PS: Türkontakt ist ein Homematic, Beleuchtung Merten Superdimmer ZWave, Bewegung EZMotion ZWAVE
    Geändert von Marko (14.11.12 um 17:50 Uhr)

  10. #10
    Registriert seit
    Jun 2010
    Beiträge
    98

    Lösung gefunden .... die obere Instanz muss angegeben werden bei der Beleuchtung und "oh wie peinlich" das Ereignis welches das Skript dann auch auslöst. Naja so ist das wohl bei den ersten Skripten die man einbaut :-)

    Herzlichen Dank nochmal

    gruss marko

Ähnliche Themen

  1. Türkontakt soll Licht schalten
    Von TheFurious im Forum HomeMatic
    Antworten: 48
    Letzter Beitrag: 01.09.12, 09:23
  2. Vom Timer gestartet und noch ein Timer drinnen
    Von Wile_E. im Forum Skripte, PHP, SQL
    Antworten: 6
    Letzter Beitrag: 20.07.12, 08:19
  3. Script Timer - erster Durchlauf erst nach Timer-Wert
    Von kafiphai im Forum Skripte, PHP, SQL
    Antworten: 4
    Letzter Beitrag: 11.05.08, 19:10
  4. ein timer problem mit meinem script
    Von hmpf99 im Forum Skripte, PHP, SQL
    Antworten: 12
    Letzter Beitrag: 05.05.07, 16:14