FS 20 Fernbedienung - Anfängerproblem

Moin,

ich habe erst seit ein paar Tagen IP Symcon, bin allerdings nach ein paar Tagen direkt auf die Professional umgestiegen, einfach um mehr „herumfummeln“ zu können. Das macht ja den Spaß aus :-D.

Die ersten Schritte (da noch keine wirkliche „Hardware“ vorhanden war) beschränkten sich darauf, alle vorhandenen PC’s per Switch ein- und ausschalten zu können, sowie den Status angezeigt zu bekommen. Als ich mir dann das erste 4 Steckdosen mit Funkfernbedienungspaket bei Conrad gekauft habe, gingen 3 davon erst einmal an die Terrarien, die jetzt durch das Twilight Script automatisch ein- und ausgeschaltet werden.

Nun wollte ich einfach mal Spaßeshalber und vor allem, weil mir noch der nötige Wandschalter plus Unterputzaktor fehlt, die Lichtleiste in der Küche (ähnlich einer Treppenhausbeleuchtung) bei Tastendruck eine gewisse Zeit einschalten. Funktioniert auch tadellos. Allerdings besitzt die, dem Paket beiliegende Fernbedienung jeweils einen Ein- und Ausschalter. Drücke ich jetzt auf „Ein“, ist das Licht zwar nach 20 Sekunden wieder aus, aber die Taste steht noch auf „Ein“. Gibt es irgendwie ein Scriptschnippsel, dass mich die Taste wieder auf Aus bzw. false oder 0 stellen lässt?

Laut Forensuche gehen SetValue, SetValueBoolean, etc. ja nicht, da schreibgeschützt.

Viele Grüße

Alex

Hallo Alex,
wenn Du den Zeitgeber ausserhalb IPSymcon für das FS20 Gerät gesetzt hast, ist es nicht möglich, dass IPSymcon das mit bekommt.

Es gibt keine Rückmeldung in FS20.

Hast Du die Zeitgeberfunktion in IPSymcon gebastelt, gibt es verschiedene Lösungen. zB.

Du erstellst eine Integervariable (im Beispiel: eigenes Profil) und setzt in der Variablenedition eine eigene Aktion, ein Script, dass Deine Anweisungen dazu erfüllt.

Hier:
Das setzen des Variablenaussehens und des kurzen EIN-schalten Deiner FS20 Instanz und des erneutem setzen des Variablenaussehens nach dem „wieder AUS schalten“.

Rainer hat in „nützlicher Scripte“ Beispiele gezeigt.

<?

if($IPS_SENDER == "WebFront")

    IPS_SetVariableProfileAssociation("Toogle", 0, "", "", -1);
    IPS_SetVariableProfileAssociation("Toogle", 1, "        Ein       ", "", 0x00FF00);
    FS20_SwitchMode(31638 /*[Haus\Erdgeschoss\Wohnzimmer\Fenster rechts]*/, true);
    IPS_sleep(1000);
    IPS_SetVariableProfileAssociation("Toogle", 1, "", "", -1);
    IPS_SetVariableProfileAssociation("Toogle", 0, "       Aus       ", "", 0x000000);
    FS20_SwitchMode(31638 /*[Haus\Erdgeschoss\Wohnzimmer\Fenster rechts]*/, false);
?>

Gruß Helmut

Moin Helmut,

danke für deine Antwort. So ganz blick ich zwar noch nicht durch, wie ich das umsetzen soll, aber ich versuch mich jetzt mal daran.

Hier einmal wie ich bisher gelöst habe:


<?
$wie_lange = 10;
$handsender_knopf_1_zustand = GetValue(28663  /*[Hardware\Steuerungen\FS20 Fernbedienung 10 Taster\Device Data (1111)]*/);
if($handsender_knopf_1_zustand == "17")
{
FS20_SwitchDuration(45081 /*[Hardware\Licht\Küche\Lichtleiste]*/, true, $wie_lange);

}
else
{
FS20_SwitchMode(45081  /*[Hardware\Licht\Küche\Lichtleiste]*/,false);
}
?>

