Die Temperaturanzeige ist in der Dect200 aktiv. Die Box zeigt die Temperaturen bei eingeschalteter Dose auch an. In fhem wird sie aber nicht angezeigt.
Kennt jemand den Grund?
Ist noch nicht implementiert!
Danke.
@P.A.Trick: Bitte erst pruefen, dann schreiben. Ich habe es nach den Vorgaben der AVM Schnittstellenbeschreibung im FBDECT Modul implementiert und es sogar dokumentiert. Es kann natuerlich sein, dass AVM in der AHA Schnittstelle die Temperaturweitergabe nicht implementiert hat oder sich nicht an die eigene Spezifikation haelt. Oder dass ich ein Bug in der Implementierung habe.
@Invers: Koenntest Du mir hier bitte folgendes anhaengen:
1) Screenshot aus der Web-Oberflaeche, wo man die Temperatur sieht.
2) 10-Minuten-Log-Ausschnitt, mit FBAHA/FBDECT loglevel auf 5 (Datei-Anhang!).
Oh sorry Rudolf! Das habe ich nicht mitbekommen, obwohl ich schon sehnsuechtig darauf warte! Werde es testen und dann melden!
So, hier die beiden Files. Die Hardcopy der FB-Oberfläche ist allerdings von heute Vormittag, die Daten von jetzt. Ich hoffe, ich habe alles richtig gemacht.
Analysieren wir mal folgenden Ausschnitt:
2014.07.16 17:41:45 5: FBAHA/RAW: /0703001c00000036001100000000000c0000001400040000000000000703001c00000036001100000000000c0000000f00040000000000000703001c00000036001100000000000c0000001300040000000393f70703001c00000036001100000000000c0000001200040000000000000703001c00000036001100000000000c0000001500040000000004910703001c00000036001100000000000c0000001600040000000000000703001c00000036001400000000000c0000001400040000000000000703001c00000036001400000000000c0000000f00040000000000000703001c00000036001400000000000c0000001300040000000398690703001c
2014.07.16 17:41:45 5: fb1 dispatch 0703001c00000036001100000000000c000000140004000000000000
2014.07.16 17:41:45 5: fb1 dispatch 0703001c00000036001100000000000c0000000f0004000000000000
2014.07.16 17:41:45 5: fb1 dispatch 0703001c00000036001100000000000c0000001300040000000393f7
2014.07.16 17:41:45 5: fb1 dispatch 0703001c00000036001100000000000c000000120004000000000000
2014.07.16 17:41:45 5: fb1 dispatch 0703001c00000036001100000000000c000000150004000000000491
2014.07.16 17:41:45 5: fb1 dispatch 0703001c00000036001100000000000c000000160004000000000000
2014.07.16 17:41:45 5: fb1 dispatch 0703001c00000036001400000000000c000000140004000000000000
2014.07.16 17:41:45 5: fb1 dispatch 0703001c00000036001400000000000c0000000f0004000000000000
2014.07.16 17:41:45 5: fb1 dispatch 0703001c00000036001400000000000c000000130004000000039869
Die "RAW" Zeile wird von FBAHA in die einzelnen Pakete zerstueckelt, und ueber dispatch an FBDECT verfuettert zum analysieren. Die Spalte 14 0f 13 12 15 16 14 0f 13 beinhaltet den Typ des Nachrichts, und da fehlt 17, was laut der Tabelle in FBDCT.pm fuer die Temperatur steht (Achtung, hex vs. dez). Ein 00017000 ist im ganzen Anhang nicht zu finden. Ich frage mal bei AVM nach, ob das ein Versehen ist.
Vielen Dank für die Mühe.
Ich bin zwar im Zweifel, ob die temperatur zu irgendetwas nützlich ist, aber man weiss ja nie. Es fiel mir halt nur auf.
Kannst du irgendwie verifizieren, ob die gemeldeten Temperaturen korrekt sind?
Welche FW braucht man denn auf der Fritte?
Ich habe die neueste Labor drauf. Damit startet aber fhem nicht mehr automatisch. Per Hand kann man aber starten über Putty z.B.
Die Steckdosen aktualisieren sich dann sofort von selbst, zumindest bei mir. Also nach dem Update der Fritz box noch etwas gedulden.
ZitatIch frage mal bei AVM nach, ob das ein Versehen ist.
Antwort von AVM (das nenne ich Service):
Zitatbitte probieren Sie doch mal diese Änderung:
Index: fhem/FHEM/00_FBAHA.pm
===================================================================
--- fhem/FHEM/00_FBAHA.pm (Revision 6267)
+++ fhem/FHEM/00_FBAHA.pm (Arbeitskopie)
@@ -119,7 +119,7 @@
return $msg;
}
- FBAHA_Write($hash, "03", "0000028200000000"); # LISTEN
+ FBAHA_Write($hash, "03", "0000038200000000"); # LISTEN
}
if($type eq "reopen") {
"Das Bit 8 registriert ein Listen für der AVM_TEMPERATURE_SENSOR
Eigenschaft des Gerätes.
Alle Änderungen werden ab jetzt gemeldet."
Dieses Detail fehlt noch in der Dokumentation.
Habs eingecheckt und fuer update bereit gestellt. Kannst Du es bitte testen?
Ja, klar. Gebe ich morgen nach dem Update Bescheid.
Vielen Dank.
Ist die Temperatur von der FW der Fritte oder der Dose abhängig?
Auf der Dose habe ich 3.3, die aktuellste, auf der Fritte leider 6.04 (kommt vom Kabelbetreiber und kann ich upgedatet werden).
Habe das neue Modul eingespielt und getestet, aber keine Werte
current
0.0000 A
2014-07-17 15:30:30
energy
18160 Wh
2014-07-17 15:30:30
powerFactor
0.000
2014-07-17 15:30:30
state
off
2014-07-17 15:30:30
voltage
229.249 V
2014-07-17 15:30:30
Vermutlich kannst du die Temperaturen dann nur (vielleicht ab morgen) in fhem auslesen. Die Firm der Fritte ist zu alt. Ich sehe die Temperatur erst seit der neuen Laborfirmware und der Dosenfirmware 03.33. Da haben sich erst nach dem Update der Labor aktualisiert.
Scheint also beides zusammen zu gehören.
Es liegt wohl an der Fritte. Der AHA Server hat die Temp Funktion in 6.04 noch nicht..sehr schade, hätte ich gut gebrauchen können.
Zitatvielleicht ab morgen
Ausnahmsweise schon ab heute, 12:30.
Ich hatte mir direkt die neue pm geholt ;D
Ich hab zwar kein Temperatur, dafür ist mein Fehler mit dem INACTIVE weg..noch besser 8)
http://forum.fhem.de/index.php/topic,25241.0.html
Update heute ist cool, danke, aber schlechte Nachrichten: Keine Temperaturen. Dump im Anhang.
So, habe mal ein bisschen umgebaut und die DECT Autoren an meine alte 7390 mit neuster Labor angebunden.
Leider habe ich auch keine Temperatur in FHEM.
Das scheint bei mir an der Box zu liegen. Ich habe die KD-Box.
Da hilft bei mir also nur hoffen und warten auf die neue FW, wenn KD die freigibt.
Ist schon ein Plan vorhanden, wie und ob es mit der Anzeige weitergeht? Oder ist die Integration geplatzt? Ein Drama wäre es nicht, da ich den Nutzen sowieso anzweifle. Man muss es halt nur wissen.
Naechste Woche habe ich wieder einen "ordentlichen" Rechner, und dann muss ich langsam den Stapel arbeiten. ETA ist ca 2 Wochen.
Alles klar, danke.
Habs bei mir nachgestellt, und ich kriege auch keine Temperaturdaten. Habe AVM wieder um Rat gebeten.
Das kann dauern, die haben wohl gerade Sommerpause. :-)
Dank dem uenermuedlichen Einsatz der AVM Techniker (von wegen Sommerpause) und mein beharrliches: nein, es geht immer noch nicht :) funktioniert jetzt die Temperatur-Uebernahme. Die eigentliche Ursache war, dass FHEM sich mit Client Version 1.1 beim AHA Server registriert hat, und nicht mit 2.8197 (hex 00022005).
Der Patch steht ab sofort per update zur Verfuegung.
Funktioniert.
Der gemessene Wert weicht auch "nur" um ein halbes Grad von den Homematic-Thermostaten ab. Sieht also m.E. gut aus.
Funktioniert, Danke.
Allerdings 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
Vielen Dank. :-)
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.
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
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?
Naja, die neue PM Datei, welche auch die Temperatur beinhaltet (siehe Rudis Post).
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?
Klar hab ich die Fritte neu gestartet, auch die DECTs mehrfach neu angelegt.
In der Oberfläche lassen sie sich schalten, keine Probleme.
Bin ich erst einmal ratlos.
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.
Hallo Rudi,
teste ich heute Abend und melde mich.
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.
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.
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?
Danke, habs getestet und eingecheckt.
Wuesste gerne, ob das nur von der RegistrierungsId abhaengt oder auch noch von der AHA Version.
Danke Rudi, jetzt geht es wieder
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.