+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 19
  1. #1
    Registriert seit
    Mar 2007
    Ort
    Hannover
    Beiträge
    663

    Standard Gegenteiliges schalten mit einem Script

    Brauche mal ein bissel hilfe leider klapt mein script nicht ganz so wie es soll .

    Mein script ist ein schalter er soll abends die lampen aus und morgen je nach zeit die lampen unterschiedlich hell an schalten aber ich hab mir leider irgendwo einen dreher reingebastelt er schaltet wie er lust hat.


    PHP-Code:
    $Dimmerwohn1=GetValueInteger("Dimmer_1");
    $Dimmerwohn2=GetValueInteger("Dimmer_2");
    $Dimmerwohn3=GetValueInteger("Dimmer_3");
    $Dimmerwohn4=GetValueInteger("Dimmer_4");

    $h=(int)date("H");
    if (
    $h>=20)
    {
    FS20_SetIntensity(6077801);
    IPS_Sleep(50);
    FS20_SetIntensity(1362401);
    IPS_Sleep(50);
    FS20_SetIntensity(1432701);
    IPS_Sleep(50);
    FS20_SetIntensity(1319101);
    }

    if  ((
    $Dimmerwohn1 == )
     and (
    $Dimmerwohn2 == )
     and (
    $Dimmerwohn3 == )
     and (
    $Dimmerwohn4 == ) )
     {
    if (
    $h<4FS20_SetIntensity(1319151);
    elseif (
    $h<5FS20_SetIntensity(1319171);
    elseif (
    $h<6FS20_SetIntensity(13191131);
    elseif (
    $h>=6FS20_SetIntensity(13191161); 

  2. #2
    Registriert seit
    Jul 2007
    Ort
    Moers
    Beiträge
    440

    Hallo,

    ist zwar ein bisschen undurchsichtig, aber außer der fehlenden } am Ende kann ich nichts falsches erkennen. Beobachte doch mal die Variablenwerte, dann kannst Du genauer sehen, was passiert.

    Ich wünsche einen schönen Tag.

    Christoph.

  3. #3
    Registriert seit
    Mar 2007
    Ort
    Hannover
    Beiträge
    663

    ohh die } ist aber da ich wollte nur nicht den rest drumm herum der nichts mit dem Licht zutun hat nicht auch noch posten is mir bein Kopieren verlohren gegangen

  4. #4
    Registriert seit
    Feb 2007
    Ort
    Zwickau
    Beiträge
    5,483

    PHP-Code:
    $Dimmerwohn1=GetValueInteger("Dimmer_1"); 
    $Dimmerwohn2=GetValueInteger("Dimmer_2"); 
    $Dimmerwohn3=GetValueInteger("Dimmer_3"); 
    $Dimmerwohn4=GetValueInteger("Dimmer_4"); 

    $h=(int)date("H"); 
    if (
    $h>=20

    FS20_SetIntensity(6077801); 
    IPS_Sleep(50); 
    FS20_SetIntensity(1362401); 
    IPS_Sleep(50); 
    FS20_SetIntensity(1432701); 
    IPS_Sleep(50); 
    FS20_SetIntensity(1319101); 


    if(
    $Dimmerwohn1 == and 
    $Dimmerwohn2 == and 
    $Dimmerwohn3 == and 
    $Dimmerwohn4 == 0

    if (
    $h>=6){FS20_SetIntensity(13191161);}
    if (
    $h == 5){FS20_SetIntensity(13191131);}
    if (
    $h == 4){FS20_SetIntensity(1319171);} 
    if (
    $h<4){FS20_SetIntensity(1319151);} 

    Nur so auf die schnelle....

    Gruß Thomas

  5. #5
    Registriert seit
    Mar 2007
    Ort
    Hannover
    Beiträge
    663

    Danke Thomas ich werd mal übers WE probieren ob es so klapt

    MFG Ken

  6. #6
    Registriert seit
    Mar 2007
    Ort
    Hannover
    Beiträge
    663

    Leider schaltet er nicht zu den erwünschten zeiten konnte aber nicht herausbekommen warum nicht

  7. #7
    Registriert seit
    Mar 2006
    Beiträge
    3,421

    Hi!

    Ich bin zwar auch kein PHP-Experte, würde es aber so probieren:

    PHP-Code:
    $Dimmerwohn1 GetValueInteger("Dimmer_1");
    $Dimmerwohn2 GetValueInteger("Dimmer_2");
    $Dimmerwohn3 GetValueInteger("Dimmer_3");
    $Dimmerwohn4 GetValueInteger("Dimmer_4");

    $h date("H");

    if (
    $h >= 20)
    {
    FS20_SetIntensity(6077801);
    IPS_Sleep(50);
    FS20_SetIntensity(1362401);
    IPS_Sleep(50);
    FS20_SetIntensity(1432701);
    IPS_Sleep(50);
    FS20_SetIntensity(1319101);
    }

    if (
    $Dimmerwohn1 == 0)
    {
        if (
    $Dimmerwohn2 == 0)
        {
            if (
    $Dimmerwohn3 == 0)
            {
                if (
    $Dimmerwohn4 == 0)
                {
        if ( (
    $h >= 6) && ($h 20) )
        {
        
    FS20_SetIntensity(13191161);
        }
            if (
    $h == 5
            {
            
    FS20_SetIntensity(13191131);
            }    
                if (
    $h == 4
                {
                
    FS20_SetIntensity(1319171);
                }
                    if (
    $h 4)
                    {
                    
    FS20_SetIntensity(1319151);
                    }
                }
            }
        }

    Geändert von nancilla (12.11.07 um 17:14 Uhr)
    Gruß nancilla

  8. #8
    Registriert seit
    Jul 2007
    Ort
    Moers
    Beiträge
    440

    Hallo,

    Zitat Zitat von Professorakiera Beitrag anzeigen
    Leider schaltet er nicht zu den erwünschten zeiten konnte aber nicht herausbekommen warum nicht
    immerhin die Vorschlagscodes werden immer Komplizierter. Beschreibe doch mal, wie Dein Script schaltet.

    Was ist Dimmer_1 bis _4?

    Warum schaltet Du Abends versch. Geräte aus und tagsüber immer nur ein Gerät ein?

    Warum schreibst DU
    PHP-Code:
    if  (($Dimmerwohn1 == ) and ($Dimmerwohn2 == ).... 
    und nicht
    PHP-Code:
    if  (($Dimmerwohn1 == ) && ($Dimmerwohn2 == ).... 
    ? Aber das wird evtl. klar, wenn wir wissen, was in Dimmer_1 ..._4 steht.

    Ich wünsche einen schönen Abend.

    Christoph.

  9. #9
    Registriert seit
    Oct 2006
    Ort
    Obervogau (Österreich)
    Beiträge
    207

    Question ???

    @Professorakiera:
    zum besseren Verständnis deines Aufbaues: nochmal
    1. Dimmer_1 .. _4: sind damit die Statusvariablen (Helligkeit) in der FS20TX Instanz gemeint?
    2. Aufruf des Scriptes jede Stunde? (date("H"))
    3. alle Instanzen ausschalten und nur eine Instanz einschalten (#13191)?
    4. Ist das dein vollständiges Script oder nur ein Ausschnitt?
    Falls mein Ansatz richtig ist, wird dieser Abschnitt nicht funktionieren:
    PHP-Code:
    if( 
    $Dimmerwohn1 == and 
    $Dimmerwohn2 == and 
    $Dimmerwohn3 == and 
    $Dimmerwohn4 == 0

    if (
    $h>=6){FS20_SetIntensity(13191161);} 
    if (
    $h == 5){FS20_SetIntensity(13191131);} 
    if (
    $h == 4){FS20_SetIntensity(1319171);} 
    if (
    $h<4){FS20_SetIntensity(1319151);} 

    Nur die Zeile,
    if ($h<4){FS20_SetIntensity(13191, 5, 1);}
    wird vor 4 Uhr richtig funktionieren. Danach ist der Dimmerwert der Instanz #13191 <> 0 und die erste Bedingung nicht mehr erfüllt.

    Günter.
    System: IPS v4.0; Win7 SP1; EibPC; EIB/KNX; ELV HM LAN Adapter;
    Sensoren: EIB/KNX; FHT80b;FS20; HM-Wetter;
    PHP-Code:
    //Was nicht passt, wird passend gemacht
    if ($was!=($passt=1)) {$was $passt;} 

  10. #10
    Registriert seit
    Mar 2007
    Ort
    Hannover
    Beiträge
    663

    also dann erkläre ich mal was ich damit mache
    abends schalte ich licht senarien mit 4 Dimmern
    morgens soll er je nach Tageszeit einen von den Dimmern anschalten ich brauche nicht ne festbeleuchtung um zum Duschen zu gehen.

    Das ganze script schaltet meine Nachttischlame.Sprich ich lege mich ins Bett schalte die Nachttischlampe an und es soll das Licht im Wohnzimmer ausgehen.
    Morgens schalte ich die Nachtischlampe wieder an und im Wohnzimmer soll es so hell sein das ich Ins Bad finde.je nach dem das die uhr zeigt möchte ich aufwachen dabei oder nur das Klo finden *g*

    Ach und übrigens das if xxxx mit and klapt sehr gut ich nurze es schon länger

Ähnliche Themen

  1. Probleme mit E-Mail Script
    Von Akio im Forum Allgemeine Diskussion
    Antworten: 4
    Letzter Beitrag: 30.11.09, 19:22
  2. [BUG gefixt 0.91] RRD Datenbank wird nicht angelegt
    Von Stefan im Forum IP-Symcon WIIPS für Version 1.0
    Antworten: 19
    Letzter Beitrag: 19.09.06, 14:54
  3. Gute Nacht Script mit Macken
    Von Jimmy Neutron im Forum Skripte, PHP, SQL
    Antworten: 2
    Letzter Beitrag: 18.09.06, 21:51
  4. [gefixt] WIIPS Beta 2 0.70
    Von chrisu im Forum IP-Symcon WIIPS für Version 1.0
    Antworten: 16
    Letzter Beitrag: 19.01.06, 21:44
  5. Verschiedene Scripte mit else?
    Von hbraun im Forum Allgemeine Diskussion
    Antworten: 7
    Letzter Beitrag: 29.11.05, 22:43