Homematic wired

Begonnen von Henne1977, 26 Januar 2013, 22:46:00

Vorheriges Thema - Nächstes Thema

hglaser

Hallo gevoo

hier einmal ein Ausschnitt eines Channels aus meiner devicekonfiguration:
"master" => {
         "address_start" => 0x07,
         "address_step" => 3,
         "parameter" => {
             "LOGGING" => {
                  "logical" => {
                       "option" => {
                           "OFF" => {},
                           "ON" => {
                               "default" => true
                           }
                       },
                       "type" => "option"
                   },
                   "physical" => {
                       "address" => {
                          "index" => 0
                       },
                       "interface" => "eeprom",
                       "size" => 1,
                       "type" => "integer"
                   }
             },
             "CYCLE_TIME" => {
                "conversion" => {
                  "factor" => 10,
                  "offset" => 0.0,
                  "type" => "float_integer_scale"
                },
                "logical" => {
                  "default" => 50.0,
                  "max" => 6000.0,
                  "min" => 0.1,
                  "type" => "float",
                  "unit" => "s"
                },
                "physical" => {
                  "address" => {
                     "index" => 1
                  },
                "endian" => "little",
                "interface" => "eeprom",
                "size" => 2,
                "type" => "integer"
                }
              }
           },
        "type" => "MASTER"
},

Wie du siehst gibt es LOGGING auf index 0 mit einer Größe von 1 und CYCLE_TIME auf index 1 mit einer Größe von 2.

Nun steht in der Device.pm in der sub getPhysicalAdress($$$$)

$size       = $configHash->{physical}{size} ? $configHash->{physical}{size} : 1; # 1
$adrId      = $configHash->{physical}{address}{index} ? $configHash->{physical}{address}{index} : 0; # 0
$adrId      = $adrId + $adressStart + ($chId * $adressStep * ceil($size)); # 0 +  + 5* *1

somit wäre also zb bei "CYCLE_TIME channel 1" die adrId 1 + 7 +(0*3*2) = 8 = 0x08 stimmt noch wegen der Null;
bei channel 2 aber ist die adrId 1 + 7 +(1*3*2) = 14 = 0x0E das stimmt aber nicht. Es sollte 0x0B sein.
Ich habe daher die size weggenommen. dann müsste es eigentlich stimmen.
$adrId      = $adrId + $adressStart + ($chId * $adressStep);
Der Fehler tritt natürlich nur auf wenn size größer 1 ist und es mehrere channels gibt :-). Könntest Du es Dir einmal ansehen? Bei den spezial_parameter wirds dasselbe sein, nur hab ich kein solches Device zum testen.

lg Harald


gevoo

Hallo Michael,

dann nimm die letzte zip von hier
http://forum.fhem.de/index.php/topic,10607.msg270812.html#msg270812
und die Util.pm aus dem Anhang. Teste die Funktion, die Du als nächstes haben möchtest, berichte über Deine Beobachtungen und poste die entsprechenden log- Dateien.

Gruß gevoo

Mirko Krause

Hallo Ralf9,

Zitat von: Ralf9 am 11 März 2015, 20:27:43
Für was verwendet ihr den HMW_Sen_SC_12_DR?

Also ich möchte den HMW_Sen_SC_12_DR dazu verwenden, die Signale meiner "Sensoren" auf den "FHEM-Bus" zu speisen und dort zu verarbeiten. Dabei unterscheide ich bei meiner Lichtsteuerung zwischen direkter und indirekter Kopplung:

So habe ich z.B. mehrere HMW_LC_Sw2_DR Module, wo jeweils die Tastereingänge "direkt" den Aktorkanälen (= Haupt-Beleuchtung wie z.B. Deckenlicht) zugeordnet sind. Darüber hinaus schalte ich die "Sekundär-Beleuchtung" wie z.B. Wand- und Treppeneinbauleuchten direkt über Bewegungs- bzw. Präsenzmelder (bei mir Esylux MD-C360i/8 230 V), so dass bei Betreten und Dunkelheit immer "etwas" Licht angeht. Bei Bedarf kann man dann das Hauptlicht einschalten.

Weiterhin steuere ich meine Aussenbeleuchtung über eine "Eltako S2U12DDX-UC" Schaltuhr. Diese hat zwei Kanäle, einer ist für "es ist dunkel draußen", also "ein" bei Sonnenuntergang und "aus" bei Sonnenaufgang der andere ist für "ein" für ab Sonnenuntergang bis zu einer bestimmten Uhrzeit, die am Wochenende länger geht als wochentags bzw. wochentags morgens "ein" ab einer bestimmten Uhrzeit bis Sonnenaufgang (funktioniert auch, wenn der Sonnenaufgang morgens zeitlich vor der eigentlichen Einschaltzeit liegt). Echt nettes Ding, dass auch noch automatisch zwischen Sommer- und Winterzeit umschaltet und meine bisherigen Dämmerungsschalter zum Teil mit Zeitschaltuhr ersetzt). Dies alles funkioniert also soweit ohne ein FHEM oder ähnliches.

