| |||||||
| Registrieren | Benutzerliste | Interessengemeinschaften | Usermap | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
![]() |
| | LinkBack | Themen-Optionen | Thema durchsuchen |
| |||
|
Um die FS20 Fernbedienungen besser ausnutzen zu können, würde ich gerne die Funktion nutzen eine Taste lange halten zu können. Der FS20 Tester meldet dabei 'Status: dim up/down' (Modus doppelte Kanalzahl) - somit ist diese Funktion vom Protokoll her bekannt. Das lange drücken einer Fernbedienungstaste kann z.B. dazu dienen einen Hilfstext vorzusprechen oder sonstige Zusatzfunktionen zu übernehmen. Ich versuche gerade die Fernbedienungen mit eigenen Key-Dispatcher Funktionen möglichst komfortabel (teilweise mit Sprachfeedback) in das Gesamtsystem zu integrieren. Gruß, Oliver |
| |||
|
@GGGss ja, es geht prinzipiell darum die Tastenanzahl zu erweitern. Mit den mitgelieferten IPS-Bordmitteln ist eine Erweiterung der Tastenfunktionen bei einer Fernbedienung fast grenzenlos möglich. Beispiel: ich habe eine Fernbedienung FS20 S20 - diese hat 20 Tasten. Vier dieser Tasten reserviere ich für die Systemsteuerung (9a, 9b, 10a, 10b) mit '9a' als 'Mode Switcher' - diese Taste verändert die Bedeutung der Tasten 1a bis 8b (=16 Tasten). Derzeit sind sind 4 Modes bei mir vorgesehen: 0=LightScenes, 1=KlimaControl, 2=Information, 3=System. Damit komme ich auf: 4+4*16 = 68 Funktionen (für EINE! Fernbedienung) Dummerweise wird sich keiner 68 (oder mehr) Funktionen merken können - also experimentiere ich mit verschiedenen Möglichkeiten diese Tasten anzuordnen und einen Help-Guide (per Sprachausgabe) zu erstellen. U.a. brauche ich dafür die hardwareseitige Erkennung für das lange drücken einer Taste (z.B. Help-Guide aufrufen).... Als Beispiel hier der Code des Key-Dispatchers meiner Development-Fernbedienung (noch nicht fertig belegt): PHP-Code: Geändert von Olli (23.08.05 um 00:58 Uhr) |
| |||
|
@Parsey das dürfte genau das sein was ich brauche :-) Ich werde es heute Abend ausprobieren und die 40 Data-Variablen ergänzen ;-) Über die Update-Time der Variablen können unnötige Repeats unterbunden werden. Danke!! |
| ||||
|
Hallo Olli, Zitat:
Gruss Torro |
| |||
| Zitat:
Allerdings gibt es Benamungsregeln für die Variablen damit die regulären Ausdrücke funktionieren (siehe meinen oberen Code). |
| ||||
|
Hallo Oli, Zitat:
Gruss Torro |
| |||
|
@paresy die neue Data-Variable funktioniert einwandfrei :-) was mir dabei noch auffällt: im Kernel-Log wird noch 'Received Unsupported Command: #..' hineingeschrieben. Habt ihr Intern die Update-Time auch in Millisekunden? Damit könnte ich die Repeated-Hold Erkennung noch verfeinern - ich schätze ein Delta von ca. 0.8 Sekunden wäre optimal bei der Repeat-Erkennung (derzeit liegt der Wert bei einer Sekunde). Gruss, Oliver |
| |||
|
@Torro hier mal ein wenig Code für die neue Data-Variable eines FS20RX... ------ Erkennen des Festhaltens einer Fernbedienungstaste Durch das Halten einer Fernbedienungstaste kann die Anzahl von Tastenfunktionen einer Fernbedienung verdoppelt werden. So kann z.B. eine 20-Tasten Fernbedienung mit 40 Funktionen belegt werden. Was ist zu tun? - Fernbedienung in den Modus doppelte Kanalzahl stellen - für jede Taste eine FS20RX Instanz anlegen und die Data-Variable anlegen (die Variable Status wird nicht gebraucht) Die Data-Variablen haben folgendes Benamungsschema: {NameDerFernbedienung}_{NameDerTaste}.Data Beispiel: Fernbedienung1_1a.Data Fernbedienung1_1b.Data Fernbedienung1_2a.Data Fernbedienung1_2b.Data usw... Hinweis: {NameDerTaste} darf kein '_' enthalten! - zwei weitere Variablen für die Fernbedienung anlegen a) {NameDerFernbedienung}.HoldTimer (Typ: integer) b) {NameDerFernbedienung}.HoldVarName (Typ: string) Beispiel: Fernbedienung1.HoldTimer (integer) Fernbedienung1.HoldVarName (string) - die Datei 'globals.php' (Code siehe unten) im Skript-Verzeichnis anlegen. Dazu nicht den IPS-Skripteditor verwenden (der würde 'globals.ips.php' erzeugen) sondern einen herkömmlichen Texteditor benutzen. - mit dem IPS-Skripteditor ein Dispatcher-Skript für die Fernbedienung erstellen (z.B. Fernbedienung1_Dispatcher) (Beispielcode sie unten) - jede Data-Variable mit dem Dispatcher-Skript verbinden Beispiel: Fernbedienung1_1a.Data -> Fernbedienung1_Dispatcher Fernbedienung1_1b.Data -> Fernbedienung1_Dispatcher usw. Bei mir heisst die Fernbedienung 'FB_FS20_Rot' und hat die Tasten '1a' bis '10b' (=20 Tasten). Beispielcode für 'FB_FS20_Rot_Dispatcher.ips.php' PHP-Code: Der allgemeine Code, der für jede Fernbedieung verwendet werden kann, ist in der Datei 'globals.php': PHP-Code: |
![]() |
| Themen-Optionen | Thema durchsuchen |
| |