Batterie-Icon anzeigen (s. Bilder)

Begonnen von Invers, 21 Januar 2014, 23:27:21

Vorheriges Thema - Nächstes Thema

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

brmpfl

So funktioniert es.

define batteryStatus readingsGroup .*:battery
attr batteryStatus alias Batteriestatus
attr batteryStatus mapping %ROOM %ALIAS
attr batteryStatus valueFormat {($VALUE eq 'ok')?"batterie\@lightgreen":"batterie\@red"}
attr batteryStatus valueIcon %VALUE
attr batteryStatus room BatterieStatus


Danke für die Hilfe!
:)
Hajo

holzwurm83

Hallo zusammen,

ich habe das Beispiel "Heizungswerte2" aus dem Wiki übernommen.  Kann es sein, dass in dieser Zeile ein Fehler ist?
attr rg valueStyle {($VALUE eq "00")?'style="visibility:hidden"':}
es müsste doch so Heißen?
attr Heizungswerte2 valueStyle {($VALUE eq "00")?'style="visibility:hidden"':}

Als Thermostate verwende ich HM-CC-RT-DN. Ich bekomme jetzt die die Thermostate und die Kanäle angezeigt. Wie bekomme ich diese wieder weg?

define Heizungswerte2 readingsGroup <%sani_heating>,< >,<Act>,<Soll>,<Ist> TYPE=FHT:actuator,desired-temp,measured-temp,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired-temp>,desired-new,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired-temp>,window,battery
attr Heizungswerte2 nameStyle style="color:yellow;;font-weight:bold"
attr Heizungswerte2 valueIcon {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red', 'window.closed' => 'fts_window_1w@lightgreen', 'window.open' => 'fts_window_1w_open@red'}
attr Heizungswerte2 valueStyle {($VALUE eq "00")?'style="visibility:hidden"':}
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

justme1968

ja. das war noch ein fehler. im wiki ist auch noch nicht die aktuellste verison hier aus dem thread.

du musst statt dem TYPE=FHT etwas finden das nur genau auf die devices passt die du anzeigen willst. zur not zählst du die devices einzeln auf.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

holzwurm83

Hallo Andre,

danke für die Info. Habe es jetzt einzeln eingebunden und die conf und Beitrag 67 übernommen. Ich habe jetzt nur noch das Problem, dass ich die Temperatur nicht Streuern kann. Das stimmt wohl was mit  dem Befehl nicht. Habe folgende Meldung im Log:
set WZ_RT_Sofa desired-temp 18.5 : Unknown argument desired-temp, choose one of burstXmit clear:readings,register,rssi,msgEvents getConfig getRegRaw inhibit:on,off pair raw regBulk regSet reset sysTime unpair
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

justme1968

wie wird denn die temperatur bei deinen gesetzt? bei den fht ist es set desired-temp und bei max desiredTemp. und bei dir?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

holzwurm83

die Temperatur wir über den Kanal 4 gesetzt. Das wäre dann der WZ_RT_Sofa_Clima in diese Fall. Der Befehl müsste dann so heißen
set WZ_RT_Sofa_Clima desired-temp 18.5 Kann das "_Clima" einfach an den Devicenamen anfügen? Dann müsste es denke ich gehen?

Besser wäre natürlich gleich WZ_RT_Sofa_Clima in die readingGroup einzubinden, aber der Kanal hat ein Batterie Reading usw.
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

justme1968

du kannst einfach das set das im at getriggert wird so anpassen das es geht. den passenden namen kannst du aus der readingsGroup mit übergeben wenn er sich nicht automatisch bestimmen lässt.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

holzwurm83

kann dir da leider nicht ganz folgen bzw. weiß nicht ganz wie ich das umsetzten soll?
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

justme1968

Schau mal in den code in myUtils. da wird ein at definiert um das set auszulösen. das musst du anpassen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

holzwurm83

ich bekomme das leider nicht hin. Es kommt diese Fehlermeldung beim einlesen der myUtils:
Global symbol "$DEVICE_Clima" requires explicit package name at /Users/mediaserver/fhem/FHEM/99_myUtils.pm line 165.

Ich denke das ich das "_Clima" falsch anfüge?

  CommandDefine(undef, "$at at +00:00:30 {my \$v = ReadingsVal(\"$DEVICE\",\"desired-new\",undef);fhem(\"set $DEVICE_Clima desired-temp \$v\") if( \$v ); fhem(\"setreading $DEVICE desired-new 00\");}" );
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

justme1968

versuch es mal so: CommandDefine(undef, "$at at +00:00:30 {my \$v = ReadingsVal(\"$DEVICE\",\"desired-new\",undef);fhem(\"set $DEVICE"."_Clima desired-temp \$v\") if( \$v ); fhem(\"setreading $DEVICE desired-new 00\");}" );

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

holzwurm83

- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

franky08

#88
Hallo, habe das mal hier aus dem Thread übernommen und für meine Homematic Regler angepasst. Beim abspeichern meckert fhem aber:

Please define notifyHeizungUpDown first

Die fhem.cfg:

define Heizungswerte2 readingsGroup <%sani_heating>, < >,<Act>,<Soll>,<Ist> Bad_Heizung:actuator,desired-temp,measured-temp,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired.*>,desired.new,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired.*>,window,battery
attr Heizungswerte2 group Heizungswerte
attr Heizungswerte2 nameStyle style="color:yellow;;font-weight:bold"
attr Heizungswerte2 room Heizung
attr Heizungswerte2 valueIcon {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red', 'window.closed' => 'fts_window_1w@lightgreen', 'window.open' => 'fts_window_1w_open@red'}
attr Heizungswerte2 valueStyle {($VALUE eq "00")?'style="visibility:hidden"':''}


Und die 99_myUtils

package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}

sub
myUtils_HeizungUpDown($$)
{
  my($DEVICE,$CMD) = @_;

  my $icon = $CMD;
  my $VALUE = ReadingsVal($DEVICE,"desired-new","20" );
  $VALUE = ReadingsVal($DEVICE,"desired-temp","20" ) if( !$VALUE || $VALUE == 0 );
  my $link;

  if( $CMD eq "up" ) {
    $icon = "control_arrow_upward";
    $VALUE += 0.5;

    if( $VALUE <= 24 ) {
      $icon .= "\@red";
      $link = "setreading $DEVICE desired-new $VALUE";
    }
  } elsif( $CMD eq "down" ) {
    $icon = "control_arrow_downward";
    $VALUE -= 0.5;

    if( $VALUE >= 16 ) {
      $icon .= "\@blue";
      $link = "setreading $DEVICE desired-new $VALUE";
    }
  }

  my $notify = "notifyHeizungUpDown";
  if( !defined($defs{$notify}) ) {
    CommandDefine(undef, "$notify notify .*:desired-new.* { myUtils_HeizungUpDownNotify(\$NAME,\$EVTPART1); }"  );
  }

  my $ret = "%$icon";
  $ret .= "%$link" if( $link );

  return $ret;
}
sub
myUtils_HeizungUpDownNotify($$)
{
  my($DEVICE,$VALUE) = @_;

  return if( $VALUE == 0 );

  my $at = "triggerHeizungUpDown_$DEVICE";
  CommandDelete(undef, $at) if( defined($defs{$at}) );
  CommandDefine(undef, "$at at +00:00:30 {my \$v = ReadingsVal(\"$DEVICE\",\"desired-new\",undef);fhem(\"set $DEVICE"."_RT_tr desired-temp \$v\") if( \$v ); fhem(\"setreading $DEVICE desired-new 00\");}" );

  return undef;
}

1;



VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

holzwurm83

Trage das mal ein
define notifyHeizungUpDown notify .*:desired-new.* { myUtils_HeizungUpDownNotify($NAME,$EVTPART1);; }
und Probiere es noch mal.
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN