Autor Thema: [Gelöst] Battery Status und Sabotage Error beim HM-SEC-RHS  (Gelesen 289 mal)

Offline papa

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 563
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
« Letzte Änderung: 14 August 2017, 21:12:25 von papa »
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Offline martinp876

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9778
Antw:Battery Status und Sabotage Error beim HM-SEC-RHS
« Antwort #1 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.

Online joschi2009

  • Full Member
  • ***
  • Beiträge: 161
Antw:Battery Status und Sabotage Error beim HM-SEC-RHS
« Antwort #2 am: 12 August 2017, 17:09: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

Offline papa

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 563
Antw:Battery Status und Sabotage Error beim HM-SEC-RHS
« Antwort #3 am: 12 August 2017, 22:47:30 »
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.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Offline martinp876

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9778
Antw:Battery Status und Sabotage Error beim HM-SEC-RHS
« Antwort #4 am: 13 August 2017, 10:08:53 »
sollte jetzt funktionieren

Offline papa

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 563
Antw:Battery Status und Sabotage Error beim HM-SEC-RHS
« Antwort #5 am: 14 August 2017, 21:11:54 »
Danke
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire