Tutorial oder Howto "Erstellen von eigenen Modulen für FHEM"

Begonnen von Guest, 22 November 2012, 09:40:59

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo zusammen,
vorab - dies ist kein Tutorial oder Howto :-)

Ich habe da nur einen Wunsch...

Ich würde gerne eigene Module für FHEM schreiben, leider bin ich nicht so
fit was die Programmierung der FHEM internas angeht.

Ich habe mal in der Maillist gesucht und einen älteren Beitrag von Rudolf
gefunden wo die Grundlagen beschrieben wurden.
Ich habe den Text mal in ein PDF umgesetzt und angehangen.

Leider bleiben bei mir noch einige Fragen bezüglich der Zusammenarbeit von
den physikalischen und Logischen Modulen bei mir offen.

Wäre es unter Umständen möglich ggf. im Wiki so eine Art Leitfaden zur
Programmierung zu erstellen?
Also wie werden die Daten zwischen den Modulen und FHEM ausgetauscht.

Ich habe mir die vorhandenen Module zwar angeschaut, aber die meisten sind
so komplex, dass ich irgendwann den Faden verloren habe..

Ich hoffe mein ansinnen ist nicht zu "extravagant" ich würde nur gerne
etwas zu fhem beitragen - ohne immer nur Beiträge ala:
"Ich habe Hardware XY geht das mit FHEM, und wenn nein - schreibt mir
jemand ein Modul" einzustellen.

Oder gibt es so etwas schon?

Gruß,
Thorsten





--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

UliM

                                                 

Hi Thorsten,
- auf http://www.fhemwiki.de/wiki/FHEM findest Du unten rechts den Bereich
"Developers corner", da findest Du ein paar Grundlagen
- es gibt ein separates Forum
https://groups.google.com/forum/#!forum/fhem-developers , da findest Du
sicher auch ne Menge
- den Inhalt des pdf sollte Rudi verifizieren, evtl. können wir's dann mit
ins wiki stellen
Willkommen :)
Uli

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Guest

Originally posted by: <email address deleted>

Nicht in der Form. Das Problem ist aber ganz klar, dass diejenigen, die
dies genau wissen, auch wenig Zeit haben, dieses methodische Vorgehen
aufzuschreiben.

LG

pah

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Lehrreich ist es auch bestehende Module anzusehen.


2012/11/22 Prof. Dr. Peter A. Henning

> Nicht in der Form. Das Problem ist aber ganz klar, dass diejenigen, die
> dies genau wissen, auch wenig Zeit haben, dieses methodische Vorgehen
> aufzuschreiben.
>
> LG
>
> pah
>
>
>  --
> To unsubscribe from this group, send email to
> fhem-users+unsubscribe@googlegroups.com
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

borsti67

                                                 

vielleicht könnte man den Ansatz trotzdem mal ins WIKI stellen (anstatt
PDF), ggf mit der fetten Überschrift "UNVOLLSTÄNDIG ODER GAR GANZ FALSCH"
;-)  ?
Dann könnte zumindest der eine oder andere, der sich an sowas bereits
versucht hat, Teile korrigieren/ergänzen...


> 2012/11/22 Prof. Dr. Peter A. Henning
>
>> Nicht in der Form. Das Problem ist aber ganz klar, dass diejenigen, die
>> dies genau wissen, auch wenig Zeit haben, dieses methodische Vorgehen
>> aufzuschreiben.
>>
>>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
cu/2
Borsti
---
FHEM 5.8 auf Synology DS211j (bis 11/17) | FHEM 6.0 auf Raspi Zero W (bis 11/20) | FHEM 6.2 als VM in Synology DS1815+ (ab 11/20)

Guest

Originally posted by: <email address deleted>

Da gebe ich dir recht, aber ohne die generellen Zusammenhänge tue ich mich
damit etwas schwer...

Ich habe mir ja auch bereits diverse Module angesehen und habe auch die
meisten Funktionen verstanden. Aber wenn es um die Modulübergreifenden
zusammenhänge geht hakt es bei mir aus... Bin halt kein Perl-Profi...






On Thursday, November 22, 2012 12:36:10 PM UTC+1, drdownload wrote:
>
> Lehrreich ist es auch bestehende Module anzusehen.
>
>
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> den Inhalt des pdf sollte Rudi verifizieren, evtl. können wir's dann mit ins
> wiki stellen

Ergaenzungen:
- Laden (neu in 5.3+SVN):
  Wenn ein fhem-Befehl nicht gefunden wird, dann wird nach einem Datei mit dem
  gleichen Namen gesucht, und falls gefunden, geladen. Z.Zt. sind die Befehle
  JsonList, XmlList, backup und update so implementiert.

- Physische/Logische Geraete
  Falls man das Problem so aufteilen kann, dann gibt es damit die Moeglichkeit
  Code zu sparen: Das FS20 Modul kann so vom CUL und vom FHZ1x00 verwendet
  werden.  Analog: CUL_HM mit CUL und HMLAN. Weiteres Pluspunkt: Nur in disem
  Fall kann man eine FHEM2FHEM Raw Verbindung verwenden, um entfernte
  fhem-Gerate steuern zu koennen.

- Falls man es nicht so aufteilen kann/will: contrib/00_TAHR.pm ist ein
  Beispielmodul fuer den "kombinierten" Fall.

- FD:
  Man sollte die DevIo Funktionen verwenden, diese erledigen das und viel mehr.

- Falls man in einem Funktion (StateFn/AttrFn/etc) nichts machen will, dann
  sollte man es einfach nicht definieren.

Achtung in fhemwiki/DeveloperGuidelines: das meiste hier ist immer noch als
Wunsch bzw. Ziel zu interpretieren, und ist noch nicht konkret umgesetzt.
D.h. es kann sich noch aendern, und man kann sich auf eine fhem-Unterstuetzung
noch nicht verlassen. Aber wir arbeiten dran.

Btw. so eine Diskussion gehoert ins fhem-devel

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Kann jmd gute Module empfehlen? gut=gut programmiert und dokumentiert?
hatte bis jetzt nur Pech und recht minimalistische Module, teilweise sogar
ohne KOmmentare gesehen.

Am Donnerstag, 22. November 2012 12:36:10 UTC+1 schrieb drdownload:
>
> Lehrreich ist es auch bestehende Module anzusehen.
>
> Lg
Joachim
 

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Na, meine ;-).

Zumindest Kommentare enthalten sie. Um welches Gerät soll es denn gehen ?

LG

pah

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Mmmhh dann muss ich mich wohl mal eingehender damit befassen...

Danke für die Ergänzungen, ich kann das ja mal ins Wiki tippern -


Gruß,
Thorsten

On Thursday, November 22, 2012 2:57:08 PM UTC+1, Rudolf Koenig wrote:
>
> > den Inhalt des pdf sollte Rudi verifizieren, evtl. k�nnen wir's dann
> mit ins
> > wiki stellen
>
> Ergaenzungen:
> - Laden (neu in 5.3+SVN):
>   Wenn ein fhem-Befehl nicht gefunden wird, dann wird nach einem Datei mit
> dem
>   gleichen Namen gesucht, und falls gefunden, geladen. Z.Zt. sind die
> Befehle
>   JsonList, XmlList, backup und update so implementiert.
>
> - Physische/Logische Geraete
>   Falls man das Problem so aufteilen kann, dann gibt es damit die
> Moeglichkeit
>   Code zu sparen: Das FS20 Modul kann so vom CUL und vom FHZ1x00 verwendet
>   werden.  Analog: CUL_HM mit CUL und HMLAN. Weiteres Pluspunkt: Nur in
> disem
>   Fall kann man eine FHEM2FHEM Raw Verbindung verwenden, um entfernte
>   fhem-Gerate steuern zu koennen.
>
> - Falls man es nicht so aufteilen kann/will: contrib/00_TAHR.pm ist ein
>   Beispielmodul fuer den "kombinierten" Fall.
>
> - FD:
>   Man sollte die DevIo Funktionen verwenden, diese erledigen das und viel
> mehr.
>
> - Falls man in einem Funktion (StateFn/AttrFn/etc) nichts machen will,
> dann
>   sollte man es einfach nicht definieren.
>
> Achtung in fhemwiki/DeveloperGuidelines: das meiste hier ist immer noch
> als
> Wunsch bzw. Ziel zu interpretieren, und ist noch nicht konkret umgesetzt.
> D.h. es kann sich noch aendern, und man kann sich auf eine
> fhem-Unterstuetzung
> noch nicht verlassen. Aber wir arbeiten dran.
>
> Btw. so eine Diskussion gehoert ins fhem-devel
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Es geht um kein spezielles Gerät.
Welche Module sind von Dir?
Es geht generell darum einen einfacheren Zugang zu FHEM Modulen zu bekommen.
Deswegen wäre ein vollständig kommentiertes Modul incl. der perl statements
sehr hilfreich.
Spezielle perl Konstrukte, wie my (lokale Variable), $ (=skalar), @
(=array), % (=hash), @_ (=Subroutine Parameter) sollten auch erklärt sein.
wo ist zB $defs beschrieben?
Und die Verwendung von FHEM Datenstrukturen.

Gruss
Joachim

Am Donnerstag, 22. November 2012 17:59:26 UTC+1 schrieb Prof. Dr. Peter A.
Henning:
>
> Na, meine ;-).
>
> Zumindest Kommentare enthalten sie. Um welches Gerät soll es denn gehen ?
>
> LG
>
> pah
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Frühestens im nächsten Leben ...

Anbieten kann ich nur ein Lehrbuchkapitel zu perl aus meinm  "Handbuch
Programmiersprachen" .

LG

pah

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Ich dachte Du hast schon Module in diesem Leben geschrieben. Welches
vermittelt die beste Lernerfahrung? Kann auch von jmd anderem sein.
Ich könnte ja Erklärungen dazufügen und ins Wiki stellen.
falls ich den Code überhaupt verstehe
LG
Joachim


Am Freitag, 23. November 2012 17:05:48 UTC+1 schrieb Prof. Dr. Peter A.
Henning:
>
> Frühestens im nächsten Leben ...
>
> Anbieten kann ich nur ein Lehrbuchkapitel zu perl aus meinm  "Handbuch
> Programmiersprachen" .
>
> LG
>
> pah
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com