Kann IPS nicht rechnen ? - FS20_SwitchDuration Abweichung

Halloooo …

ich muss das Thema so provokant formulieren. Warum ?

Seit wenigen Tagen schalte ich per IPS über eine FHZ1000 eine FS20_Schaltsteckdose und wollte dazu auch die interne Funktion Timer nutzen. Mit der Funktion „FS20_SwitchDuration“ sollte die Steckdose eingeschaltet, und nach einer definierten Zeit selbsttätig wieder ausgeschaltet werden. (S. a. eindeutige Dokumentation zu dieser Funktion). So weit, so gut …

Nun stellte ich aber bei einigen Versuchen fest, dass die angeforderte „Duration“ nicht unbedingt mit der übermittelten Zeitspanne korelliert. Und zwar schon beim Vergleich der Funktionswerte mit dem Integer Wert im Timer des Gerätes, also alles noch innerhalb von IPS. Drei Beispiele:

FS20_SwitchDuration(12345, true, 1060); ==> Timer (Integer) = 576 !falsch.
FS20_SwitchDuration(12345, true, 4
60); ==> Timer (Integer) = 240 richtig.
FS20_SwitchDuration(12345, true, 60*60); ==> Timer (Integer) = 4096 !falsch.

Was ich eigentlich bewirken will spielt praktisch keine Rolle für meine Frage. Ich kann das „Problem“ auch umgehen, oder anderweitig lösen. Aber es geht mir dabei mehr um das Prinzip.

Denn bei einer kurzen Recherche im Forum stellte ich fest, dass das Thema schon einmal da war, und zwar am 10.01.2011 von Member „1007“. Bedauerlich empfand ich allerdings die Antwort von Administrator „paresy“:

Zitat: „Jepp. Die Formel zur Berechnung der Zeit wird, je länger die Dimmzeit, immer ungenauer. Das ist einfach Systembedingt so.“

Das halte ich für sehr stark vereinfacht. Meines Erachtens sollte es doch progammtechnisch möglich sein, einen einfachen Integerwert (Duration) in einen für das FS20 System konformen Hex-Wert umzurechnen und zu übermitteln, damit das Gerät auch das tut, was in der Dokumentation versprochen wird.

Ich würde mich freuen, wenn das IPS Team bei einem der nächsten Updates diesen kleinen Bug beheben könnte. Damit könnte man sich durchaus lästige „Problem“- Suche ersparen.

Ansonsten großer Respekt vor der gesamten Leistung. Weiter so …

Gruß
Martin

Danke für deinen langen Text, jedoch ist deine Recherche insofern falsch, als das die Gegebenheit eine Limitation der FS20 Geräte ist. IP-Symcon berechnet also bewusst diese Werte, damit die mögliche Dauer korrekt ist. Dir wird eine nervige Rechnerei der Multiplikatoren erspart. Die möglichen Werte kannst du auch in der Doku deiner FS20 Steckdose oder FS20 PIR nachlesen. Ich werde diesen Umstand aber mal in die Doku aufnehmen. :wink:

paresy

@paresy

Danke für Deine schnelle Antwort.

Ich wollte aber gestern abend zu dieser Lapalie keine Nachtschicht mehr machen. Deshalb habe ich heute vormittag …

  1. in der normalen Bedienungsanleitung zur Funk Schaltsteckdose FS20 ST-2 nachgelesen:
    Dort steht kein Hinweis - wie von Dir erwähnt - zur externen Timerprogrammierung. Lediglich per Taster Kombination kann eine feste Ablaufzeit in dem Gerät gespeichert werden. Die legt man fest, indem man zu einem beliebigen Zeitpunkt x diese Kombination drückt, anschließend eine weitere beliebige Zeit y abwartet und erneut drückt. Diese Zeitdifferenz ist dann fest im Gerät gespeichert.

  2. nochmal den Befehl FS20_SwitchDuration(12345, true, 3600) ausgeführt, und eine Stopuhr mitlaufen lassen:
    In der Timer Variablen zum Objekt steht - wie zuvor erwähnt - der Integer Wert „4096“. Das Gerät selbst schaltet dann genau nach 1h 8min und 16s aus. Umgerechnet ergibt das 4096s !!

Mir ist schon klar, dass eine exakte Umrechnung in einen - vom FS20 System interpretierbaren kryptischen - HEX-Code nicht gerade einfach ist, zumal dieser Wert ja an unterschiedlichen Stellen im Sendestring einzubauen ist.

Wäre es an der Stelle deshalb nicht einfacher, dem Anwender die Umrechnung (nach veröffentlichter Formel) selbst zu überlassen ? Wenn dann in der Timer Variablen (natürlich nicht mehr Integer, sondern ggf. String) ein solcher Wert steht, könnte er doch bei „SwitchDuration“ augelesen und an das Gerät gesendet werden… !? (Nur mal so eine erste Idee.)

Deinen Vorschlag, diese Problematik in die Doku aufzunehmen, finde ich sehr gut. Das würde sicher dem einen oder anderen User den Umgang mit dem „FS20_SwitchDuration“ Kommando erleichtern.

viele Grüße
Martin

IPS macht nichts weiter, als eine der vom FS20System vorgegebenen Settings zu wählen. Eine Referenz-Tabelle kann man u.a. hier finden. Es ist vom FS20 System nicht vorgesehen, Settings aus der Tabelle zu kombinieren, um auf einen Zwischenwert zu kommen.

Tommi

@tommi

Vielen Dank für Deinen Hinweis.

Ich habe mich in den letzten Tagen nicht mehr mit diesm „Problem“ befasst, deshalb erst jetzt meine Antwort.

Die im Link aufgeführte Information ist sehr hilfreich. Wenn ich also tatsächlich ein FS20 Gerät genau schalten muss, werde ich die im IPS vorhandenen Möglichkeiten nutzen. Für weniger ganue Schaltzeiten reicht dann halt das Wissen aus der Tabelle.

viele Grüße
Martin