Batterie-Icon anzeigen (s. Bilder)

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

Vorheriges Thema - Nächstes Thema

justme1968

wann genau erscheint die fehlermeldung?

das notify aus myUtils_HeizungUpDown()  wird automatisch angelegt wenn es noch nicht existiert.

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

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

franky08

@justme1968 & holzwurm83

Habe, so wie holzwurm83 geschrieben hat notifyHeizungUpDown jetzt vorher definiert, damit ist die Fehlermeldung weg. Aufgetreten ist es vorher, da ich direkt in der fhem.cfg den Browserrefresh abschalten muss, der refresh funkt mir sonst immer dazwischen wenn ich im Webif in den Def´s was ändern will. Beim Speichern der fhem.cfg kam dann immer die Fehlermeldung.
Dann hab ich gleich noch eine Frage, da ich jedes device einzeln anlegen muss (RT-DN Regler) und die devicenamen unterschiedlich lang sind, habe ich demgemäß unterschiedlich breite Fenster für die einzelnen ReadingsGroup, kann man die Breite der Fenster irgendwie festlegen.

VG
Frank
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

justme1968

das mit dem browser refresh verstehe ich nicht. das sollte nicht so sein.

auch wenn du die devices einzeln angibst kannst du sie in die gleiche readingsGroup stecken:define <rg> ... <device1>|<device2>|<device3>:... oder jede andere regex mit der du nur die devices erwischst die du haben willst.

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

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

franky08

#93
Ich hab WEB refresh 60 in der cfg stehen, da refresht die Weboberfläche alle 60sec. und wenn man beim editieren ist und noch nicht gespeichert hat, ist alles wieder weg  :o

define Heizungswerte2 readingsGroup <%sani_heating>, < >,<Act>,<Soll>,<Ist> Bad_Heizung|Kueche_Heizung:actuator,desired-temp,measured-temp,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired.*>,desired.new,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired.*>,window,battery

Damit bekomme ich wieder von der "Bad_Heizung" beide Readings angezeigt (einmal Bad_Heizung und einmal Bad_Heizung_ClimRT_tr)
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

justme1968

und wozu soll das gut sein? das klingt nur unpraktisch...
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

franky08

#95
Ohne refresh (trotz longpoll 1) aktualisieren die Icons und die Plot´s nicht.

Hier ein screenshot:
OK, wenn ich nur den Kanal ....ClimRT_tr angebe geht es. Sonst wird wieder auf alles gematched.

<%sani_heating>, < >,,, Bad_Heizung_ClimRT_tr|Kueche_Heizung_ClimRT_tr|SZ_Heizung_links_ClimRT_tr:actuator,desired-temp,measured-temp,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired.*>,desired.new,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired.*>,window,battery

VG
Frank
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

Invers

Kurze Frage bitte:
Wie bekomme ich die Readingsbezeichnung hinter dem Doppelpunkt weg? (s. Bild)
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

justme1968

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

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

Invers

Schneller, als die Polizei erlaubt. :-) Danke.
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

svenson08

Hallo,

nach dem ich diesen Thread mit Spannung verfolgt habe teste ich das nun auch bei mir mal. So weit funktioniert dies mit folgender Config.

