Batterie-Icon anzeigen (s. Bilder)

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

Vorheriges Thema - Nächstes Thema

Invers

So, hab ich pronbiert. Es gibt noch kleinere Probleme.
1. Klickt man auf absenken oder erhöhen, wird erst ab dem zweiten Klick gezählt, der erste Klick schaltet nur die Anzeige der Zahl ein. Ist sicher leicht zu korrigieren.
2. Die Darstellung läuft folgendermassen:
Ich sehe Pfeile (blau runter, rot hoch)
ich klicke auf 2 x blau, die Wunschtemperatur erscheint kurz und verschindet nach 3 Sekunden.
Das Bild habe ich dann gemacht. Man sieht auch, das sich die Pfeile zwar auseinanderrücken, aber die rücken nicht wieder zusammen, sondern bleiben für immer so.

Weitere Spurensuche dauert, wegen der Schaltverzögerung, aber ich bleibe dran.
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

ja. das ist alles noch im grünen bereich.

das habe ich vergessen zu erwähnen:

- das reading das zum interaktiven zählen verwendet wird fehlt beim aller ersten mal noch. deshalb stehen die pfeile dicht beieinander.
- wenn man das erste mal bei jedem aktor einen der pfeile gedrückt hat ist das reading für die zukunft da.
- die pfeile bleiben auseinander gerückt auch wenn der wert ausgeblendet ist. dan 'zappelt' es weniger. das könnte man auch ändern.
- die pfeile stehen noch zu weit auseinander. ich weiss noch nicht genau wie ich die enger zusammen bekomme.
- 3 sekunden nach dem letzten drücken wird gesendet und der wert in der mitte verschwindet

- spätestens ab der zweiten bedienung sollte direkt beim ersten klick richtig gezählt werden.

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

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

Invers

#62
Genau das wollte ich dir auch gerade schreiben, Habe ich gemerkt, dass es ab dem 2. Versuch klappt.
Ansonsten teste ich noch.

EDIT
Wir brauchen einen grösseren Regelbereich. Ich denke von 16 bis 23 Grad in 0,5er Schritten.
Man kann nicht mehrere Heizungen nacheinander regeln. Wenn ich auf Schlafzimmer klicke, kann ich nicht mehr Wohnzimmer oder Büro regeln. Die Anzeige klappt dann auch nicht richtig. Es wird immer dort angezeigt, wo ich zuerst geklickt habe. Stelle ich also Büro, wird Klickwert Büro angezeigt. Klicke ich dann auch Wohnzimmer, wird aber immernoch der Wert Büro gezeigt. Was wirklich geändert wird, kann ich nicht sagen. Die elend langen Zeiten lassen keinen schnellen Test zu.
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

Paul

Also der Ansatz ist schon super!

Ich aber es aber so eingestellt, daß die erzeugte Zahl erst nach 3 Minuten verschwindet.

Habe es gerade gesehen, damit wird auch das set erst nach 3 Minuten ausgeführt.

Habe noch Probleme mit der Farbe der Pfeile manchmal werden sie weiß. Habe aber nicht herausbekommen nach welchem System. Das was invers geschrieben hat kann ich nur teilweise bestätigen. Die könnte auch schon mehrere Heizungen ändern, manchmal wird aber eine andere Heizung verändert.
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

justme1968

ich baue es noch um das sich die Zahl in der farbe ändert wenn gesendet wird und das sie erst verschwindet wenn die Antwort zurück gekommen ist.

die pfeile sind dann weiß wenn du aus dem konfigurierten wertebereich raus läufst und der wert nicht weiter geändert wird.

den bereich kann man einfach ändern. man könnte ihn auch pro heizung konfigurierbar machen.

es sollte für beliebig viele heizungen gehen. 

ich baue mal noch ein paar debug meldungen ein.

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

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

justme1968

#65
ich hab den fehler mit dem falschen device gefunden.

update kommt später.

gruss
  andre

