Reading "mode" verschwindet bei initialize

Begonnen von holle75, 12 September 2017, 15:05:16

Vorheriges Thema - Nächstes Thema

holle75

Hello, ich spiele gerade mit FTUI und eines der von mir benötigten Readings ist "mode".

Dabei ist mir aufgefallen, dass dieses, wenn man das DOIF anstatt mit "enable" mit "Initialize" wieder aktiviert (da ich möchte, dass der nächste Fall wieder triggert und nicht ein zuvor angenommener cmd-Fall bleibt) das Reading "mode" verschwindet. Ist das so gewollt? Für meine Logik sollte das Reading, sobald das DOIF wieder aktiv ist den status "enable" annehmen und nicht verschwinden.... denn das DOIF ist ja wieder, auch durch "initialize", aktiv.

bitte klärt mich auf.

Gruß

H.

Damian

Das Reading mode existiert normalerweise nicht. Das habe ich eingeführt, um den disable-Zustand zu erkennen. Beim Initialisieren werden diverse Readings des Moduls gelöscht, u. a. auch das Reading "mode" - das Modul wird in den Anfangszustand zurückgesetzt. Beim enable bleiben dagegen aller Readings erhalten, in diesem Fall wechselt der Zustand im Reading mode von disable in enable.

Das ist alles so beabsichtigt.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

holle75

Hallo Damian, mmh, sind Readings die erscheinen und wieder verschwinden nicht ein wenig unsexy? ;)

Was spricht dagegen mit dem Reading mode generell die Aktivität oder Nichtaktivität des DOIF anzuzeigen? oder anders gefragt, welchen Nachteil hätte es?


Damian

Zitat von: holle75 am 12 September 2017, 16:54:20
Hallo Damian, mmh, sind Readings die erscheinen und wieder verschwinden nicht ein wenig unsexy? ;)

Was spricht dagegen mit dem Reading mode generell die Aktivität oder Nichtaktivität des DOIF anzuzeigen? oder anders gefragt, welchen Nachteil hätte es?

Ja, das könnte man so sehen. Sachen entwickeln sich. Ich wollte keine weiteren Readings unnötig einführen. Alle, die disable/enable nicht nutzen, brauchen das Reading ja nicht.

Man kann das Reading z. B. mit ReadingsVal (mydoif,"mode","enable") oder [mydoif:mode,"enable"] abfragen, wenn es nicht existiert, dann bekommt man enable.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

holle75

Danke für deine Erklärung. Ich denke ein zusätzliches (noch dazu recht sinnvolles, ja sowieso ab und zu erscheinendes) permanentes Reading würde nicht stören, aber das ist natürlich deine Entscheidung.

Zitat von: Damian am 12 September 2017, 17:17:19
Man kann das Reading z. B. mit ReadingsVal (mydoif,"mode","enable") oder [mydoif:mode,"enable"] abfragen, wenn es nicht existiert, dann bekommt man enable.

bin noch nicht so in FTUI drin, weiß daher nicht, ob das dort funktionieren könnte. Ich werde probieren.

lieb Gruß

H.

Damian

Zitat von: holle75 am 12 September 2017, 17:26:51
Danke für deine Erklärung. Ich denke ein zusätzliches (noch dazu recht sinnvolles, ja sowieso ab und zu erscheinendes) permanentes Reading würde nicht stören, aber das ist natürlich deine Entscheidung.

bin noch nicht so in FTUI drin, weiß daher nicht, ob das dort funktionieren könnte. Ich werde probieren.

lieb Gruß

H.

Ich bin da offen, wenn ein permanenter Status des Moduls von mehreren Usern gewünscht ist, dann kann ich es einbauen. Übrigens, beim DOIF verschwinden immer wieder Readings, insb. bei set-intialize oder beim Löschen des Attributs disable, um das Modul in einen definierten Ausgangszustand zu bringen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Per

