Hauptmenü

DOIF und IF

Begonnen von Per, 02 November 2023, 03:37:51

Vorheriges Thema - Nächstes Thema

Per

Moin,

kann es sein, dass bei einem im Command-Teil des DOIF (wo sonst) eingesetztes IF verschiedene DOIF Mechanismen nicht greifen? Z.B. [:sec] oder [,default]?


Ja, im Perl Modus kann ich das umgehen, aber im FHEM Modus lässt sich manches trotzdem leichter programmieren, umsonst wurde er ja nicht "erfunden".

Damian

Zitat von: Per am 02 November 2023, 03:37:51Moin,

kann es sein, dass bei einem im Command-Teil des DOIF (wo sonst) eingesetztes IF verschiedene DOIF Mechanismen nicht greifen? Z.B. [:sec] oder [,default]?


Ja, im Perl Modus kann ich das umgehen, aber im FHEM Modus lässt sich manches trotzdem leichter programmieren, umsonst wurde er ja nicht "erfunden".

ja, das ist richtig. IF ist älter und kann vieles nicht was DOIF kann.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Per

Hätte ja sein können, dass DOIF das durchreicht.
Besteht die Chance, dass das bei IF gleichgezogen wird?

Damian

Zitat von: Per am 02 November 2023, 11:33:32Hätte ja sein können, dass DOIF das durchreicht.
Besteht die Chance, dass das bei IF gleichgezogen wird?

Ich wollte eigentlich die Entwicklung von IF nicht mehr forcieren. Es gibt da unsaubere Stellen, die mir nicht gefallen, auf die ich keinen Einfluss habe. Eine davon ist: hinter IF muss ein Leerzeichen stehen, da FHEM nach einem FHEM-Befehl eins erwartet IF(... geht also nicht, das ist nicht anwenderfreundlich. Dann wird bei jeder Ausführung IF in Perl-if übersetzt, was auch suboptimal ist, da es unnötig Performance kostet.

Wer also mehr will, dem empfehle ich Perl-if im DOIF-Perlmodus zu nutzen. Dort kann man z. B. die ganzen Features von DOIF, wie z. B. die beiden von dir genannten, nutzen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Per

Mit dem gemischten Modus komme ich nicht so richtig klar, manchmal klappt es, oft nicht.