edit: der fehler war in der readingGroup selber. hab es repariert und eingecheckt.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Invers

Hallo Andre,
ich habe bis jetzt ausgiebig getestet.
Es scheint alle zu laufen. Ich habe aber Höchst- und Tiefsttemperatur angepasst. Auch die Anzeigedauer der Änderung habe ich auf 20 Sekunden erhöht. Dadurch hat man mehr Zeit, sich noch etwas anders zu überlegen. Vorher war halt nach 3 Sekunden Ende und wenn man dann noch was geändert hat, wurde die desired-temp 2 mal gesetzt, was dann zu lange dauerte. Ausserdem habe ich die Schrittweite auf 0.5 Grad geändert.
Zu beachten ist für andere Nutzer, dass es alles erst nach dem 2. Schaltversuch richtig funktioniert. Danach läuft alles einwandfrei und wie gewünscht. Könnte man nun nach dem Ausblenden der Anzeige auch noch die Lücke schliessen, würde es mir persönlich besser gefallen, aber das ist reine Geschmackssache.

ZU BEACHTEN IST dass im Dashboard fast gar nichts sichtbar funktioniert. Auch die Darstellung ist nicht gleich, wie ausserhalb des Dashboard. Aber das ist vielleicht meiner an den Programmierer des Moduls zu richten?!?!

Ansonsten ist in der Anzeige noch eine kleine "Unschönheit", von der ich nicht weiss, ob, wie und von wem das zu korrigieren wäre, da ich den Verursacher nicht erkenne. (s. Bild)

Ansonsten leibt mir nur, dir nochmals für deine Arbeit zu danken. Ich will mal stark hoffen, dass auch Andere davon profitieren. Hast du echt toll gelöst.

Wenn keiner was zu meckern hat, stelle ich morgen den Code hier rein, falls ihn wieder jemand ins Wiki bringen oder nutzen will.
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

Invers

Fienale ?1?

So, hier kommt nun der endgültige Code und die zugehörige Abbildung

fhem.cfg

define Heizungswerte2 readingsGroup <%sani_heating>, < >,<Act>,<Soll>,<Ist> TYPE=FHT: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 FHT
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"':''}


myUtils

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 desired-temp \$v\") if( \$v ); fhem(\"setreading $DEVICE desired-new 00\");}" );

  return undef;
}



Nochmals Dank für die Entwicklung.
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

Petrosilius Zwackelmann

Hallo,

danke für diese gelungene Darstellung. Wo gibt es denn das Batterie-ICON?
Gruß Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Invers

Normalerweise musst du einfach nur den Namen angeben. Das Icon liegt da. wo auch die anderen sind.
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

du musst iconPath noch passend für die svg icons setzen.

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

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

Petrosilius Zwackelmann

Danke.. das :fhemSVG hatte ich bisher nicht
attr WEB iconPath openautomation:default:dark:fhemSVG

Gruß Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

brmpfl

Moin,

ich komme nicht weiter:
Bei mir werden die Icons für den Batteriestatus nicht angezeigt.
Ich habe den iconPath, wie o.g. gesetzt, die Schreibweise batterie@red als auch batterie\@red versucht.
Es hilt nix.

define batteryStatus readingsGroup .*:battery
attr batteryStatus alias Batteriestatus
attr batteryStatus mapping %ROOM %ALIAS
attr batteryStatus valueIcon {'battery.ok' => 'batterie', 'battery.low' => 'batterie@red'}
attr batteryStatus room BatterieStatus


Es wird, statt des Icons, immer nur "ok" angezeigt.



:)
Hajo

Paul

Also ich finde der Code sieht richtig aus.

DU hast


attr WEB iconPath openautomation:default:dark:fhemSVG


gesetzt?
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

Invers

Vielleicht hilft das?

attr battStatus valueFormat {($VALUE eq 'ok')?"batterie":"batterie\@red"}
attr battStatus valueIcon %VALUE
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