Unterputz-Funkschalter

Hi,

habe mir einen Unterputzschalter FS20 SU zugelegt. In der Anleitung steht etwas von „…schließen Sie den Taster…“.

Was für einen Taster brauche ich? Der soll notwendig sein, um das Teil zu Programmieren.

Ich möchte meine Balkonbeleuchtung steuern und habe nur einen ganz normalen Außenlichtschalter.

Gruß

Jimmy

Laut bedienungshandleitung s. 7
dein kipp schalter ersetzen durch einem puls-schalter und verbinden mit rot-rot leiter.
(Dann wird NUR lokal geschaltet = IPS bekommt diesem befehl NICHT)

oder uber ein anderer FS20 sender programmieren.

Vielleicht doch mal bedienungsanleitung durchlesen (erste 10 seiten - der rest brauchst du in bezirk zu IPS nicht)

Good Luck
Fredje

Danke Fredje,

aber ich habe das Teil von Conrad. Die Anleitung ist leider etwas schwammig. Da steht drin, dass man zwingend einen Taster benötigt, um das Teil in den Programmiermodus zu bekommen. Auf ne FS20 Komponente reagiert es im Auslieferzustand noch nicht.

Gruß

Jimmy

IPS bereit stellen (hardware wizzard)

länger wie 5s die rot - rot leiter kurzschliesen und IPS ein schaltvorgang machen lassen. (On Off knopf drucken)

jetzt kannst du IPS den schalter bedienen lassen.

wenn du kurzer wie 0,5s die rot rot leiter kurzschliesst, kannst du lokal schalten (IPS bekommt der schaltvorgang aber nicht mit).

Also am Schalter hängen 2 Drähte raus. Die muss du für die Dauer von 15 (mindestens) Sekunden kurzschliessen und schon ist dein Schalter im Programmiermodus und lauscht auf eine FS20 Adresse. Wenn du jetzt neben dem PC sitzt und da schon eine Instanz angelegt hast (auch Hauscode und Adresse eingegeben hast) muss du einfach über dessen Controlpanel mal einen ON oder OFF befehl schicken. Dann wird der Schalter den neuen Hauscode und neue Adresse aufnehmen und speichern.
Andere Variante wäre, wenn du eine FB bei hand hast. Dann muss du ein Tastenpaar(oder Taste) auf die Adresse einstellen, die du möchstest (muss nachher die gleiche sein wie in IPS) und dann hiermit den Code rüberschicken. Voraussetzung in natürlich wieder der Programmiermodus des Schalters (15 Sek. kurzschliessen der beiden Drähte).

Das müsste klappen

mfG Franz

Hi,

habe jetzt meinen FS20 S4U programmiert und in IPS eine Instance erstellt.
Nun wollte ich diesen Schalter über eine Fernbedienung und einen FS20 S4A bridgen. Doch dies ist ja nur bei TX-Instancen möglich, der FS20 S4U wird aber als RX-Instance angelegt.

Kann ich nur über Script schalten oder wie bekomme ich Sender und Schalter verheiratet?

Gruß

Jimmy

oder scripten

oder
dein S4U direkt uber dem FB anlernen
und ein TX instanz anlegen die deine FB kennt
so lausch IPS die zu den S4U gesendete kommando’s mit

Hi,

mit welchem Befehl schalte ich eigentlich den FS20 S4U?

FS20_SwitchMode funzt net. Kommt die Meldung Instance (12345) not found in …currentscript on line 10

Gruß

Jimmy

mit welchem Befehl schalte ich eigentlich den FS20 S4U

den „schaltest“ du nicht, den liest du aus ! Zuerst eine Instanz anlegen für den entsprechenden Kanal (im 2-Kanal Modus eben für die 2 Kanäle) und dann verknüpfst du das mit einer BOOL Variable. Die kannst du dann in deinen Scripts auf den jeweiligen Zustand abfragen !

mfG Franz

Hallo Franz,

ich möchte den FS20 S4U mit nem Piri und nem Taster schalten. Es handelt sich um eine Balkonleuchte, die ich bei Bedarf schalten möchte, aber auch durch den Piri geschaltet wird.

