+ Antworten
Ergebnis 1 bis 6 von 6
  1. #1
    Registriert seit
    Dec 2010
    Beiträge
    95

    Standard Trigger funktioniert nicht?!?

    Hallo Leute,

    ich habe mir folgendes Script geschrieben, um bei entsprechender Aussentemp. und Dauer der geöffneten Fenster einen Hinweis auszugeben, um die Fenster zu schließen. Es kommt teilweise vor, dass Fenster in wenig genutzten Räumen vergessen werden. Dann stehen sie bei -5°C die ganze Nacht offen.

    Das Script läuft ansich prima aber der Trigger leider nicht. Getriggert wird durch die Variablenänderung State vom HM Fenstersensor. Führe ich das Script manuell aus klappt's prima. Ändert sich der Status von geschlossen auf gekippt oder geöffnet, startet der Timer nicht. Erst beim zweiten Mal am Fenstergriff rumspielen wird der Timer gestartet.

    Kann sich das mal bitte jemand ansehen? Danke!

    Was ist hier falsch?

    PHP-Code:
    <?
    $fenster
    =GetValueInteger(29240 /*[HM-Komponenten\Couchfenster\STATE]*/);
    $aussentemp=GetValueFloat(26197 /*[Makros\Umgebungsklima\Außentemperatur]*/);
    $oeffnungszeit=GetValueInteger(55574 /*[Timer & Einstellung\Fensteröffnungsdauer bis Warnung]*/);
    $grenztemp=GetValueFloat(57199 /*[Timer & Einstellung\Auslösetemperatur Fensterwarnung]*/);



    if(((
    $IPS_SENDER =="TimerEvent") AND ($fenster 0) AND ($aussentemp $grenztemp)))
    {

    TTS_Speak(24293 /*[Status und Sprachscripts\Text To Speech]*/"Das Wohnzimmerfenster ist seit längerer Zeit geöffnet. Bitte schließen!"true);


    IPS_SetScriptTimer($IPS_SELF,5*60);
    Echo 
    "Wiederholung alle 5 min";
    return;
    }
    if(
    GetValue(23900 /*[Hausüberwachung]*/))
    {
    IPS_SetScriptTimer($IPS_SELF,$oeffnungszeit);
    Echo 
    "Timer an";
    }
    else
    {
    IPS_SetScriptTimer($IPS_SELF,0);

    Echo 
    "Timer aus";
    }
    ?>
    Geändert von REDBANDITO (13.01.12 um 23:17 Uhr) Grund: Erledigt!

  2. #2
    Registriert seit
    Sep 2007
    Ort
    Bodensee
    Beiträge
    955

    Das Problem ist, dass beim ersten Mal über
    PHP-Code:
    $IPS_SENDER == "Variable" 
    getriggert wird - und das beachtest Du nicht. Dein SkriptTimer wird aber gestartet, da der nicht mehr in der ersten if-Abfrage drin ist.
    Also, schau nochmal im Detail drüber, eventuell kommst ja selber drauf wie Du es ändern musst. Wenn nicht, meld Dich noch mal.
    KNX | WAGO 750-889 mit 753-646 | DALI mit 753-647 | HM via piVCCU3

  3. #3
    Registriert seit
    Dec 2010
    Beiträge
    95

    Oh man, ich frage in der zweiten Schleife die falsche Variable ab, die 23900 statt die 29240.

    Danke Dir wenn Du das gemeint hast.

    Gruß

    Felix

  4. #4
    Registriert seit
    Aug 2010
    Beiträge
    4,761

    Die if-Bedingung erwartet ein Timer-Event + Fenster >0 + ...

    Du triggerst aber über eine Variable. Also sagt die if-Bedingung geht mich nix an.


    Gruß
    Bruno
    Geändert von Powerfreddy (13.01.12 um 23:45 Uhr) Grund: Schreibfehler

  5. #5
    Registriert seit
    Sep 2007
    Ort
    Bodensee
    Beiträge
    955

    So sollte es gehen:
    PHP-Code:
    <?
    $fenster
    =GetValueInteger(29240 /*[HM-Komponenten\Couchfenster\STATE]*/);
    $aussentemp=GetValueFloat(26197 /*[Makros\Umgebungsklima\Außentemperatur]*/);
    $oeffnungszeit=GetValueInteger(55574 /*[Timer & Einstellung\Fensteröffnungsdauer bis Warnung]*/);
    $grenztemp=GetValueFloat(57199 /*[Timer & Einstellung\Auslösetemperatur Fensterwarnung]*/);

    if (((
    $IPS_SENDER =="Variable") AND ($fenster 0) AND ($aussentemp $grenztemp))) {

    TTS_Speak(24293 /*[Status und Sprachscripts\Text To Speech]*/"Das Wohnzimmerfenster ist seit längerer Zeit geöffnet. Bitte schließen!"true);
    IPS_SetScriptTimer($IPS_SELF,5*60);
    Echo 
    "Wiederholung alle 5 min";
    }

    if (
    GetValue(23900 /*[Hausüberwachung]*/) && $IPS_SENDER == "TimerEvent") {
    IPS_SetScriptTimer($IPS_SELF,$oeffnungszeit);
    Echo 
    "Timer an";
    }

    if (!
    GetValue(23900 /*[Hausüberwachung]*/) && $IPS_SENDER == "TimerEvent") {
    IPS_SetScriptTimer($IPS_SELF,0);

    Echo 
    "Timer aus";
    }
    ?>
    KNX | WAGO 750-889 mit 753-646 | DALI mit 753-647 | HM via piVCCU3

  6. #6
    Registriert seit
    Dec 2010
    Beiträge
    95

    So wie ich das aber zuvor geschrieben habe klappt es doch auch Prima wenn ich nur auf die Variable triggere.

    Hier nun das funktionierende Skript:

    PHP-Code:
    <?
    $fenster
    =GetValueInteger(29240 /*[HM-Komponenten\Couchfenster\STATE]*/);
    $aussentemp=GetValueFloat(26197 /*[Makros\Umgebungsklima\Außentemperatur]*/);
    $oeffnungszeit=GetValueInteger(55574 /*[Timer & Einstellung\Fensteröffnungsdauer bis Warnung]*/);
    $grenztemp=GetValueFloat(57199 /*[Timer & Einstellung\Auslösetemperatur Fensterwarnung]*/);



    if((
    $IPS_SENDER =="TimerEvent") AND (($fenster 0) AND ($aussentemp $grenztemp)))
    {

    TTS_Speak(24293 /*[Status und Sprachscripts\Text To Speech]*/"Das Wohnzimmerfenster ist seit längerer Zeit geöffnet. Bitte schließen!"true);


    IPS_SetScriptTimer($IPS_SELF,5*60);
    Echo 
    "Wiederholung alle 5 min";
    return;
    }
    if(
    GetValue(29240 /*[HM-Komponenten\Couchfenster\STATE]*/))
    {
    IPS_SetScriptTimer($IPS_SELF,$oeffnungszeit);
    Echo 
    "Timer an";
    }
    else
    {
    IPS_SetScriptTimer($IPS_SELF,0);

    Echo 
    "Timer aus";
    }
    ?>

Ähnliche Themen

  1. EM 1000-GZ/GZS funktioniert nicht richtig
    Von olaf.jaster im Forum Sonstige Funkkomponenten / Wetterstationen
    Antworten: 34
    Letzter Beitrag: 01.01.13, 21:29
  2. Generisches Skript für Trigger
    Von moishe im Forum Skripte, PHP, SQL
    Antworten: 4
    Letzter Beitrag: 14.11.09, 01:20
  3. fopen funktioniert nicht
    Von Eisenberg188 im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 4
    Letzter Beitrag: 07.06.09, 14:02
  4. Abfragen welcher trigger ein script getriggert hat
    Von Professorakiera im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 6
    Letzter Beitrag: 08.04.09, 05:29
  5. DMX_SetBlackout funktioniert nicht
    Von papaschlumpf im Forum Beleuchtung / Lichttechnik
    Antworten: 10
    Letzter Beitrag: 27.02.09, 02:05