inactive vs. disabled

Begonnen von Nielsiwilsi, 27 Dezember 2020, 12:27:01

Vorheriges Thema - Nächstes Thema

Nielsiwilsi

Hallo FHEM-Entwickler,

mir ist eben aufgefallen, dass ein AT mit inactive und ein DOIF mit disabled deaktiviert wird.
Ich kenne den Grund dafür nicht, aber wäre es nicht komfortabler, dasselbe wording zu verwenden?

Ich weiß, so ein change ist im nachhinein immer schwierig, und vielleicht ist es ja auch absichtlich so gewollt, aber falls nicht könnte man mal für ein zukünftiges Release darüber nachdenken.

Ich wünsche noch schöne und ruhige Feiertage, und danke, dass ihr so viel Zeit hier in die Entwicklung steckt.
Niels

Benni

set inactive/active ist ein Kommando!

disable/disabled ist ein Attribut!

Die Änderung eines Attributs ist eine strukturelle Änderung an der FHEM-Konfiguration, die gespeichert werden "möchte" (rotes Fragezeichen)

Das Kommando erfordert das nicht, da die Information nicht in einem Attribut in der Konfig gespeichert wird (sondern im statefile)

Es ist also grundsätzlich eine komplett unterschiedliche herangehensweise, für teilweise unterschiedliche Anforderungen, auch wenn das Ergebnis i.d.R. dasselbe ist, sprich das Device wird inaktiv, bzw. aktiv.

Manche beherrschen sogar beides (bspw. at und notify).

Bei anderen Devices gibt es dafür auch noch anderes "Wording", bspw. bei Homematic das dummy-Attribut.
Bei einigen Devices heißt das Attribut disable bei anderen disabled.

Aber ich gebe dir recht, ein einheitliches Vorgehen wäre wünschenswert, wenn auch unrealistisch in der Umsetzung. Das System/Framework ist halt gewachsen und es wären quasi alle Module betroffen.

Mein Favorit dabei wäre wübrigens die Kommandovariante mit set active/inactive :)
Und ein disable-for-intervals hätte ich auch gerne bei mehr (allen?) Devices.

Wie auch immer, wünschen kann man ja mal  ;D

gb#

MadMax-FHEM

#2
Zitat von: Benni am 27 Dezember 2020, 13:28:51
set inactive/active ist ein Kommando!

disable/disabled ist ein Attribut!

Ja, dachte ich zunächst auch. ABER: laut cref zu DOIF ist es eben bei DOIF auch ein set (steht dort zumindest).

Daher ja (wohl) die Frage warum es bei einem Device/Modul eben "set Device in/active" und bei einem anderen Device (DOIF) "set Device disable/enable" heißt ;)

Außer ich habe mich bei DOIF verlesen...
(nutze es nicht und kann es daher nicht "ausprobieren")

EDIT:
Zitat von: cref DOIF
Inaktivieren des Moduls   back

Mit dem set-Befehl disable wird ein DOIF-Modul inaktiviert. Hierbei bleiben alle Timer aktiv, sie werden aktualisiert - das Modul bleibt im Takt, allerdings werden keine Befehle ausgeführt. Das Modul braucht mehr Rechenzeit, als wenn es komplett über das Attribut disable deaktiviert wird. Ein inaktiver Zustand bleibt nach dem Neustart erhalten. Ein inaktives Modul kann über set-Befehle enable bzw. initialize (im FHEM-Modus) wieder aktiviert werden.

Aktivieren des Moduls   back

Mit dem set-Befehl enable wird ein inaktives DOIF-Modul wieder aktiviert. Im FHEM-Modus: Im Gegensatz zum set-Befehl initialize wird der letzte Zustand vor der Inaktivierung des Moduls wieder hergestellt.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

amenomade

DOIF hat beides:
- set disable
- attr disable

HTTPMOD hat:
- set stop
- attr disable

at hat:
- set inactive
- attr disable

Shelly hat:
- nix. Man kann nur das INTERVAL auf 0 setzen

Also.. sehr unterschiedlich. Aber die Erklärung und Wirkung, die Benni beschrieben hat, ist richtig. set und attr sind 2 unterschiedliche Sachen
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus