FHEM Forum

FHEM => Frontends => readingsGroup / readingsHistory => Thema gestartet von: Invers am 21 Januar 2014, 23:27:21

Titel: Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 21 Januar 2014, 23:27:21
Ich hoffe, ich bin hier in der Abteilung mit meiner Frage richtig.
Ich habe mit Readingsgroup meine Batteriestati anzeigen lassen. nun möchte ich diese aber nicht in einer Gruppe, sondern lieber bei den Geräten angezeigt haben. Geht das, und wenn ja, wie?
Guckt euch mal die Bilder an, dann wisst ihr, was ich meine.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 21 Januar 2014, 23:52:35
nein. das geht nicht. fhem kann pro device genau ein icon darstellen. das kann dann entweder z.b. state sein oder der batterie stand.

das stimmt so nicht ganz... du kannst dir über einen umweg selber ein icon für einen kombinerten zustand basteln. aber auch das würde bedeuten das beide icons direkt nebeneinander stehen müssen.

die einzige ausnahme ist zur zeit die readings group. da kannst du für beliebig viele readings werte und/oder icons plus das STATE icon zum anklicken auf ein mal darstellen. was da nicht geht wäre das icon neben dem drop down menü. aber das icon neben dem rollladen.

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 22 Januar 2014, 00:25:51
Danke für die schnelle Antwort.
Die Batterie muss nicht an der Stelle stehen, hat sich halt nur so angeboten. Irgendwo in der Zeile reicht völlig.
Mit der letztgenannten Variante würde ich gerne probieren. Ich hoffe, ich bekomme das unter Zuhilfenahme des Wikis irgendwie zusammen. Muss mal sehen.
Danke.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 22 Januar 2014, 01:31:48
Kannst du mir nochmal helfen?
Ich habe bis ebend rumprobiert, aber ich bekomme nicht 2 Icons hin.
Was muss ich denn schreiben, damit ich die Batterie und ein Fensterstatus-Icon hinbekomme?
Ich schaffe immer nur eins. Vielleicht sehe ich auch um 1 Uhr 30 nichts mehr. :-)
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 22 Januar 2014, 08:27:39
du musst für jedes reading bei dem du statt dem wert ein icon anzeigen möchtest eine zuordnung in valueIcon hinzufügen:attr <rg> valueIcon {'battery.ok' => 'batterie', 'battery.low' => 'batterie\@red' 'window.open' =>'...' ...}

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 22 Januar 2014, 09:24:50
Hab noch ne Weile gefummelt, aber nachdem ich noch ein Komma eingfügt habe, geht es nun perfekt. Danke dir für die Hilfe.

'batterie\@red' 'window.open'
'batterie\@red', 'window.open'
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 22 Januar 2014, 09:26:20
arg. ja. komma vergessen...
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 22 Januar 2014, 09:39:36
Zusatzfrage: Noch ein schönes Heizungsicon vor jede Zeile geht wahrscheinlich nicht? habs ohne Erfolg probiert. Attribut icon über die Konsole angelegt bleibt ohne Wirkung, wird aber auch nciht angemeckert.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 22 Januar 2014, 09:44:09
klar geht das:

- den normalen zeilen titel ausblenden:attr <rg> mapping &nbsp;

- in die liste der readings ein <%ICON_NAME> an die stelle einbauen wo das icon hin soll

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 22 Januar 2014, 11:50:45
Ich trau mich ja schon gar nicht mehr zu fragen, aber ich bekomme es nicht hin.
TYPE=FHT:%sani_heating,battery,actuator,desired-temp,measured-temp,window
funktioniert leider nicht. Die Stelle bleibt ohne Icon, es kommt aber auch kein Fehler.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 22 Januar 2014, 11:51:37
TYPE=FHT:<%sani_heating>,battery,actuator,desired-temp,measured-temp,window

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 22 Januar 2014, 12:15:00
Na ich bin ja ein Trottel. Ich wäre ja im Leben nicht drauf gekommen, dass ich die <> mit eingeben muss. Ich dachte, du hast die gesetzt, weil es nur ein Baeispielname war.
Ich habe es jetzt noch einmal abgeändert und nun sieht es aus, wie ich es haben möchte.

Vielen Dank, auch für deine Geduld.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: ph1959de am 22 Januar 2014, 13:11:13
ZitatIch habe es jetzt noch einmal abgeändert und nun sieht es aus, wie ich es haben möchte.

Bitte, bitte, bitte ... jetzt noch die Informationen für's Wiki bereitstellen (die endgültigen Definitionen/Attribute; Screenshot ist ja schon da).

Danke, Peter
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 22 Januar 2014, 13:25:47
Wenn ich da mit meinen Kenntnisssen rumschmiere, hätte wohl keine eine Freude daran. Aber für eine Eintragung bin ich schon sehr. Ich denke nach.

Mich bewegt aber vorher dann doch noch eine Frage:
Wäre es noch mögllich, für desired-temp so ein Auswahlfeld reinzubasteln, mit dem man dann auch die Werte gleich senden kann?
Ich fürchte mal, dass da der Name Readingsgroup schon dagegen spricht, aber ich frag halt einfach mal.
S. Bild (Natürlich in jeder Zeile)
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: ph1959de am 22 Januar 2014, 13:30:49
ZitatWenn ich da mit meinen Kenntnisssen rumschmiere, hätte wohl keine eine Freude daran. Aber für eine Eintragung bin ich schon sehr. Ich denke nach.
Dann schreib doch einfach die Definitionen hier rein. Andre oder ich (oder jemand anderes) trägt das dann schon im Wiki nach.

Peter
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 22 Januar 2014, 13:34:39
genau die drop down menüs (und slder&co) sind das was (noch) nicht direkt geht. siehe oben.

du hast drei möglichkeiten:

- wenn du dich auf zwei oder drei werte beschränken kannst dann kannst diese selber als commandos/links definieren
- du kannst dir das menu selber mit <{...}> einbauen
- du wartest noch. vielleicht geht es ja bald :)

wenn dir dir fragen ausgehen :):
- vielleicht magst du noch überschritten über die spalten haben. das geht auch mit <"...">

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 22 Januar 2014, 13:43:00
Jetzt bin ich platt. Du hast nicht nur richtig Ahnung, du kannst auch wirklich noch Gedanken lesen. Gerade in der Sekunde, bevor ich hier las, kam mir der Gedanke mit den Überschriften. Manchmal is komisch. LOL

Ich wäre im ersten Schritt für Variante 1, später dann für 3.
Wie immer wäre ich dankbar, für etwas Code zu Variante 1. :-)
In welcher Zeitspanne ist denn "vielleicht bald" einzuordnen?

Den Code stelle ich hier sehr gerne rein.  Ist eine Kopie aus der fhem.cfg

define Heizungswerte readingsGroup <%sani_heating> TYPE=FHT:actuator,desired-temp,measured-temp,window,battery
attr Heizungswerte group Heizungswerte
attr Heizungswerte room FHT
attr Heizungswerte valueIcon {'battery.ok' => 'batterie', 'battery.low' => 'batterie/@red', 'window.closed' => 'fts_window_1w', 'window.open' => 'fts_window_1w_open'}



Übersachriften gehen schon mit:
<%sani_heating> < >,<Act>,<Soll>,<Ist> TYPE=FHT:actuator,desired-temp,measured-temp,window,battery
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 22 Januar 2014, 14:47:09
ich habe eben noch einen fehler in den links entdeckt.

ab morgen kannst du so etwas verwenden:define Heizungswerte readingsGroup <%sani_heating> TYPE=FHT:actuator,desired-temp,measured-temp,window,battery,<%18>,<%20>,<%22>
attr Heizungswerte commands { 'Heizungswerte.18' => 'set $DEVICE desired-temp 18',  'Heizungswerte.20' => 'set $DEVICE desired-temp 20',  'Heizungswerte.22' => 'set $DEVICE desired-temp 22' }


und wenn du nur links dieser art hast auch einfacher mit: attr Heizungswerte commands { 'Heizungswerte' => 'set $DEVICE desired-temp $VALUE' }

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 22 Januar 2014, 15:00:46
Echt cool. Bin voll begeistert. Geht ja schneller, als gedacht. Bis morgen kann ich gerade noch aushalten. :-)
Vielen herzlichen Dank.

Ich habe übrigens inzwischen mal versucht, den Überschriften Farben zu geben, was mir natürlich nicht gelungen ist. Beispiele aus dem Wiki habe ich abgewandelt versucht, jedoch ohne echten Erfolg. Ich bin allerdings in dem Fall überzeugt, dss auch dies möglich ist. hättest du auch da einen Tipp?
Bin ich eigentlich der Einzige, der das alles verwenden möchte? Ich glaube, dass viele gar nicht wissen, was man da vepasst, wenn man auf die Nutzung von Readigsfroup verzichtet. Ging mir auch vorher so. Ich bin echt voll begeistert.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 22 Januar 2014, 15:30:34
so lange du alle überschriften gleich einfärben möchtest geht das mit nameStyle so:attr Heizungswerte nameStyle style="color:red"

wenn du unterschiedliche farben möchtest musst du dir etwas in dieser art bauen:attr Heizungswerte nameStyle { if($READING eq 'Act' ) {return 'style="color:red"';} elsif($READING eq 'Soll' ) {return 'style="color:blue"';} }

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 22 Januar 2014, 15:37:57
Ah!  Danke. Ich hatte versucht, alles in die Readings reinzubasteln, wie die Überschriften selbst. Konnte ja dann nicht klappen.

So, nun hab ich aber wirklich keine offenen Fragen mehr. Ist auch besser so, sonst muss ich dir ein Gehalt zahlen. :-)

Nochmals danke für deine Geduld und Mühe.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 22 Januar 2014, 15:42:55
wenn morgen dann alles geht :) kannst du vielleicht noch mal einen screenshot und die genaue konfiguration fürs wiki posten.

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 22 Januar 2014, 15:50:56
Das ist doch das Mindeste, was ich tun kann.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 22 Januar 2014, 16:33:29
und noch was :):

wenn du das hier in deine 99_myUtils.pm steckst:sub                 
myUtils_HeizungUpDown($$)
{                   
  my($DEVICE,$CMD) = @_;
                     
  my $icon = $CMD;   
  my $VALUE = ReadingsVal($DEVICE,"desired-temp","20" );
  my $link;         
                     
  if( $CMD eq "up" ) {
    $icon = "control_arrow_up";
    $VALUE += 1;     
                     
    $link = "set $DEVICE desired-temp $VALUE" if( $VALUE <= 24 );
  } elsif( $CMD eq "down" ) {
    $icon = "control_arrow_down";
    $VALUE -= 1;     
                     
    $link = "set $DEVICE desired-temp $VALUE" if( $VALUE >= 18 );
  }                 
                     
  my $ret = "%$icon";
  $ret .= "%$link" if( $link );
                     
  return $ret;       
}


kannst du dir hiermit:define Heizungswerte readingsGroup <%sani_heating> TYPE=FHT:actuator,desired-temp,measured-temp,window,battery,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired-temp>,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired-temp>

zwei icons mit links für rauf und runter anzeigen lassen.

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 22 Januar 2014, 17:08:06
Hab mal aus Heizungswerte Heizungswerte1 gemacht, damit nichts zerstört wird.
Leider klppt es erstmal nicht. S.Bild

Oder geht das auch erst ab morgen?
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 22 Januar 2014, 17:10:19
das sollte jetzt schon gehen.

fehlen da wieder die <> ?

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 22 Januar 2014, 17:19:51
Nö, diesmal nicht. Die haben sich bei mir eingebrannt. :-) Ich hab ja den Code von dir kopiert.
Hab in myUtils eingefügt und die Zeile oin das Eingabefeld von FHEM.
Die Zeile sieht dann in FHEM-Oberfläche so aus:
<%sani_heating> TYPE=FHT:actuator,desired-temp,measured-temp,window,battery,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired-temp>,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired-temp>
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 22 Januar 2014, 17:27:54
fehler gefunden. es liegt am - im reading namen. das hatte ich noch nicht berücksichtigt.

du kannst als workaround bis morgen das hier verwenden:<%sani_heating> TYPE=FHT:actuator,desired-temp,measured-temp,window,battery,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired.temp>,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired.temp>

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 22 Januar 2014, 20:50:15
Cool. Jetzt gehe 4 Schaltflächen, also noch ein kleiner Tippfehler.
Mach dir nicht so viel Mühe für die kurze Zeit. Bis morgen ist ja nicht mehr lange.

Nervig bei der Einstellung ist natürlich, dass man keine Reaktion sehen kann. Aber die sieht man ja sonst auch nicht. Wenn man den Wert ändert, dann springt die Anzeige der Gradzahl immer zurück und ändert sich erst nach Minuten. Das hat mich anfangs sehr irritiert. Besser wäre es, wenn die gewählte Gradzahl sichtbar bliebe und sich nach erfolgter Schaltung einfärben würde. Aber das hat mit der Sache hier nichts zu tun. Das ist ne andere Baustelle. Da frage ich mich dann dort durch, wenn ich hier alles verdaut habe. :-)

Danke dir.

EDIT die beiden markierten lassen sich nicht klicken. Ich sehe keinen Fehler. Vielleicht in myUtils? Bild im nächsten Post, geht nicht mit edit.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 22 Januar 2014, 22:32:24
Bild
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 22 Januar 2014, 22:34:26
schau mal in die myUtils_HeizungUpDown  routine. da ist 18 und 24 grad als unter und obergrenze angegeben :)

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 22 Januar 2014, 23:09:27
Ach so. Alles klar. Dann kann es ja nicht mehr gehen, weil ich da schon drunter bin. OL, danke, passe ich an.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 23 Januar 2014, 16:19:04
So, Dank deiner tollen Hilfe habe ich nun alles fertig.
Das Beispiel mit den Gradzahlen hat nicht funktioniert. Die Gradzahlen lassen sich nicht anklicken und werden auch wie die Überschriften eingefärbt, also in meinem Fall gelb.
Ich habe mich somit erst einmal für die Einstellpfeile entschieden, die den Wert schrittweise ändern.
Eine coole Sache wäre noch, wenn der geklickte Wert in der jeweiligen Icon-Überschrift angezeigt werden könnte. Also meine Solltemperatur ist 17, ich klicke einmal auf erhöhen und in der Überschrift erscheint dann sofort 18, egal ob geschaltet oder nicht. Das gäbe ein tolles Feedback, wenn man einen Zitterfinger hat oder nicht mehr in der Lage ist, die Klicks zu zählen. :-)

Unten habe ich vom Istzustand wieder ein Bild und hier der zugehörige Code:

define Heizungswerte2 readingsGroup define Heizungswerte2 readingsGroup <%sani_heating>, < >,<Act>,<Soll>,<Ist> TYPE=FHT:actuator,desired-temp,measured-temp,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired-temp>,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired-temp>,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'}


und hier nochmal der Code aus myUtils
#Heizung regeln in Readingsgroup
sub                 
myUtils_HeizungUpDown($$)
{                   
  my($DEVICE,$CMD) = @_;
                     
  my $icon = $CMD;   
  my $VALUE = ReadingsVal($DEVICE,"desired-temp","20" );
  my $link;         
                     
  if( $CMD eq "up" ) {
    $icon = "control_arrow_up";
    $VALUE += 1;     
                     
    $link = "set $DEVICE desired-temp $VALUE" if( $VALUE <= 24 );
  } elsif( $CMD eq "down" ) {
    $icon = "control_arrow_down";
    $VALUE -= 1;     
                     
    $link = "set $DEVICE desired-temp $VALUE" if( $VALUE >= 18 );
  }                 
                     
  my $ret = "%$icon";
  $ret .= "%$link" if( $link );
                     
  return $ret;       
}


Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 23 Januar 2014, 16:49:28
danke für die dokumentation. das kommt alles ins wiki.

kannst du bitte noch mal genau posten wie du die andere version mit den direkten temperaturen konfiguriert hast. die solle auch gehen und ich würde gerne beides dokumentieren.

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 23 Januar 2014, 18:53:55
Mist. Muss ich neu basteln. Kommt dann. :-)
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 23 Januar 2014, 19:03:01
Hier der Code aus der fhem.cfg. Icons habe ich mal weggelassen. Brauchst du das Bild?

define Heizungswerte readingsGroup <%sani_heating>, < >,<Act>,<Soll>,<Ist> TYPE=FHT:actuator,desired-temp,measured-temp,window,battery,<%18>,<%20>,<%22> attr Heizungswerte commands
attr Heizungswerte mapping { 'Heizungswerte.18' => 'set $DEVICE desired-temp 18', 'Heizungswerte.20' => 'set $DEVICE desired-temp 20', 'Heizungswerte.22' => 'set $DEVICE desired-temp 22' }
attr Heizungswerte nameStyle style="color:yellow;;font-weight:bold"
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 23 Januar 2014, 19:15:00
du musst commands und nicht mapping verwenden. also so:attr Heizungswerte commands { 'Heizungswerte.18' => 'set $DEVICE desired-temp 18', 'Heizungswerte.20' => 'set $DEVICE desired-temp 20', 'Heizungswerte.22' => 'set $DEVICE desired-temp 22' }

wenn es geht kannst du mir vielleicht auch dazu ein komplettes beispiel mit screenshot machen ?

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 23 Januar 2014, 19:32:40
Gerne doch.

define Heizungswerte readingsGroup <%sani_heating>, < >,<Act>,<Soll>,<Ist> TYPE=FHT:actuator,desired-temp,measured-temp,window,battery,<%18>,<%20>,<%22> attr Heizungswerte commands
attr Heizungswerte commands { 'Heizungswerte.18' => 'set $DEVICE desired-temp 18', 'Heizungswerte.20' => 'set $DEVICE desired-temp 20', 'Heizungswerte.22' => 'set $DEVICE desired-temp 22' }
attr Heizungswerte mapping { 'Heizungswerte.18' => 'set $DEVICE desired-temp 18', 'Heizungswerte.20' => 'set $DEVICE desired-temp 20', 'Heizungswerte.22' => 'set $DEVICE desired-temp 22' }
attr Heizungswerte nameStyle style="color:yellow;;font-weight:bold"
attr Heizungswerte room FHT
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Paul am 23 Januar 2014, 20:20:37
Hallo habe gerade mal Heizungswerte getestet. Bekomme eigentlich alles auch hin, nur werden bei mir keine Icons dargestellt, sondern Closed und oK. Benutze als iconPath openautomation:fhemSVG:default.

Das BatterieIcon benutze ich auch bereits und es wird dort auch angezeigt.

Update ist von heute.

Was mache ich falsch? Welche Nagaben werden noch benötigt?

PS Im WIki hat sich glaube ich ein Tippfehler eingeschlichen:

define Heizungswerte2 readingsGroup define Heizungswerte2 readingsGroup <%sani_heating>, < >,<Act>,<Soll>,<Ist> TYPE=FHT:actuator,desired-temp,measured-temp,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired-temp>,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired-temp>,window,battery
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 23 Januar 2014, 20:28:45
Ich will nicht vorwitzig sein, aber du solltest deinen Code posten. Kann ja sonst keiner wissen, was du falsch machst.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Paul am 23 Januar 2014, 20:39:44
Sorry wollte nicht das gleiche schreiben wie Du :)

define Heizungswerte2 readingsGroup readingsGroup <%sani_heating>, < >,<Act>,<Soll>,<Ist> TYPE=FHT:actuator,desired-temp,measured-temp,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired-temp>,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired-temp>,window,battery
attr Heizungswerte2 fp_Licht 50,100
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'}

Und

#Heizung regeln in Readingsgroup
sub                 
myUtils_HeizungUpDown($$)
{                   
  my($DEVICE,$CMD) = @_;
                     
  my $icon = $CMD;   
  my $VALUE = ReadingsVal($DEVICE,"desired-temp","20" );
  my $link;         
                     
  if( $CMD eq "up" ) {
    $icon = "control_arrow_up";
    $VALUE += 1;     
                     
    $link = "set $DEVICE desired-temp $VALUE" if( $VALUE <= 24 );
  } elsif( $CMD eq "down" ) {
    $icon = "control_arrow_down";
    $VALUE -= 1;     
                     
    $link = "set $DEVICE desired-temp $VALUE" if( $VALUE >= 18 );
  }                 
                     
  my $ret = "%$icon";
  $ret .= "%$link" if( $link );
                     
  return $ret;       
}



Danke habe es selbst gefunden.

Bitte den Wiki Eintrag ändern
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 23 Januar 2014, 21:06:40
Einen Fehler hab ich gefunden. Daran scheint es zwar nicht zu liegen, aber Versuch macht kluch.

define Heizungswerte2 readingsGroup readingsGroup <%sani_heating>, < >,<Act>,<Soll>,<Ist> TYPE=FHT:actuator,desired-temp,measured-temp,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired-temp>,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired-temp>,window,battery


Einmal readingsGroup zuviel. Hab ich aber auch so falsch drinnen und nicht gesehen. Hatte auch keine negativen Auswirkungen.
Einen anderen Fehler hab ich nicht entdeckt, aber ich bin auch kein Spezi.
Mal warten, was justme1968 dazu sagt.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Paul am 23 Januar 2014, 21:16:25
Das war der Fehler. Jetzt werden alle Icons angezeigt. Danke

Jetzt muss ich nur rausbekommen wie ich die Solleinstellung verändern kann. Drücken auf die Pfeile bringen nichts.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 23 Januar 2014, 21:25:52
Alle Pfeile gehen nicht? Oder nur einige?
Die Temperaturen werden erst angezeigt, wenn der FHT aktualisier. Das kann lange dauern.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Paul am 23 Januar 2014, 21:30:13
Alle gehen nicht.  Muss mir nochmal die myUtils anschauen, wobei ich die copy\paste
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 23 Januar 2014, 21:37:19
im wiki war noch mehr doppelt. habe korrigiert.

das sollte aber auch nicht wirklich ein problem machen. die readingsGroup hält das alles jeweils für den namen eines devices und da es das aber ziemlich sicher nicht gibt wird nichts damit gemacht.

kurz dahinter ...<%sani_heating>, < >,<Act>,<Soll>... war noch ein leerzeichen zu viel.
                                                  ^
du kannst in der sub vor dem return noch einLog 3, $ret;einfügen. dann steht im log was für kommandos generiert werden.

ansonsten sind die pfeile nur aktiv wenn die neue temperatur >=18 und <=24 grad ist.

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Paul am 23 Januar 2014, 22:42:44
Klappt doch alles. Eine Frage habe ich als Laie weshalb kann ich nicht das File Icon farbig darstellen ?

Hatte in der myUtils probiert $icon = "control_arrow_down"; in $icon = "Control_arrow_down@red"; zu ändern, bekomme aber beim abspeichern eine Fehlermeldung.

Der Gedanke war bei drücken Farbwechsel und bei "Eingang" der Solltemperatur wieder weiß. Damit man vor Umstellung sehen kann das eine Aktion ansteht.

Da ich aber kein Programierer bin weiß ich nicht ob das überhaupt darstellbar ist.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 23 Januar 2014, 23:01:16
versuch es mal mit$icon = "Control_arrow_down\@red";

wenn die die farben dynamisch machen willst musst du zusätzlich zu desired-temperature noch measured-temp auslesen und beide vergleichen.

ich hab aber keine FHT und kann es nicht selber probieren weil ich nicht weiss wie die dinger reagieren.

das gilt auch für das zwischendurch anzeigen der eingestellten temperatur. vermutlich muss man dazu ein extra reading anlegen und dann dieses auch noch anzeigen so lange es da ist und sobald desired und dieses gleich sind es wieder löschen.

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 23 Januar 2014, 23:18:31
Falls du die Sache mit der Gradzahl in der Überschrift meinst, habe ich eine theoretische Idee.
Desired  Temp ist ja bekannt und wenn man klickt, wird ja dazu ein wert + oder - gerechnet. Dieser errechnete Wert kann angezeigt werden und bleibt da einfach so lange stehen, bis etwas anderes geklickt wird.
5 Grad mehr bedeutet halt 5 mal + klicken und dann die entsprechende Gradzahl dazu addieren zur Solltemperatur. Das kann dann nach 6 Minuten wieder gelöscht werden, weil dann der FHT selber seine aktualisierte Anzeige zur Verfügung stellt.
Nun weiss ich nur nicht, wie man das programmiert.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 23 Januar 2014, 23:25:49
ja. so in etwa. ich weiss nur nicht genau wie das mit der desired-temp genau funktioniert.

was genau passiert bei einem set desired-temp? der wert wird nur gesendet und das reading bleibt erst mal unverändert und ändert sich erst wenn eine antwort kommt? wie lange dauert das?

die reihenfolge und das timing sind wichtig um es zum laufen zu bekommen.

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Paul am 23 Januar 2014, 23:36:37
Hallo Andre, danke ja dein Code  mit dem \. Klappt.
Nur leider nicht so wie ich es mir vorgestellt habe, sondern alle Pfeile werden sofort eingefärbt und nicht erst dann wenn einer gedrückt wird (und nur dann der eine)

Hallo Invers, leider klappt das nicht wenn man z.B. die Temperatur um 3 Grad erhöhen will 3mal auf den Pfeil zu drücken. Du erhöhst die desired-Temperatur +1 bei drücken. Beim zweiten drücken hat sich die desired-Temperatur aber nicht geändert also bleibt es bei desired-Temperatur + 1.

gerade getestet

3mal gedrückt

Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 23 Januar 2014, 23:39:29
Das dauert bei mir im Schnitt 5 Minuten.
Ich glaube, dass die reihenfolge nicht so die Rolle spielt. Ich habe auf den Pfeil 5mal geklickt und bekam nach etwa 5 Minuten 5 Grad mehr angezeigt. Man kann also getrost einfach zur desired-temp dazuaddieren und anzeigen.
Wenn man dann die Anzeige nach etwa 6 Minuten wieder löscht, ist man auf der sicheren Seite. Vielleicht könnte man, wenn man Perfektionist ist, diese 6 Minuten auch einstellbar machen, dann könnte das ja jeder anpassen, wie er es braucht.

Variante 2 wäre, man löscht die Anzeige nicht wieder, dann muss man nur das Klicken "entprellen", also alle Pausen zwischen den Klicks auf 0,5 Sekunden begrenzen. Klickt einer langsamer, wird für 6 Minuten gesperrt.
Aber darüber müsste man nochmal nachdenken, ist noch etwas unausgegoren. Man muss aber jeden Klick sofort zählen und anzeigen.
Titel: Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 23 Januar 2014, 23:41:49
deswegen die frage wie genau das ding reagiert.

wenn es diese verzögerung gibt braucht man noch ein extra reading zum zählen.

damit geht dann auch das zeitweise einblenden.

also z.b. zum zählen target-temp auslesen und damit rechnen und mit setreading schreiben. zusätzlich desired-temp setzen. target-temp löschen sobald desired-temp kommt und gleich ist.

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 23 Januar 2014, 23:43:37
@Paul
Hatte ich gestern auch probiert. War mir eigentlich sicher, dass die Klicks geschickt werden. Dann muss ich das nochmal probieren und den Plan ändern. Dann würde das ja mit den Pfeilen gar nicht gehen. Man müsste ja dann bei einer Erhöhung um 3 Grad mindestens 15 Minuten investieren. Dann schicke ich lieber meine Frau zum Hochdrehen.LOL
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 23 Januar 2014, 23:46:41
@justme1968
Ja, das ist genial. Weil ich noch nicht so viel Erfahrung habe, hatte ich an die Readings nicht gedacht. Dann könnte man ja sogar vernünftig rechnen, egal, ob der Pfeil um 0,5 oder 20 Grad erhöht. Man könnte immer zuaddieren.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 23 Januar 2014, 23:46:56
siehe edit oben. mit der änderung gehen auch die pfeile wieder.

ich schau mir das morgen an.

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Paul am 23 Januar 2014, 23:57:50
Also bei mir klappt das nicht mit 3mal drücken = + 3 Grad.

Bin leider kein Programierer , mE bräuchte man noch eine Variable=desired-Temp, die bei drücken +1 gesetzt wird, und nach einer gewissen Zeit wieder desired-Temp annimmt? Schön wäre es auch wenn bei drücken eines Pfeils sich die Farbe ändert bis sich die Desired-Temp am FHT eingestellt hat.
Super wäre Variable - desired-Temp < 3 gelb Variable - desired-Temp >= 3 rot.

Ich weiß wunschdenken
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 24 Januar 2014, 00:05:42
@Paul
Ja, du hast Recht, Ich habe ja gestern viel probiert und geklickt, da weiss man nicht mehr so genau.
Dann geht das so gar nicht.


@All
Neuer Gedankengänge.
Man schreibt die Klicks in eine Variable. Ist die Pause zwischen den Klicks länger als 30 Sekunden, sperrt man die Pfeile für 5 Minuten und rechnet die Variable mit der Solltemp zusammen und schickt sie dann an den FHT und schreibt den neuen errechneten Sollwert in die Überschrift. Nach Ablauf der Sperrfrist wird die Überschrift gelöscht, was gleichzeitig den Vorteil hat, dass der Nutzer weiss, wann er wieder klicken kann. Variable leeren und fertig.

Das scheint mir in der Programmierung schon sehr komplex und ich weiss nicht, ob es sich lohnt.
Wenn die Pfeile allerdings wirklich nur um den Wert eines Klicks erhöhen können, was ja bewiesen ist, dann sind sie leider nicht wirklich brauchbar. Eine Werteliste aber auch nicht wirklich, weil dadurch die Anzeige immer breiter wird. Womit wir wieder bei der Auswahlliste wären. :-)
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 24 Januar 2014, 00:24:38
lass mich das morgen mal probieren. ich glaube es ist einfacher als es aussieht.

gute nacht :)
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 24 Januar 2014, 13:08:42
probier mal die angehängte version. die änderungen sind eigentlich recht klein. was jetzt geht:

- die pfeile sind blau bzw. rot wenn sie innerhalb des wertebereichs sind
- zwischen den pfeilen wird die gerade eingestellte temperatur gezeigt
- drei sekunden nach dem letzten klick wird der eingestellte wert gesendet und die zahl zwischen den pfeilen verschwindet

ich schau mal ob ich die zahl nach dem senden bis zum empfang der eingestellten temperatur in einer anderen farbe anzeigen kann.

der teil für die pfeile in der readingGroup definition muss so ausschauen:...,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired.*>,desired.new,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired.*>,...

und das muss auch noch dazu:attr <rg> valueStyle {($VALUE eq "00")?'style="visibility:hidden"':''}

und das muss in 99_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 += 1;

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

    if( $VALUE >= 18 ) {
      $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:03 {my \$v = ReadingsVal(\"$DEVICE\",\"desired-new\",undef);fhem(\"set $DEVICE desired-temp \$v\") if( \$v ); fhem(\"setreading $DEVICE desired-new 00\");}" );

  return undef;
}


im angehängten file steht noch mal das gleiche damit beim kopieren nichts schief geht.

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 24 Januar 2014, 15:45:37
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.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 24 Januar 2014, 15:55:42
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
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 24 Januar 2014, 15:58:15
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.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Paul am 24 Januar 2014, 18:33:18
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.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 24 Januar 2014, 18:42:09
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
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 24 Januar 2014, 19:37:51
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.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 25 Januar 2014, 13:29:37
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.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 26 Januar 2014, 09:07:18
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.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Petrosilius Zwackelmann am 26 Januar 2014, 17:28:42
Hallo,

danke für diese gelungene Darstellung. Wo gibt es denn das Batterie-ICON?
Gruß Manuel
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 26 Januar 2014, 18:06:35
Normalerweise musst du einfach nur den Namen angeben. Das Icon liegt da. wo auch die anderen sind.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 26 Januar 2014, 18:19:15
du musst iconPath noch passend für die svg icons setzen.

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Petrosilius Zwackelmann am 26 Januar 2014, 18:46:39
Danke.. das :fhemSVG hatte ich bisher nicht
attr WEB iconPath openautomation:default:dark:fhemSVG

Gruß Manuel
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: brmpfl am 27 Januar 2014, 19:09:02
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.



Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Paul am 27 Januar 2014, 21:07:54
Also ich finde der Code sieht richtig aus.

DU hast


attr WEB iconPath openautomation:default:dark:fhemSVG


gesetzt?
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 27 Januar 2014, 21:44:43
Vielleicht hilft das?

attr battStatus valueFormat {($VALUE eq 'ok')?"batterie":"batterie\@red"}
attr battStatus valueIcon %VALUE
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 27 Januar 2014, 21:46:50
attr battStatus icon batterie

Fehlt noch
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: brmpfl am 28 Januar 2014, 19:15:03
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!
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: holzwurm83 am 31 Januar 2014, 22:14:36
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"':}
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 31 Januar 2014, 23:10:53
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
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: holzwurm83 am 02 Februar 2014, 14:37:53
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
Titel: Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 02 Februar 2014, 14:42:53
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
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: holzwurm83 am 02 Februar 2014, 14:54:23
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.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 02 Februar 2014, 14:57:10
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
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: holzwurm83 am 02 Februar 2014, 15:00:11
kann dir da leider nicht ganz folgen bzw. weiß nicht ganz wie ich das umsetzten soll?
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 02 Februar 2014, 15:12:43
Schau mal in den code in myUtils. da wird ein at definiert um das set auszulösen. das musst du anpassen.

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: holzwurm83 am 02 Februar 2014, 16:39:26
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\");}" );
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 02 Februar 2014, 16:56:43
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
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: holzwurm83 am 02 Februar 2014, 17:44:02
Danke! Damit geht es! :)
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: franky08 am 03 Februar 2014, 19:00:52
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
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: holzwurm83 am 03 Februar 2014, 19:43:33
Trage das mal ein
define notifyHeizungUpDown notify .*:desired-new.* { myUtils_HeizungUpDownNotify($NAME,$EVTPART1);; }
und Probiere es noch mal.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 03 Februar 2014, 19:46:14
wann genau erscheint die fehlermeldung?

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

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: franky08 am 03 Februar 2014, 20:52:53
@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
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 03 Februar 2014, 20:59:12
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
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: franky08 am 03 Februar 2014, 21:06:11
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)
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 03 Februar 2014, 21:14:31
und wozu soll das gut sein? das klingt nur unpraktisch...
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: franky08 am 03 Februar 2014, 21:16:23
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
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 03 Februar 2014, 22:26:35
Kurze Frage bitte:
Wie bekomme ich die Readingsbezeichnung hinter dem Doppelpunkt weg? (s. Bild)
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 03 Februar 2014, 22:28:08
attr mapping %ALIAS

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Invers am 03 Februar 2014, 22:37:17
Schneller, als die Polizei erlaubt. :-) Danke.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: svenson08 am 06 Februar 2014, 21:16:02
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
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 06 Februar 2014, 21:20:55
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
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: svenson08 am 06 Februar 2014, 21:30:25
Perfekt. Passt.
Danke Andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Waldmensch am 09 Februar 2014, 10:53:45
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");
}

Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag 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
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Waldmensch am 09 Februar 2014, 11:20:22
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
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 09 Februar 2014, 11:35:21
und noch was: wenn du ans {} und der definition der readingsGroup jeweils noch ein @reading_name anhängst bekommst du auch eine automatische aktualisierung per longpoll wenn sich der wert des readings ändert.

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Waldmensch am 09 Februar 2014, 12:31:17
Ich hatte, um diesen Effekt zu erreichen, das reading mit
fht_bad:actuator,<{ReadingsVal($DEVICE,"measured-temp","0")."°C"}>.................
über den actuator eingeleitet, weil der sehr häufig kommt und dann die readinggroup mit Attribut "alwaysTrigger" auf 1 versehen. Zumindest werden die Icons live gesetzt. Ich verstehe das jetzt so, das ich den Aktuator vorn weglassen kann und statdessen so schreiben kann?
<{ReadingsVal($DEVICE,"measured-temp","0")."°C"}@measured-temp>.................

Ich habe ja noch Wettersensoren drin. Würde dann
.....<{ReadingsVal("CUL_WS_8","humidity","0")."%"}@humidity>...... auch funktionieren oder bezieht sich das "@reading" nur auf die Readings des Eingangsdevices (hier fht_bad)

Hier nochmal die eine ganze Zeile wie sie aktuell ist mit Wettersensor
fht_wohnzimmer:actuator,<{ReadingsVal($DEVICE,"measured-temp","0")."°C"}>,<{ReadingsVal("CUL_WS_8","humidity","0")."%"}>,<{ReadingsVal($DEVICE,"desired-temp","0")."°C"}>,<{fht_devStateIcon($DEVICE)}>,<{fhttk_devStateIcon("fht_tk_wohnzimmer")}>
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 09 Februar 2014, 13:17:45
das alwaysTrigger kannst du zur zeit ignorieren. das ist dazu da auch zu triggern wenn die readingsGroup gerade nirgends angezeigt wird. die optimierung musste ich aber komplett abschalten weil ein fhemweb update dazwischen gekommen ist.

ein <{...}> ohne @reading wird grundsätzlich nur ein mal beim aufbau der seite ausgewertet. wenn es auch ausgewertet werden soll wenn sich ein reading ändert um dann die readingsGroup per longpoll zu aktualisieren muss das zugehörige reading hinzugefügt werden. das @reading ist also nur wichtig wenn du die seite mit der readingGroup offen lässt und sie automatisch aktualisiert werden soll.

ich meine es funktionier für jedes device das die readingsGroup kennt. wenn es von diesem device nicht irgendwo ein normales reading gibt sollte es reichen wenn du ans ende noch ein CUL_WS_8:dummyhängst. also eine eigene zeile für das device mit einem reading das es nicht gibt. damit kennt die readingGroup das device aber zeigt keine extra zeile an weil es das reading nicht gibt.

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Waldmensch am 09 Februar 2014, 13:41:16
Zitat von: justme1968 am 09 Februar 2014, 13:17:45
ich meine es funktionier für jedes device das die readingsGroup kennt. wenn es von diesem device nicht irgendwo ein normales reading gibt sollte es reichen wenn du ans ende noch ein CUL_WS_8:dummyhängst. also eine eigene zeile für das device mit einem reading das es nicht gibt. damit kennt die readingGroup das device aber zeigt keine extra zeile an weil es das reading nicht gibt.

Okay, soweit alles verstanden. Danke für die Erklärung.

Eine Sache ist mir noch nicht ganz klar mit dem dummy(s) hinten anfügen. Ich habe ja z.B. 3x fht_tk die ich als Dummy anlegen müßte. Oben müßte ich dann jeweils <{....}@Window> eintragen? Das würde heißen, das egal welcher FHTTK gerade triggert alle 3 Icons geprüft werden? Oder muß ich das device noch mit ins spiel bringen, Marke <{....}@fht_tk_kueche:Window> o.ä.

Vielen Dank für Deine Geduld  :)
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 09 Februar 2014, 13:44:41
es wird zur zeit nur der reading name geprüft. das man dort das device angeben kann muss ich noch einbauen. mal sehen ob der : von der syntax her passt.

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Waldmensch am 09 Februar 2014, 13:47:52
Zitat von: justme1968 am 09 Februar 2014, 13:44:41
es wird zur zeit nur der reading name geprüft. das man dort das device angeben kann muss ich noch einbauen. mal sehen ob der : von der syntax her passt.

gruss
  andre

Also habe ich es richtig verstanden, das wenn einer von den 3 FHTTK dummys triggert alle icons geprüft werden. Ist ja nicht schlimm - ich wills nur verstehen. Wenn Du später die devices mit ins Spiel bringen würdest, könnte man dann auch quasi auf die dummys verzichten?
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 09 Februar 2014, 13:54:02
ja. genau so sollte es sein.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: Waldmensch am 09 Februar 2014, 14:06:17
Zitat von: justme1968 am 09 Februar 2014, 13:54:02
ja. genau so sollte es sein.

Wo ist hier der LIKE Button?  :-*
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: locodriver am 16 Februar 2014, 15:19:10
Hallo @all:

Ich habe mich heute mal an die Sache rangemacht und nach etwas probieren das so hinbekommen (s.u.). Das ist mein erster Versuch mit readingsgroup. ;)

Wo kann ich die gelbe Tabellenbeschriftung erweitern (wärmer, kälter, Feuchtigkeit, Batterie)?

Ich habe HM-Geräte, der Windowstatus wird bei den alten TCs nicht im Gerät sondern nur im Kanal "_WindowRec" angezeigt. Wie kann ich das Reading entsprechend angeben, damit es angezeigt wird und die Batterie des Fensterkontaktes würde auch noch ganz gut hierher passen, dann wäre alles komplett. Lässt sich das realisieren - dann muss ja noch (irgendwie) der Fenstersensor (WZ_Balkon bzw. BD_Fenster) mit eingefügt werden.

Ich weiß auch nicht, ob die von mir verwendeten und angepassten Codeteile für meine Geräte schon vollständig angepasst sind - im Wiki ist ja nur ein FHT-Bsp. angegeben. Mittlerweile gibt es ja schon 2 verschiedene HM-Geräte und noch Max.

Hier mal der Code:

##############################################
# $Id: 99_myUtils.pm 0 2013-11-18 Uwe $

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

  return undef;
}

1;


Hier habe ich am Ende den Kanal in "_Climate" umbenannt.

Meine cfg:

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


Hier "fehlen" die Prozentzeichen hinter der Feuchtigkeit und vom "WZ_Balkon" ist nichts zu sehen  :(.

Die Balkontür sieht so aus:
define WZ_Balkon CUL_HM ......
attr WZ_Balkon .devInfo ......
attr WZ_Balkon .stc 80
attr WZ_Balkon actCycle 028:00
attr WZ_Balkon actStatus alive
attr WZ_Balkon autoReadReg 4_reqStatus
attr WZ_Balkon eventMap /tilted:gekippt/open:offen/closed:geschlossen/
attr WZ_Balkon expert 2_full
attr WZ_Balkon firmware 2.0
attr WZ_Balkon model HM-SEC-RHS
attr WZ_Balkon peerIDs 00000000,........,
attr WZ_Balkon room 001Wohnzimmer
attr WZ_Balkon serialNr IEQ.....
attr WZ_Balkon subType threeStateSensor


Danke schon mal für Tipps in die richtige Richtung,

Uwe

Edit: Die Tabellenüberschriften habe ich schon mal hinbekommen :-)

... und die Einheiten hinter den Temperaturen und der Feuchtigkeit auch...

define Heizungswerte readingsGroup <%sani_heating>, < >,<Act>,<Soll>,<Ist>,<kälter>,< >,<wärmer>,<Feuchte>,<Batt.TC> .._Regler:actuator,desired-temp,measured-temp,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired.*>,desired.new,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired.*>,humidity,window,battery
attr Heizungswerte valueFormat { 'desired-temp' => "%.1f&deg;;C", 'measured-temp' => "%.1f&deg;;C",'humidity'=>"%.0f %"}
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: cerberus am 22 Februar 2014, 21:09:22
Hallo, ich habe zu Beginn folgende Variante mit Hilfe von Wiki realisiert, jedoch folgendes Problem.

Wähle ich die Temperatur aus, sei es mittels der fest vorgegebenen Werten (Wiki Variante 1) als auch mittels Pfeile (Wiki Variante 2) wird das ReadingFenster nicht aktualisiert sondern die FHEM Startseite angezeigt. Ich muss dann erst wieder den Raum auswählen um das Reading wieder zu sehen. Wird bei euch, nachdem ihr die Temperatur gewählt habt, der Raum bzw. das Reading aktualisiert oder springt es auch auf die Startseite von fhem zurück?

Danke und Gruß
cerberus
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 22 Februar 2014, 21:13:41
steht etwas im log?

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: cerberus am 22 Februar 2014, 21:22:13
Ja, dies hier steht im LOG

Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
Use of uninitialized value $FW_webArgs{"detail"} in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 249.
2014.02.22 21:20:35 2: FHT set Heizung_EG_Dusche desired-temp 20.0
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 22 Februar 2014, 21:30:38
die warnung hab ich eben behoben. das sollte aber nichts mit deinem problem zu tun haben.

du solltest beim beiden varianten auf der aktuellen seite bleiben.

ist deine fhem version aktuell? mit welchem browser machst du das? hast du longpoll aktiv?

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: cerberus am 22 Februar 2014, 21:48:42
Wie peinlich, hatte longpoll tatsächlich abgeschaltet...danke justme1968

Werde mal weiter basteln  :)

Hat jemand den aktuellen Code für die Variante 2 evt. sogar mit dem Mode und der Auswahl zwischen auto und manuell? Im Wiki ist es ja nicht so ganz aktuell.
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: cerberus am 25 Februar 2014, 20:17:34
Hallo, ist es auch möglich anstatt der Pfeile ein DropDown Menu zur Auswahl der Soll Temperatur als Feld einzufügen? So ist es einfacher die Wunschtemperatur zu wählen. Muss ich die Pfeile mehrfach drücken um eine größeren Temperaturänderung einzustellen, dauert es relativ lang da die Seite ja erst aktualisiert wird bevor ich das nächste mal drücken kann. So könnte ich die Wahlthemperatur direkt anwählen.

Gruß
cerberus
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 25 Februar 2014, 20:25:20
mit dem letzten update der readingaGroup gehen auch dropdown menüs.

http://forum.fhem.de/index.php/topic,14608.msg139768.html#msg139768

gruss
  andre
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: cotecmania am 29 September 2014, 21:20:03
Wie kann man den diese wunderhübschen Symbole einbinden ?
Liegen bei mir im Images-default-Verzeichnis.
Ist aber nur eine Datei, die alle Icons enthält. (batteryiconsprite.png)
Die wären klasse  ...
Titel: Antw:Batterie-Icon anzeigen (s. Bilder)
Beitrag von: justme1968 am 29 September 2014, 21:22:13
du musst das in einzelne kleine files auseinander schneiden.

gruß
  andre