wie Modul für Mehrfach-Rolladenaktor aufbauen

Begonnen von hubsif, 14 März 2016, 15:47:24

Vorheriges Thema - Nächstes Thema

hubsif

Hallo zusammen,

Ich habe einen Rolladenaktor, der direkt mit dem Netzwerk verbunden wird und per TCP-Befehle 9 Rolläden steuern kann. Außerdem sendet er über UDP Positionsänderungen aus.

Jetzt würde ich gerne ein Modul für FHEM für dieses Gerät schreiben, bin aber überfragt wie ich das Modul aufbauen soll.
- jeder Rolladen soll als eigenes Gerät in FHEM angezeigt werden (oder?)
- FHEM/das Modul soll auf einem UDP Port lauschen und dort die Positionen für alle neun Rolläden empfangen und verarbeiten

Ich habe schon einiges an Doku gewälzt, blicke aber nicht ganz durch, wie das funktioniert, dass mehrere FHEM-Geräte letztlich zu einem gemappt werden (scheint auch nicht jedes Modul gleich zu machen) und wie ich es zum Beispiel realisieren soll, dass nicht bei jedem define eines Rolladen ein neuer UDP socket aufgemacht wird, sondern das alles einer (der erste) übernimmt.


Danke für eure Hilfe, Denkanstöße, Beispiele oder Doku-Links!



justme1968

dafür gibt es das konzept der zweistufigen module.

ein modul repräsentiert deine steuerung und kümmert sich um die netztwerk verbindung, dieses wird ein mal per define angelegt.

das zweite modul repräsentiert einen rolladen und wird für jeden rolladen ein mal definiert.

das rolladen device sendet über das steuerungs modul, das steuerungs modul leitet empfangene nachrichten an das zuständige rolladen device weiter.

wenn an der steuerung tatsächlich nur rolläden hängen und es viel identischen code gibt kann man das konzept ein klein wenig abwandeln und beide device typen in einem FHEM modu file unterbringen. das ist aber geschmackssache.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

hubsif

Vielen Dank für deine Erklärung!

Ich bin bei der Recherche zwar schon auf die "zweistufigen Module" gestossen, aber irgendwie hab ich dabei nicht realisieren wollen, dass damit zwei komplett verschiedene Module gemeint sind, sondern dachte immer das wären "Untermodule" innerhalb einer "Datei".

So macht das natürlich mehr Sinn und die existierenden Module erklären sich mir auf einmal viel besser.

Wenn du Lust hast, kannst du ja bei Gelegenheit noch etwas genauer ausführen, wie man das in eine Datei packen könnte.

Viele Grüße!
hubsif.

justme1968

beides im gleichen pm file zu haben geht ganz einfach wenn du z.b. durch einen zusätzlichen parameter im define steuerst ob es das ein master oder ein slave device sein soll. wenn das ganze per autocreate geht ist es auch für den anwender völlig transparent.

schau dir das harmony oder netatmo oder withings modul an. es gibt noch ein paar beispiele mehr.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968