FHEM Forum

FHEM => Frontends => readingsGroup / readingsHistory => Thema gestartet von: justme1968 am 03 September 2013, 22:59:01

Titel: update readingsGroup
Beitrag von: justme1968 am 03 September 2013, 22:59:01
ab morgen ist es möglich die devices für eine readingsGroup auch über den TYPE (und jeden anderen internal value) auszuwählen. beispiele:

alle temperaturen aller CUL_WS (KS300TH,S300TH,...) devices:define temperatures readingsGroup TYPE=CUL_WS:temperature
alle RSSI werte aller devices die einen cul_RSSI internal value haben:define culRSSI readingsGroup cul_RSSI=.*:+cul_RSSI
gruss
  andre
Titel: Aw: update readingsGroup
Beitrag von: justme1968 am 07 September 2013, 10:53:44
ab morgen kann man statt der reading namen auch ein icons anzeigen lassen. icons für den reading werte kommen noch.

konfiguration über das attribut nameIcon. genau so wie bei mapping muss es einen string oder einen hash zurück liefern der dann als name des anzuzeigenden icons verwendet wird.

gruss
  andre

edit: ich hatte übrigens heute nacht einen fehler im modul. mit dem update von heute werden die reading namen nicht mehr gemapped. ads ist inzwischen gefixed und geht morgen wieder.
Titel: Aw: update readingsGroup
Beitrag von: fhainz am 18 September 2013, 18:54:35
Hallo!

Ist es Absicht, dass der readingsGroup Block immer unter allen anderen Blöcken in den Raum Ansicht dargestellt wird? (Eigener <table> unter dem Table mit den andern devices, etc) Ich schaff es nicht einen readingsGroup Block als 2. Block in der Raumansicht darzustellen.
Oder mach ich nur was falsch?

Grüße
Titel: Aw: update readingsGroup
Beitrag von: justme1968 am 18 September 2013, 19:02:21
ja. die readingsGroup erscheint nach allen anderen 'normalen' devices.

das hat interne gründe die am fhem web modul liegen und geht (noch) nicht anders.

wenn es sehr stört versuche ich mit rudi eine lösunge zu finden.

gruss
  andre
Titel: Aw: update readingsGroup
Beitrag von: fhainz am 18 September 2013, 19:12:32
Als erstes hatte ich versucht meinen PCA 301 Aktor und die beiden Verbräuche (Aktuell, Total) als Gruppe darzustellen. Hat nicht geklappt. Wenn das früher oder später mal funktionieren würde wäre das echt top. Wenn nicht, dann mach ich's irgendwie anders. Da muss ich mir noch was überlegen.

Grüße
Titel: Antw:update readingsGroup
Beitrag von: strauch am 19 Dezember 2013, 18:03:25
alle RSSI werte aller devices die einen cul_RSSI internal value haben:define culRSSI readingsGroup cul_RSSI=.*:+cul_RSSI

Das spuckt bei mir nichts aus. Meine CULs heißen CUL_HM und CUL_FS20. Muss ich da noch etwas anpassen? Hab gestern noch ein fhem Update gemacht, aktuell sollte ich sein. Irgendein Tipp wie ich da weiterkomme. Da es ja kein normales Reading ist, zeigt er mir auch kein RSSI Werte an, selbst wenn ich mir mit .* alles anzeigen lasse. Die Suchfunktion spuckt leider auch nichts aus.

Dann steht im Wiki das ich mit value Format meine Daten Formatieren kann:
attr TempHygro valueFormat { temperature => "%.1f&deg;C", humidity => "%.1f %%", dewpoint => "%.1f&deg;C"}
Auch dazu bin ich zu doof. Ich hab das für meine FHT und HM-TC-CC-DN folgendermaßen angepasst:

define reading_HM_Heizung readingsGroup .*.Heizung:measured-temp,desired-temp,actuator,valve
attr reading_HM_Heizung alias Heizung
attr reading_HM_Heizung mapping %ROOM
attr reading_HM_Heizung valueFormat {measured-temp => "%.1f°C", desired-temp => "%.1f°C"}

In der Weboberfläche bekomme ich nur

valueFormat   { measured-temp => "%.1f° deleteattr

angezeigt. Und beim speichern der fhem.cfg meckert er das C ein unbekanntes Format ist. Des raff i nett ;-). Danke für alle Gedankenanstöße.
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 19 Dezember 2013, 18:41:06
zum ersten punkt:

da gab es bis eben noch einen bug das nach einem neustart gerade bei diesem beispiel keine werte angezeigt wurden.
das liegt daran das direkt nach dem starten im device die cul_RSSI infernal values noch nicht da sind weil noch nichts empfangen wurde. die readingGroup baut aber die interne tabelle nur beim start und bei define neu auf.

ab morgen wird sie auch alle 10 minuten aktualisiert.

bis dahin kannst du als workaround in der detail ansicht der readingsGroup ein mal auf DEF klicken und dann mit modify bestätigen. danach sollte es gehen.

mir .* bekommst du nur die readings. mit +.* alle internal values.

zum zweiten:
ja das geht. ganz sicher sogar.

ich habe eben genau den string aus dem deinem posting bei mir im web frontend bei attr valueFormat eingegeben.

hast du auch wirklich &deg; geschrieben ?

am besten editierst du das attribut in der device detail Ansicht. nicht von hand im config file.

gruss
  andre

Titel: Antw:update readingsGroup
Beitrag von: strauch am 20 Dezember 2013, 10:34:27
Also ich krieg es nicht hin :-). Ich hab jetzt über die Weboberfläche folgendes eingetragen:

{measured-temp => "%.1f&deg;C", desired-temp => "%.1f&deg;C"}
daraus wird dann
{measured-temp => "%.1f°C", desired-temp => "%.1f°C"}

und in der fhem.cfg steht dann:
define reading_HM_Heizung readingsGroup .*.Heizung:measured-temp,desired-temp,actuator,valve
attr reading_HM_Heizung alias Heizung
attr reading_HM_Heizung mapping %ROOM
attr reading_HM_Heizung valueFormat {measured-temp => "%.1f°;C", desired-temp => "%.1f°;C"}

RSSI zeigt bei mir noch nichts an, ich hab aber gerade mal ein Update eingespielt und warte erstmal.
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 20 Dezember 2013, 10:51:16
welcher browser auf welcher platform ist das ?

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: strauch am 20 Dezember 2013, 11:17:01
Jetzt grad Firefox 26 auf OSX 10.6, zuhause Firefox25 auf win7.
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 20 Dezember 2013, 11:29:41
du musst die reading namen in anführungszeichen setzen. bindestriche sind als keys sonst nicht erlaubt.

attr reading_HM_Heizung valueFormat {"measured-temp" => "%.1f&deg;C", "desired-temp" => "%.1f&deg;C"}
gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: strauch am 20 Dezember 2013, 11:51:16
Das wars danke.... ich muss mir mal ein Wikiaccount wieder besorgen, dann könnte ich das dort Ergänzen.
Titel: Antw:update readingsGroup
Beitrag von: strauch am 22 Dezember 2013, 10:46:06
Zitat von: justme1968
alle RSSI werte aller devices die einen cul_RSSI internal value haben:define culRSSI readingsGroup cul_RSSI=.*:+cul_RSSI

Also das hat bei mir nicht geklappt was funktioniert ist:
define culRSSI readingsGroup .*:+.*_RSSI
Gesendet von meinem Nexus 4 mit Tapatalk

Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 22 Dezember 2013, 11:05:04
ich habe eben die wiki version noch mal getestet. das ist auch die die ich verwende und sie geht definitiv. sehr seltsam das es bei dir probleme macht.

deine ist aber im prinzip identisch. du kannst übrigens noch ein ,+cul_TIME dahinter hängen dann bekommst du auch noch die empfangzseit.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 24 Dezember 2013, 23:20:10
anbei eine neue version der readingsGroup zum testen. was ist neu? nichts... jedenfalls nichts was zu sehen ist.

zu bemerken sollte aber sein das sehr viel weniger notifys erzeugt werden und diejenigen die erzeugt werden nur noch für readingsGroups die auch gerade in irgendeinem browser fenster angezeigt werden. egal wie viele readingsGroups definiert sind, alle die die nicht in einem gerade sichtbaren raum sind tun fast nichts mehr.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 28 Dezember 2013, 12:43:18
ich habe eben die version von oben mit der optimerung das nur dann updates gemacht werden wenn eine readings group auch gerade im browser offen ist eingecheckt.

zusätzlich ist es jetzt auch möglich mit <br> ein newline in einer zeile mit mehreren readings einzubauen.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 16 Januar 2014, 13:31:00
ab morgen gibt es eine update für die readingsGroup:

- es lassen sich mit <%icon> 'feste' icons einbinden
- es lassen sich readings und icons mit einem link hinterlegen der beim klick ausgeführt wird

beispiele:
in einer readingsGroup für den batteriezustand von LaCrosse sensoren beim click auf das rote battery low icon das device in den replaceBatteryForSec zustand setzen:
define rg_battery readingsGroup TYPE=LaCrosse:battery                                   
attr rg_battery alias Batteriestatus                                           
attr rg_battery commands { "battery.low" => "set %DEVICE replaceBatteryForSec 60" }
attr rg_battery valueIcon {'battery.ok' => 'batterie', 'battery.low' => 'batterie\@red'}


im der readingsGroup für einen mediaplayer ein play/pause icon anzeigen das dynamisch den richtigen zustand hat:
define rgMediaPlayer readingsGroup myMediaPlayer:currentTitle,<>,totaltime,<br>,currentAlbum,<>,currentArtist,<br>,volume,<{if(ReadingsVal($DEVICE,"playStatus","")eq"paused"){"%rc_PLAY%set+$DEVICE+play"}else{"%rc_PAUSE%set+$DEVICE+pause"}}@playStatus>,playStatus
attr rgMediaPlayer commands { "playStatus.paused" => "set %DEVICE play", "playStatus.playing" => "set %DEVICE pause" }
attr rgMediaPlayer mapping &nbsp;
attr rgMediaPlayer notime 1
attr rgMediaPlayer valueFormat { "volume" => "Volume: %i" }
#attr rgMediaPlayer valueIcon { "playStatus.paused" => "rc_PLAY", "playStatus.playing" => "rc_PAUSE" }
in dem beispiel ist sowohl das icon als auch das reading anklickbar. man könnte auch nur das reading als icon darstellen und anklickbar machen. das geht über die auskommentierte zeile.
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 18 Februar 2014, 20:04:59
ab morgen gibt es eine update für die readingsGroup:

- alwaysTrigger ist wieder aktiv. d.h. wenn alwaysTrigger nicht gesetzt ist triggert die readingsGroup keine events mehr wenn sie nicht sichtbar ist und sollte (fast) keine rechenzeit verbrauchen.

- das commands mapping wurde erweitert. zusätzlich zur bisherigen version kann das gemappte kommando auch die form<command>:[<modifier>]haben. dann wird für dieses kommando das zu <modifier> gehörende FHEMWEB widget verwendet. wenn <modifier> nicht angeben ist wird es nach den bei webCmd beschrieben regeln gefüllt:attr rgMediaPlayer commands { volume => "volume:slider,0,1,100" }
attr lights commands { pct => "pct:", dim => "dim:" }

in den beiden screenshots sieht man als beispiel ein mal eine readingsGroup für ein itunes device mit volume und lautsprecher auswahl und ein mal eine readingsGroup über eine gruppe HUEDevices mit slider für die helligkeit und den colorpicker.

eine kleine einschränkung gibt es noch: die slider, drop down menüs & co werden (noch) nicht per longpoll aktualisiert wenn sich der wert im hintergund ändert.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 26 Februar 2014, 16:39:20
ab morgen gibt es in der readingsGroup das neue attribut sortDevices.

sobald es gesetzt ist werden die device zeilen wie an anderer stelle im frontend pro device nach sortby,alias oder name (je nach dem was zuerst definiert ist) sortiert.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: cerberus am 26 Februar 2014, 19:14:23
Hallo justme1968, wie mache ich das genau mit dem Dropdown? Ich verstehe dein Beispiel nicht. Muss ich vorher dafür einen Dummy mit Setlist definieren?

Sorry für meine Blödheit.

Gruß
 cerberus
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 26 Februar 2014, 19:20:20
du musst über das commands attribut ein commando einem reading das du anzeigst zuordnen.

was möchtest du denn genau machen ?

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: cerberus am 26 Februar 2014, 19:25:48
Ich möchte die desired-temp für ein FHT via Dropdown in der ReadinGroup auswählen können, so wie du das auch von dem Device selbst kennst.

so wie hier im Device zu sehen

Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 26 Februar 2014, 19:32:50
das sollte mit einem attr <rg> commands { 'desired-temp' => 'desired-temp:' }gehen.

wenn du nur bestmmte temperaturen erlauben willst geht das so: attr <rg> commands { 'desired-temp' => 'desired-temp:18,19,20,21' }
gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: cerberus am 26 Februar 2014, 21:47:36
Hallo justme1968, das funktioniert in soweit das er mir dann das Dropdown Menu unter Soll anzeigt. Ich habe daraufhin folgendes versucht.

define Heizungswerte readingsGroup <%sani_heating>, < >,<Mode>,<Ventil>,<Temp>,<Soll>,<Fenster>,<Setting> TYPE=FHT:mode,actuator,measured-temp,desired-temp,window,<%auto>,<%manuell>,<%desired-temp>
attr Heizungswerte commands { 'Heizungswerte.auto' => 'set $DEVICE mode auto', 'Heizungswerte.manuell' => 'set $DEVICE mode manual', 'Heizungswerte.desired-temp' => 'desired-temp:' }

Aber dann wird das Dropdown nicht angezeigt sondern nur desired-temp.

Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 26 Februar 2014, 21:56:45
das drop down kommt aus dem reading des echten device und nicht aus der readingsGroup. der teil von command darf also nicht'Heizungswerte.desired-temp' => 'desired-temp:'heißen. 'Heizungswerte' ist der name der readingsGroup und die hat kein reading desired-temp. das ist nur bei den auto/manu links richtig weil dort kein device reading/kommando verwendet wird sondern 'dummy' label aus der readingsGroup selber.

attr Heizungswerte commands { 'Heizungswerte.auto' => 'set $DEVICE mode auto', 'Heizungswerte.manuell' => 'set $DEVICE mode manual', 'desired-temp' => 'desired-temp:' }sollte funktionieren.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: cerberus am 26 Februar 2014, 22:10:14
Danke, habe ich festgestellt, da dann unter Soll das Dropdown angezeigt wird wenn ich es so mache. Ich möchte aber gern unter Soll die gesetzte Desired-Temp sehen und als seperates Feld unter Setting das DropDown für die Auswahl der deseired-temp. Du hattest je geschrieben das sich per longpoll das Feld nicht aktualisiert wenn sich der Wert im Hintergund ändert.

Gruß
cerberus
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 26 Februar 2014, 22:14:16
ich denke du musst es umgekehrt machen. das drop down ans reading hängen und den wert mit <{ReadingsVal...}> anzeigen.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: cerberus am 26 Februar 2014, 22:54:55
Super, hab es jetzt. Muss jetzt nur noch am Format ein wenig rumfeilen.

Titel: Antw:update readingsGroup
Beitrag von: Arek am 27 Februar 2014, 02:39:42
wie kann man den Text "desired-Temp" vor dem Dropdown entfernen?