Zitatdefine Raumthermostate readingsGroup <%sani_heating>,<Act>,<Soll>,<Temp> \
NAME=FL_Heizung_01:actuator,desired-temp,measured-temp,battery\
NAME=KU_Heizung_01:actuator,desired-temp,measured-temp,battery
attr Raumthermostate group Raumthermostate
attr Raumthermostate nameStyle style="color:yellow;;font-weight:bold"
attr Raumthermostate room CUL_HM
attr Raumthermostate valueIcon {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red'}

Ich hätte nun aber gerne das die Werten Soll und Temp um die Einheit "°C" ergänzt werden. Das bekomme ich aber nicht hin. Hat jemand einen Tipp wie ich das anstellen kann?

Gruß Svenson

justme1968

das geht mit valueFormat. du brauchst etwas in der art:attr Raumthermostate valueFormat { 'desired-temp' => "%.1f&deg;C", 'measured-temp' => "%.1f&deg;C"}

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

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

svenson08


Waldmensch

Ich habe bei mir die Statusaktivität der Thermostate eitwas anders symbolisiert und auch noch die Betriebsart integriert (Auto/manuell). Die Funktionen hänge ich an.


sub fht_devStateIcon($) {
  my($hash) = @_;
  $hash = $defs{$hash} if( ref($hash) ne 'HASH' );

  return undef if( !$hash );
  return undef if( $hash->{helper}->{group} );

  my $name = $hash->{NAME};
  my $strval = ReadingsVal($name,"actuator",0);
  my $numval = substr($strval,0,length($strval)-1);
  my $mode = ReadingsVal($name,"mode","n/a");
  my $icon = "sani_heating";
  if ($mode eq "auto") {$icon = "sani_heating_automatic";}
  if ($mode eq "manual") {$icon = "sani_heating_manual";}
 
  return $icon.'@red' if($numval >= 20);
  return $icon.'@green' if($numval >= 5 && $numval < 20);
  return $icon.'@lightblue' if($numval < 5);
   
}

sub fhttk_devStateIcon($) {
  my($hash) = @_;
  $hash = $defs{$hash} if( ref($hash) ne 'HASH' );

  return undef if( !$hash );
  return undef if( $hash->{helper}->{group} );

  my $name = $hash->{NAME};
  my $strval = ReadingsVal($name,"Window","n/a");
 
  return 'fts_window_2w_open_l@red' if($strval eq "Open");
  return 'fts_window_2w@green' if($strval eq "Closed");
  return 'fts_window_2w' if($strval eq "n/a");
}


justme1968

wenn du in fht_devStateIcon direkt den icon namen mit einem vorangestellten % zurück gibst kannst du den aufruf von FW_makeImage wert lassen. das macht die readingsGroup dann automatisch. d.h. immer wenn der string innerhalb der <> mit einem % anfängt.

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

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

Waldmensch

Wie geil ist DAS denn!  :D Tausend Dank für den Tipp - umgesetzt, getestet und für gut befunden! Überarbeitete Funktionen s.u.

sub fht_devStateIcon($) {
  my($hash) = @_;
  $hash = $defs{$hash} if( ref($hash) ne 'HASH' );

  return undef if( !$hash );
  return undef if( $hash->{helper}->{group} );

  my $name = $hash->{NAME};
  my $strval = ReadingsVal($name,"actuator",0);
  my $numval = substr($strval,0,length($strval)-1);
  my $mode = ReadingsVal($name,"mode","n/a");
  my $icon = "%sani_heating";
  if ($mode eq "auto") {$icon = "%sani_heating_automatic";}
  if ($mode eq "manual") {$icon = "%sani_heating_manual";}
 
  return $icon.'@red' if($numval >= 20);
  return $icon.'@green' if($numval >= 5 && $numval < 20);
  return $icon.'@lightblue' if($numval < 5);
   
}

sub fhttk_devStateIcon($) {
  my($hash) = @_;
  $hash = $defs{$hash} if( ref($hash) ne 'HASH' );

  return undef if( !$hash );
  return undef if( $hash->{helper}->{group} );

  my $name = $hash->{NAME};
  my $strval = ReadingsVal($name,"Window","n/a");
 
  return '%fts_window_2w_open_l@red' if($strval eq "Open");
  return '%fts_window_2w@green' if($strval eq "Closed");
  return '%fts_window_2w' if($strval eq "n/a");
}




Zitat von: justme1968 am 09 Februar 2014, 11:00:49
wenn du in fht_devStateIcon direkt den icon namen mit einem vorangestellten % zurück gibst kannst du den aufruf von FW_makeImage wert lassen. das macht die readingsGroup dann automatisch. d.h. immer wenn der string innerhalb der <> mit einem % anfängt.

gruss
  andre