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 (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.
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]
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
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....
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?
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
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
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