Hallo zusammen,
ich habe folgendes Ausgangsproblem.
Bei YAMAHA_AVR muss ich die Definition des physikalischen Devices (Main Zone) mit den Definitionen der logischen Unterdevices (Zone 2, Zone 3, ...) verbinden. Ziel dabei ist es, dass die logischen Definitionen auf $hash des physikalischen Devices zugreifen und ihn manipulieren sollen.
Ich hatte überlegt, ob es sinn macht, das jede YAMAHA_AVR Definition unter $modules{YAMAHA_AVR}{defptr} einen Pointer ablegt, sodass die logischen Devices darüber aufgrund einer geräteweiten Identifikation (Seriennummer, IP-Adresse, ...) an das physikalische Device heran kommen.
Sollte ein entsprechendes physikalische Device über $modules{YAMAHA_AVR}{defptr} auflösbar sein, so wird dies benutzt als HTTP Kommando-Warteschlange anstatt die definitionseigene Warteschlange. Aufgrund von speziellen Eigenarten sollten alle logischen Devices ihre Kommandos in die Warteschlange der physikalischen Definition einreihen um die richtige Abarbeitung und das korrekte Timing zu waren.
Komme ich hier in einen Konflikt mit anderen Mechanismen?
Vielen Dank für eure Hilfe.
Gruß
Markus
der defptr mechanismus ist komplett modul intern und wird nicht vom fhem framework verwendet. es gibt also keinen konflikt.
nur wenn die trennung in logisch und physikalisch fhem2fhem fähig sein soll musst du den eingebauten IODev basierten mechanismus verwenden. wenn das egal ist kannst du es auch direkt defptr dazu verwenden das parent device zu finden.
gruss
andre
Vielen Dank, Andre.
Ich wollte es vermeiden, komplett %defs durchzugehen. Da habe ich bei panStamp gespickt.
FHEM2FHEM ist dabei nicht im Fokus, weil es in diesem Konzept keinen Sinn ergibt. Mir geht es nur darum, für die Zonen-Definitionen auf einfache Weise ihre Main Zone zu finden und zu nutzen.
Viele Grüße
Markus