umrechnung/zuordnung max id -> fhem id

Begonnen von justme1968, 29 Januar 2014, 22:09:02

Vorheriges Thema - Nächstes Thema

justme1968

ich habe gerade eine installation aus einem cube, 11 wandthermostaten und insgesamt 22 stellantrieben 'geerbt' die mit der max software eingerichtet wurde.

ich möchte das ganze aber lieber mit fhem betrieben. autocrete aller devices in fhem hat auch sofort funktioniert.

leider habe ich aber jetzt das problem das ich nicht die aller kleinste ahnung welches device wo sitzt da ich noch nicht rausgefunden habe wie ich die id die fhem verwendet mit der seriennummer die in der max software verwendet wird abgleichen kann.

es scheint zumindest nicht einfach eine dec/hex umrechnung zu sein. oder hab immer falsch geschaut?

hat jemand eine idee?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

John

Hallo Andre

wenn ich verbose von  meinem CUL-Device und CULMAX-Device auf 4 setzte, und dann die Boost Taste am Thermostat lange drücke,
so dass der 30-Sekunden Timer zum Pairing erscheint, erhalte ich folgenden Log-Eintrag.

Zitat2014.01.30 08:30:00 3: CUL_MAX_Parse: Re-Pairing device 05de87 of type HeatingThermostatPlus with serial JEQ0615545

Das  "Re-Pairing device 05de87"  entspricht dem Internal-Wert addr 05de87 beim Thermostat Device.

Somit sollte die Zuordnung möglich sein.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

justme1968

für die thermostate müsste das gehen. das probiere ich.

an die stellantriebe komme ich leider nicht dran. die sind in der decke verbaut.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

John

wenn die HTs zu den WTs über Cube bereits asoziiert sind, sollte eine Änderung des Sollwertes am WT, nach wenigen Minuten auch
durch die HTs gemeldet werden.

Somit ist die Gruppe WT+HTs identifizierbar.
WT überträgt Istwert+ Sollwert an seine HTs. Die müssten also gleich sein.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

justme1968

ich werde mein glück versuchen.

danke
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

ich hab gerade gesehen das im device für den cube in $hash->{devices} für jedes device unter anderem gruppen id, serial, addr und vor allem der in der max software vergebene klartext name steht.

ich glaube es wäre ein hilfreiche erweiterung wenn man diese liste auch in den internals angezeigt würde oder wenn man sie mit einem get abfragen könnte.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

ich hab mir eben die angehängte kleine routine gebaut die jedem device den in der max software vergeben namen als alias verpasst wenn das device noch keinen alias hat.

vielleicht hilft es ja noch mal jemandem. einfach alles in 99_myUtils.pm stecken und per telnet oder command box so aufrufen:reload 99_myUtils.pm
{myUtils_MAXcreateAlias("<cube device name>")}


gruss
  andre

sub 
myUtils_MAXcreateAlias($)
{       
  my($name) = @_;
       
  return if( !defined($defs{$name}) );
       
  my $hash = $defs{$name};
       
  return if( !defined($hash->{devices}) );
       
  foreach my $device ( @{$hash->{devices}} ) {
    my $addr = $device->{addr};
    next if( !exists($modules{MAX}{defptr}{$addr}));
       
    my $dhash = $modules{MAX}{defptr}{$addr};
       
    next if( AttrVal( $dhash->{NAME}, "alias", undef ) );
       
    my $cmdret = CommandAttr(undef,"$dhash->{NAME} alias $device->{name}");
    Log 3, $cmdret if( $cmdret );
  }   
}
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

freetz

Der Thread ist zwar schon mehrere Jahre alt, aber da Du Dich mit der Materie etwas genauer befasst hast, stelle ich meine Frage mal hier:

Wie erfährt denn FHEM die Seriennummer der MAX! Gerätschaften?

Ich habe meinen Max!Cube als CUNO umgeflasht und bekomme somit nur noch den rohen Datentraffic mit. Wenn FHEM dann aber ein neues Gerät anlegt, dann mit der Hex-ID, mit der die Geräte sich im Datenstrom identifizieren. Bei einer Sammelinstallation ist das dann unmöglich, die Geräte entsprechend ihrer aufgedruckten Seriennummer zuzuordnen. An sich müssten die Geräte ja trotzdem noch ihre Max-Seriennummer übertragen, denn Cube und Geräte kommunizieren ja letztlich auch nicht anders, als ich es jetzt auf dem umgeflashten Cube läuft.

Über einen Tipp, worauf ich da achten könnte, würde ich mich freuen!

Gruß,

F.
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

freetz

Ok, ein bisschen Experimentierfreude hat mich selber schon zum Ergebnis gebracht, das ich hier der Vollständigkeit halber gerne teile:
Wenn man an einem der Geräte den Pairing-Mode einleitet (langer Druck auf die OK-Taste), dann wird ein Telegramm in dieser Art über den Äther geschickt:
Z17B40400095094123456001003FF4B4551303530353038300B

Bytes 5-7 (das Z zählt natürlich nicht mit) sind die ID (hier: 095094), die später für die FHEM-Benennung verwendet wird.
Bytes 14-24 ist dann die in ASCII-Werten codierte Max-eigene Seriennummer (hier 4B455130353035303830 für "KEQ0505080").

Um on-topic zu bleiben: Mit einem umgeflashten MAX-Cube könntest Du über telnet a.b.c.d 2323 die Daten mitlesen und dann an jedem Gerät einmal die OK-Taste drücken und anhand des obigen Musters die Zuordnung vornehmen.

Gruß,

F.
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan