Kannst Du uns erklaeren, wozu diese gut sind? Ich fuehle mich wie ein HM
analphabet, auch wenn ich fuer wesentliche Teile von CUL_HM verantwortlich bin.
> Ich h�tte gerne Feedback, ob ihr glaubt, dass mein Analyseansatz zum Erfolg
> f�hren kann.
Ich glaube schon, jedenfalls war das auch was ich gemacht habe, ohne dabei zu
wissen, wie es eigentlich gedacht ist. Du bist also im Vorteil :)
> Gibt es eine Referenz in der man weiss, was z.B: die Commands A0 oder 80
> bedeuten, usw.
Mir sind an Doku nur die XML Dateien bekannt, aber da ich diese nicht wirklich
verstehe, habe nach eine Weile aufgehoert diese zu lesen. A0/80 verstehe ich
leider auch nicht wirklich, aber neuere CUL_HM Versionen geben diese Bytes dank
Johan als Bitfeld analog zum rpd.exe in debug Modus aus (attr CUL
hmProtocolEvents + info timer im telnet). Leider wissen wir (d.h. ich) noch
nicht wirklich, was die einzelnen bits bedeuten.
> Hier habe ich also mal eine Verkn�pfung eines virtuellen Kanals angelegt,
> dann einen Parameter dieser Verkn�pfung ge�ndert und dann den Knopf mal
> "gedr�ckt"
Ich habe das mit anderen Befehlen auch so gemacht, und dann versucht das
nachzustellen. Manchmal hat es geklappt, manchmal nicht. Evtl. hilft Dir das
raw Befehl beim experimentieren.
Weder noch, ich habe mich von den rpd.exe Ausgaben inspirieren lassen. Und in
CUL_HM_DumpProtocol sind einige Umwandlungen von $cmd zu sehen (0B->0A, 84->A4,
etc), was von groben Unverstaendnis der Materie zeugt :)
> Bei dem ganzen Testen ist mir aufgefallen, dass per hmProtocolEvents ja die
> Bedeutung der meisten Bytes in Klammern schon dahinter steht. Kommt das aus
> dem XML oder hat das schon fr�her jemand richtig in der Bedeutung
Dazu hatten wir schon 'ne Diskussion bzw. diverse Experimente: ein FHT80b
sendet regelmaessig, das HM-CC-TC nach einem mir nicht nachvollziehbaren
Intervall. Wenn Du dazu was genaues hast...
Du darfst das machen wie Du willst: die bisherige Loesung ist nicht absichtlich
gewaehlt worden.
> Frage aber nun: Darf ich so eine �nderung hier als Patch anh�ngen oder
> irgendwem mailen oder oder oder?
Ja oder ja(mir). Wichtig: 1. commandref.html auch aendern, da CUL_HM
"Produktiv" ist. 2. Bitte gut testen, da ich keine Dimmer habe aber auch weil
ich nicht hinterher-testen will. Laengerfristig solltest Du das direkt in SVN
modifizieren.
> Den Standard habe ich auf "hart" gelassen, wobei ich das lieber umstellen
> w�rde auf das, was auch die CCU macht (0,5s) - das d�rfte auch die Gl�hbirnen
> schonen.Du darfst das machen wie Du willst: die bisherige Loesung ist nicht absichtlich
gewaehlt worden.
> Frage aber nun: Darf ich so eine �nderung hier als Patch anh�ngen oder
> irgendwem mailen oder oder oder?
Ja oder ja(mir). Wichtig: 1. commandref.html auch aendern, da CUL_HM
"Produktiv" ist. 2. Bitte gut testen, da ich keine Dimmer habe aber auch weil
ich nicht hinterher-testen will. Laengerfristig solltest Du das direkt in SVN
modifizieren.
> Anbei mal der dekodierte Datensatz einer Direktverknüpfung Taster -> Dimmaktor (gültig für alle Tasterarten, Fernbedienungen, etc und für alle Dimmertypen)
> Der Datensatz ist auch identisch für den internen Taster eines aktors.
[...]
Weia.
> Und dann sind die SEts bei den meisten GEräten unterschiedlich. Kodiert man das alles hart in den Code oder sollte man das lieber aus Config-Dateien einlesen, in denen das Datenmodell der einzelnen Gerätetypen z.B. in XML beschrieben ist.
Die XML-Beschreibungen liegen ja im CCU-Image (firmware/rftypes). Da steht keine Angabe zum Copyright bei. Allerdings sind die XML's nicht im Open-Source tarball. Vielleicht sollte man bei eQ3 fragen, ob man die benutzen darf.
> Wenn man das zu Ende denkt dann entwickelt man sich seinen eigenen Bidcos-Service...
Wär doch schick. Nur, wenn man das zu Ende denkt, könnte eQ3 gleich den Laden hier kräftig sponsern, die CCU offen machen, uns alle Specs geben und Geld mit Hardware verdienen statt jahrelang an einer .001 Softwarerelease rumzudoktern...
> Ich denke ich sollte mal alles in eine richtige Dokumentation zusammenschreiben zumindest für die Aktoren, die ich zu Hause habe.
Freu ;-)
Grüße
Oskar
Ich sehe hier Bausteine einer Programmiersprache, kann aber noch nicht
vorstellen, wie ein Programm aussschaut. Koenntest Du uns ein Beispiel nennen?
Wie lang kann ein Programm sein? Kannst Du was ueber Links erzaehlen?
Ist das sonst nicht dokumentiert? Das wuerde bedeuten, dass diese
Funktionalitaet in der CCU noch groesstenteils brach liegt, da keiner es
bedienen kann.
> Kodiert man das alles hart in den Code oder sollte man das lieber aus
> Config-Dateien einlesen, in denen das Datenmodell der einzelnen Ger�tetypen
> z.B. in XML beschrieben ist.
Auslagern in XML o.ae. erscheint mir deswegen sympatischer, weil damit schon
eine Modularisierung vorgegeben wird, und 10_CUL_HM jetzt schon zu gross ist.
Die eQ3 XML's kommen nur mit vorheriger Genehmigung von eQ3 ins fhem, und da
sehe ich schwarz.
> Wenn man das zu Ende denkt dann entwickelt man sich seinen eigenen
> Bidcos-Service...
Dagegen habe ich auch nichts, das Problem was ich hier sehe ist, dass es die
meisten freiwilligen Mitarbeiter abschreckt, weil zu komplex.
> http://www.homematic-inside.de/tecbase.html?view=item&item_id=440Ich sehe hier Bausteine einer Programmiersprache, kann aber noch nicht
vorstellen, wie ein Programm aussschaut. Koenntest Du uns ein Beispiel nennen?
Wie lang kann ein Programm sein? Kannst Du was ueber Links erzaehlen?
Ist das sonst nicht dokumentiert? Das wuerde bedeuten, dass diese
Funktionalitaet in der CCU noch groesstenteils brach liegt, da keiner es
bedienen kann.
> Kodiert man das alles hart in den Code oder sollte man das lieber aus
> Config-Dateien einlesen, in denen das Datenmodell der einzelnen Ger�tetypen
> z.B. in XML beschrieben ist.
Auslagern in XML o.ae. erscheint mir deswegen sympatischer, weil damit schon
eine Modularisierung vorgegeben wird, und 10_CUL_HM jetzt schon zu gross ist.
Die eQ3 XML's kommen nur mit vorheriger Genehmigung von eQ3 ins fhem, und da
sehe ich schwarz.
> Wenn man das zu Ende denkt dann entwickelt man sich seinen eigenen
> Bidcos-Service...Dagegen habe ich auch nichts, das Problem was ich hier sehe ist, dass es die
meisten freiwilligen Mitarbeiter abschreckt, weil zu komplex.
D.h. bei einem Dimmer kann man 50 virtuelle Taster (== geraet:kanal
Kombinationen) mit jeweils 2(short/long) x 26 Parameter bestuecken (== 100
Parametersaetze). Das ist kein wirkliches Programmieren, sondern 26 Parameter
fuer ein im Dimmer eingebautes Programm setzen. Eigentlich fehlt nur noch die
Beschreibung der Parameter.
Was macht man mit Links? Koenntest Du bitte ein konkretes Programm
(Einschlaflicht oder so) hier posten? Kann man sowas wie 3-mal blinken bauen?
Ist ein "devicePair" auch nichts anderes, als so ein virtueller Taster?
Von dem was ich hier verstanden habe, muessten diese Parameter pro Device
definiert sein (externe Definition oder im Programm fest verdrahtet), und der
Benutzer muesste diese mit einem Befehl setzen koennen, z.Bsp Vorschlag:
set dimmer virtual 1 device:channel short onTime:7 offTime:7...
das waere im READINGS unter VIRTUAL_01_SHORT sichtbar, und man koennte es auch
mit
get dimmer virtual 1 short
vom Geraet auslesen um es im READINGS zu speichern. Ich wuerde diese Parameter
zunaechst im Frontend nicht per dropdown oder aehnliches unterstuetzen, sondern
mich auf Doku und Beispiele verlassen.
Realisieren: ich glaube mit CUL_HM_pushConfig gibt es schon was in dieser
Richtung.
> Das "Programm" ist genau so lang wie eben die Anzahl der Paramter ist, die
> ich gepostet habe.D.h. bei einem Dimmer kann man 50 virtuelle Taster (== geraet:kanal
Kombinationen) mit jeweils 2(short/long) x 26 Parameter bestuecken (== 100
Parametersaetze). Das ist kein wirkliches Programmieren, sondern 26 Parameter
fuer ein im Dimmer eingebautes Programm setzen. Eigentlich fehlt nur noch die
Beschreibung der Parameter.
Was macht man mit Links? Koenntest Du bitte ein konkretes Programm
(Einschlaflicht oder so) hier posten? Kann man sowas wie 3-mal blinken bauen?
Ist ein "devicePair" auch nichts anderes, als so ein virtueller Taster?
Von dem was ich hier verstanden habe, muessten diese Parameter pro Device
definiert sein (externe Definition oder im Programm fest verdrahtet), und der
Benutzer muesste diese mit einem Befehl setzen koennen, z.Bsp Vorschlag:
set dimmer virtual 1 device:channel short onTime:7 offTime:7...
heisst das folglich auch, das ein aktor sowohl mit fhem _und_ _ccu_ gekoppelt
sein könnte, wenn beide einen anderen kanal nutzen?
nur mal so aus reiner neugier, da es ja immer heisst, das vor nutzung in fhem
der aktor von der ccu entkoppelt werden muss.
oder lieg ich da falsch?
heisst das folglich auch, das ein aktor sowohl mit fhem _und_ _ccu_ gekoppelt
sein könnte, wenn beide einen anderen kanal nutzen?nur mal so aus reiner neugier, da es ja immer heisst, das vor nutzung in fhem
der aktor von der ccu entkoppelt werden muss.oder lieg ich da falsch?
Ok! danke für die Ausführung!
Gruss Martin
Das Problem ist eher dass mWn nur eine Zentrale zugelassen ist, d.h. wenn ein
Geraet mit dem CCU schon gekoppelt ist, dann muss die CCU das Geraet explicit
mit fhem koppeln, damit dieser von fhem Befehle annimt. Und dazu muesste fhem
fuer die CCU eine Fernbedienung oder aehnliches simulieren.
Es waere interessant zu wissen, ob ein so gekoppelter fhem dem Geraet weitere
Schalter per devicepair beibringen kann.