Zitat von: Damian am 12 September 2017, 17:17:19Alle, die disable/enable nicht nutzen, brauchen das Reading ja nicht.
Dann erstell es doch beim ersten mal "disable" und lass es dann drin.

holle75

Zitat von: Damian am 12 September 2017, 17:35:21
Übrigens, beim DOIF verschwinden immer wieder Readings, insb. bei set-intialize oder beim Löschen des Attributs disable, um das Modul in einen definierten Ausgangszustand zu bringen.

Jup, Zustände von Zweigen, Timer, aber doch nicht solch ein wichtiges, übergeordnetes, allgemeines, den Lebens-Status-Quo des göttlichen DOIF´s anzeigendes Reading :D

Ich habs in FTUI jetzt anders gelöst, trotzdem denke ich, dass dieses eine Reading wirklich von Anfang an da sein und auch bleiben sollte. Ist ja fast schon so interessant wie state ob das DOIF aktiv/nichtaktiv ist ;)

Zitat von: Per am 13 September 2017, 11:35:35
Dann erstell es doch beim ersten mal "disable" und lass es dann drin.

HEY Per, wie schön von dir zu hören! ....... wäre auch ein Kompromiss. Aber ich bin immer noch der oben geäußerten Meinung.

liebe Grüße an euch beide.

Damian

Zitat von: holle75 am 13 September 2017, 20:29:19
Jup, Zustände von Zweigen, Timer, aber doch nicht solch ein wichtiges, übergeordnetes, allgemeines, den Lebens-Status-Quo des göttlichen DOIF´s anzeigendes Reading :D

Ich habs in FTUI jetzt anders gelöst, trotzdem denke ich, dass dieses eine Reading wirklich von Anfang an da sein und auch bleiben sollte. Ist ja fast schon so interessant wie state ob das DOIF aktiv/nichtaktiv ist ;)

HEY Per, wie schön von dir zu hören! ....... wäre auch ein Kompromiss. Aber ich bin immer noch der oben geäußerten Meinung.

liebe Grüße an euch beide.

Also wenn, dann zu jedem Zeitpunkt, sonst gibt es wieder Kompromisse.

Dann könnte das Attribut folgende Zustände haben:

enable
disabled
deactivated


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

holle75

Für mein DOIF-laienhaftes Verständnis kann ich mit set disable das DOIF anhalten, nichts verändert sich.


set disable -> mode disabled


Wenn ich set enable ausführe gehts genau da weiter wo es disabled wurde.


set enable -> mode enable(d)


mit zB einem set initialize initiiere/resette ich das DOIF, der nächste Fall triggert. Das wäre dann


mode enable(d) (da wieder/weiterhin aktiv)


was würde deactivated bedeuten?

stimmt mein Verständnis?


Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

holle75

Zitatcommandref:

Deaktivieren des Moduls

Soll das Modul nur vorübergehend deaktiviert werden, so kann das durch set <DOIF-modul> disable geschehen. Hierbei bleiben alle Timer aktiv, sie werden aktualisiert - das Modul bleibt im Takt, allerding werden keine Befehle ausgeführt.

Initialisieren des Moduls

Mit set <DOIF-modul> initialize wird ein mit set <DOIF-modul> disable deaktiviertes Modul wieder aktiviert. Das Kommando set <DOIF-modul> initialize kann auch dazu genutzt werden ein aktives Modul zu initialisiert, in diesem Falle wird der letzte Zustand des Moduls gelöscht, damit wird ein Zustandswechsel herbeigeführt, der nächste Trigger führt zur Ausführung.

lag ich ja nicht ganz so falsch. Was würde mode deactivated bedeuten?

Damian

Zitat von: holle75 am 13 September 2017, 21:50:26
lag ich ja nicht ganz so falsch. Was würde mode deactivated bedeuten?

stand doch schon im Link:

ZitatEin DOIF-Modul kann mit Hilfe des Attributes disable, deaktiviert werden. Dabei werden alle Timer und Readings des Moduls gelöscht

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

holle75