Also zusammengefasst: alles Wichtige soll immer direkt und ohne einen (FHEM-)Server funktionieren. Und jetzt kommt als Erweiterung FHEM mit dem HMW_Sen_SC_12_DR bzw. einem HMW_IO_12_Sw14_DR ins Spiel, wie z.B.:


  • ich habe ein paar FHEM-Watchdogs, die nach einer bestimmten Zeit das Hauptlicht wieder ausschalten, wenn dies vergessen wurde. Das geht soweit ganz gut, cooler wäre aber, wenn sich die "statische" Ausschaltzeit immer wieder verlängert, wenn der normale Bewegungsmelder eine Bewegung registriert. Also sollen die Schaltausgänge der BWs zusätzlich auf Eingänge des HMW_Sen_SC_12_DR (mache ich über Finder-Relais)

  • Die Kanäle meiner Eltako-Schaltuhr kommen ebenfalls jeweils auf Eingänge des HMW_Sen_SC_12_DR und liefern ihre Informationen an FHEM zur weiteren Verarbeitung (kann man auch alles anders machen, aber das Ding ist sehr stabil und tut genau was es soll).

  • Ich habe für außen einen Infrarotmelder (OPTEX VXI-ST), den ich als Digitaleingang für eine WebCam nutze. Dies ist unabhängig davon, ob es dunkel oder hell ist. Wenn es aber dunkel ist, dann soll zusätzlich die Auffahrtsbeleuchtung angehen. Und nun möchte ich auch diese Informationen in FHEM im Zugriff haben.

  • Ich denke über einen zentralen Wand-Schalter nach, mit dem ich die Lichtsteuerung auf "Automatik-Aus-Manuell" umstellen kann.

  • Über die Ausgänge des HMW_IO_12_Sw14_DR schalte ich dann weiteres Licht zusätzlich ein, also z.B. die Terrassen-Bodenleuchten, wenn's abends dunkel ist. Diese gehen bisher nur über einen normalen Schalter ein und aus.



Zitat von: Ralf9 am 11 März 2015, 20:27:43
Mich hat das on/off beim HMW_Sen_SC_12_DR auch gestört.

Dies drehe ich jetzt doch über ein vorgeschaltetes Finder-Relais um und verwende für den HMW_Sen_SC_12_DR dann den Öffner des Relais.


Gruß, Mirko
Raspberry Pi 2
HM485-LAN, HMW-Sen-SC-12-DR, HMW-IO-12-Sw14-DR, HMW-Sen-SC-12-FM, 4x HMW-LC-Sw2-DR (in Planung: EIB/KNX-Lan-Gateway)
Lichtsteuerung, Anwesenheitserkennung, Alarmmeldung

gevoo

#963
Hallo Harald,

danke für Deine Bemühungen. Du hast recht. Ich habe es geändert.
ZitatBei den spezial_parameter wirds dasselbe sein, nur hab ich kein solches Device zum testen.
Da stimmt es, weil die Startadresse direkt aus den "special_parameter" geholt wird.

Gruß gevoo

hglaser

hallo gevoo

Danke für die Änderung am Device.pm. Eine Baustelle hab ich noch und ich weiß jetzt nicht ob Du Dich auch für das xmlHelper.pl im tools Verzeichnis zuständig fühlst. Hier stimmt ja noch einiges nicht. Wenn ich ein xml-file konvertieren will, stimmen die hex werte nicht. Und da Du ja einiges auf Großbuchstaben geändert hast, müsste man auch das irgendwie unterbringen. Leider sind diese regex Zeilen darin, für mich ein Buch mit sieben Siegeln :-). Könntest Du auch da einmal drübersehen, wenn Du Zeit hast ?

lg Harald

Ralf9

Zitat von: mkfhem am 14 März 2015, 08:56:56
Also zusammengefasst: alles Wichtige soll immer direkt und ohne einen (FHEM-)Server funktionieren. Und jetzt kommt als Erweiterung FHEM mit dem HMW_Sen_SC_12_DR bzw. einem HMW_IO_12_Sw14_DR ins Spiel, wie z.B.:

Hallo Mirko,

Deine Wünsche müssten sich alle mit Direktverknüpfungen (peering) realisieren lassen.
Hast Du an einem der HMW_LC_Sw2_DR noch einen freien Eingang?

Kannst Du bitte mal "save config" ausführen und dann in der "fhem/log/fhem.save" die Zeilen mit  .eeprom_ auslesen. Hinter .eeprom_  dürfen keine "#" stehen.


Ich bin auch gerade dabei ein Teil der Beleuchtung an FHEM anzubinden. Ich verwende dazu den "HMW_IO_12_FM" und "HMW_Sen_SC_12_DR".
Das Treppenhauslicht habe ich schon, nun kommt das Außenlicht mit Bewegungsmelder dran.
Für das verschalten und verteilen der Signale im Zählerschrank sind die wago 2000-1401 sehr praktisch.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Mirko Krause

Zitat von: Ralf9 am 14 März 2015, 21:00:18
Kannst Du bitte mal "save config" ausführen und dann in der "fhem/log/fhem.save" die Zeilen mit  .eeprom_ auslesen. Hinter .eeprom_  dürfen keine "#" stehen.

