FHEM Forum

FHEM => Automatisierung => Thema gestartet von: brmpfl am 22 Januar 2013, 23:05:08

Titel: Battery Status
Beitrag von: brmpfl am 22 Januar 2013, 23:05:08
Moin,

viele Aktoren und Sensoren senden ja einen Batteriestatus.
Diese Status möchte ich gerne auf einer separaten Seite (room) darstellen.
Dazu habe ich in meiner fhem.cfg folgendes hinterlegt:


define Heizungsventil CUL_HM 1DA694
attr Heizungsventil actCycle 028:00
attr Heizungsventil actStatus alive
attr Heizungsventil devInfo 010100
attr Heizungsventil firmware 2.0
attr Heizungsventil hmClass receiver
attr Heizungsventil icon icoHEIZUNG
attr Heizungsventil model HM-CC-VD
attr Heizungsventil room KUECHE
attr Heizungsventil serialNr XXXXXXXX
attr Heizungsventil subType thermostat

define BatteryStatus_Heizungsventil dummy
attr BatteryStatus_Heizungsventil room Battery
{\
  our $status=ReadingsVal("Heizungsventil", "battery", "??");;\
  fhem "set BatteryStatus_Heizungsventil $status";;\
}

define BatteryStatusNotify notify Heizungsventil:battery:.* {\
  my $status=ReadingsVal("Heizungsventil", "battery", "??");;\
  fhem "set BatteryStatus_Heizungsventil $status";;\
}


Leider wird der Status erst nach einigen Minuten korrekt gesetzt.
Zu erkennen an "??".
Habe ich einen Fehler oder geht das nicht anders?
Titel: Aw: Battery Status
Beitrag von: Puschel74 am 23 Januar 2013, 17:32:01
Hallo,

der Status kann erst gesetzt werden wenn er übermittelt wurde.
Das kann, je nach Sensor, durchaus auch "etwas" dauern.

Grüße
Titel: Aw: Battery Status
Beitrag von: brmpfl am 23 Januar 2013, 17:52:35
Moin,

das stimmt, aber der Status wurde doch übermittelt.
Gehe ich auf das entsprechende Heizungsventil und schaue mir die Readings an, steht der Status da korrekt drin.

Titel: Aw: Battery Status
Beitrag von: Puschel74 am 23 Januar 2013, 17:55:18
Jop,

dann wurde dort des Status aus fhem.save ausgelesen.

Ob "andere" Codes den Status auch aus der fhem.save auslesen (können) weiß ich leider nicht.
Resp. wenn es geht weiß ich nicht wie.

Dies sollte aber nur bei einem Neustart von fhem auftreten da, sobald der Status übermittelt wurde, dieser auch korrekt angezeigt
werden müsste.

Grüße
Titel: Aw: Battery Status
Beitrag von: kossmann am 24 Januar 2013, 09:48:17
Hallo brmpfl,

vielen Dank für das Beispiel! Eine Frage: Warum hast du im attr-Block die Variable $status mit our statt my deklariert? Sie wird doch nur in diesem Block verwendet, oder?

Meine Perl-Kenntnisse sind nur marginal, daher die Frage - man lernt ja nie aus ;-)
Titel: Aw: Battery Status
Beitrag von: brmpfl am 24 Januar 2013, 14:06:27
Hi,

meine Perl-Kenntnisse sind auch (noch?) sehr überschaubar.
Aus diesem Grunde bin ich am experimentieren und daher rührt das our.
my reicht, hier (//reneeb-perlblog.blogspot.de/2008/04/my-vs-our.html) die Erklärung.