Dect200 zeigt in fhem keine Temperatur an

Begonnen von Invers, 15 Juli 2014, 22:31:07

Vorheriges Thema - Nächstes Thema

Invers

Zitat von: Fritzi am 12 August 2014, 19:18:17
Funktioniert.
Der gemessene Wert weicht auch "nur" um ein halbes Grad von den Homematic-Thermostaten ab. Sieht also m.E. gut aus.

man kann in der Fritzbox-Oberfläche eine Temperaturabweichung korrigieren.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Mitch

Seit der neuen Version habe ich massive Problem mit meinen DECTs.

Sie gehen immer auf INACTIVE und sind nicht schaltbar.

Ein get Device devList liefert teilweise nichts, oder Müll:
NAME:#��%$N &J, ID:0, removed, TYPE:unknown(8650752) PROP:0,0

An was kann das liegen?

FritzBox ist eine 6360 mit FRITZ!OS 06.05
FHEM im Proxmox Container

Invers

Was meinst du mit neuer Version?
Ich nehme an, du hast schon die FB meu gestartet?
Lassen sich die Dosen per FB-Oberfläche korrekt anzeigen/schalten?
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Mitch

Naja, die neue PM Datei, welche auch die Temperatur beinhaltet (siehe Rudis Post).
FHEM im Proxmox Container

Invers

Die arbeitet bei mir super.

Was ist mit meinen Restlichen Fragen/Tipps?
ZitatIch nehme an, du hast schon die FB meu gestartet?
Lassen sich die Dosen per FB-Oberfläche korrekt anzeigen/schalten?
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Mitch

Klar hab ich die Fritte neu gestartet, auch die DECTs mehrfach neu angelegt.
In der Oberfläche lassen sie sich schalten, keine Probleme.
FHEM im Proxmox Container

Invers

Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

rudolfkoenig

Was passiert, wenn man die Zeile
      FBAHA_Write($hash, "00", "00022005");              # REGISTER
in FHEM/00_FBAHA.pm durch
    FBAHA_Write($hash, "00", "00010001");              # REGISTER
austauscht?
Als zweiten Versuch wuerde ichin der gleichen Datei 0000038200000000 durch 0000028200000000 ersetzen.

Mitch

Hallo Rudi,

teste ich heute Abend und melde mich.
FHEM im Proxmox Container

Mitch

Zitat von: rudolfkoenig am 18 August 2014, 12:40:54
Was passiert, wenn man die Zeile
      FBAHA_Write($hash, "00", "00022005");              # REGISTER
in FHEM/00_FBAHA.pm durch
    FBAHA_Write($hash, "00", "00010001");              # REGISTER
austauscht?

So, habe jetzt erstmal diese Modifikation getestet und erhalte bei einem get Device devList zumindest wieder richtige Anzeigen. Habe allerdings nur einen DECT anktuell angebunden. Die restlichen kommen heute Abend, wenn ich Vorort bin.

Werde jezt mal beobachten, ob es immer noch INACTIVE Meldungen oder ähnliches gibt.
FHEM im Proxmox Container

Mitch

Kommando zurück. der DECT meldet im state wieder inactive, obwohl er schaltbar ist und auch Events mit dem aktuellen Stromverbrauch ankommen.

Ein get Device devList liefert auch active zurück.
FHEM im Proxmox Container

me@fhem

Hallo, ich hatte das gleiche Problem wie Mitch nach der Aktualisierung von FBAHA.pm (FB7490 mit FHEM 5.5) auf die aktuelle Version:

ZitatAllerdings habe ich bei einem get device nun ganz merkwürdige Sachen:


NAME:Barlicht, ID:16, active, TYPE:AVM FRITZ!Dect 200 PROP:powerMeter,switch
NAME:#%@, ID:0, removed, TYPE:unknown(12582912) PROP:0,0
NAME:�   �Kamera, ID:21, removed, TYPE:unknown(0) PROP:0,0
NAME:006716903.36�#, ID:0, removed, TYPE:unknown(192163896) PROP:0,0

Der Tip mit Zurücksetzen auf die alte Version der Clientregistrierung hat dies behoben, jedoch wurden daraufhin bei mir keine FBDECT-Temperaturen mehr angezeigt.

Eine Vergleich der RAW-Daten mit alter bzw. neuer Clientregistrierung zeigt, dass bei den Antworten mit neuer Registrierung der Datenblock um 8 Bytes "nach hinten" verschoben ist. Mit folgenden Codeänderungen funktioniert bei mir beides (FBAHA get devlist UND Temperaturanzeige):


@@ -179,31 +179,31 @@ FBAHA_configInd($$)
-  while(length($data) >= 288) {
+  while(length($data) >= 304) {
     my $id  = hex(substr($data,  0, 4));
     my $act = hex(substr($data,  4, 2));
     my $typ = hex(substr($data,  8, 8));
     my $lsn = hex(substr($data, 16, 8));
     my $nam = pack("H*",substr($data,24,160)); $nam =~ s/\x0//g;

     $act = ($act == 2 ? "active" : ($act == 1 ? "inactive" : "removed"));

     my %tl = ( 2=>"AVM FRITZ!Dect Powerline 546E", 9=>"AVM FRITZ!Dect 200");
     $typ = $tl{$typ} ? $tl{$typ} : "unknown($typ)";

     my %ll = (7=>"powerMeter",9=>"switch");
     $lsn = join ",", map { $ll{$_} if((1 << $_) & $lsn) } sort keys %ll;

-    my $dlen = hex(substr($data, 280, 8))*2; # DATA MSG
+    my $dlen = hex(substr($data, 296, 8))*2; # DATA MSG (New Header)

     push @answer, "NAME:$nam, ID:$id, $act, TYPE:$typ PROP:$lsn"
       if(!$onlyId || $onlyId == $id);

     if($onlyId && $onlyId == $id) {
       my $mnf = hex(substr($data,184, 8)); # empty/0
       my $idf = substr($data,192,40);      # empty/0
       my $frm = substr($data,232,40);      # empty/0
       push @answer, "  MANUF:$mnf";
       push @answer, "  UniqueID:$idf";
       push @answer, "  Firmware:$frm";
-      push @answer, substr($data, 288+$dlen);
+      push @answer, substr($data, 304, $dlen); push data block for individual device (instead of skip)
       return @answer;
     }
-    $data = substr($data, 288+$dlen); # rest
+    $data = substr($data, 304+$dlen); # rest (skip data block)
   }


Kann das noch jemand testen und ggf. einpflegen?

rudolfkoenig

Danke, habs getestet und eingecheckt.
Wuesste gerne, ob das nur von der RegistrierungsId abhaengt oder auch noch von der AHA Version.

Mitch

FHEM im Proxmox Container

me@fhem

#44
ZitatWuesste gerne, ob das nur von der RegistrierungsId abhaengt oder auch noch von der AHA Version.

Läßt sich die AHA-Version direkt auslesen?
Unabhängig davon funktioniert es bei mir mit dem geänderten Code bei einem AHA-Server auf der FB7490 (mit Firmware 6.05) und FB7390 (mit Firmware 6.04 und 6.20) bei Anmeldung mit der RegistrierungsId 0x00022005 im FBAHA-Modul.

EDIT: Natürlich geht das Auslesen erst ab den (Labor)Versionen nach 6.04 bzw. 6.05, die das Auslesen der  Temperatur unterstützen.