FHEM Forum

FHEM => fhem-users => Thema gestartet von: Guest am 09 März 2011, 15:07:04

Titel: Viariablen - Verständnisfrage
Beitrag von: Guest am 09 März 2011, 15:07:04
Originally posted by: <email address deleted>

Hallo,

nach größerer Verwirrung bezüglich der Variablen in FHEM (und dies trotz
Lektüre von http://fhemwiki.de/index.php/DevelopmentGuidelines und allem
anderen, was google so lieferte) habe ich jetzt doch Wege gefunden, die
funktionieren.

Gerne wüsste ich kurz, ob das so, wie ich es mache (denn das entspricht
imho nicht der Doku!) korrekt ist. Wenn ja, fasse ichs gerne kurz im
Wiki zusammen.

als Beispiel nehme ich hier mal ein CUL_FHTTK namens "Bad_Fenster":
fhem> list Bad_Fenster
Internals:
   CODE       1afccc
   CUL1_MSGCNT 241
   CUL1_RAWMSG T1AFCCC021C
   CUL1_RSSI  -60
   CUL1_TIME  2011-03-09 14:41:38
   DEF        1afccc
   IODev      CUL1
   LASTIODev  CUL1
[...]
   Prev:
     STATE      02
     TIMESTAMP  1299678098
   Readings:
     2011-03-09 14:41:38   Battery         ok
     2011-03-09 14:41:38   Reliability     ok
     2011-03-09 14:41:38   Window          Closed

fhem> { $defs{Bad_Fenster}{readings}{Window}{value} }
fhem>
geht (entgegen der Doku) nicht.

folgendes funktioniert:
fhem> { $defs{Bad_Fenster}{READINGS}{Window}{VAL} }
Closed

an die Attribute komme ich sehr simpel:
fhem> { $attr{Bad_Fenster}{room} }
Bad

- Kopfzerbrechen haben mir die Internals wie z.B. LASTIODev gemacht:

so funktionierts jedenfalls nicht:
fhem> { $defs{Bad_Fenster}{internals}{LASTIODev} }
fhem> { $defs{Bad_Fenster}{INTERNALS}{LASTIODev} }
fhem> { $defs{Bad_Fenster}{fhem}{LASTIODev} }
fhem> { $defs{Bad_Fenster}{FHEM}{LASTIODev} }
fhem>

=> gibt es {internals} und {fhem}?

Folgendes funktioniert (eigentlich auch logisch, wenn man sich die
Ausgabe von 'list ' anschaut):
fhem> { $defs{Bad_Fenster}{LASTIODev} }
CUL1

Ist das so gedacht und habe ich nur "zufällig" einen funktionierenden
Weg gefunden?!

Martin

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
Titel: Re: Viariablen - Verständnisfrage
Beitrag von: rudolfkoenig am 09 März 2011, 16:39:03
                                                   

> nach größerer Verwirrung bezüglich der Variablen in FHEM (und dies trotz
> Lektüre von http://fhemwiki.de/index.php/DevelopmentGuidelines und allem
> anderen, was google so lieferte) habe ich jetzt doch Wege gefunden, die
> funktionieren.

http://fhemwiki.de/index.php/DevelopmentGuidelines beschreibt einen Wunsch, wie
ein "besseres" fhem ausschauen sollte. Leider benoetigt es etliches an
Code-Rewrite, und wuerde die meisten Konfigurationen/Zusatzprogramme brechen,
jedenfalls wagt sich im Moment keiner dran es in die Wirklichkeit umzusetzen.

-> Bis auf weiteres bitte diese Seite ignorieren.
   Oder fhem.pl und einzelne Module proaktiv umstellen, dann hat der Rest von
   uns nicht mehr so viele Ausreden das Dokument zu ignorieren :)



> fhem> { $defs{Bad_Fenster}{READINGS}{Window}{VAL} }

Das ist zwar auch korrekt, ich wuerde aber stattdessen
  fhem> { ReadingsVal("Bad_Fenster", "Window", "closed") }
vorschlagen, der ist hoffentlich zukunftsicher.  Das letzte Parameter ist das
"default" Wert, wird also zurueckgeliefert, falls das gesuchte Wert nicht
gesetzt ist).



> fhem> { $attr{Bad_Fenster}{room} }

Analog zu oben:
  fhem> { AttrVal("Bad_Fenster", "room", "none") }



> fhem> { $defs{Bad_Fenster}{LASTIODev} }

Stimmt, hier sollte eigentlich auch ein InternalVal($$$) bereitgestellt werden.

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
Titel: Re: Viariablen - Verständnisfrage
Beitrag von: Martin Fischer am 09 März 2011, 16:56:17
Am Mittwoch 09 März 2011 schrieb Rudolf Koenig:
> http://fhemwiki.de/index.php/DevelopmentGuidelines beschreibt einen Wunsch,
> wie ein "besseres" fhem ausschauen sollte. Leider benoetigt es etliches an
> Code-Rewrite, und wuerde die meisten Konfigurationen/Zusatzprogramme
> brechen, jedenfalls wagt sich im Moment keiner dran es in die Wirklichkeit
> umzusetzen.

das ist so nicht ganz richtig! ich glaube nicht, das es daran liegt das es
"keiner wagt". ich habe ja seinerzeit den stein in's rollen gebracht und sitze
seit langem bereits in den startlöchern. myhce 2.0 ruht derzeit genau aus den
gründen. ich habe das thema nur nicht weiter aufgegriffen, weil es den
anschein hat(te) das nicht gesondertes interesse besteht.

dabei sehe ich es so:
wenn wir das thema mal wieder aufgreifen würden und "auf der grünen wiese"
beginnen (unter berücksichtigung der dann noch abschliessend zu diskutierenden
guideline) erste module zu bauen, dann würden wir das auch mal in die tat
umsetzen.

jetzt, wo sogar avm darauf gestossen ist, sehe ich das als grosse chance hier
entsprechend voranzuschreiten und die grundsteine für die zukunft zu legen.

eine saubere guideline, sowie gar eine api könnte fhem zu noch grösserem
interesse verhelfen und auch neuen anwendern einen besseren einstieg in die
modulenticklung liefern.

aber das thema hatten wir ja seinerzeit schon. nur schade, das es
eingeschlafen ist.

gruss martin

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.