FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: papa am 10 August 2017, 16:25:58

Titel: [Gelöst] Battery Status und Sabotage Error beim HM-SEC-RHS
Beitrag von: papa am 10 August 2017, 16:25:58
Hallo Martin,

Der BatteryStatus und der SabotageError funktionieren beim HM-SEC-RHS nicht richtig. Folgende zwei zwei Änderungen im 10_CUL_HM.pm beheben das Problem.

Zeile 2715 ändern in


($chn,$state,$err) = (hex($mI[1]), $mI[2], hex($mI[3]));


Zeile 2721 ändern in


if (  $mh{md} =~ m/^(HM-SEC-SC.*|HM-SEC-RHS|Roto_ZEL-STG-RM-F.K)$/){


Martin könntest Du das mal reviewen und dann einchecken ?

Danke
  Holger
Titel: Antw:Battery Status und Sabotage Error beim HM-SEC-RHS
Beitrag von: martinp876 am 12 August 2017, 07:45:47
ich sehe  nicht, was der Unterschied sein soll und kenne dein Problem nicht.
Die erste Zeile ist eleganter - aber inhaltlich nicht anders
Die 2. Zeile ist identisch zur aktuellen Version.
Titel: Antw:Battery Status und Sabotage Error beim HM-SEC-RHS
Beitrag von: joschi2009 am 12 August 2017, 17:09:47
Zitat von: martinp876 am 12 August 2017, 07:45:47
Die 2. Zeile ist identisch zur aktuellen Version.
fast:
if (  $mh{md} =~ m/^(HM-SEC-SC.*|HM-SEC-RHS|Roto_ZEL-STG-RM-F.K)$/){

if (  $mh{md} =~ m/^(HM-SEC-SC.*|HM-Sec-RHS|Roto_ZEL-STG-RM-F.K)$/){

VG
joschi2009
Titel: Antw:Battery Status und Sabotage Error beim HM-SEC-RHS
Beitrag von: papa am 12 August 2017, 22:47:30
Zitat von: martinp876 am 12 August 2017, 07:45:47
ich sehe  nicht, was der Unterschied sein soll und kenne dein Problem nicht.
Die erste Zeile ist eleganter - aber inhaltlich nicht anders
Die 2. Zeile ist identisch zur aktuellen Version.

Das Problem liegt darin, das weder Batterie low noch der Sabotage Error in FHEM angezeigt werden. Sprich die entsprechenden Readings bleiben unverändert.

Ich bin jetzt kein Perl-Profi - aber soweit ich weiss, ist der Match-Operator case sensitive. Somit matched der Operator in Zeile 2721 nie und es wird kein SabotageError angelegt. Dafür aber das Cover Reading.

Allerdings wurden die Werte erst korrekt aktualisiert nachdem ich die Zeile 2715 von

($chn,$state,$err) = (hex($1), $2, hex($3));

nach

($chn,$state,$err) = (hex($mI[1]), $mI[2], hex($mI[3]));

geändert hatte. Ich weiss nicht, wo hier genau der Unterschied ist, aber für andere Geräte wird das auch so gemacht.

Ich hoffe, das klärt die Sachlage etwas. Mehr kann ich mit meinen bescheidenen Perl-Kenntnissen nicht tun.
Titel: Antw:Battery Status und Sabotage Error beim HM-SEC-RHS
Beitrag von: martinp876 am 13 August 2017, 10:08:53
sollte jetzt funktionieren
Titel: Antw:Battery Status und Sabotage Error beim HM-SEC-RHS
Beitrag von: papa am 14 August 2017, 21:11:54
Danke