So, jetzt wird probiert…

hmm so wirklich weiter komm ich nicht. Ich hab jetzt den vorhandenen Variablen ein Profil gegeben, also einmal Knopf 1 (Boolean) und einmal Knopf 1 Data (Integer) und versucht dort die Werte zu ändern:


if($IPS_SENDER == "WebFront")

    IPS_SetVariableProfileAssociation("Toogle", 1, True, "", 0x00FF00);
    FS20_SwitchMode(45081 /*[Hardware\Licht\Küche\Lichtleiste]*/, true);
    IPS_sleep(10000);
    IPS_SetVariableProfileAssociation("Toogle", 0, False, "", 0x000000);
    FS20_SwitchMode(45081 /*[Hardware\Licht\Küche\Lichtleiste]*/, false);

Ich hab schon die verschiedensten Werte ausprobiert, aber so wirklich was ändern tut sich nicht. grmbl

Viele Grüße

Alex

Frage mich gerade (eigentlich schon seit gestern), welchen Sinn es macht, die Anzeige der Fernbedienung zurückzustellen. Interessant ist doch der Aktor, der ja richtig funktioniert. Eine Fernbedienung ist vielleicht noch für Kontrollfreaks in Bezug auf die letzte Betätigung interessant, ansonsten spielt die aber keine Rolle. :cool:

Gruß
Bruno

Die Fernbedienung lag diesem Paket dabei und dient momentan eigentlich nur als Spiel- bzw. Testobjekt. Bisher hab ich noch keinen wirklichen Nutzen dafür, da das Licht dann eh (Treppenhausähnlich) über einen Wandschalter betätigt werden soll. Da ich aber vermute, da das gleiche Problem zu haben, möchte ich mich jetzt schon um die Lösung kümmern.

Denn wenn ich den noch nicht vorhandenen Schalter kippen würde, steht er auf an. Das Licht geht nach gewisser Zeit wieder aus, der Schalter steht aber immer noch auf an. D.h., das nächste Mal müsste ich ihn zweimal betätigen um ihn auf aus und wieder an zu stellen. Da es hier aber um Komfort geht, liegt das nicht in meinem Sinne, man ist ja faul und möchte es so haben, wie man sich das vor stellt :-D.

Die Fernbedienung verhält sich genauso. Ich habe eine Taste für AN und eine für AUS. Ich muss nach dem erstmaligen Betätigen also erst wieder auf AUS drücken, bevor ich AN betätigen kann.

Da scheinen grundlegende Verständnisprobleme vorzuliegen. Für solche Anwendungsfälle werden Taster verwendet und die stellen sich automatisch zurück. :eek:

FS20 geht bei langem Tastendruck (Schalter) in den Konfig-Modus.

D.h. wenn ich beispielsweise den hier nehmen würde…

FS20 Funk-Wandsender S4A Kanäle 2/4 Reichweite (max.) 100 m 868 MHz im Conrad Online Shop | 617250

verhält sich das anders als bei der Fernbedienung?

Das Ding ist doch auch ne Fernbedienung, steht doch in der Rubrik. Läuft genauso, wie die andere.

Ist im Grunde genommen nicht jeder Schalter eine Art Fernbedienung?

Dann wäre ich ja (wenn sich mein Problem nicht Scripttechnisch irgendwie lösen lässt) auf eine Unterputzlösung angewiesen, da unter der Rubrik „Schalter“ keine „Ich kleb dich einfach nur an die Wand“-Schalter zu finden sind.

Durch Zufall hab ich gerade festgestellt, dass ich die Fernbedienung von einer 10-Tasten-Fernbedienung in einen 20-Taster umwandeln kann, mal schauen ob mich das irgendwie weiter bringt.

ich glaube ich hatte Deinen Wunsch falsch verstanden.

Es besser Du schreibst ein Script indem der Taster abgefragt wird und das dann auch dieses erweiterte Script aufruft.

Damit kannst Du das FS20 Gerät von Webfront und von Deiner Fernbedienung tasten/schalten.

Den Weg über Variablen, die sich nicht beschreiben lassen ist shit.

Habe mein Beispielscript um die Möglichkeit es ausserhalb der Webfront zu tasten erweitert.

Den Zustand der FS20 Steckdose kannst Du nicht erfragen, deshalb mußt Du den Zustand des FS20 Gerätes in einem Script setzen oder rücksetzen.

Wenn Du DAS in dem nachfolgenden Script tust, wird es sofort geändert.

Wenn Du das nicht willst, also anstelle von $wie_lange = 5, mußt Du IPS schlafen legen für die Zeit, so wie in dem vorher geposteten Script und „FS20_SwitchMode“ benutzen.

Das ist eher schlecht…

Eine Lösung wäre time() beim Switchduring zu speichern und nach der (time() + $wie_lange) den Zustand per Script auf false zu setzen.
Das wäre meine leienhafte PHP-Vorgehensweise.

Das mit der FB und 20 Tasten hat nur Vorteile !!

Gruß Helmut


<?
$wie_lange == 5;
if($IPS_SENDER == "WebFront" || "RunScript")

    IPS_SetVariableProfileAssociation("Toogle", 0, "", "", -1);
    IPS_SetVariableProfileAssociation("Toogle", 1, "        Ein       ", "", 0x00FF00);
   FS20_SwitchDuration(31638 /*[Haus\Erdgeschoss\Wohnzimmer\Fenster rechts]*/,true, $wie_lange);

    IPS_SetVariableProfileAssociation("Toogle", 1, "", "", -1);
    IPS_SetVariableProfileAssociation("Toogle", 0, "       Aus       ", "", 0x000000);

?>

Nachtrag: Wobei der Zustand der Steckdose im Webfront schon geändert wird, nur Deine FB nicht, wäre DAS wichtig?

Zeit Überwachung so ähnlich:


<?
$Diff = 0;
$Zeit_Verstrichen = GetValueInteger(23593 /*[ModBus Pokey\Test_Webfront_Aktion\Zeit_Jetzt_Variable]*/);
$Diff = time() - $Zeit_Verstrichen;
Echo $Diff;
If ($Diff > 5)
{
FS20_SwitchMode(31638 /*[Haus\Erdgeschoss\Wohnzimmer\Fenster rechts]*/, false);
}
?>

Moin Helmut,

sorry für die späte Antwort, Arbeitstechnisch war ein wenig viel zu tun.

Die Steckdose funktioniert ja tadellos und der Zustand wird in der Verwaltungskonsole ohne Probleme angezeigt.

Ums Webfront gehts mir garnicht, ich möchte davon garnichts angezeigt bekommen. Es ging mir nur darum, den Status dieses einen Knopfes von 17 auf 0 bzw. True auf False zu setzen, damit beim nächsten Druck auf die Taste, die wieder Wert 17 auslöst auch die Steckdose schaltet.

Wie du schon sagtest bringt der 20 Taster einige Vorteile, den, dass An und Aus jetzt auf einer Taste liegen hab ich mir zu Nutze gemacht und somit das Problem gelöst. Ich lasse jetzt einfach einen Einzeiler auslösen, sobald die Taste Ihren Status ändert. Somit löst die Steckdose bei jedem Druck auf die Taste für 4 Minuten aus. Genau das was ich auch wollte.

Mich wurmt trotzdem, dass ich es nicht geschafft habe, die Fernbedienung im herkömmlichen 10-Tasten-Modus per Skript umzustellen -.-

Hinzu kommt, dass ich jetzt ein ganz anderes Problem habe und keine Ahnung wo das her kommt. Ich habe 3 Terrarien in der Wohnung, die durch IP-Symcon morgens eingeschaltet und abends ausgeschaltet werden.