Gruß Arek
Titel: Antw:update readingsGroup
Beitrag von: bsl02 am 27 Februar 2014, 07:26:03
@cerberus:
Magst Du uns den lauffähigen Code dazu noch nennen?
Dank und Gruß, Stefan

Gesendet von meinem GT-I9505 mit Tapatalk

Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 27 Februar 2014, 10:58:11
das geht garnicht.

du kannst aber versuchen mit dem style zu tricksen und es so klein und unsichtbar wie möglich zu machen.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: Arek am 27 Februar 2014, 11:37:59
Dann ist das Feld mit dem Dropdown immer um eins nach rechts verschoben.

define Heizungswerte readingsGroup <%sani_heating>, < >,<Mode>,<Temp>,<Soll>,<Setting> AZ_Heizung_Climate:mode,measured-temp,desired-temp,<%auto>,<%manuell>
attr Heizungswerte commands { 'Heizungswerte.auto' => 'set $DEVICE mode auto', 'Heizungswerte.manuell' => 'set $DEVICE mode manual', 'desired-temp' => 'desired-temp:' }
attr Heizungswerte valueFormat {"measured-temp" => "%.1f&deg;;C"}
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 27 Februar 2014, 11:39:29
was genau hast du denn gemacht ?
Titel: Antw:update readingsGroup
Beitrag von: Arek am 27 Februar 2014, 15:00:43
Bis jetzt habe ich nichts weiter gemacht, als das readingsGroup angelegt. Siehe oben. Am style habe ich noch nichts verändert.
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 27 Februar 2014, 15:37:15
ich hab eben einen fix eingecheckt mit dem ok sein sollte. es wurde eine spalte zu viel eingefügt.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: cerberus am 27 Februar 2014, 19:37:25
Hallo bsl02, hier mein Code. Ich habe das Format aber noch nicht verschönert.

define Heizungswerte readingsGroup <%sani_heating>, < >,<Mode>,<Ventil>,<Temp>,<Soll>,<Fenster>,<Setting> TYPE=FHT:mode,actuator,measured-temp,<{ReadingsVal($DEVICE,"desired-temp","0")."°C"}>,window,<%auto>,<%manuell>,desired-temp
attr Heizungswerte commands { 'Heizungswerte.auto' => 'set $DEVICE mode auto', 'Heizungswerte.manuell' => 'set $DEVICE mode manual', 'desired-temp' => 'desired-temp:' }
attr Heizungswerte nameStyle style="color:blue;;font-weight:bold"
attr Heizungswerte valueIcon {'window.closed' => 'fts_window_1w@lightgreen', 'window.open' => 'fts_window_1w_open@red', 'mode.auto' => 'sani_heating_automatic@green', 'mode.manual' => 'sani_heating_manual@yellow' }
attr Heizungswerte valueFormat { 'desired-temp' => "%.1f&deg;;C", 'measured-temp' => "%.1f&deg;;C" }
attr Heizungswerte room develop
Titel: Antw:update readingsGroup
Beitrag von: cerberus am 27 Februar 2014, 19:41:37
Hallo  justme1968, ich habe den Eindruck das mein ReadingsVal  der desired-temp aber nicht mit dem longpoll aktualisiert wird wenn es sich im Hintergrund ändert. Kann das sein?

Gruß
cerberus
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 27 Februar 2014, 19:43:45
wenn du das möchtest musst du ein @reading hinten dran hängen. also so:...,<{ReadingsVal($DEVICE,"desired-temp","")}@desired-temp>,...
gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: cerberus am 27 Februar 2014, 19:52:24
Danke  justme1968

ich versuche noch desired-temp umzubenennen in z.B. Wunsch-Temp

attr Heizungswerte mapping { 'desired-temp' => 'Wunsch-Temp' }
aber so funktioniert das nicht:-(
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 27 Februar 2014, 19:54:15
du meinst neben dem dropdown Menü?

das geht leider auch nicht. das ist das standard widget das fhemweb selber erzeugt.

aber mit fällt gerade etwas ein :) ich muss mal probieren...

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: cerberus am 27 Februar 2014, 19:56:33
ganz genau das meine ich  :)
Titel: Antw:update readingsGroup
Beitrag von: Arek am 27 Februar 2014, 20:26:31
ich hab eben einen fix eingecheckt mit dem ok sein sollte. es wurde eine spalte zu viel eingefügt.

gruss
  andre

Ich glaube jetzt ist es noch schlimmer geworden  ::)
Siehe Screenshot
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 27 Februar 2014, 20:34:27
@arek1912,cerberus: versucht mal bitte diese version. damit kann man den text vor dem dropdown über das mapping attribut ändern. und auch auf leeren string setzen.

@arek1912: da muss noch was anderes komisch sein. schau mal bitte ob du in deiner definition zu viele leerzeichen hast

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: Paul am 27 Februar 2014, 20:37:04
Ich glaube ich verstehe das mit den commands nicht. Ich wollte das wie Cerberus mit einstellbaren Temperaturen haben bei mir steht aber nur desired-temp in der Spalte

define Heizung <%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,<%desired-temp>
attr Heizung commands { 'desired-temp' => 'desired-temp:' }
Titel: Antw:update readingsGroup
Beitrag von: cerberus am 27 Februar 2014, 20:41:40
justme1968,  wenn ich mit nameStyle die Stil der Spalten-Überschriften ändere werden auch die Readings von der ReadingVal in diesen Style geädert. Siehe in mein letzten Screenshot weiter vorn im thread.

attr Heizungswerte nameStyle style="color:blue;;font-weight:bold"

ich habe dann mal folgendes versucht wo je nach Reading die Farbe entsprechden sein soll, aber das funktioniert nicht.

attr Heizungswerte valueStyle { if($READING eq "desired-temp" && $VALUE > 21) { 'style="color:red"'}elsif($READING eq "desired-temp" && $VALUE > 18) { 'style="color:orange"'}elsif($READING eq "desired-temp" && $VALUE > 8) { 'style="color:blue"'}}
Titel: Antw:update readingsGroup
Beitrag von: cerberus am 27 Februar 2014, 20:54:35
justme1968 ich habe gerade das Update gemacht, aber das mapping so wie ich es im Code habe scheint den Text vor dem Dropdown nicht zu ändern.

attr Heizungswerte mapping { 'desired-temp' => 'Wunsch-Temp' }
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 27 Februar 2014, 21:02:46
@paul: in welcher spalte? wenn du die letzte spalte meinst muss es commands so aussehen:attr Heizung commands { 'Heizung .desired-temp' => 'desired-temp:' }
@cerberus: valueStyle ist nur für 'echte' readings. alles was mit <> angegeben verwendet nur nameStyle. du musst also name style so anpassen das es je nach text das zurück gibt was du möchtest.

in dem post oben hat das attachment gefehlt. ich hab es hier noch mal angehängt. das ändern des textes vor dem dropdown geht erst damit.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: cerberus am 27 Februar 2014, 21:18:32
Super, funktioniert andre

ich habe das ReadingVal der desired-temp wieder raus genommen und mit mapping den text vor dem dropdown desired-temp auf leer gesetzt.

danke und gruß
cerberus
Titel: Antw:update readingsGroup
Beitrag von: Paul am 27 Februar 2014, 21:23:04
Danke André, ja ich meite die letzte Spalte klappt leider auch nicht

Kannst du bitte Deine Mitteilung ändern, sonst probieren noch andere was falsches:

das sollte mit einem attr <rg> commands { 'desired-temp' => 'desired-temp:' }gehen.

wenn du nur bestmmte temperaturen erlauben willst geht das so: attr <rg> commands { 'desired-temp' => 'desired-temp:18,19,20,21' }
gruss
  andre
Titel: update readingsGroup
Beitrag von: justme1968 am 27 Februar 2014, 21:27:18
@paul: bei cerberus geht es und bei mir auch. es ist also kein prinzipielles problem.

nach mal bitte ein set ? auf das fht device.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: Arek am 27 Februar 2014, 21:27:31
Bei mir funktioniert jetzt alles wie gewünscht!
Danke  :)
Titel: Antw:update readingsGroup
Beitrag von: Paul am 27 Februar 2014, 21:43:21
@Andre meinst du das:

Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 27 Februar 2014, 21:46:46
ja. genau. das schaut so aus als sollte es auch bei dir gehen.

bitte poste noch mal die komplette definition der readingsGroup.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 27 Februar 2014, 21:48:23
mach mal bitte das % zeichen am ende weg.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: Paul am 27 Februar 2014, 21:54:56
Wenn ich das % wegmache erscheint desired-temp in gelb vorher weiß

Die Definition der Reading Gruppe habe ich bereits oben in meiner Mitteilung angefügt
Titel: Antw:update readingsGroup
Beitrag von: Arek am 28 Februar 2014, 05:08:14
Ist es möglich die Readings von mehreren Devices in einer Zeile zusammenzufassen?
Folgendes Szenario:
Ich habe die Wandthermostate HM-TC-IT-WM-W-EU. Diese haben mehrere Channels.
WZ_Heizung_Climate - Readings: Temperatur und Luftfeuchtigkeit sowie die Steuerung
WZ_Thermostat - Batteriestatus
WZ_Heizung - Schaltaktor für den Stellmotor

Nun möchte ich das alles als ein Device zusammengefasst in einer Zeiler anzeigen lassen...
Titel: Antw:update readingsGroup
Beitrag von: chris1284 am 28 Februar 2014, 08:06:30
ja, siehe hier ab Post #295. Ich wollte Werte aus unterschiedlichen Channels des HM-CC-RT-DN in einer Zeile haben, geht.

- um verschiedene devices in einer zeile zu mischen: <{ReadingsVal(<device2>,<reading>,<default>)}> verwenden.

http://forum.fhem.de/index.php/topic,14425.285.html

Titel: Antw:update readingsGroup
Beitrag von: Arek am 28 Februar 2014, 13:38:53
Danke das hilft mir schon etwas weiter, aber leider noch nicht bis zum Ziel.
Wenn ich mittels substr vom Device etwas kürze, wie kann ich etwas anderes wieder anhängen?

(ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-7)
$DEVICE ist *.Heizung_Climate
Benötigt wird noch *.Heizung_Thermostat
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 28 Februar 2014, 13:47:31
in dem du es mit . "xxx"hinten dran hängst.

aber wenn es darum geht einen teil zu ersetzen ist es doch viel einfacher es wirklich über suchen und ersetzen zu machen.also etwas in der art:<{$DEVICE=~s/_Climate/_Thermostat/;ReadingsVal($DEVICE,<reading>,<default>)}>
gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: Arek am 28 Februar 2014, 14:13:19
Das ranhängen funktioniert irgendwie nicht:
if(ReadingsVal((substr("$DEVICE",0,length("$DEVICE")-7)."Thermostat"),"battery","n.A.")eq"ok")
Bei der zweiten Variante bekomme ich folgenden Fehler:
<{$DEVICE=~s/_Climate/_Thermostat/;ReadingsVal($DEVICE,battery,0)}>: Bareword "battery" not allowed while "strict subs" in use at (eval 548) line 1.
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 28 Februar 2014, 14:16:01
das battery muss in anführungszeichen. das ist ein string.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: Arek am 28 Februar 2014, 15:23:36
Danke! Beide Varianten funktionieren. Der Fehler lag ganz woanders. Bitte nicht nachfragen...  8)