<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : BA_Beweg.ips.php
Trigger  : BA_Beweg.Status
Interval : 
*/
//File: BA_Beweg.ips.php
if($IPS_SENDER == "Variable") {

 //Lampe Abends anschalten, wenn nicht bereits an
 if(!GetValueBoolean("Ist_Tag") && !GetValueBoolean("BA_FS_Leuchte.Status")) {
  IPS_RunScript("BA_FS_Leuchte_ON"); //Hier dein Lampe An Script oder Alternativ der SwitchMode Befehl
 }

 IPS_SetScriptTimer("BA_Beweg", 120); //Timeout 2 Minuten

} else {

//Lampe ausschalten, wenn an und wenn Taster auch auf AUS! (Sonst würde der Piri das Licht ausmachen, wenn man manuell das Licht angemacht hat, der PIRI Timer aber abgelaufen ist)
 if(GetValueBoolean("BA_FS_Leuchte.Status") && !GetValueBoolean("WZ_TA_Taste1.Status")) {
  IPS_RunScript("BA_FS_Leuchte_OFF"); //Dein Lampe OFF Script oder SwitchMode
 }

 //Keine Bewegung mehr im Zimmer (Nur damit die Variable stimmt...)
 SetValueBoolean("BA_Beweg.Status", FALSE);

 //Timer ausschalten, wenn abgelaufen
 IPS_SetScriptTimer("BA_Beweg", 0);

}

?>

Wie muss ich das Script umschreiben, damit es funzt?

Gruß

Jimmy

Hier hast du ein fertiges Skript. Ich habe es geschrieben damals und funktionniert seither bei mir im Haus für jede PIRI Anwendung

Erklärung:

1 FS20S4U (UP-Sender)
1 PIRI
1 FS20SU (Schalter)

Der FS20S4U muss auf jeden Fall auf 2 Kanal programmiert sein. Es muss TRUE und FALSE erkannt werden. Mit SWAP wird es nicht funktionnieren. Er muss ausserdem die gleiche Adresse/Hauscode haben wie der FS20SU.
Der PIRI muss eine andere Adresse haben.

Wenn der FS20S4U auf False steht, also „ausgeschaltet“ ist das Licht auch aus. Der PIRI ist auf Standby und schaltet bei Bewegung die Lampe für eine programmierte Dauer. Falls die Bewegung im Bereich des PIRI’s bestehen bleibt, wird nachgetriggert für die selbe Dauer.
Auf Wunsch kann man das Licht dann per FS20S4U ausschalten, doch der PIR bleibt aktiv.
Schaltet man jetzt das Licht per FS20S4U ein, dann werden die Trigger des PIRI ignoriert. Das Licht wird anbleiben, solange bis es wieder ausgeschaltet wird per FS20S4U.
Schöner kannst du es nicht haben, und das alles nur in einem kompakten Script.

*******************************
 IP-SYMCON Event Scripting
*******************************
File     : LEVEL_2_LIGHT.ips.php
Trigger  : 
Interval : 
*/
$move = GetValueBoolean("LEVEL_2_PIRI_MOVE_DETECT");
$FS20S4U_PB = GetValueBoolean("LEVEL_2_S4U_PB_LIGHT");
$switch_duration = 40; // switchtime for Light

switch ($IPS_SENDER)
        {
         case "Variable"   : if ($IPS_VARIABLE == "LEVEL_2_S4U_PB_LIGHT")
                                 if ($FS20S4U_PB == False)
                                     {
                                     SetValueBoolean("LEVEL_2_PIRI_MOVE_DETECT", False);
                                     IPS_SetScriptTimer("LEVEL_2_LIGHT", 0);
                                     }
                                     
                             if ($IPS_VARIABLE == "LEVEL_2_PIRI_MOVE_DETECT")
                                  if ($move == True)
                                      if ($FS20S4U_PB == False)
                                          {
                                           FS20_SwitchDuration(21608, True, $switch_duration);
                                           IPS_SetScriptTimer("LEVEL_2_LIGHT", $switch_duration);
                                          }
                             break;
         

         case "TimerEvent" : SetValueBoolean("LEVEL_2_PIRI_MOVE_DETECT", False);
                             if ($FS20S4U_PB == False)  IPS_SetScriptTimer("LEVEL_2_LIGHT", 0);
                             break;
        }
?>

Events:

OnUpdate: LEVEL_2_PIRI_MOVE
LEVEL_2_S4U_PB_LIGHT

Und dann müsste das tadellos funktionnieren.
Du sollst natürlich die Variablennamen anpassen wie du sie brauchst. Bei mir ist es das Script für die Beleuchtung im Flur des 2. Stockwerks

mfG Franz

Danke Franz, dass ist genau das, was ich brauche. Werd´s mal auf meine Variablen umschreiben und schauen, wie es bei mir funktioniert.

Eine Frage hätte ich noch, ich möchte noch die Variable „Ist_Tag“ einbinden, will heissen, der Piri reagiert nur, wenn die Variable auf „false“ steht, also Nacht (Sonnenuntergang) ist. Da ich nicht der php-Profi bin, vielleicht hast Du ja einen Tip für die Anpassung Deines Scriptes für mich.

Gruß

