FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: akw am 09 März 2014, 13:55:37

Titel: Verständnisfrage: "state","STATE"
Beitrag von: akw am 09 März 2014, 13:55:37
Hi,

ich habe ein kleines Verständnisproblem mit dem default-state. Die Beschreibung im FHEMwiki hat da leider auch nicht weitergeholfen.

Angenommen ich habe ein Modul geschrieben, dass mittels "readingsBulkUpdate" u.a. einen Wert names "power" schreibt.
Was sollte ich tun, damit er als Default-Reading genommen wird?
a) $hash->{STATE} setzen
b) das reading auch nach "state" schreiben.
c) .. ?


Vielen Dank für die Hilfe!

Ciao, Arno
Titel: Antw:Verständnisfrage: "state","STATE"
Beitrag von: Loredo am 09 März 2014, 14:09:58
Am flexibelsten bleibst du (und deine Nutzer), wenn du das Attribut stateFormat auf "power" setzt. wer möchte, kann es später dann noch abändern und dein STATE bleibt nicht statisch.


Gruß
Julian
Titel: Antw:Verständnisfrage: "state","STATE"
Beitrag von: akw am 09 März 2014, 14:21:33
Hi Loredo,

Du meinst also etwas wie:

$attr{$name}{"stateFormat"} = "power";
Das klingt sehr gut für mich! "stateFormat" kannte ich noch nicht.

Ciao, Arno
Titel: Antw:Verständnisfrage: "state","STATE"
Beitrag von: justme1968 am 09 März 2014, 14:22:12
STATE solltest du nicht schreiben. damit verhinderst du das es der anwender konfigurieren kann

state kannst du mit etwas sinnvollem füllen. wenn es STATE und stateFormat nicht gibt wird state automatisch nach STATE kopiert. so hat der anwender einen vernünftigen default auch wenn er sich nicht weiter mit der konfiguration beschäftigt.

das automatische kopieren kann der anwender dann mit stateFormat konfigurieren wenn er sich mehr mit dem system beschäftigt hat.

gruss
  andre

edit: loredo war schneller :)
ob man aus dem modul direkt stateFormat setzt ist umstritten :) ich finde es auch keine schlechte lösung. du musst nur aufpassen das du nicht verhinderst das der anwender etwas anderes setzt. du kannst es also z.b. im define setzen.
Titel: Antw:Verständnisfrage: "state","STATE"
Beitrag von: Loredo am 09 März 2014, 14:22:26
ja ganz genau so  ;)
achte nur drauf, dass du es nur setzt, wenn es nicht schon gesetzt ist. sonst kann der User es nicht mehr dauerhaft ändern.
Titel: Antw:Verständnisfrage: "state","STATE"
Beitrag von: rudolfkoenig am 09 März 2014, 14:24:35
Der Modulautor schlaegt in state vor, was angezeigt werden soll.
fhem.pl kopiert state nach STATE, falls kein stateFormat existiert, sonst wird stateFormat genomen
Der Benutzer (und nicht der Modulautor) setzt stateFromat, falls er mit dem Vorschlag des Modulautors nicht einverstanden ist.
Angezeigt wird STATE (von FHEMWEB und list, usw).
Titel: Antw:Verständnisfrage: "state","STATE"
Beitrag von: akw am 09 März 2014, 18:30:05
Okay,
also wenn ich Rudolf richtig verstanden habe, ist es doch besser, das "state" Attribut zu setzen und "stateFormat" komplett dem User zu überlassen.

Ciao, Arno
Titel: Antw:Verständnisfrage: "state","STATE"
Beitrag von: Loredo am 09 März 2014, 18:34:09
also wenn ich Rudolf richtig verstanden habe, ist es doch besser, das "state" Attribut zu setzen und "stateFormat" komplett dem User zu überlassen.


Das sowieso. Ich nahm an du hättest deine Gründe so genau zu fragen, daher habe ich es nicht weiter hinterfragt.
Titel: Antw:Verständnisfrage: "state","STATE"
Beitrag von: akw am 10 März 2014, 07:51:30
Hi,


ich finde es halt nur irgendwie ungünstig, ein Attribut "power" anzulegen und den gleichen Wert in ein Attribut "state" zu schreiben. Deswegen schien das Vorgeben eines "stateFormat" beim define eine ganz nette Idee.
Titel: Antw:Verständnisfrage: "state","STATE"
Beitrag von: betateilchen am 10 März 2014, 10:32:03
Ich finde den Messwert in "power" auf jeden Fall richtig aufgehoben. Warum willst Du den zusätzlich noch in STATE haben und das dem User auch noch vorschreiben wollen? Der User hat jederzeit die Möglichkeit, den Wert dort sichtbar zu machen, wenn er es möchte.

Einen entsprechenden Hinweis über die Vorgehensweise kannst Du jederzeit in die commandref packen.
Titel: Antw:Verständnisfrage: "state","STATE"
Beitrag von: Dr. Boris Neubert am 10 März 2014, 10:34:54
Der Modulautor schlaegt in state vor, was angezeigt werden soll.
fhem.pl kopiert state nach STATE, falls kein stateFormat existiert, sonst wird stateFormat genomen
Der Benutzer (und nicht der Modulautor) setzt stateFromat, falls er mit dem Vorschlag des Modulautors nicht einverstanden ist.
Angezeigt wird STATE (von FHEMWEB und list, usw).

[OT]
Ist das schon irgendwo im fhemwiki.de dokumentiert? Falls nein, wer macht's?

Hatten wir nicht mal in Vorforumszeiten die Regel, daß in Entwicklungssachen der Fragesteller die Antwort dokumentiert?

Grüße
Boris
Titel: Antw:Verständnisfrage: "state","STATE"
Beitrag von: rudolfkoenig am 10 März 2014, 10:49:02
Zitat
Hatten wir nicht mal in Vorforumszeiten die Regel, daß in Entwicklungssachen der Fragesteller die Antwort dokumentiert?

Toller Vorschlag, bin dabei :)
Titel: Antw:Verständnisfrage: "state","STATE"
Beitrag von: akw am 10 März 2014, 21:36:49
hmmmph. Also gut, ich mach's  ;)

http://www.fhemwiki.de/wiki/DevelopmentState