Gateway KNX <-> YAMAHA_AVR

Begonnen von Black7king, 10 Januar 2017, 11:42:36

Vorheriges Thema - Nächstes Thema

Black7king

Hai alle zusammen

Ich brauche mal wieder eure Hilfe, Tipps und Erfahrungen:-)

Und zwar sagt es der Betreff ja schon. Möchte mir eine Schnittstelle Zwischen meiner KNX Installation und z.b. dem YAMAHA_AVR https://fhem.de/commandref_DE.html#YAMAHA_AVR Modul bauen.
Einzelne Befehle Funktionieren ja schon einwandfrei. zum Beispiel so:

defmod n notify KNX_0603001:(50|-50) set AV_Receiver_Zone2 volume{($EVENT == "50" ? "Up" : "Down")} 3

ändert über einen Taster (dimmer) die Lautstärke (:

Aber für Jedes Set-Kommands und Readings ein Eigenes Notify zu erstellen geht Zwar mal Für eine Zone. Wenn es dann aber 7 Zonen und Mehr werden ist es eigentlich nicht mehr so zulösen.
Es Soll ja nicht "nur" der AV-Receiver gesteuert werden. Sondern kommen ja die Ganze AV-Welt noch und Sachen wie LW-Wärmepumpen, PV-WS/Speicher und viel vieles mehr.

Hat hier jemand eine Idee wie man so was elegant und sauber umsetzen kann? gibt's dafür vielleicht ein eigenes Modul?
Wie habt ihr so was umgesetzt?

bin für alle Ideen und Vorschläge offen! Und danke schon mal für alle eure Beiträge.

MfG Christian

PS: Falls es hier falsch am platz ist bitte Thema Verschieben.


Black7king

#1
Noch etwas was ich noch nicht hin bekommen habe ist es zum Beispiel den aktuellen Interpreten (Album, Titel usw.) auf dem KNX Bus zu senden sollte doch eigentlich so gehen oder?
define Nzone2cArtist DOIF (["zone2:currentArtist"]) (set KNX_1004022 String [zone2:currentArtist])

define zone2cArtist KNX 10/04/22:dpt16

Was mache ich hier falsch ?



mit dem Befehl kill ich mein Fhem
set KNX_1607000 string [AV_Receiver_Zone2:currentArtist]

Andi291

Servus!

Das Thema hatten wir schonmal - such mal bitte in diesem Forum.
Meiner Meinung nach ist es der falsche Weg, per Taster und Notifies inkrementelle Lautstärke vorzugeben. In den Tastern gehört m.E. ein Wertgeber parametriert, der dann einen 8-Bit-Wert auf den Bus legt.
Damit gibt es genau EIN Notify und keine beliegbig vielen :-)

Zu Deinem Textproblem: Zieh Dir mal bitte die TUL und KNXD aus dem Parallelthread. Die aktuelle Version im SVN schein Buggy...
DPT16 kann jedenfalls nur 14 Zeichen und kaum SOnderzeichen. Die Länge hab ich abgefangen und kastrier die Strings, aber bei den Sonderzeichen bin ich mir nicht sicher.

Ich würd mal mit
set KNX_1607000 string  Hello World
anfangen...

Grüße, Andi

Black7king

hey andi

ZitatIch würd mal mit
set KNX_1607000 string  Hello World
anfangen...

hängt sich das FHEM komplett auf....

aber fragt mich nach dem update macht er das zumindest....

Black7king

was ich auch nicht verstehe ist wenn versuche den DPT wert auf eines der beiden
dpt16.000 ASCII-String;
dpt16.001 ISO-8859-1-String (Latin1);

zu setzen kommt nur die Meldung
invalid model. Use dpt9.007,dpt16,dpt14,dpt14.019,dpt9.026,dpt1.019,dpt1.003,dpt1.002,dpt9.008,dpt8.005,dpt8,dpt9.001,dpt9.010,dpt9.006,dpt1.009,dpt10,dpt9.021,dpt13.013,dpt232,dpt14.056,dpt11,dpt1.001,dpt9.009,dpt7.001,dpt7.013,dpt8.010,dpt6.001,dpt9.024,dpt16.001,dpt16.000,dpt9.004,dpt7.005,dpt14.068,dpt14.076,dpt9.028,dpt8.011,dpt14.027,dpt7,dpt9,dpt9.025,dpt9.005,dpt12,dpt1.008,dpt5.001,dpt5.004,dpt7.012,dpt13.010,dpt13,dpt7.006,dpt3,dpt6,dpt5,dpt5.003,dpt1

ist das das gleiche problem?


und du sagst es gehen aktuell "nur" 14 Zeichen auf dpt16 aber entweder zähle ich immer Falsch oder es gehen nur weniger ?
genauer gesagt 13... aber warum eigentlich? kann mann das nicht erweitern? aufmachen für mehr?

Andi291

Aaaalso...Der DPT16 ist ein feststehender Datentyp. Und knx.org hat irgendwann mal festgelegt, dass 14 Zeichen genug seien. Also nein - keine Erweiterung möglich...
Du kannst Dir was bauen und in eine Textdatei streamen. Die kannst dann per Dummy-Device anzeigen. Oder mehrere devices verketten...

Die beiden sub-typen hab ich nochmal geprüft - geht. Keine Ahnung, wo der Fehler bei Dir liegt...

define test1 KNX 15/1/1:dpt16
define test2 KNX 15/1/2:dpt16.000
define test3 KNX 15/1/3:dpt16.001

Black7king

Zitat von: Andi291 am 10 Januar 2017, 20:36:12
Meiner Meinung nach ist es der falsche Weg, per Taster und Notifies inkrementelle Lautstärke vorzugeben. In den Tastern gehört m.E. ein Wertgeber parametriert, der dann einen 8-Bit-Wert auf den Bus legt.
Damit gibt es genau EIN Notify und keine beliegbig vielen :-)

Sers

Wie würden dann dein Notify dafür aussehen für jeden bit Wert eine anders Set- Kommand und Reading erstellen? wäre ja dann auch nur begrenzt(okay 256) möglich oder? und Wie würdest du es dann da mit der Rückmeldung machen? zb. Wenn das gerät An ist oder So?

helfe mir doch mal bitte auf die Sprünge.

MfG

Andi291

Leg auf einen Taster einen Wertgeber mit DPT5. Ein Notify könnte dann so aussehen:

define Input KNX 1/2/3:dpt5:Volume 1/2/4:dpt1:Status
define Output YAMAHA-WIE-AUCH-IMMER

define Notify_in_out notify Input:Volume-get:.0.* set Output off
define Notify_off notify Input:Volume-get:.[1-8].* set Output volume Value("Input")

define Notify_rm_off notify Output:*.off set Input off
define Notify_rm_on notify Output:*.on set Input on


Die Syntax des Yamaha-Zeug kenne ich nicht - soll nur als "Gedankenspiel" gelten.

Grüße, Andi