Jimmy

Bitte sehr, hier das script mit einer Zusatz-BOOL Variable. Bei FALSE funktionniert der PIRI (z.B. nach der Dämmerung am Abend) oder eben bei TRUE hat der PIRI keinen Einfluss und das Licht bleibt aus, es sei den, man schaltet über Taster (FS20S4U)

<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : LEVEL_0_LIGHT.ips.php
Trigger  : 
Interval : 
*/
$move = GetValueBoolean("LEVEL_0_PIRI_MOVE_DETECT");
$FS20S4U_PB = GetValueBoolean("LEVEL_0_S4U_PB_LIGHT");
$switch_duration = 60; // switchtime for Light
$day_status = GetValueBoolean("FLOOR_DAY_STATUS");

switch ($IPS_SENDER)
        {
         case "Variable"   : if ($IPS_VARIABLE == "LEVEL_0_S4U_PB_LIGHT")
                                 if ($FS20S4U_PB == False)
                                     {
                                     SetValueBoolean("LEVEL_0_PIRI_MOVE_DETECT", False);
                                     IPS_SetScriptTimer("LEVEL_0_LIGHT", 0);
                                     }

                             if ($IPS_VARIABLE == "LEVEL_0_PIRI_MOVE_DETECT")
                                  if ($move == True)
                                      if ($FS20S4U_PB == False)
                                          if ($day_status == False)
										  {
                                           FS20_SwitchDuration(57704, True, $switch_duration);
                                           IPS_SetScriptTimer("LEVEL_0_LIGHT", $switch_duration);
                                          }
                             break;


         case "TimerEvent" : SetValueBoolean("LEVEL_0_PIRI_MOVE_DETECT", False);
                             if ($FS20S4U_PB == False)  IPS_SetScriptTimer("LEVEL_0_LIGHT", 0);
                             break;
        }
?>

die zusätzliche Variable hier ist der „day_status“

mfG Franz

Hallo Franz,

danke vielmals für das Script. Doch leider schaltet mein FS20 S4U nicht.
Der Piri löst den Timer aus, aber die Lampe schaltet nicht ein.

Wenn ich ein einzeiliges Script mit „FS20_SwitchDuration(12345, True, 120)“ ausführe, kommt die Meldung : „Warning: fs20_switchduration ( 12345 ) not found in C:\Programme…currentscript on line 10“

Manuell lässt sich der FS20 S4U über einen Schalter oder Fernbedienung schalten. Die Variable ändert sich auch. Wo liegt mein Fehler?

Gruß

Jimmy

Also, um Missverständnisse aus dem Weg zu räumen, den FS20S4U schaltest du nicht. DAS ist der Sender ! Der Schalter ist der FS20SU!
Also, TASTER = FS20S4U und Lampe = FS20SU

Hast du alle Zeilen auf eventuelle PHP Fehler nachgekuckt? Ein „;“ das fehlt, kann schon Chaos verursachen. Hast du wirlkich überall die gleichen Hausadressen? Kannst du mit dem FS20S4U (also UP Taster) die Lampe schalten? Haben die den gleichen Code?
Die Instanz die bei Switchduration stehen muss, ist die der Lampe, also der FS20SU, und NICHT der Fs20S4U !!

Kuck das noch mal alles nach !

mfG Franz

Hallo Franz,

das Missverständnis lag ganz auf meiner Seite. Wer lesen kann…

Ich habe einen FS20 SU gekauft, die Instance aber als FS20 S4U angelegt. Das kann ja auch nicht klappen. Ich hatte mich so darauf eingeschossen, dass ich einen FS20 S4U habe. Ein Blick auf die Packung schaffte Abhilfe.

Nun kann ich auch schalten :slight_smile:

Eine kleine Frage zu Deinem Script habe ich noch: Tagsüber erkennt der Piri Bewegung und schaltet auch seine Variable. Die Leuchte geht, weil ist Tag, nicht an. Jedoch bleibt die „Piri-Variable“ auf true. Das ist doch nicht im Sinne des Erfinders, oder?

Was muss ich in das Script noch einbauen, damit tagsüber die Variable auf false zurückgesetzt wird?

Gruß

Jimmy

Ja, wenn tagsüber der PIRI nicht benutzt wird, bleibt die Variabe auf TRUE. Das war mir bekannt, habe jedoch nie etwas unternommen, da es für mich nie relevant war. Aber da könnte man noch was mit einbauen dass die Variable immer wieder zurückgesetzt wird. Ich werde es mir mal anschauen !

mfG Franz

Das wäre klasse. Ich möchte gerne wissen, wenn sich tagsüber was auf meinem Balkon tut.

Gruß

Jimmy