FS20_SwitchMode(55587 /* Bartis */, true);
FS20_SwitchMode(39523 /* Mrs P */, true);
FS20_SwitchMode(43283  /* Halsbandleguan */, true);

Das lief auch ohne Probleme in den letzten Tagen. Allerdings wird jetzt eines der Terrarien nicht mehr geschaltet. IP-Symcon zeigt zwar den Status der Steckdose an, der geschaltet werden soll, also Abends z.B. Aus. Allerdings ist die Steckdose noch eingeschaltet. Ich hab auch nichts verändert und die Steckdose ist genau so weit entfernt wie eines der anderen Terrarien wo es funktioniert. Konfus.

Viele Grüße

Alex

Sag doch einfach gleich, was Du möchtest, statt dem anderen Gefasel. :confused:

Dafür gibt es den Auslöser „bei Variablenaktualisierung“. Aber warum einfach, wenn es auch …

Gruß
Bruno

Was ich wollte, steht doch im ersten Post:

die Lichtleiste in der Küche (ähnlich einer Treppenhausbeleuchtung) bei Tastendruck eine gewisse Zeit einschalten.

Drücke ich jetzt auf „Ein“, ist das Licht zwar nach 20 Sekunden wieder aus, aber die Taste steht noch auf „Ein“. Gibt es irgendwie ein Scriptschnippsel, dass mich die Taste wieder auf Aus bzw. false oder 0 stellen lässt?

Zu dem Zeitpunkt wusste ich nur noch nicht, dass ich die Fernbedienung so umstellen kann, dass nur noch eine Taste für „Ein“ und „Aus“ zuständig ist und somit der Auslöser überhaupt verwendbar wird.

Der Auslöser „Bei Variablenaktualisierung“ funktioniert ohne Umstellung der Taste oder sonstiger Dinge bei jedem Druck auf die Ein-Taste. Eine Rückstellung ist nicht erforderlich. :eek:

Nicht ohne Grund hatte ich nach dem Sinn der Rückstellung gefragt, da dies, vielleicht auch nur für mich, nicht erkennbar war.

Genial…läuft. Danke :-D.

Jetzt konnte ich sogar direkt noch etwas umsetzen. Da er bei einer Drückdauer von 2sek. den Wert für DIMM UP ausspruckt (18). Kann ich ihm direkt sagen, Schalte für Zeit x bei Wert 17 (normales Drücken) und schalte Komplett ein bei Wert (17). Knopf aus schaltet dann einfach aus.

Ich hätte da nochmal eine Frage zum FHZ 1300. Wie bereits erwähnt habe ich das Problem, dass eine der 3 Terrariensteckdosen nicht immer schaltet (immer die gleiche).

Im Skript habe ich keinerlei verzögerung und habe die Schaltung der 3 Steckdosen direkt hintereinander stehen. Kann es sein, das das FHZ versucht alle Befehle auf einmal zu senden und ich mit einer kleinen Verzögerung das Problem beheben könnte?

Das FS20 reagiert recht empfindlich auf nah beieinander stehenden Empfängern. ELV gibt auch irgendwo einen Mindestabstand von 50 cm an. (schau mal in die Betriebsanleitung) Versuche es mal mit Umdrehen der Aktoren oder Verlängerungsschnüre.

Da werde ich kein Problem mit haben. Die stehen alle mindestens 3m von einander entfernt.

Was hindert Dich am Probieren ? :rolleyes:

Im Moment gehts komischerweise, auch ohne „delay“. Sollte es jetzt nochmal Probleme geben versuch ich es einfach nochmal mit einer Verzögerung. Mittlerweile hab ich irgendwie die Vermutung, dass eine meiner dicken Katzen sich, dreist wie sie sind, auf den Empfänger gesetzt hat.

Man hat ja keine Körbchen neeeeein, lieber ein paar Unterlagen herunter schmeißen und Empfänger blockieren. Kommen alle ins Tierheim.