Letztes Update von SetExtension hat Seiteneffekte

Begonnen von Physikus1, 26 November 2014, 20:43:54

Vorheriges Thema - Nächstes Thema

Physikus1

Hallo,

ich musste leider bei einem FS20-Aktor on und off vertauschen. Dies habe ich über eine EventMap realisiert mit folgender Konfiguration:
attr xyz eventMap on:off off:on on-till:off-till off-till:on-till on-for-timer:off-for-timer off-for-timer:on-for-timer

Das hat bisher gut funktioniert. Nach dem letzten Update von SetExtension.pm werden nun aber die von mir verwendeten on-till Befehle nicht mehr korrekt umgesetzt. Ich hab die auskommentierte Auswertung der Eventmap wieder lokal aktiviert und es geht wieder wie vorher.
Gibt's dafür eine bessere Lösung?

rudolfkoenig

1. FS20 implementiert on-till selbst, wieso die Aenderung in SetExtensions deswegen Probleme macht ist mir nicht klar.
Um doppelten Code zu vermeiden, habe ich on-till in FS20 entfernt, damit wird on-till, wie bei den anderen Modulen auch, ueber SetExtensions implementiert.

2. Da on-till selbst ein on/off sendet, die wiederum schon umbenannt sind, darf man on-till nicht auch umbenennen. Um das zu erreichen, muss on-till:on-till in eventMap vor on:off erwaehnt werden. Da on:off auch on-for-timer aendert, muss on-for-timer nicht extra erwaehnt werden:
attr xyz eventMap on-till:on-till off-till:off-till on:off off:on

Physikus1

#2
Hi, ich habe nochmal aktualisiert (aber keine neue FS20-Version erhalten) und Deine Hinweise ausprobiert. Hier das Ergebnis:

Eventmap on-till:on-till off-till:off-till on:off off:on (obwohl mir die Umsetzung on-till:on-till nicht verständlich ist):




BefehlFS20-AusgabeAT-Befehl
set xyz on-till 22:00FS20 xyz on22:00 set xyz off
set xyz off-till 22:00FS20 xyz on22:00 set xyz on

Eventmap on-till:off-till off-till:on-till on:off off:on:




BefehlFS20-AusgabeAT-Befehl
set xyz on-till 22:00FS20 xyz on22:00 set xyz on
set xyz off-till 22:00FS20 xyz on22:00 set xyz off

Soll:




BefehlFS20-AusgabeAT-Befehl
set xyz on-till 22:00FS20 xyz off22:00 set xyz off
set xyz off-till 22:00FS20 xyz on22:00 set xyz on

Fazit: Dein Tipp kommt dem Soll am nächsten, aber trotzdem wird bei on-till der falsche FS20 Befehl gesendet und die Lampe bleibt dunkel.  :(

betateilchen

Zitat von: Physikus1 am 27 November 2014, 19:08:20
Hi, ich habe nochmal aktualisiert (aber keine neue FS20-Version erhalten)

Wenn Rudi das heute aktualisiert hat, bekommst Du das per Update morgen früh ab ca. 8 Uhr.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

on-till:on-till bewirkt, dass fuer on-till das eventMap on:off nicht greift (weil der on-till Regel schon greift), und on-till deswegen nicht nach off-till umgebaut wird. Ohne die FS20-Aktualisierung greift der eventMap fuer on:off nicht.

Physikus1

Alles klar,

danke für die schnelle Erklärung. Bin gespannt auf Morgen.

Physikus1

Super, mit der neuen Version des FS20 Moduls und der angepassten EventMap läuft alles wieder wie gewünscht.

Vielen Dank