Bei
<{$DEVICE=~s/_Climate/_Thermostat/;ReadingsVal($DEVICE,"battery","0")}>hat
attr Heizungswerte valueIcon {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red'}nicht funktioniert. Wieso?

Kann man ein Dropdown erstellen zur Auswahl des Modus? Ich möchte folgende Modi auswählen: auto, manu, boost. Der Modus wird über das Reading "mode" ausgelesen und gesetzt über "set xxx controlMode auto|manu|boost.

Gruß Arek
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 28 Februar 2014, 15:30:56
das vakueIcon mapping her nur für 'echte' readings. für die <{...}> variante ist es am besten direkt den icon namen mit vorangestelltem % zurück zu liefern.

das sollte mit etwas in dieser art gehen:

commands { controlMode => 'controlMode:auto,manu,boost'}

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: Arek am 28 Februar 2014, 16:09:57
das vakueIcon mapping her nur für 'echte' readings. für die <{...}> variante ist es am besten direkt den icon namen mit vorangestelltem % zurück zu liefern.

Wo muss das denn rein? Meine Definition sieht jetzt folgendermaßen aus:
<{$DEVICE=~s/_Climate/_Thermostat/;ReadingsVal($DEVICE,"battery","0")}>
das sollte mit etwas in dieser art gehen:

commands { controlMode => 'controlMode:auto,manu,boost'}

Das Dropdown ist vorhanden und das setzen von manu und boost funktioniert auch, auto jedoch nicht, weil dieser Wert immer aktiv ist. Jetzt muss das Dropdown den aktiven Modus aus dem Reading lesen und dementsprechend setzen so dass, wenn der Modus manu ist, auch manu im Dropdown aktiv ist und auto gestellt werden kann.
Ich habe es über
userReadings
controlMode { ReadingsVal("WZ_Heizung_Climate","mode",0);;}
versucht, aber leider ohne Erfolg
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 28 Februar 2014, 16:23:34
versuch es so:<{$DEVICE=~s/_Climate/_Thermostat/;(ReadingsVal($DEVICE,"battery","0")eq"ok"?"%batterie@lightgreen":"batterie@red"}>
um das drop down richtig zu initialisieren ist auf jeden fall ein reading nötig das genau so heisst wie das set commando. das mit dem userReading ist also eigentlich richtig. gibt es das reading auch wirklich? im richtigen device?

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: Arek am 28 Februar 2014, 21:41:47
versuch es so:<{$DEVICE=~s/_Climate/_Thermostat/;(ReadingsVal($DEVICE,"battery","0")eq"ok"?"%batterie@lightgreen":"batterie@red"}>
Fehlermeldung:
2014.02.28 21:30:39 3: WZ_Heizung_Climate: <{$DEVICE=~s/_Climate/_Thermostat/;(ReadingsVal($DEVICE,"battery","0")eq"ok"?"%batterie@lightgreen": Unmatched ( in regex; marked by <-- HERE in m/^<{$DEVICE=~s/_Climate/_Thermostat/;( <-- HERE ReadingsVal($DEVICE,"battery","0")eq"ok"?"%batterie@lightgreen"$/ at ./FHEM/33_readingsGroup.pm line 491.

Ich habe es ohne "(" in der Definition und auch mit probiert...
Titel: Antw:update readingsGroup
Beitrag von: Arek am 28 Februar 2014, 22:06:12
um das drop down richtig zu initialisieren ist auf jeden fall ein reading nötig das genau so heisst wie das set commando. das mit dem userReading ist also eigentlich richtig. gibt es das reading auch wirklich? im richtigen device?

Kann es sein, dass readingsGroup Probleme mit userReadings hat? Das userReading funktioniert in einem Dummy einwandfrei, nur in readingsGroup erscheint einfach kein Reading. Außerdem muss das Reading für jedes Device abgefragt werden und ich zweifel daran, dass es mit userReadings realisierbar ist.
Ich habe noch etwas anderes probiert:
*._Heizung_Climate:mode,measured-temp,humidity,desired-temp,<mode>
commands {'Heizungswerte.mode' => 'mode:auto,manu,boost'}

Damit ist das Dropdown initialisiert, lässt sich aber nicht umschalten, weil der Befehl "mode" zum Setzen falsch ist und controlMode heißen muss. Lässt sich das irgendwie kombinieren?

Gruß Arek
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 28 Februar 2014, 22:20:30
ein user reading ist aus sicht der radingsGroup und jeder anderen komponente nicht von 'normalen' readings zu unterscheiden. bis auf eine kleine ausnahme im timing. es kann sein das das userReading noch nicht aktuell ist wenn das normale reading schon aktualisiert ist.

was meinst du mit für jedes device abgefragt werden? die readingsGroul arbeitet device orientiert. das sollte also kein problem sein.

die user readings müssen auf jeden fall in die einzelnen devices. sonst funktioniert das nicht mehr wenn du mehr als ein device hast.

wenn da etwas nicht geht muss ich mir das anschauen.

gruss
  andre

Titel: Antw:update readingsGroup
Beitrag von: cerberus am 28 Februar 2014, 22:20:58
Hallo Andre, ist es möglich aus dem Device State ein bestimmten Wert in ReadingsGroup anzeigen zu lassen. Ich möchte gern meine Temperatur/Feuchte Sensoren mit ReadingsGroup anzeigen lassen, habe aber als Reading nur temperature und humidity. Im state des devices wird mir aber noch der dewpoint angezeigt (leider nicht als Reading). Wie kann ich diesen Wert aus state mit in mein Reading der ReadingsGroup aufnehmen?

Gruß
cerberus
 
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 28 Februar 2014, 22:27:35
du kannst mit vorangestellten + auch internals in die readingsGroup einbauen. aber für internals gibt es kein longpoll.

wenn der taupunkt aus dem dewpoint modul kommt kannst du auch ein ganz normales reading erzeugen lassen. dann geht auch longpoll.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: Arek am 01 März 2014, 13:57:57
Also userReadings funktioniert in readingsGroup definitiv nicht. Es werden einfach keine Readings angezeigt und auch nicht ausgewertet. Ich habe das Problem folgendermaßen gelöst:

in jedem Device (Thermostat) ein userReading, das so heißt wie der Befehl zum Setzen:
userReadings controlMode {ReadingsVal("WZ_Heizung_Climate","mode","0");; }
In der Definition von readingsGroup:
<{ReadingsVal($DEVICE,"controlMode","0")}>
Und das attr commands:
attr commands  {'Heizungswerte.controlMode' => 'controlMode:auto,manu,boost'}
Die einzige Kleinigkeit, die mich noch stört ist, nach setzen der Einstellung ist das Reading mit einem set_ davor (zB set_manu) bis das Device den Modus bestätigt (dauert paar Minuten).
Kann man die Readings manipulieren, dass falls ein set_ da steht es entfernt wird?

Gruß Arek
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 01 März 2014, 14:06:21
das hatte ich doch gesagt. die user readings müssen ist original device. nicht in die readingsGroup.

in der readingsGroup machen sie doch gar keinen sinn weil es (in deinem fall) keine readings gibt durch sie getriggert werden würden.

das set_ bekommst du z.b. über valueFormat weg.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: Arek am 01 März 2014, 15:59:45
Wenn du mir noch einen Tipp geben könntest, wie das valueFormat  aussehen sollte wäre ich dir sehr dankbar.

Gruß Arek
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 01 März 2014, 16:03:35
etwas in der art$VALUE =~ s/set_//
gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: Arek am 01 März 2014, 16:28:21
valueFormat {"measured-temp" => "%.1f °C", "humidity" => "%.0f %%", "controlMode" => "$VALUE =~ s/set_//"}funktioniert nicht und ich bekomme anstatt den anderen Readings nur HASH(0x286e198) angezeigt... :(
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 01 März 2014, 16:30:59
valueFormat {"measured-temp" => "%.1f °C", "humidity" => "%.0f %%", "controlMode" => "{$VALUE =~ s/set_//}"}
gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: Arek am 01 März 2014, 16:38:50
immer noch das gleiche Problem...

Gruß Arek
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 01 März 2014, 16:42:09
welche readingsGroup version hast du installiert ?

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: Arek am 01 März 2014, 16:43:28
# $Id: 33_readingsGroup.pm 5065 2014-02-27 14:36:35Z justme1968 $
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 01 März 2014, 16:51:58
die anführungszeichen waren falsch. sorry. so sollte es gehen:valueFormat {"measured-temp" => "%.1f °C", "humidity" => "%.0f %%", "controlMode" => '{$VALUE =~ s/set_//;$VALUE;}'}
gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: Arek am 01 März 2014, 16:55:45
Fehler ist weg, aber das set_ steht immer noch da. (set_manu)
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 01 März 2014, 17:05:38
wo kommt der wert genau her? wird der per ...,controlMode,... eingeblendet oder per <{ReadingsVal(...)}>

wenn es per ReadingsVal kommt muss das suchen und ersetzen natürlich da hin. valueFormat ist nur für 'echte' readings:...<{my$val=ReadingsVal($DEVICE,'controlMode','');$val=~s/set_//;}>,...
achtung das kein leerzeichen auftaucht.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: cerberus am 01 März 2014, 19:11:52
hi andre

Zitat
wenn der taupunkt aus dem dewpoint modul kommt kannst du auch ein ganz normales reading erzeugen lassen. dann geht auch longpoll.

ich habe mal in mein dewpoint modul geschaut aber sehe dort auch kein reading des dewpoint. oder habe ich dich nur falsch verstanden?

gruß
cerberus
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 01 März 2014, 19:17:20
du musst dein dewpoint device anders anlegen:

define <name> dewpoint <device> temperature humidity dewpoint

wenn du das D in STATE trotzdem haben willst geht das dann mit stateFormat.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: OliKo am 22 April 2014, 15:46:51
Hallo liebe FHEM gemeinde,

bin vor kurzem erst auf die Fähigkeiten der "readingsGroup" gestoßen und erfreue mich grad richtig daran.
Nun steh ich allerdings vor einem Problem, dessen Lösung ich bisher alleine nicht geschaft hab. Vieleicht
liegt es auch daran, dass es so nicht gedacht ist, bzw. es aktuell so nicht unterstützt wird.

Nun aber zu meinem Problem:

Ich habe eine "readingsGroup" (TempHygro) defininiert, die von ALLEN Geräten Temperatur und Luftfeuchtigkeit
anzeigen soll. Solange ich nur HMS100FT Geräte in Betrieb hatte hat das naturlich immer super geklappt. Nun
hab ich allerdings seit kurzen auch einen HM-TC-IT-WM-W-EU von HomeMatic im Einsatz. Dieser hat mehrere
Channels. Der Weather-Channel liefert sowohl die Temperatur UND Luftfeutigkeit, leider liefert aber auch der
Climate-Channel NUR die Luftfeuchtigkeit. Daher habe ich nun in meiner Readingsgroup 2mal das gleiche Gerät
in der Liste.

Beispiel:
HMS100TF_01          15°C 55%
HMS100TF_02          17°C 35%
HMS100TF_03          19°C 75%
HMIT01_Weather     22°C 33%
HMIT01_Climate       33%

Definiert habe ich die Readingsgroup so:
define TempHygro readingsGroup .*:temperature,humidity
Was ich nun bräuchte ist, dass nur Geräte, die beide Werte haben, also temperature AND humidity,
angezeigt werden. Aktuell werden Geräte angezeigt, die entweder temperature oder humidity oder
beides liefern.

Hat da jemand vieleicht den entscheiden Denkanstoß für mich?

Vielen Dank schonmal.

Liebe Grüße
Oliver
Titel: update readingsGroup
Beitrag von: justme1968 am 22 April 2014, 16:08:25
das einfachste ist es die definition der readingsGroup genauer zu machen. also etwa so:

define TempHygro TYPE=HMS100FT:temperature,humidity .*_Weather:temperature,humidity
also alles vom typ HMS100FT und alles mit _Weather im namen.

gruss
  andre[/code]
Titel: Antw:update readingsGroup
Beitrag von: OliKo am 22 April 2014, 16:38:37
@justme1968: Super, genau das hab ich gesucht! Herzlichen Dank! Funktioniert jetz genau so wie ich mir das schon lange
erhofft hab.  ;D

Habs dann noch etwas angepasst.
define TempHygro readingsGroup TYPE=HMS:temperature,humidity \
             .*_Weather:temperature,humidity \
             .*_HMWDS10THO:temperature,humidity

Danke, und schönen Feierabend.

Gruß
Oliver
Titel: Antw:update readingsGroup
Beitrag von: coolice am 10 Mai 2014, 14:33:13
Guten Tag, ich würde gerne readings aus zwei CALVIEW in einer Readingsgroup darstellen. Ist das machbar?

Gruß
Mirco


Gesendet von meinem iPhone mit Tapatalk
Titel: Antw:update readingsGroup
Beitrag von: chris1284 am 10 Mai 2014, 17:56:47
Ja.

du legt dier die views mit regexp-fähigen namen an:

myView.1
myView.2

dann legst du die reagingsGroup an:

define <name> readingsGroup myView.*
leider weiss ich nicht wie man sagen kann das readingsgroup alle reading unabhängig vom device sortieren soll. so wie ich es schrieb hast du erst alle termine view.1, und danach alle view.2

da muss dir aber andre weiterhelfen....
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 10 Mai 2014, 18:07:34
entweder kannst du dir eine regex für die namen überlegen:define <name> readingsGroup <regex die matched>
oder du kannst sie einfach aufzählen:define <name> readingsGroup <devicve1> <device2>
wenn du nur zwei CALVIEW devices hast kannst du über den TYPE gehen:define <name> readingsGroup TYPE=CALVIEW
die readingsGroup kann readings jeweils nur innerhalb eines devices sortieren. wenn du device übergreifend sortiern willst musst du das von hand machen:define <name> readingsGroup <devicve1>:<reading1> <devicve2>:<reading1> <devicve1>:<reading2> <devicve2>:<reading2>das ist aber für CALVIEW vermutlich nicht praktikabel.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: chris1284 am 10 Mai 2014, 18:21:14
super erklärung, an typ hatte ich granicht gedacht ....

du hast recht, da die anzahl der reading variable ist geht das sortieren so nicht, leider.

edit: außer man letzt im colview das readingslimit
 das thema sortierung ist eh ein leidiges ( zum beispiel das generell readings im frontend immer autom. aufsteugend nach name sortiert werden....)
Titel: Antw:update readingsGroup
Beitrag von: coolice am 11 Mai 2014, 11:47:40
Hab es so hinbekommen. Danke. ;D
Titel: Antw:update readingsGroup
Beitrag von: tpm88 am 15 Mai 2014, 18:37:49
Hallo,

ab morgen gibt es in der readingsGroup das neue attribut sortDevices.

sobald es gesetzt ist werden die device zeilen wie an anderer stelle im frontend pro device nach sortby,alias oder name (je nach dem was zuerst definiert ist) sortiert.

Wenn ich das richtig verstehe, müsste ein Device Alias beim Sortieren vor dem Device name berücksichtigt werden, wenn sortby nicht gesetzt ist.

Ich habe eine Readingsgroup, die zwei Devices (WeekdayTimer) anzeigt:

list rg_timer_Wasser

Internals:
   DEF        timer_Wasser_..:active,+DEF,nextUpdate,nextValue
   NAME       rg_timer_Wasser
   NR         213
   NTFY_ORDER 50-rg_timer_Wasser
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     timer_Wasser_01 1
     timer_Wasser_02 1
   DEVICES:
     ARRAY(0x14702a8)
     ARRAY(0x14702f8)
   Fhem:
     last_update 1400166765.55631
Attributes:
   alias      Scheduling
   commands   { 'active.enabled' => 'attr $DEVICE disable 1; setreading $DEVICE active disabled', 'active.disabled' => 'attr $DEVICE disable 0; setreading $DEVICE active enabled' }
   group      Bewässerung
   notime     1
   room       Terrasse
   sortDevices 1
   style      style="border:0px;background:none;box-shadow:none"
   valueFormat { my @text = split(" ", $VALUE); shift @text;  if ( $READING =~ m/.*DEF/ ) { return join("*", @text) }; return $VALUE if  (ReadingsVal($DEVICE, "active", "enabled") eq "enabled"); return "disabled"; }
   valueIcon  { 'active.enabled' => 'Restart', 'active.disabled' => 'Shutdown' }

Die beiden Devices haben folgenden Alias:

timer_Wasser_01 => Zeitplan_Garten
timer_Wasser_02 => Zeitplan_Balkon

Egal, ob ich sortDevices setze oder nicht - die RG listet immer "Zeitplan_Garten" vor "Zeitplan_Balkon".

Jemand eine Idee?

Gruss
Tobias
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 15 Mai 2014, 19:02:20
die sortierung wird zur zeit nicht aktualisiert wenn das attribut gesetzt wird sondern nur wenn sich an der device liste etwas ändert oder fhem neu gestartet wird.

ich habe eben eine version eingecheckt bei der auch dann neu sortiert wird sobald sich das attribut sortDevices ändert.

bis dahin kannst du als workaround einfach ein modify auf die readingsGroup machen.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: tpm88 am 15 Mai 2014, 19:53:32
die sortierung wird zur zeit nicht aktualisiert wenn das attribut gesetzt wird sondern nur wenn sich an der device liste etwas ändert oder fhem neu gestartet wird.

ich habe eben eine version eingecheckt bei der auch dann neu sortiert wird sobald sich das attribut sortDevices ändert.

bis dahin kannst du als workaround einfach ein modify auf die readingsGroup machen.

Perfekt. Danke.
Titel: Antw:update readingsGroup
Beitrag von: gero am 28 Mai 2014, 13:23:44
Hallo,

ich bin gerade dabei mein Frontend etwas schöner zu gestalten. Dabei bin ich über ein Problem gestolpert:

Wenn ich das Attribut sortDevices setze, wird die Überschrift der readingsGroup nach unten sortiert (siehe Snapshot).
Die Devices selbst haben alle das Attribute sortby gesetzt. (Aufsteigend von 00 bis 12)

Wie kann ich das verhindern?

Gruß,
Gero
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 28 Mai 2014, 14:11:44
hab es eben repariert. mit dem updagte morgen sollte es gehen.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: gero am 28 Mai 2014, 14:54:47
hab es eben repariert. mit dem updagte morgen sollte es gehen.

gruss
  andre

Vielen Dank!
Titel: Antw:update readingsGroup
Beitrag von: stromer-12 am 28 Mai 2014, 15:47:59
Hallo Andre,

ich habe heute ein Update gemacht und da werden bei meiner RG bei desired-temp keine DropDown Felder der FHTs mehr angezeigt.
Bei der Version vom 22.5. funktionierte es noch.

Gruß
Gerd
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 28 Mai 2014, 16:21:38
sorry.

hab es eben repariert.

morgen geht es wieder.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: stromer-12 am 28 Mai 2014, 16:55:18
Funktioniert, danke
Titel: Antw:update readingsGroup
Beitrag von: Elektrolurch am 29 Mai 2014, 12:15:53
Hallo zusammen,

habe einige kleine Ergänzungen an der readingsGroup vorgenommen und hänge das Modul hier mal zum Test an:

1. Zusätzlich zu $DEVICE, %DEVICE usw. wird nun auch $ROW bzw. %ROW (Zeilennummer der Ausgabe) unterstützt.

Beispiele:

Anrufliste mit Zeilennummer:
define Anrufliste readingsGroup <Pos>,<Art>,<Datum>,<Name>,<Nummer>,<Dauer> meineFB:A0,B0,C0,D0,E0 meineFB:A1,B1,C1,D1,E1 meineFB:A2,B2,C2,D2,E2 meineFB:A3,B3,C3,D3,E3 meineFB:A4,B4,C4,D4,E4
attr Anrufliste mapping {'meineFB' => '{sprintf("%d.",$ROW-1);;}'}
attr Anrufliste noheading 0
attr Anrufliste nolinks 1
attr Anrufliste nonames 0
attr Anrufliste nostate 1
attr Anrufliste notime 1
attr Anrufliste room Telefon

Beispiel 2 - Solarstatistik
Hier wird in der ersten Spalte der Monatsnamen ausgegeben. Im mapping - Hash kann jetzt auch wieder ein Perl-Ausdruck stehen. In diesem Fall wird eine sub aufgerufen (ZahlzuMonat), die den Monatsnamen zurückliefert:

define SolarStatistik_rg readingsGroup <Monat>,<Ertrag kWh>,<Sonnentage>,<Brenner kWh>,<Solaranteil %> SolarStatistik:1-Ertrag,1-Sonnentage,1-BrennerkWh,1-SolAnteil SolarStatistik:2-Ertrag,2-Sonnentage,2-BrennerkWh,2-SolAnteil SolarStatistik:3-Ertrag,3-Sonnentage,3-BrennerkWh,3-SolAnteil SolarStatistik:4-Ertrag,4-Sonnentage,4-BrennerkWh,4-SolAnteil SolarStatistik:5-Ertrag,5-Sonnentage,5-BrennerkWh,5-SolAnteil SolarStatistik:6-Ertrag,6-Sonnentage,6-BrennerkWh,6-SolAnteilSolarStatistik:7-Ertrag,7-Sonnentage,7-BrennerkWh,7-SolAnteil SolarStatistik:8-Ertrag,8-Sonnentage,8-BrennerkWh,8-SolAnteil SolarStatistik:9-Ertrag,9-Sonnentage,9-BrennerkWh,9-SolAnteil SolarStatistik:10-Ertrag,10-Sonnentage,10-BrennerkWh,10-SolAnteil SolarStatistik:11-Ertrag,11-Sonnentage,11-BrennerkWh,11-SolAnteil SolarStatistik:12-Ertrag,12-Sonnentage,12-BrennerkWh,12-SolAnteil SolarStatistik:Ges-Ertrag,Ges-Sonnentage,Ges-BrennerkWh,Ges-SolAnteil
attr SolarStatistik_rg alias Solarenergiegewinnung (Jahresstatistik)
attr SolarStatistik_rg mapping {'SolarStatistik' => '{ZahlzuMonat($ROW-1);;}'}
attr SolarStatistik_rg nolinks 1
attr SolarStatistik_rg room Solaranlage
attr SolarStatistik_rg valueFormat {"1-Ertrag" => '%d kWh', "1-BrennerkWh" => '%d kWh', "1-SolAnteil" => '%.1f %%',"2-Ertrag" => '%d kWh', "2-BrennerkWh" => '%d kWh', "2-SolAnteil" => '%.1f %%',"3-Ertrag" => '%d kWh', "3-BrennerkWh" => '%d kWh', "3-SolAnteil" => '%.1f %%', "4-Ertrag" => '%d kWh', "4-BrennerkWh" => '%d kWh', "4-SolAnteil" => '%.1f %%', "5-Ertrag" => '%d kWh', "5-BrennerkWh" => '%d kWh', "5-SolAnteil" => '%.1f %%', "6-Ertrag" => '%d kWh', "6-BrennerkWh" => '%d kWh', "6-SolAnteil" => '%.1f %%',"7-Ertrag" => '%d kWh', "7-BrennerkWh" => '%d kWh', "7-SolAnteil" => '%.1f %%',"8-Ertrag" => '%d kWh', "8-BrennerkWh" => '%d kWh', "8-SolAnteil" => '%.1f %%',"9-Ertrag" => '%d kWh', "9-BrennerkWh" => '%d kWh', "9-SolAnteil" => '%.1f %%',"10-Ertrag" => '%d kWh', "10-BrennerkWh" => '%d kWh', "10-SolAnteil" => '%.1f %%',"11-Ertrag" => '%d kWh', "11-BrennerkWh" => '%d kWh', "11-SolAnteil" => '%.1f %%',"12-Ertrag" => '%d kWh', "12-BrennerkWh" => '%d kWh', "12-SolAnteil" => '%.1f %%', "Ges-Ertrag" => '%d kWh', "Ges-BrennerkWh" => '%d kWh', "Ges-SolAnteil" => '%.1f %%'}


Es wurde ein neues Attribut "nonames" eingeführt. Ist dies auf "1" gesetzt, so wird die erste Spalte mit dem "device-Namen", bzw. dem entsprechenden mapping nicht ausgegeben.  Dies ist immer dann sinnvoll, wenn zu einem Device mehrere Werte ausgegeben werden sollen und man einen "Gruppennamen" voran stellen möchte:

Beispiel:
Für die Solaranlage gibt es die Gruppen Außentemperatur,Kollektor,Puffer usw:

define HzAnlage_SOL_P_rg readingsGroup HzAnlage:<Aktualisiert&nbsp;;um>,UpdateTime-SOL_P HzAnlage:<Außentemperatur>,Aussentemperatur,Min-Aussentemperatur,Max-Aussentemperatur HzAnlage:<Solar&nbsp;;(Start,Ende,Dauer)>,Status-DTR,Sol-Startzeit,Sol-Endzeit,Sol-Dauer HzAnlage:<Kollektor>,Temp-Kollektor,Min-Kollektortemperatur,Max-Kollektortemperatur HzAnlage:<Solar&nbsp;;(VL/Rl/Durchfluss)>,Temp-Solar-Vorlauf,Temp-Solar-Rücklauf,Durchfluss HzAnlage:<Leistung&nbsp;;(akt,max,um)>,Leistung,Max-Leistung,Max-Leistung-Zeit HzAnlage:<Tagesertrag/Gesamt>,Tagesertrag,Ertrag-Gesamt  HzAnlage:<Puffer>,Temp-Puffer-oben,Temp-Puffer-unten,Temp-Solar-unten HzAnlage:<Ww/Hz>,Hk1-Warmwassertemperatur,Hk2-Vorlauftemperatur
attr HzAnlage_SOL_P_rg alias Betriebszustand
attr HzAnlage_SOL_P_rg group Solaranlage
attr HzAnlage_SOL_P_rg mapping {'HzAnlage' => ''}
attr HzAnlage_SOL_P_rg nolinks 0
attr HzAnlage_SOL_P_rg nonames 1
attr HzAnlage_SOL_P_rg notime 1
attr HzAnlage_SOL_P_rg room Solaranlage
attr HzAnlage_SOL_P_rg valueFormat {'HzAnlage.Brennerlaufzeit-heute' => '%d Minuten', 'HzAnlage.Aussentemperatur' => 'akt %.1f °C', 'HzAnlage.Min-Aussentemperatur' =>'min %.1f °C', 'HzAnlage.Max-Aussentemperatur' =>'max %.1f °C', 'HzAnlage.Temp-Kollektor' => 'akt %.1f °C','HzAnlage.Min-Kollektortemperatur' => 'min %.1f °C','HzAnlage.Max-Kollektortemperatur' => 'max %.1f °C', 'HzAnlage.Temp-Solar-Vorlauf' =>'%.1f °C', 'HzAnlage.Temp-Solar-Rücklauf' => '%.1f °C', 'HzAnlage.Durchfluss' => '%.1f l/Min.', 'HzAnlage.Temp-Puffer-oben' => 'oben %s °C', 'HzAnlage.Temp-Puffer-unten' => 'mitte %s °C', 'HzAnlage.Temp-Solar-unten' => 'unten %s °C','HzAnlage.Hk1-Warmwassertemperatur' => '%.1f °C',  'HzAnlage.Hk2-Vorlauftemperatur' =>'%.1f °C', 'HzAnlage.Leistung' => '%.1f kW', 'HzAnlage.Max-Leistung' => '%.1f kW', 'HzAnlage.Tagesertrag' => '%.1f kWh', 'HzAnlage.Ertrag-Gesamt' => '%d kWh'}


Beispiel Wetter:
define Wetter_rg readingsGroup HzAnlage:<Außentemperatur>,Aussentemperatur,Min-Aussentemperatur,Max-Aussentemperatur Wetter:<heute>,fc1_condition Wetter:<Temperatur>,fc1_high_c,fc1_low_c Wetter:<morgen>,fc2_condition Wetter:<Temperatur>,fc2_high_c,fc2_low_c
attr Wetter_rg alias Aktuelles Wetter
attr Wetter_rg noheading 0
attr Wetter_rg nolinks 1
attr Wetter_rg nonames 1
attr Wetter_rg notime 1
attr Wetter_rg room Wetter


Ich habe ca. 20 readingsGroups in Verwendung und da, wo es nötig war, die Umstellungen gemacht, damit sie jetzt besser aussehen.
Bitte die Änderungen mal testen. Im Code habe ich dise mit "Elektrolurch" gekennzeichnet. Wenn das passt, bitte dann einchecken.

Was ich noch machen möchte:

Wenn das Attribut "commands" gesetzt ist, werden wohl das mapping für die Readings und das Attribut valueFormat ignoriert.
Was jedoch wünschenswert wäre, wenn man z.B. noch hinter dem Klappmenü für das Einstellen einer Temperatur " °C" über valueFormat anhängen könnte.
Werde mal sehen, ob es möglich ist, trotz Ausgabe von commands in der gleichen Spalte noch das Ergebnis von "valueFormat" anzuhängen.

Nachtrag: Hatte die letzte Änderung von Andre verpasst und habe meine Ergänzungen nun in die aktuellste Version eingearbeitet.
Leider kriege ich es hier nicht hin, die Datei auszutauschen. Daher die geänderte Version im nächsten Post....

Viel Spaß beim Testen.

Gruß


Elektrolurch
Titel: Antw:update readingsGroup
Beitrag von: Elektrolurch am 31 Mai 2014, 13:35:51
Aktuelle Version:
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 03 Juni 2014, 17:24:11
ich schaue mir gerade deinen patch an.

du hast in lookup2 das eval noch ein zweites mal eingebaut. ein mal sollte eigentlich reichen. zuerst wird der hash ausgewertet und danach das eval. ohne else dazwischen. hat das bei dir nicht funktioniert? wie genau schaut dein hash aus?

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 03 Juni 2014, 17:51:13
bitte schau mal ob die angehängte version so funktioniert wie du dir das vorstellst.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: Elektrolurch am 03 Juni 2014, 20:46:24
Hallo Andre,

so beim schnellen Durchsehen:

Ausblenden über "nonames" geht.

Mit der Berechnung von eval in der Lookup2 gebe ich Dir recht, glaube, dass ich das auch im Kommentar geschrieben hatte.
Was aber wohl fehlt, ist dass ich in Lookup auch im hash einen perl-Ausdruck zulasse, der dann über eval ausgewertet wird.

mapping {'rd1' => '{perl...code}',

Ich fand die "Symetrie ganz spannend und nützlich, da auch nur eine kleine Änderung notwendig war in lookup.

Dann noch eine Frage:

Wenn zu einem reading ein command definiert wird (z.B. textField oder Menü), geht zwar das mapping noch (was ganz nützlich ist und ich gestern noch zum verschönern eingebaut habe), aber valueFormat geht nicht.
Die Idee war, hinter dem Textfield oder Menü ohne Spaltenvorschub über valueFormat die Einheit (Celsius, Watt usw) noch auszugeben.

Leider habe ich das noch nicht so ganz durchblickt, wie das command ausgegeben wird, scheint irgendwie durch einen Aufruf an fhem-web zu gehen.
Und der command-Block liegt in einem großen else-Zweig (zweimal?).
Um da besser durchzublicken, müsste ich erst Mal hinter jeder } einen Kommentar schreiben, welcher if-Block da zu Ende ist.

Vielleicht hast Du doch noch einen Tipp für mich.

Gruß und danke.

Elektrolurch
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 03 Juni 2014, 21:01:23
mapping {'rd1' => '{perl...code}', aber genau das sollte doch gehen. zuerst wird der hash ausgewertet und wenn ein {...} zurück kommt wird das noch duch das eval geschickt. das gilt für lookup2.

in lookup habe ich das noch nicht frei geschaltet weil ich angst habe das dadurch irgendetwas schief geht und nicht mehr kompatibel ist.

das geht leider nicht weil der html text für das menü direkt von fhemweb erzeugt wird und ich da nicht wirklich etwas einfügen ohne zu parsen und zu verstehen was da zurück kommt. das ausblenden des labels ist schon nicht ganz sauber und wird früher oder später schief gehen wenn sich an der fhemweb seite etwas ändert.

du kannst über das die style attribute aber den spalten vorschub für diese spalten so klein machen das es nicht mehr wirklich auffällt.

gruss
  andre

Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 03 Juni 2014, 21:09:11
ich hab die version von oben schon mal eingecheckt.

mal sehen wie wir das mit dem lookup machen.
Titel: Antw:update readingsGroup
Beitrag von: Elektrolurch am 03 Juni 2014, 21:21:25
Sorry, was ich natürlich nicht gemacht habe, war die in dem .p File die html - Beschreibung zu erweitern.

Mal eine Frage dazu: Wie macht man das am Besten? Welchen Editor? Ich muss ja immer schauen, ob der auch mit meinem Screenreader ordentlich ztusammen spielt.
Bei den Forumsseiten geht es z.B. leider nicth, während des Editierens das TExtfeld zu verlassen, um z.B. die Knöpfe für Code oder zitieren usw. zu aktivieren...
Dann ist nämlich die Selektion im Textfeld weg und der Knopf nicht mehr wirksam.

Was mich zunächst einmal auch daran gehindert hat, Beiträge ins Wiki zu stellen.
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 03 Juni 2014, 21:59:07
du kannst jeden editor verwenden der dir liegt. wichtig ist das ganze anschliestend ein mal durch commandref_join.pl zu jagen und nach fehlern dort zu schauen.

für das forum kann ich dir leider keinen tip geben. ausser die formatierungsanweisungen einfach selber von hand zu schreiben.
du brauchst aber nicht unbedingt die selektion. die cursor position reicht. dann werden die öffnenden und schliessenden tags direkt nebeneinander eingefügt und du kannst dann direkt dazwischen schreiben. ich weiss aber natürlich nicht ob da auch der screenreader dazwischenfunkt.

im wiki ist es das gleiche. die meisten schreiben die formatierung einfach von hand hin. das ist nicht wirklich aufwändig.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: SABINEMUELLER am 28 Juni 2014, 11:07:49
Hallo ich habe die readingsGroup mit meinem MAX System ausprobiert und klappt ganz gut.

Ich habe aber noch folgende Probleme mit der Anpassung.
Folgender Code läuft ohne Probleme macht aber bei beiden Geräten (MAX_Heizung_Brenner oder MAX_Heizung_Pumpe) das gleiche Icon.

#  Diverse readings aller Schaltkontakte des Typs MAX.
define Heizungsstatus readingsGroup <%icoHeizungAus>,<Status>,<Batterie> MAX_Heizung_Brenner.*:onoff,battery MAX_Heizung_Pumpe.*:onoff,battery
attr Heizungsstatus nameStyle style="color:blue;;font-weight:bold"
attr Heizungsstatus room develop
attr Heizungsstatus valueIcon {'onoff.0' => 'icoHeizungAn','onoff.1' => 'icoHeizungAus','battery.ok' => 'batterie@lightgreen','battery.low' => 'batterie@red'}

Hier soll später abhängig vom Gerät (MAX_Heizung_Brenner oder MAX_Heizung_Pumpe) ein anderes Icon eingesetzt werden.
Dieser Code läuft nicht.

attr Heizungsstatus valueIcon {if ($NAME eq "MAX_Heizung_Brenner") ['onoff.0' => 'icoHeizungAn','onoff.1' => 'icoHeizungAus','battery.ok' => 'batterie@lightgreen','battery.low' => 'batterie@red'] else ['onoff.0' => 'icoHeizungAn','onoff.1' => 'icoHeizungAus','battery.ok' => 'batterie@lightgreen','battery.low' => 'batterie@red']}


Aehnliches Problem habe ich bei den Heizthermostaten.
Hier soll unter der Ueberschrift Fenster ein Open/Closed Window Icon Angezeigt werden, wenn Sollwert=Window_Open_Temperatur.

#  Diverse readings aller Heizungstermostate des Typs MAX.
define Heizungstermostate readingsGroup <%sani_heating>,<Ventil>,<Istwert>,<Sollwert>,<Betriebsart>,<>,<>,<Batterie>,<Fenster> MAX_HT.*:valveposition,temperature,desiredTemperature,mode,<%Auto>,<%Manuell>,battery window.*:window
attr Heizungstermostate commands { 'Heizungstermostate.Auto' => 'set $DEVICE desiredTemperature auto', 'Heizungstermostate.Manuell' => 'set $DEVICE desiredTemperature manual', 'desiredTemperature' => 'desiredTemperature:' }
attr Heizungstermostate mapping {'desiredTemperature' => '','desiredTemperature.auto' => 'Auto','desiredTemperature.manual' => 'Manuell'}
attr Heizungstermostate nameStyle style="color:blue;;font-weight:bold"
attr Heizungstermostate room develop
attr Heizungstermostate valueFormat { 'valveposition' => "%3d%%",'desiredTemperature' => "%.1f&deg;;C", 'temperature' => "%.1f&deg;;C" }
attr Heizungstermostate valueIcon {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red','window.open' => 'fts_window_1w@lightgreen', 'window.closed' => 'fts_window_1w_open@red', 'mode.auto' => 'sani_heating_automatic@green', 'mode.manual' => 'sani_heating_manual@red' }

Hat einer von euch Tipp fuer mich.
Als Anhang ein Screen-Shot von meiner momentanen Anzeige.

Mfg. Susanne

Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 28 Juni 2014, 12:00:53
für valueIcon wird für das mapping aktuell nur die hash version unterstütz und noch kein perl code. das ist zwar im prinzip schon vorbereitet ich weiss aber noch nicht ob das rückwärts kompatibel ist. du müsstest auch in deinem code die eckigen klammern gegen geschweifte austauschen.

um unterschiedliche icons zu bekommen wäre zur zeit das einfachste in den gekappten icon den device namen oder device alias mit einzubauen und jeweils passende icons auf platte zu legen. also etwas in der art:..., 'onoff.0' => 'ico$ALIASAn', ...
du brauchst dann icons mit namen icoHeizungsbrennerAn, icoHeizungsbrennerAus, icoHeizungspumpeAn und icoHeizungspumpeAus.

für das reading abhängig open/closed icon gilt das oben gesagt zur perl funktion auch. hier gibt es aber keinen workaround. ich muss es einbauen.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: SABINEMUELLER am 06 Juli 2014, 18:53:55
Hallo hab Sache mit dem Brenner Pumpen Icon wie folgt nach deinem Vorschlag geändert:

#  Die Alias-Raumnamen werden angezeigt.
#  Die Überschriften sollen blau (fett) sein.
#  Die "readingsgroup" wird dem Raum "MAX" zugeordnet.
#  Es wird noch die Einheit °C hinter den Temperaturwerten angezeigt.   
#  Es wird noch die Einheit % hinter der Ventilstellung angezeigt.   
#  Für den Batteriezustand wird ein farbiges Icons anstatt Klartextwerte     
#  angezeigt    
#  Diverse readings aller Schaltkontakte des Typs MAX.
define Heizungsstatus readingsGroup <%icoHeizungAus>,<Status>,<Batterie> MAX_Heizung_Brenner.*:onoff,battery MAX_Heizung_Pumpe.*:onoff,battery
attr Heizungsstatus group Heizungsstatus
attr Heizungsstatus nameStyle style="color:blue;;font-weight:bold"
attr Heizungsstatus room Heizung
attr Heizungsstatus valueIcon {'onoff.0' => 'ico_$DEVICE_An','onoff.1' => 'ico_$DEVICE_Aus','battery.ok' => 'batterie@lightgreen','battery.low' => 'batterie@red'}

Klappt ganz gut.

In Bezug auf die Frage nach der Window Open Funktion:
Kann ich mir ein eigenes Reading (Variable oder so ...) aus "Sollwert=Window_Open_Temperatur" erzeugen und damit in die ReadingsGroup gehen um mir das Window Open anzeigen zu lassen?

Danke für die Hilfe.
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 06 Juli 2014, 18:58:40
ja klar. schau dir mal userReadings an. damit geht das.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 08 Juli 2014, 11:47:54
das update morgen wird hier http://forum.fhem.de/index.php/topic,25195.0.html (http://forum.fhem.de/index.php/topic,25195.0.html) beschreiben.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: mcbo am 21 August 2014, 17:05:34
Hallo,

ich lese jetzt das Thema schon 2 Tage hoch und runter und komme nicht so richtig weiter.

Für meine 7 Homatic Thermostate "HM-CC-RT-DN",
möchte ich mit readingsGroup eine Liste bauen.

Wie bekomme ich bei den DropDowns die Beschriftungen "controlMode" und "desired-temp" entfernt?

Bei dem "HM-CC-RT-DN" stehen die meisten Werte im Kanal "_Clima".
Wie kann ich den Batteriestatus aus dem Hauptkanal hinzufügen?

Hier im Forum sind zwar einzelen Codeschnippsel aufgeführt, aber kein komplettes Beispiel für ein "HM-CC-RT-DN".  :-\

Hier mein Code:
# Heizungsinfos anzeigen
define Heizungswerte readingsGroup <%sani_heating>, < >,<Mode>,<Ventil>,<Temp>,<Soll>,<Setting> NAME=.*._hz.Clima:controlMode,ValvePosition,measured-temp,desired-temp,<%auto>,<%manuell>

attr Heizungswerte commands { 'Heizungswerte.auto' => 'set $DEVICE controlMode auto', 'Heizungswerte.manuell' => 'set $DEVICE controlMode manual','controlMode' => 'controlMode:','desired-temp' => 'desired-temp:'}
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 21 August 2014, 17:26:02
über  mapping kannst du controllMode und desired-temp auf &nbsp; also einen leer string mappen.

der patch um das label komplett zu entfernen ist noch in arbeit. 

ein reading aus einem anderen device bekommst du mit reading@device in die readingsGroup.

schau im forum oder wiki nach beispielen. die gibt es auch zu deinen devices.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: wkarl am 22 August 2014, 10:19:14
Hall mcbo,

hier meine Umsetzung.
define Heizung_EG readingsGroup <%sani_heating@darkblue>,<%temperature_humidity@darkblue>,<%temp_inside@darkblue>,<SOLL FH>,<Modus FH>,<SOLL HK>,<Modus HK>,<%sani_heating_temp@darkblue>,<>,<> ^(?!File).*(Wohnzimmer|Esszimmer|Kueche|Buero|DieleWindfang|GaesteToilette)(_TC):humidity,measured-temp,desired-temp,controlMode@{$DEVICE."_Climate"},desired-temp@{$DEVICE=~s/_TC//g;;$DEVICE."_HK_Clima"},controlMode@{$DEVICE=~s/_TC//g;;$DEVICE."_HK_Clima"},actuator,battery,battery@{$DEVICE=~s/_TC//g;;$DEVICE."_HK"}
attr Heizung_EG commands { 'controlMode' => 'controlMode:', 'desired-temp' => 'desired-temp:' }
attr Heizung_EG fp_H_HZ_Erdgeschoss 50,170,0,
attr Heizung_EG icon it_television
attr Heizung_EG mapping { 'Buero_TC' => '%ROOM', 'DieleWindfang_TC' => '%ROOM', 'Esszimmer_TC' => '%ROOM', 'GaesteToilette_TC' => '%ROOM', 'Kueche_TC' => '%ROOM', 'Wohnzimmer_TC' => '%ROOM', 'desired-temp' => '', 'controlMode' => '' }
attr Heizung_EG nameStyle style=color:darkblue;;font-weight:bold;;text-align:center
attr Heizung_EG room Heizung-Raeume,Z-HA-FloorPlans
attr Heizung_EG valueColumn { 'actuator' => 7, 'battery' => 8 }
attr Heizung_EG valueFormat { 'actuator' => "%.0f %%", 'humidity' => "%.0f %%", 'desired-temp' => "%.1f &deg;;C", 'measured-temp' => "%.1f &deg;;C" }
attr Heizung_EG valueIcon {'battery.ok' => 'measure_battery_100@green', 'battery.low' => 'measure_battery_25@red' }
attr Heizung_EG valueStyle { if($READING eq "humidity" && $VALUE < 45) { 'style="color:orange;;text-align:center"'} elsif ($READING eq "humidity" && $VALUE >= 45 && $VALUE <=60) { 'style="color:black;;text-align:center"'} elsif ($READING eq "humidity" && $VALUE > 60) { 'style="color:magenta;;text-align:center"'} elsif ($READING eq "measured-temp" && $VALUE < 20) { 'style="color:blue;;text-align:center"'} elsif ($READING eq "measured-temp" && $VALUE >= 20 && $VALUE <= 24) { 'style="color:black;;text-align:center"'} elsif ($READING eq "measured-temp" && $VALUE > 24) { 'style="color:red;;text-align:center"'} }

und der screenshot dazu.

ciao walter
Titel: Antw:update readingsGroup
Beitrag von: mcbo am 22 August 2014, 15:59:12
Vielen Dank,

ich habe das jetzt erst einmal so gelöst:

define Heizungswerte readingsGroup <%sani_heating>, < >,<%sani_heating_manual>,<%sani_heating_temp>,<%temp_control>,<%hc_wht_regler>,<%batterie>,<> sz_hz:controlMode@{$DEVICE."_Clima"},measured-temp@{$DEVICE."_Clima"},desired-temp@{$DEVICE."_Clima"},ValvePosition@{$DEVICE."_Clima"},battery,batteryLevel
attr Heizungswerte commands { 'Heizungswerte.auto' => 'set $DEVICE controlMode auto', 'Heizungswerte.manual' => 'set $DEVICE controlMode manual','controlMode' => 'controlMode:auto,manual','desired-temp' => 'desired-temp:'}
attr Heizungswerte group Heizung
attr Heizungswerte mapping { "controlMode" => " ", "desired-temp" => " "}
attr Heizungswerte nameStyle style=color:white;;font-weight:bold;;text-align:center
attr Heizungswerte room Heizung
attr Heizungswerte valueFormat { 'ValvePosition' => "%.0f%", 'desired-temp' => "%.1f&deg;;C", 'measured-temp' => "%.1f&deg;;C" ,'batteryLevel' => "%.1fV"}
attr Heizungswerte valueIcon {'battery.ok' => 'measure_battery_100@green', 'battery.low' => 'measure_battery_25@red'}

Jetzt würde ich noch gerne das DropDown-Feld für Auto/Manuell,
gegen ein Icon mit Toggle-Funktion tauschen.

Wie muß ich das anfangen? Mit einem Dummy?

Gruß

Marcel
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 22 August 2014, 18:13:35
mit valueIcon kannst du icons für reading werte anzeigen lassen. mit commands kannst du festlegen was beim klick auf das icon passieren soll.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: mcbo am 26 August 2014, 17:25:04
Danke,

ich habe das jetzt folgendermaßen umgesetzt:
define Heizungswerte readingsGroup <%sani_heating>, < >,<%sani_heating_manual>,<%sani_heating_temp>,<%temp_control>,<%hc_wht_regler>,<%message_service>,<%batterie>,< > sz_hz:controlMode@{$DEVICE."_Clima"},measured-temp@{$DEVICE."_Clima"},desired-temp@{$DEVICE."_Clima"},ValvePosition@{$DEVICE."_Clima"},R-btnLock,battery,batteryLevel
attr Heizungswerte commands {'controlMode.manual' => 'set $DEVICE controlMode auto','controlMode.auto' => 'set $DEVICE controlMode manual','desired-temp' => 'desired-temp:','R-btnLock.on' => 'set $DEVICE regSet btnLock off','R-btnLock.off' => 'set $DEVICE regSet btnLock on'}
attr Heizungswerte group Heizung
attr Heizungswerte mapping { "controlMode" => " ", "desired-temp" => " "}
attr Heizungswerte nameStyle style=color:white;;font-weight:bold;;text-align:center
attr Heizungswerte room Heizung
attr Heizungswerte valueFormat { 'ValvePosition' => "%.0f%", 'desired-temp' => "%.1f&deg;;C", 'measured-temp' => "%.1f&deg;;C" ,'batteryLevel' => "%.1fV"}
attr Heizungswerte valueIcon { 'battery.ok' => 'measure_battery_100@green','battery.low' => 'measure_battery_25@red','controlMode.auto' => 'time_automatic@green','controlMode.manual' => 'time_manual_mode@red','controlMode.set_manual' => 'time_manual_mode@red','controlMode.set_auto' => 'time_automatic@green','R-btnLock.on' => 'secur_locked','R-btnLock.off' => 'secur_open','R-btnLock.set_on' => 'secur_locked','R-btnLock.set_off' => 'secur_open' }

Mit dem Setzen von "Hand" auf "Automatic" funktioniert das Mapping super.
Nur bei der Tastensperre (R-btnLock) werden die Icons sporadisch angezeigt. (siehe Anhang)

Wo liegt da der Fehler?

Titel: Antw:update readingsGroup
Beitrag von: igami am 01 September 2014, 09:00:43
Das Phänomen hatte ich auch. Es steht nicht 'on' im Feld sondern 'on ' mit einem Leerzeichen dahinter, ebenso bei dem off, set_on, set_off.
Nun hab ich aber noch eine Frage: Bei HomeMatic Thermostaten habe ich bei desired-temp als dropdown immer noch ein desired-temp davor stehen. Kann ich das wegschneiden? bzw. Wie?
Habs schon gefunden
attr rg_Thermostate mapping {'desired-temp' => ''}

Grüße
Igami
Titel: Antw:update readingsGroup
Beitrag von: wkarl am 01 September 2014, 09:09:29
Mit mapping und  'desired-temp' => ''
ciao walter
Titel: Antw:update readingsGroup
Beitrag von: mcbo am 02 September 2014, 17:18:06
@Igami,

das hatte ich auch bemerkt und versucht mit mappings zu entfernen.
Aber ohne Erfolg.

Jetzt steht bei mir gerade wieder "off" ohne Leerzeichen.
Und es wird kein Icon angezeigt.  :-\

Mache ich ein "shutdown restart" sind die Icons wieder da?


Jemand eine Idee?
Titel: Antw:update readingsGroup
Beitrag von: igami am 02 September 2014, 17:24:38
Siehe http://forum.fhem.de/index.php/topic,26479.msg195482.html#msg195482 (http://forum.fhem.de/index.php/topic,26479.msg195482.html#msg195482)
Das kann glaube ich auch alles das was du möchtest. Auch mit dem toggle von GlobalBtnLock und ControlMode.

Gruß
Igami
Titel: Antw:update readingsGroup
Beitrag von: SABINEMUELLER am 30 November 2014, 15:02:55
hallo igami

kannst du mir sagen wie du diese Pfeil Rauf/Runter menues erstellt hast.
http://www.fhemwiki.de/w/images/b/b4/RgThermostate.png

mfg
sabine
Titel: Antw:update readingsGroup
Beitrag von: igami am 30 November 2014, 19:28:42
Das ist einfach nur die Darstellung eines Dropdown mit Firefox auf Ubuntu, Firefox unter Windows sieht anders aus und Safari auch.

Grüße
Igami
Titel: Antw:update readingsGroup
Beitrag von: solidphili am 01 Oktober 2015, 17:17:18
Hi,

ich habe eine kleine (allgemeine) Frage.

Ich möchte in meiner readingsGroup alle devices vom type=xy anzeigen, aber ein Gerät ausschließen.
Das ganze ist notwendig, weil die ReadingsGroup dynmisch vergrößert/verkleinert werden soll.

Beispiel wäre:

Alle Homematic Geräte
DEF    <Gerät>,<Name>,<Model>,<S/N> TYPE=CUL_HM:+NAME,?model,D-serialNr

Aber das viertuelle Gerät "Vact_Taster" möchte ich ausbleden.

Vielen Dank für eure Hilfe.
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 15 Oktober 2015, 22:12:22
z.b. so:
 ... TYPE=CUL_HM:FILTER=NAME!=Vact_Taster:+NAME,?model,D-serialNr
gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: kvo1 am 21 Oktober 2015, 14:09:54
Hallo Zusammen,

Für die Einstellung meiner Rollos habe ich mir JE ROLLO 4 Dummy angelegt
RolloModusTZ         Umschaltung der Betriebsart
du_RolloZeitTZ_hoch_WT      Zeiteinstellung Hoch Wochentags
du_RolloZeitTZ_hoch_WE      Zeiteinstellung Hoch Wochende
du_RolloZeitTZ_runter      Zeiteinstellung runter


###### hier Raum TZ #######################
# Dummys fuer Modus definieren
define RolloModusTZ dummy
attr RolloModusTZ alias Rollladen TZ - Modus
attr RolloModusTZ devStateIcon FHEM:fts_shutter_automatic@green ASTRO:fts_shutter_updown@blue HAND:fts_shutter_manual@red
attr RolloModusTZ setList state:FHEM,ASTRO,HAND
attr RolloModusTZ webCmd state
# Dummys fuer Zeit Hoch Woche
define du_RolloZeitTZ_hoch_WT dummy
attr du_RolloZeitTZ_hoch_WT devStateIcon .*:rc_BLANK
attr du_RolloZeitTZ_hoch_WT setList state:time
attr du_RolloZeitTZ_hoch_WT webCmd state
# Dummys fuer Zeit Hoch Wochenende
define du_RolloZeitTZ_hoch_WE dummy
attr du_RolloZeitTZ_hoch_WE devStateIcon .*:rc_BLANK
attr du_RolloZeitTZ_hoch_WE setList state:time
attr du_RolloZeitTZ_hoch_WE webCmd state
# Dummys fuer Zeit runter (Woche und Wochenende)
define du_RolloZeitTZ_runter dummy
attr du_RolloZeitTZ_runter devStateIcon *:rc_BLANK
attr du_RolloZeitTZ_runter setList state:time
attr du_RolloZeitTZ_runter webCmd state
Über ein DOIF fahren die Rollos abhängig von der Betriebsart.
Das läuft seit Monaten.
Damit nun nicht alle 16 (bei 4 Rollladen AZ TZ LZ BZ ) untereinander stehen,
habe ich mir eine readingsGroup erstellt.

define Rollo_RG readingsGroup <%fts_shutter_50@orange>,<Zeit_auf_WT>,<Zeit_auf_WT>,<Zeit_zu>,<Modus>\
RolloModusAZ:state@du_RolloZeitAZ_hoch_WT,state@du_RolloZeitAZ_hoch_WE,state@du_RolloZeitAZ_runter,state \
RolloModusTZ:state@du_RolloZeitTZ_hoch_WT,state@du_RolloZeitTZ_hoch_WE,state@du_RolloZeitTZ_runter,state \
RolloModusLZ:state@du_RolloZeitLZ_hoch_WT,state@du_RolloZeitLZ_hoch_WE,state@du_RolloZeitLZ_runter,state \
RolloModusBZ:state@du_RolloZeitBZ_hoch_WT,state@du_RolloZeitBZ_hoch_WE,state@du_RolloZeitBZ_runter,state
attr Rollo_RG alias Rollladensteuerung
attr Rollo_RG commands {'state'=>'state:'}
attr Rollo_RG nameStyle style="text-align:right;;;;color:orange"
attr Rollo_RG room AA_Rollo

und bin auf 3 Probleme/Fragen gestoßen.

1. Ich würde gern eingestellten Modus noch als ICON anzeigen wollen (quassi wie devStateIcon)

2. wenn ich auf die 1.Spalte (alias des dummy-Device) klicke, wird auf das Dummy der 2.Spalte verlinkt.
   Rollladen TZ - Modus    ==> du_RolloZeitTZ_hoch_WT

3. Anstelle des alias (1.Spalte) hät ich gern der Namen des Dummy

Danke für jeden Tipp
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 21 Oktober 2015, 15:31:44
1. gibt es z.b. valueIcon. wenn du das dropdown zusätzlich möchtest musst du mit <{...}@modus> arbeiten.

2. beim klicken auf de zeilentitel wird wird immer auf das device der zeile verlinkt. d.h. du musst die zeilen an dem device aufhängen das verlinkt werden soll. oder du baust den link von hand über <{...}> ein.

du kannst von haupt device auchh über perl code auf die jeweiligen anderen device kommen. dann musst du nicht mehr alle device von hand aufzählen sondern es reicht eine einzige zeile für alles. also etwa so:
RolloModus..:state@{$NAME.'_hoch'},state@{$NAME.'_hochWE'},...
das kannst du noch weiter optimieren wenn du pro Rollladen einen einzigen dummy mit 4 readings verwendest statt 4 dummys mit je einem reading.

3. das geht über das mapping attribut.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: kvo1 am 21 Oktober 2015, 20:36:37
Hallo Andre,

1. das mit valueIcon habe ich jetzt soweit, aber das dropdown wird nicht angezeigt.
attr Rollo_RG valueIcon { 'state.HAND' => 'fts_shutter_manual@red','state.FHEM' => 'fts_shutter_automatic@green','state.ASTRO' => 'fts_shutter_updown@blue' }
Zitat
<{...}@modus> arbeiten
 
//edit// Habe x Varianten versucht, wo muss das stehen? , kleine Hilfe ?


2. Auch hier unklar , das haupt device ist doch der dummy für den Modus , als
RolloModusAZ
RolloModusTZ
RolloModusLZ
RolloModusBZ

3. nach dem mapping
attr Rollo_RG mapping {'Rollladen AZ - Modus'=>"Arbeitszimmer",'Rollladen TZ - Modus'=>"Treppenzimmer",'Rollladen LZ - Modus'=>"Spielzimmer",'Rollladen BZ - Modus'=>"Bad"}

ist die erste spalten leer , d.h. die alias fehlen! kann man keine alias mappen ? oder liegt das an den Leerzeichen im alias ??
//edit// Problem war das man keine alias mappen kann
attr Rollo_RG mapping {RolloModusAZ=>"Arbeitszimmer",RolloModusTZ=>"Treppenzimmer",RolloModusLZ=>"Spielzimmer",RolloModusBZ=>"Badezimmer"}
Danke für die Hilfe
Klaus
Titel: Antw:update readingsGroup
Beitrag von: kvo1 am 23 Oktober 2015, 01:11:36
Hallo,
ich habe jetzt das Wiki 3 x rauf und runter gelesen und komme nicht weiter mit dem 1. Punkt
( würde gern neben dem eingestellten Modus noch als ICON anzeigen wollen) !

kann mir jemand ein Beispiel dazu geben, irgend einen Hinweis.

attr Rollo_RG valueIcon <{ 'state.HAND' => 'fts_shutter_manual@red','state.FHEM' => 'fts_shutter_automatic@green','state.ASTRO' => 'fts_shutter_updown@blue' }@modus>

geht natürlich nicht  :-[

Danke


Titel: Antw:update readingsGroup
Beitrag von: kvo1 am 25 Oktober 2015, 02:12:42
Zitat
1. gibt es z.b. valueIcon. wenn du das dropdown zusätzlich möchtest musst du mit <{...}@modus> arbeiten.

irgendwie habe ich nen Knoten im Kopf ...

so habe ich nur die ICON
{'state.HAND' => 'fts_shutter_manual@red','state.FHEM' => 'fts_shutter_automatic@green','state.ASTRO' => 'fts_shutter_updown@blue'}
und so nur das dropdown
{'<{state}@HAND>' => 'fts_shutter_manual@red','<{state}@HAND>' => 'fts_shutter_automatic@green','<{state}@HAND>' => 'fts_shutter_updown@blue'}
bzw.

{'state.HAND' => '<{fts_shutter_manual@red}@HAND>','state.FHEM' => '<{fts_shutter_automatic@green}@FHEM>','state.ASTRO' => '<{fts_shutter_updown@blue}@ASTRO>'}
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 25 Oktober 2015, 14:59:05
jedes reading kann man normalerweise nur ein mal anzeigen. entweder als icon oder als dropDown.

du kannst aber mit <{myIcon(...)}@reading> eine routine aufrufen die die das icon zu einem reading zurückliefert. der zurück gelieferte icon name muss ein % am anfang haben dann wird nicht der string sondern das icon dazu angezeigt.

du machst dir aber das leben unnötig schwer bzw. sogar manches unmöglich weil du für jeden parameter einen eigen dummy hast und jedes mal auch noch state als reading verwendest. damit kannst du anhand des readings nicht mehr unterscheiden um was es gerade geht.

ich denke das was du vor hast wird deutlich einfacher wenn die die zu einem device gehörenden paramter jeweils mit sprechendem namen  in einen einzigen dummy steckst. oder sogar ins original device.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: kvo1 am 26 Oktober 2015, 00:55:34
Zitat
du machst dir aber das leben unnötig schwer bzw. sogar manches unmöglich weil du für jeden parameter einen eigen dummy hast und jedes mal auch noch state als reading verwendest. damit kannst du anhand des readings nicht mehr unterscheiden um was es gerade geht.

ich denke das was du vor hast wird deutlich einfacher wenn die die zu einem device gehörenden paramter jeweils mit sprechendem namen  in einen einzigen dummy steckst. oder sogar ins original device.

ich glaube da hast Du Recht ! Muß mir das Ganze nochmal konzeptionell überlegen !

Danke
Titel: Antw:update readingsGroup
Beitrag von: moonsorrox am 28 Oktober 2015, 02:36:19
ich schaffe es einfach nicht hinter den Zeiten das Wort "Uhr" einzufügen.
Mit "{'{($VALUE)." Uhr"}'} bekommen alle Werte das Wort Uhr, ich denke ich muss das mit valueFormat machen, aber es gelingt mir nicht.

Die Zeiten kommen teilweise aus "dummys" oder eben beim schließen von "sunset".
Die Zeiten sind zum probieren teilweise die selben, ändert sich aber später.

define rg_RollladenWZ_Test readingsGroup <%fts_shutter_50@LightSeaGreen>,<Öffnen - WoTag>,<Öffnen - WoEnde>,<Schließen>,<Aktuell>,<Modus>\
du_RolloWZmodus:state@du_RolloZeit_hoch,state@du_RolloZeit_hoch_WoE,state@du_RolloZeit_hoch_WoE,state@RollladenWZ,state\
du_RolloSZmodus:state@du_RolloZeit_hoch,state@du_RolloZeit_hoch_WoE,state@du_RolloZeit_hoch_WoE,state@RollladenSZ,state\

attr rg_RollladenWZ_Test alias Rollladensteuerung
attr rg_RollladenWZ_Test cellStyle { "r:1"=>'style="font-weight:normal;;font-size:12px;;color:AntiqueWhite;;"',"c:0"=>'style="font-weight:normal;;font-size:14px;;text-align:left;;padding-left:0pt;;color:LightSteelBlue;;"'}
attr rg_RollladenWZ_Test mapping {du_RolloWZmodus=>"Wohnzimmer",du_RolloSZmodus=>"Schlafzimmer"}
attr rg_RollladenWZ_Test nameStyle style="text-align:center;;color:LightSteelBlue"
attr rg_RollladenWZ_Test room AutomationTest
attr rg_RollladenWZ_Test valueFormat {'state.du_RolloZeit_hoch' { ($VALUE)." Uhr"}'}
attr rg_RollladenWZ_Test valueIcon {'state.FHEM' => 'fts_shutter_automatic@lightgreen', 'state.Beschattung' => 'fts_shutter_updown@blue', 'state.Nachtschicht' => 'fts_shutter_up@crimson', 'state.Aus' => 'general_aus@yellow', 'state.on' => 'fts_shutter_10@white', 'state.50' => 'fts_shutter_80@blue', 'state.70' => 'fts_shutter_30@blue', 'state.75' => 'fts_shutter_30@crimson', 'state.off' => 'fts_shutter_100@blue'}\
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 28 Oktober 2015, 08:54:29
wie wäre es valueSuffix zu verwenden?

gruß
  andre
Titel: Antw:update readingsGroup
Beitrag von: moonsorrox am 28 Oktober 2015, 12:25:14
wie wäre es valueSuffix zu verwenden?

gruß
  andre
das hatte ich auch versucht, aber entweder bekomme ich dann bei allen Value das Wort Uhr dahinter oder bei keinem ;)

Da die Zeit Angaben aus einem dummy kommen weiß ich nicht wie ich das dummy abfrage..!  :-\

Einige Versuche habe ich hinter mir, im Wiki gibt es dazu zwei Beispiele einmal das
attr heatingInfo valueSuffix {"desired-temp"=>" °C", "measured-temp"=>" °C",
"ValvePosition"=>" (".ReadingsVal($DEVICE,$READING,0)." %)",
"humidity"=>" ".ReadingsVal($DEVICE,$READING,0)." % RH",
"batteryLevel"=>" (".ReadingsVal($DEVICE,$READING,0)." V)"}

und einmal das Beispiel

attr rg valueSuffix { state => '°;C' }bei diesem bekomme ich wie gesagt bei allen Werten das Wort Uhr dahinter.
state in mit dem dummy habe ich noch nicht geschafft..!  :-\
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 28 Oktober 2015, 12:27:41
etwas so:attr rg valueSuffix { return '&deg;C' if( InternalVal($DEVICE,'TYPE','') eq 'dummy' );
gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: moonsorrox am 28 Oktober 2015, 12:59:23
Oh, je da hätte ich ja lange probieren können..!

ich habe das jetzt so drin:
{ return ' Uhr' if( InternalVal($DEVICE,'TYPE',' ') eq 'dummy' )}
siehe mal screenshot, leider ist der Modus auch ein dummy, wie kann ich den ausgrenzen..?
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 28 Oktober 2015, 13:08:29
das beste ist wenn du nicht state verwendest sondern ein reading mit einem sprechenden namen.

du kannst es auch am device namen fest machen wenn der sprechend genug ist.

gruss
   andre
Titel: Antw:update readingsGroup
Beitrag von: moonsorrox am 28 Oktober 2015, 13:19:13
das beste ist wenn du nicht state verwendest sondern ein reading mit einem sprechenden namen.
ja,
aber leider haben die dummys nur state als reading

du kannst es auch am device namen fest machen wenn der sprechend genug ist.

gruss
   andre
hatte ich schon probiert, aber das ging nicht weil die dummys heißen entweder:
Zitat
du_RolloZeit_hoch
oder
du_RolloZeit_hoch_WoE

einzig Schließen hatte ich bisher noch nicht die richtige Zeit eingetragen da ich noch am testen bin, diese ist ja kein dummy sondern sunset
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 28 Oktober 2015, 13:22:09
du kannst jedes beliebige reading verwenden. mit setreading oder mit readingList. du brauchst noch nicht mal für jeden wert einen eigenen dummy.

bei deinen namen musst du doch nur schauen ob der Zeit im namen vor kommt:{ return ' Uhr' if( $DEVICE =~ m/Zeit/ )}
gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: moonsorrox am 28 Oktober 2015, 13:44:17
bei deinen namen musst du doch nur schauen ob der Zeit im namen vor kommt:{ return ' Uhr' if( $DEVICE =~ m/Zeit/ )}
gruss
  andre

Ok, dass hat gut funktioniert...!  ;) Danke
nun muss ich "nur" noch das DEF ändern weil ja das Schließen über "sunset" gemacht wird und nicht über "dummy"
Titel: Antw:update readingsGroup
Beitrag von: moonsorrox am 28 Oktober 2015, 14:59:56
ich habe nochmals eine Frage zu der Anzeige der Zeiten, speziell zu der letzten Zeit state@du_RolloZeit_runter

DEF:
<%status_automatic@LightSeaGreen>,<Modus>,<Stand>,<Öffnen - WoTag>,<Öffnen - WoEnde>,<Schließen - täglich>
du_RolloWZmodus:state,state@RollladenWZ,state@du_RolloZeit_hoch,state@du_RolloZeit_hoch_WoE,state@du_RolloZeit_runter
du_RolloSZmodus:state,state@RollladenSZ,state@du_RolloZeit_hoch,state@du_RolloZeit_hoch_WoE,state@du_RolloZeit_runter

für das Schließen habe ich mir extra ein dummy gebaut, weil ich es nicht hin bekommen habe aus dem DOIF direkt die Zeit abzufragen.

Das DOIF (di_RollladenWZ) hat ja einen timer (timer_3_c2) welcher bei mir durch:
{sunset("CIVIL",-100)}gebildet wird.

Ich wollte im obigen DEF dieses dummy (state@du_RolloZeit_runter) durch das DOIF bilden das ging aber nicht..! Ist das so nicht möglich..?
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 28 Oktober 2015, 17:18:13
ich glaube ich verstehe die frage nicht.

wenn es darum geht ein reading oder internal oder attribut aus dem doif mit anzuzeigen musst du die readingsgroup entsprechend konfigurieren.

wenn du den wert selber berechnen und anzeigen willst ...,<{sunset("CIVIL",-100)}>,... in der readingGroup.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: moonsorrox am 28 Oktober 2015, 17:56:26
wenn es darum geht ein reading oder internal oder attribut aus dem doif mit anzuzeigen musst du die readingsgroup entsprechend konfigurieren.
muss das im DEF passieren oder in einem Attribut

wenn du den wert selber berechnen und anzeigen willst ...,<{sunset("CIVIL",-100)}>,... in der readingGroup.

gruss
  andre
das würde auch gehen habe ich mal probiert, aber da zeigt er mir momentan nicht die richtige Zeit an un des fehlt auch wieder "Uhr" dahinter..

hier mal das DEF:
<%status_automatic@LightSeaGreen>,<Modus>,<Stand>,<Öffnen - WoTag>,<Öffnen - WoEnde>,<Schließen - täglich>
du_RolloWZmodus:state,state@RollladenWZ,state@du_RolloZeit_hoch,state@du_RolloZeit_hoch_WoE,<{sunset("CIVIL",-100)}>
du_RolloSZmodus:state,state@RollladenSZ,state@du_RolloZeit_hoch,state@du_RolloZeit_hoch_WoE,<{sunset("CIVIL",-100)}>

da wäre mir der Timer aus dem DOIF lieber
Titel: Antw:update readingsGroup
Beitrag von: kvo1 am 01 November 2015, 23:00:28
Hallo Andre,
Zitat
du machst dir aber das leben unnötig schwer bzw. sogar manches unmöglich weil du für jeden parameter einen eigen dummy hast und jedes mal auch noch state als reading verwendest. damit kannst du anhand des readings nicht mehr unterscheiden um was es gerade geht.

ich denke das was du vor hast wird deutlich einfacher wenn die die zu einem device gehörenden paramter jeweils mit sprechendem namen  in einen einzigen dummy steckst. oder sogar ins original device.

Du hattest Recht, es ist viel einfacher EIN dummy mit mehreren spechenden readings anzulegen und sich nicht
mit den vielen "state´s" die Ohren zu brechen ! Danke für den Denkanstoß und "Daumen hoch" für Dein Modul (readingsgroups), immer wieder gern genommen !

Gruss
klaus
Titel: Antw:update readingsGroup
Beitrag von: ph1959de am 02 November 2015, 13:47:40
@Klaus, würdest Du die fertige Lösung hier noch mal im Zusammenhang darstellen? Ich möchte etwas ähnliches machen (und moonsorrox ist wohl auch mittendrin oder mittlerweile fertig) und da wäre es doch schade, wenn jeder nochmal von vorn anfangen müsste.

Peter
Titel: Antw:update readingsGroup
Beitrag von: kvo1 am 02 November 2015, 21:29:22
@Klaus, würdest Du die fertige Lösung hier noch mal im Zusammenhang darstellen? Ich möchte etwas ähnliches machen (und moonsorrox ist wohl auch mittendrin oder mittlerweile fertig) und da wäre es doch schade, wenn jeder nochmal von vorn anfangen müsste.

Peter

@Peter , klar doch !

Also ich habe z.B. 4 Rollladen (oder mehr) die wahlweise über 3 verschiedene Modi betrieben werden.

Modus:
Hand   hier muß/kann per Schalter direkt am Rollladen geschaltet werden, d.h. keine Automatik
FHEM   hier erfolgt die Steuerung über einstellbare Zeiten
         WE = Wochenende später hoch
         WT = Wochentags hoch
         Das Runterfahren ist an allen Tagen gleich
ASTRO   hier erfolgt die Steuerung bei Sonnenauf- / Sonnenuntergang

Für Letzteres habe ich ein dummy welches ich über 2 at´s fülle !

############################################################################define Tageslicht2 dummy
attr Tageslicht2 devStateIcon hell:scene_day@yellow dunkel:scene_night@red
attr Tageslicht2 group Timer
attr Tageslicht2 icon sani_solar@blue
attr Tageslicht2 room AAA
attr Tageslicht2 sortby 20
# Das at für hell wird erst 20 Minuten nach Sonnenaufgang aktiv
define DummyHell2 at *{sunrise(1200)} set Tageslicht2 hell
attr DummyHell2 group Timer
attr DummyHell2 icon weather_sunrise@orange
attr DummyHell2 room AAA
attr DummyHell2 sortby 21
# Das at für dunkel ist so eingestellt, das es 10 Minuten vor Sonnenuntergang aktiv wird   
define DummyDunkel2 at *{sunset(-600)} set Tageslicht2 dunkel
attr DummyDunkel2 group Timer
attr DummyDunkel2 icon weather_sunset@red
attr DummyDunkel2 room AAA
attr DummyDunkel2 sortby 22

hier mal 4 dummy´s die als Test dienen, hier sind die eigentlichen Devices der Rollos einzutragen

############ Dummy Rollo in Treppenzimmer
define DU_TZ_Rollladen2 dummy
attr DU_TZ_Rollladen2 devStateIcon auf:roll_oben zu:roll_unten halb:roll_50
attr DU_TZ_Rollladen2 eventMap on:auf off:zu 50\x20%:halb
attr DU_TZ_Rollladen2 group Fenster_Dummy
attr DU_TZ_Rollladen2 room AAA
attr DU_TZ_Rollladen2 sortby 40
attr DU_TZ_Rollladen2 webCmd stop:auf:zu
############ Dummy Rollo im Arbeitszimmer
define DU_AZ_Rollladen2 dummy
attr DU_AZ_Rollladen2 devStateIcon auf:roll_oben zu:roll_unten halb:roll_50
attr DU_AZ_Rollladen2 eventMap on:auf off:zu 50\x20%:halb
attr DU_AZ_Rollladen2 group Fenster_Dummy
attr DU_AZ_Rollladen2 room AAA
attr DU_AZ_Rollladen2 sortby 10
attr DU_AZ_Rollladen2 webCmd stop:auf:zu
############ Dummy Rollo im Bad
define DU_BZ_Rollladen2 dummy
attr DU_BZ_Rollladen2 devStateIcon auf:roll_oben zu:roll_unten halb:roll_50
attr DU_BZ_Rollladen2 eventMap on:auf off:zu 50\x20%:halb
attr DU_BZ_Rollladen2 group Fenster_Dummy
attr DU_BZ_Rollladen2 room AAA
attr DU_BZ_Rollladen2 sortby 20
attr DU_BZ_Rollladen2 webCmd stop:auf:zu
############ Dummy Rollo im Spielzimmer
define DU_LZ_Rollladen2 dummy
attr DU_LZ_Rollladen2 devStateIcon auf:roll_oben zu:roll_unten halb:roll_50
attr DU_LZ_Rollladen2 eventMap on:auf off:zu 50\x20%:halb
attr DU_LZ_Rollladen2 group Fenster_Dummy
attr DU_LZ_Rollladen2 room AAA
attr DU_LZ_Rollladen2 sortby 30
attr DU_LZ_Rollladen2 webCmd stop:auf:zu

jetzt die von andre empfohlenen dummy´s mit je 4 readings

##############################################################
# dummy fuer modus und zeiten
#############################################################
# Arbeitszimmer
define RolloModTimeAZ dummy
attr RolloModTimeAZ group Jalousie
attr RolloModTimeAZ readingList Modus Zeit_auf_WT Zeit_auf_WE Zeit_zu
attr RolloModTimeAZ room AAA
attr RolloModTimeAZ setList Modus:FHEM,ASTRO,HAND Zeit_auf_WT:time Zeit_auf_WE:time Zeit_zu:time
attr RolloModTimeAZ sortby 10
attr RolloModTimeAZ userReadings Modusicon { ReadingsVal("RolloModTimeAZ","Modus","HAND");;;; }
attr RolloModTimeAZ webCmd Modus:Zeit_auf_WT:Zeit_auf_WE:Zeit_zu
# Badzimmer
define RolloModTimeBZ dummy
attr RolloModTimeBZ group Jalousie
attr RolloModTimeBZ readingList Modus Zeit_auf_WT Zeit_auf_WE Zeit_zu
attr RolloModTimeBZ room AAA
attr RolloModTimeBZ setList Modus:FHEM,ASTRO,HAND Zeit_auf_WT:time Zeit_auf_WE:time Zeit_zu:time
attr RolloModTimeBZ sortby 20
attr RolloModTimeBZ userReadings Modusicon { ReadingsVal("RolloModTimeBZ","Modus","HAND");;;; }
attr RolloModTimeBZ webCmd Modus:Zeit_auf_WT:Zeit_auf_WE:Zeit_zu
# Treppenzimmer
define RolloModTimeTZ dummy
attr RolloModTimeTZ group Jalousie
attr RolloModTimeTZ readingList Modus Zeit_auf_WT Zeit_auf_WE Zeit_zu
attr RolloModTimeTZ room AAA
attr RolloModTimeTZ setList Modus:FHEM,ASTRO,HAND Zeit_auf_WT:time Zeit_auf_WE:time Zeit_zu:time
attr RolloModTimeTZ sortby 40
attr RolloModTimeTZ userReadings Modusicon { ReadingsVal("RolloModTimeTZ","Modus","HAND");;;; }
attr RolloModTimeTZ webCmd Modus:Zeit_auf_WT:Zeit_auf_WE:Zeit_zu
# Spielzimmer
define RolloModTimeLZ dummy
attr RolloModTimeLZ group Jalousie
attr RolloModTimeLZ readingList Modus Zeit_auf_WT Zeit_auf_WE Zeit_zu
attr RolloModTimeLZ room AAA
attr RolloModTimeLZ setList Modus:FHEM,ASTRO,HAND Zeit_auf_WT:time Zeit_auf_WE:time Zeit_zu:time
attr RolloModTimeLZ sortby 30
attr RolloModTimeLZ userReadings Modusicon { ReadingsVal("RolloModTimeLZ","Modus","HAND");;;; }
attr RolloModTimeLZ webCmd Modus:Zeit_auf_WT:Zeit_auf_WE:Zeit_zu


Die eigentlich readingsGroup (an der ich zuvor fast verzweifelt war)
Hier werden dann (bei Bedarf) alle relevanten Einstellungen / Änderungen vorgenommen

# readinggroup
define MYRollo_RG readingsGroup <%fts_shutter_50@orange>,<Zeit_auf_WT>,<Zeit_auf_WE>,<Zeit_zu>,<>,<Modus>\
RolloModTimeAZ:Zeit_auf_WT,Zeit_auf_WE,Zeit_zu,Modusicon,Modus \
RolloModTimeBZ:Zeit_auf_WT,Zeit_auf_WE,Zeit_zu,Modusicon,Modus \
RolloModTimeLZ:Zeit_auf_WT,Zeit_auf_WE,Zeit_zu,Modusicon,Modus \
RolloModTimeTZ:Zeit_auf_WT,Zeit_auf_WE,Zeit_zu,Modusicon,Modus
attr MYRollo_RG alias Rollladensteuerung
attr MYRollo_RG commands {'Modus'=>'Modus:','Zeit_auf_WT'=>'Zeit_auf_WT:','Zeit_auf_WE'=>'Zeit_auf_WE:','Zeit_zu'=>'Zeit_zu:'}
attr MYRollo_RG mapping {RolloModTimeAZ=>"Arbeitszimmer",RolloModTimeTZ=>"Treppenzimmer",RolloModTimeLZ=>"Spielzimmer",RolloModTimeBZ=>"Badezimmer"}
attr MYRollo_RG nameStyle style="text-align:center;;;;;;;;color:orange"
attr MYRollo_RG room AAA
attr MYRollo_RG valueIcon { 'Modusicon.HAND' => 'fts_shutter_manual@red','Modusicon.FHEM' => 'fts_shutter_automatic@green','Modusicon.ASTRO' => 'fts_shutter_updown@blue' }

und die DOIF´s die dann das Ganze steuern

##############################################################
##### Steuerung Automatik (FHEM=Zeit / ASTRO=sun(set/rise) oder HAND ####
##############################################################
define Rollo_AutomatikTZ2 DOIF ([RolloModTimeTZ:Modus] eq "FHEM" and ([[RolloModTimeTZ:Zeit_auf_WT]|8] or [[RolloModTimeTZ:Zeit_auf_WE]|7]) or [RolloModTimeTZ:Modus] eq "ASTRO" and [Tageslicht2] eq "hell") (set DU_TZ_Rollladen2 auf) DOELSEIF ([RolloModTimeTZ:Modus] eq "FHEM" and ([[RolloModTimeTZ:Zeit_zu]|8] or [[RolloModTimeTZ:Zeit_zu]|7]) or [RolloModTimeTZ:Modus] eq "ASTRO" and [Tageslicht2] eq "dunkel") (set DU_TZ_Rollladen2 zu)
attr Rollo_AutomatikTZ2 group doif
attr Rollo_AutomatikTZ2 room AAA
attr Rollo_AutomatikTZ2 sortby 40
##############################################################
##### Steuerung Automatik (FHEM=Zeit / ASTRO=sun(set/rise) oder HAND ####
##############################################################
define Rollo_AutomatikAZ2 DOIF ([RolloModTimeAZ:Modus] eq "FHEM" and ([[RolloModTimeAZ:Zeit_auf_WT]|8] or [[RolloModTimeAZ:Zeit_auf_WE]|7] or [[RolloModTimeAZ:Zeit_auf_WE]] and [BLN_Ferientag] == 1) or [RolloModTimeAZ:Modus] eq "ASTRO" and [Tageslicht2] eq "hell") (set DU_AZ_Rollladen2 auf) DOELSEIF ([RolloModTimeAZ:Modus] eq "FHEM" and ([[RolloModTimeAZ:Zeit_zu]|8] or [[RolloModTimeAZ:Zeit_zu]|7]) or [RolloModTimeAZ:Modus] eq "ASTRO" and [Tageslicht2] eq "dunkel") (set DU_AZ_Rollladen2 zu)
attr Rollo_AutomatikAZ2 group doif
attr Rollo_AutomatikAZ2 room AAA
attr Rollo_AutomatikAZ2 sortby 10
##############################################################
##### Steuerung Automatik (FHEM=Zeit / ASTRO=sun(set/rise) oder HAND ####
##############################################################
define Rollo_AutomatikBZ2 DOIF ([RolloModTimeBZ:Modus] eq "FHEM" and ([[RolloModTimeBZ:Zeit_auf_WT]|8] or [[RolloModTimeBZ:Zeit_auf_WE]|7]) or [RolloModTimeBZ:Modus] eq "ASTRO" and [Tageslicht2] eq "hell") (set DU_BZ_Rollladen2 auf) DOELSEIF ([RolloModTimeBZ:Modus] eq "FHEM" and ([[RolloModTimeBZ:Zeit_zu]|8] or [[RolloModTimeBZ:Zeit_zu]|7]) or [RolloModTimeBZ:Modus] eq "ASTRO" and [Tageslicht2] eq "dunkel") (set DU_BZ_Rollladen2 zu)
attr Rollo_AutomatikBZ2 group doif
attr Rollo_AutomatikBZ2 room AAA
attr Rollo_AutomatikBZ2 sortby 20
##############################################################
##### Steuerung Automatik (FHEM=Zeit / ASTRO=sun(set/rise) oder HAND ####
##############################################################
define Rollo_AutomatikLZ2 DOIF ([RolloModTimeLZ:Modus] eq "FHEM" and ([[RolloModTimeLZ:Zeit_auf_WT]|8] or [[RolloModTimeLZ:Zeit_auf_WE]|7]) or [RolloModTimeLZ:Modus] eq "ASTRO" and [Tageslicht2] eq "hell") (set DU_LZ_Rollladen2 auf) DOELSEIF ([RolloModTimeLZ:Modus] eq "FHEM" and ([[RolloModTimeLZ:Zeit_zu]|8] or [[RolloModTimeLZ:Zeit_zu]|7]) or [RolloModTimeLZ:Modus] eq "ASTRO" and [Tageslicht2] eq "dunkel") (set DU_LZ_Rollladen2 zu)
attr Rollo_AutomatikLZ2 group doif
attr Rollo_AutomatikLZ2 room AAA
attr Rollo_AutomatikLZ2 sortby 30
###############################################################

Hinweis:
Das DOIF "Rollo_AutomatikAZ2" sieht etwas anders aus (noch Test) weil ich eigentlich neben den
Wochenenden auch an Ferientagen die Rollos später öffnen will (geht noch nicht )

So, ich hoffe es hilft dem Einen oder Anderen (zumindest als Anregung) , sicher geht das alles eleganter !

Gruss Klaus

Ach ja, bin für Ideen / Verbesserungsvorschläge sehr empfänglich  :D



   

         
Titel: Antw:update readingsGroup
Beitrag von: buchner51 am 04 Januar 2016, 19:19:32
Hallo kvo 1,

das ist so ziemlich das was ich gesucht habe aber nur für ein paar Zeitschaltuhren.
Eigentlich wollte ich nur ein paar DOIF anlegen und die Zeiten über ein READING anzeigen bez. bearbeiten.

Leider bin ich etwas gescheitert, wo hast du die Bedeutungen für die READING und DOIF und DUMMY her?
Ich hab bisher keine Übersicht oder Liste mit Erklärungen gefunden.

Danke, für eine kurze Erklärung.
Titel: Antw:update readingsGroup
Beitrag von: bmwfan am 31 Januar 2016, 17:08:43
Hallo,
finde die Idee mit der readingsGroup für die Rolladenzeiten gut und wollte sie nachbauen, aber irgendwo scheint ein Fehler zu sein.
Folgende dummies habe ich angelegt (nur einer im code als Beispiel) und wollte sie in einer readingsgroup zusammenfassen
# --- Dummies für die Jalousien zur Speicherung der Zeiten erstellen
define du_Jal_time_KU_Ost dummy
attr du_Jal_time_KU_Ost group Jalousie
attr du_Jal_time_KU_Ost readingList Modus Zeit_auf_WE Zeit_auf_Arbeit Zeit_ab
attr du_Jal_time_KU_Ost room 1.2_Kueche
attr du_Jal_time_KU_Ost setList Modus:Auto,Hand Zeit_auf_WE:time Zeit_auf_Arbeit:time Zeit_ab:time
attr du_Jal_time_KU_Ost sortby 10
attr du_Jal_time_KU_Ost userReadings Modusicon { ReadingsVal("du_Jal_time_KU_Ost","Modus","Hand");;;;;;;; }
attr du_Jal_time_KU_Ost webCmd Modus:Zeit_auf_WE:Zeit_auf_Arbeit:Zeit_ab

ReadingsGroup:
# --- Readingsgroup für Jalousiezeiten
define rg_myJalousien readingsGroup <%fts_shutter_50@green>,<Zeit_auf_WE>,<Zeit_auf_Arbeit>,<Zeit_ab>,<>,<Modus> du_Jal_time_KU_Ost:Zeit_auf_WE,Zeit_auf_Arbeit,Zeit_ab,Modusicon,Modus du_Jal_time_KU_Fenster:Zeit_auf_WE,Zeit_auf_Arbeit,Zeit_ab,Modusicon,Modus
attr rg_myJalousien alias Jalousiensteuerung
attr rg_myJalousien commands {'Modus'=>'Modus:','Zeit_auf_WT'=>'Zeit_auf_WT:','Zeit_auf_WE'=>'Zeit_auf_WE:','Zeit_zu'=>'Zeit_zu:'}
attr rg_myJalousien mapping {du_Jal_time_KU_Ost=>"Küche Ostterrasse",du_Jal_time_KU_Fenster=>"Küche Fenster"}
attr rg_myJalousien nameStyle style="text-align:center;;;;;;;;;;;;;;;;color:green"
attr rg_myJalousien room 1.2_Kueche
attr rg_myJalousien valueIcon { 'Modusicon.Hand' => 'fts_shutter_manual@red','Modusicon.Auto' => 'fts_shutter_automatic@green' }

Leider werden die Felder für die Parametereingabe nicht wie gewünscht angezeigt:
Siehe Bild unten.

Hat jemand eine Idee, woran das liegen kann? Die Felder scheinen versetzt zu sein.

Gruß Jürgen
Titel: Antw:update readingsGroup
Beitrag von: makro123 am 14 Dezember 2016, 12:11:26

eine kleine einschränkung gibt es noch: die slider, drop down menüs & co werden (noch) nicht per longpoll aktualisiert wenn sich der wert im hintergund ändert.

gruss
  andre

Hallo,
besteht diese Einschränkung weiterhin?
Bekomme bei meinem Slider keine Aktualisierung per longpoll hin.

Gruß
Manu
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 15 Dezember 2016, 17:40:04
nein. longpoll updates sollten für alle widgets funktionieren.

kannst du das problem mit zwei dummys und einer readingsGroup nachstellen? wenn ja poste bitte mal ein beispiel.

gruss
  andre
Titel: Antw:update readingsGroup
Beitrag von: makro123 am 20 Dezember 2016, 11:46:29
Danke für die Info, habe es jetzt hinbekommen.
Hatte einen Fehler in meinem Modul, weil kein Event ausgelöst wurde.

Vielen Dank

Gruß
Manu

Titel: Antw:update readingsGroup
Beitrag von: jonien am 20 Januar 2017, 20:37:40
Hallo,
ich hoffe das "hier" richtig bin und mir jemand einen Tip geben kann, wo ich einen Denkfehler mache. Ich habe nachfolgende ReadingGroup angelegt: MAX Heizungsthermostate, Jeelink und WS_Cul Raumthermostate und Fensterstatus werden zur Übersicht und Steuerung in einer ReadingsGroup zusammengefasst. Es "funktioniert": Die Anzeige wird aktual. und die Temperaturparameter können eingestellt werden. ABER: Wird die ReadingsGroup angezeigt, werden zusätzlich viele Fehlermeldungen im LOG produziert. 
PERL WARNING: Useless use of private variable in void context at (eval 122771) line 2.2017.01.20 20:13:41 3 : eval: my $EVTPART0='temperature:';my $TYPE='LaCrosse';my $SELF='Tempdummy_Bad_noti';my $EVTPART1='18.2';my $EVENT='temperature: 18.2';my $NAME='Temp_14_Bad_LaCr';{ my $temp=ReadingsVal("Temp_14_Bad_LaCr","temperature","");

2017.01.20 20:13:46 3 : eval: my $EVTPART0='temperature:';my $TYPE='LaCrosse';my $SELF='Tempdummy_Bad_noti';my $EVTPART1='18.2';my $EVENT='temperature: 18.2';my $NAME='Temp_14_Bad_LaCr';{ my $temp=ReadingsVal("Temp_14_Bad_LaCr","temperature","");{fhem ("set Tempdummy_Bad $temp")} }

VG Jörg

define Heizung_1.OG readingsGroup <%sani_heating@black>,<Fenster>,<Raum-Temp>,<HzT ist>,<HzT soll>,<Valve-ist>,<Valve-mittel>,<Mode>,<T eco>,<T comf.>,<Fenst.auf>,<T MAX>,<Hzg-Batt.>,<Valve-ist>,<Valve-max>,<Valve-mittel>,<T min>,<T max>,<T mittel>,<Messzeit HzgTh>,<Fenst-Batt.> HzgTh.(WoZi|Buero|Bad|Kueche|SchZi|KiZi|Kellerbad):state@{$DEVICE=~s/HzgTh/Fenster/;;;;$DEVICE;;;;},state@{$DEVICE=~s/HzgTh/Tempdummy/;;;;$DEVICE;;;;},temperature,desiredTemperature,valveposition,valveposition_avg_day,mode,ecoTemperature,comfortTemperature,windowOpenTemperature,maximumTemperature,humidity,battery,valveposition,maxValveSetting,valveposition_avg_day,temperature_min_day,temperature_max_day,temperature_avg_day,<{ReadingsTimestamp($DEVICE,"state","")}>,battery@{$DEVICE=~s/HzgTh/Fenster/;;;;$DEVICE;;;;}\

attr Heizung_1.OG commands { 'desiredTemperature' => 'desiredTemperature:','comfortTemperature' => 'comfortTemperature:','ecoTemperature' => 'ecoTemperature:','maxValveSetting' => 'maxValveSetting:0,30,50,80,100','maximumTemperature' => 'maximumTemperature:','windowOpenTemperature' => 'windowOpenTemperature:' }
attr Heizung_1.OG group Heizung
attr Heizung_1.OG mapping { 'HzgTh_Bad' => '1OG Bad','HzgTh_SchZi' => '1OG Schlafzimmer','HzgTh_WoZi'=>'1OG Wohnzimmer','HzgTh_Kueche' => '1OG Küche','HzgTh_Buero' => '1OG Büro','HzgTh_Kellerbad' => 'Keller Bad','HzgTh_KiZi' => '1OG Kinderzimmer','Fenster.battery ""' => '---','Fenster_KiZi' => 'Fenster Kinderzimmer'  }
attr Heizung_1.OG nameStyle style="color:blue;;text-align:center"
attr Heizung_1.OG room MAX_Heizung_Übersicht,Max_Heizung
attr Heizung_1.OG valueFormat { 'temperature' => "%0.1f &deg;;C",'temperature_min_day' => "%.1f &deg;;C",'ecoTemperature' => "%.1f &deg;;C",'comfortTemperature' => "%.1f &deg;;C",'valveposition' => "%.0f %%",'maxValveSetting' => "%.0f %%",'valveposition_avg_day' => "%.0f %%", 'desiredTemperature' => "%.1f &deg;;C",'temperature_max_day' => "%.1f &deg;;C",'temperature_avg_day' => "%.1f &deg;;C",'<{ReadingsTimestamp($DEVICE,"state","0")}>' }
attr Heizung_1.OG valueIcon {'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red', 'state.closed' => 'fts_window_1w@lightgreen', 'state.opened' => 'fts_window_1w_open@red'}
attr Heizung_1.OG valueStyle { if($READING eq "temperature" && $VALUE > 20){ 'style="width:80px;; text-align:left;; border: 1px solid #ccc;; background: lightgrey;;color:green;;font-weight:bold"' }\
elsif( $READING eq "temperature" && $VALUE <= 18 ){ 'style="width:80px;; text-align:left;; border: 1px solid #ccc;; background: lightgrey;;color:blue"' }elsif( $READING eq "valveposition" && $VALUE >= 20 ){ 'style="width:80px;; text-align:left;; border: 1px solid #ccc;; background: lightgrey;;color:red"' }elsif( $READING eq "temperature" && $VALUE > 23 ){ 'style="width:80px;; text-align:left;; border: 1px solid #ccc;; background: lightgrey;;color:red"' }elsif( $READING eq "battery" && $VALUE => 0 ){ 'style="width:80px;; text-align:left;; border: 1px solid #ccc;; background: lightgrey;;color:red"' }else{ 'style="width:80px;; text-align:center;; border: 1px solid #ccc;; background: lightyellow;;color:black"' } }
Titel: Antw:update readingsGroup
Beitrag von: justme1968 am 19 Februar 2017, 22:59:36
schalte mal stacktrace ein und zeig wo die meldungen genau her kommen.