Bei mir steht da jetzt z.B. .eeprom_03F0 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ... also keine "#" mehr

Raspberry Pi 2
HM485-LAN, HMW-Sen-SC-12-DR, HMW-IO-12-Sw14-DR, HMW-Sen-SC-12-FM, 4x HMW-LC-Sw2-DR (in Planung: EIB/KNX-Lan-Gateway)
Lichtsteuerung, Anwesenheitserkennung, Alarmmeldung

gevoo

Hallo Harald,

damit habe ich mich noch nicht beschäftigt, weil ich bisher noch keine xml zu konvertieren hatte. Ich habe mir die xmlHelper.pl gerade einmal angesehen. Da ist eigentlich nichts weiter gefährliches dabei. Da wird aus der config xml nur ein config devicefile erstellt.
Das mit der Großschreibung stammt übrigens nicht von mir. Das ist so im Github. Ich gehe davon aus, daß Dirk auch nur die xmlHelper.pl ausgeführt hat. Demnach muß es in der dazugehörigen xml auch schon groß geschrieben sein.
Was ist eigentlich Dein genaues Problem mit der xmlHelper.pl?

Gruß gevoo

Dirk

Zitat von: gevoo am 15 März 2015, 08:16:35
Das mit der Großschreibung stammt übrigens nicht von mir. Das ist so im Github.
Nun, das hatte ich vor einigen Monaten schon mal geschrieben dass du hier mit der falschen Branch arbeitest:
http://forum.fhem.de/index.php/topic,10607.msg222529.html#msg222529
Leider wurde das ignoriert

ZitatDemnach muß es in der dazugehörigen xml auch schon groß geschrieben sein.
Nein, das wird im xml-helper alles normalisiert.
Ich hatte auch angeregt keine die Inhalte der XML-Dateien nicht manuell zu verarbeiten sondern den xmlHelper zu nutzen
http://forum.fhem.de/index.php/topic,10607.msg222155/topicseen.html#msg222155
Leider auch ohne Erfolg.

Gruß
Dirk

Ralf9

Zitat von: mkfhem am 15 März 2015, 02:17:14
Bei mir steht da jetzt z.B. .eeprom_03F0 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ... also keine "#" mehr

Hallo  Mirko,

kannst Du die Zeilen mit eeprom_ bitte mal hier posten?
Oder die fhem.save  anhängen.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

hglaser

hallo gevoo

Nun wie Dirk schon sagte. schön wärs ja schon, wenns wieder kleingeschrieben wär :-). im git dev zweig iss es wirklich alles klein geschrieben. Nun denn. Wenn man ein xml file aus der ccu nimmt und es mit dem xmlHelper.pl in ein pm file convertiert, stimmen die hex zahlen nicht. in den xml-dateien stehen die Befehle nicht als hex sondern als z.B "#K" drinnen und dieses K wäre in hex 0x4B. Es wird aber falsch konvertiert. Weiß jetzt den Wet nicht mehr aber ich glaube es war 0x6B.

lg Harald

RoBra81



Zitat von: honk am 15 März 2015, 13:26:13
hallo gevoo

Nun wie Dirk schon sagte. schön wärs ja schon, wenns wieder kleingeschrieben wär :-). im git dev zweig iss es wirklich alles klein geschrieben.

Prinzipiell gefällt mir die kleingeschriebene Variante auch besser, aber ich habe damals schon ziemlich geflucht, als ich meine ganzen notifies und Co. anpassen musste als es plötzlich groß geschrieben war und es sind seit dem nicht weniger geworden...

hglaser

#972
wollte was dazu schreiben, hab überlegt, und gelöscht. honk halt:-)

Grüße Harald

Jojo11

#973
Hallo,

bin jetzt mal dazu gekommen, meine erstes HMW-Gerät zu verkabeln  :)
Habe einen HMW-LAN-GW und versuche gerade, mit netfinder die AES-Verschlüsselung zu deaktivieren. Wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht, aber wo finde ich den "Standard Sicherheitsschlüssel", nach dem die Software fragt, wenn ich auf "Netzwerkeinstellungen ändern" klicke? Auf dem Gerät selber klebt nur ein Aufkleber mit der MAC-Adresse.

Nachtrag: Ok, habe den anderen Aufkleber dann doch gefunden, nachdem ich das Modul wieder ausgebaut habe  ::) Ein Hinweis auf diesen Aufkleber wäre im Wiki sicherlich hilfreich  ;)

schöne Grüße
Jo

mc309

Hallo zusammen,
heute habe ich nun zum ersten mal versucht einen Relaisausgang am HMW-IO-12-Sw14-DR zu schalten, was auch direkt funktioniert hat  :D
Allerdings ist mir hier auch aufgefallen, dass die Firmware Version des IO-12/14 relativ alt zu sein scheint (0.5) - spielt das für die Tests eine Rolle ? Hatte nämlich gelesen, dass bestimmte Funktionen wohl erst nach einem Firmware Update funktionierten. Was wäre denn der gängigste / einfachste Weg um ein wired Modul upzudaten ?
Gruß,
Michael