readingsgroup Verständnissfragen :(

Begonnen von eldrik, 16 November 2013, 08:46:00

Vorheriges Thema - Nächstes Thema

wolly72

ach ja mit dem Attribut "devStateIcon" wollte ich eigentlich die Farbe des Icons ja nach Zustand ändern, funktioniert aber nicht, der Schreibfehler ist bereits korrigiert :)

justme1968

readingaGroup kennt kein devStateIcon attribut bzw. das ist das globale attribut das dich auf das state icon der readinsGroup selber bezieht. das gibt es aber nicht. warum das bei dir überhaupt etwas tut muss ich rausfinden.

für das was du möchtest ist das valueIcon attribut der readingsGroup zuständig.

das mappt einen readings wert auf ein icon das statt dessen dargestellt wird

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

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

wolly72

Ok, "devStateIcon" Attribut gelöscht,
aber der Zeitstempel aktualisiert sich weiterhin nicht und das Symbol verschwindet nach einer Minute und wird durch eine "1" errsetzt

justme1968

ich schau es mir heute abend an.

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

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

justme1968

ich hab den Fehler gefunden. ab morgen ist die reparierte version im update.

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

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

wolly72

#20
Ja cool.
Danke.


:D :D :D funktioniert  :D :D :D

fhainz

Hallo!

Ich mal wieder ein Problem. Ich würde gerne eine ReadingsGroup von mehreren S300TH's erstellen. Sollte ca. so aussehen:
Wohnzimmer: Temperatur: 20°C Luftfeuchtigkeit: 58%

define wzTemperaturenRG readingsGroup <Wohnzimmer:>,Wohnzimmer:,<Temperatur>,temperature,<Luftfeuchte>,humidity
attr wzTemperaturenRG alias Temperaturen
attr wzTemperaturenRG group TemperaturenRG
attr wzTemperaturenRG noheading 1
attr wzTemperaturenRG nostate 1
attr wzTemperaturenRG notime 1
attr wzTemperaturenRG room 1. Wohnzimmer
attr wzTemperaturenRG valueFormat {temperature => "%.1f °C", humidity =>"%.1f %%" }
attr wzTemperaturenRG valueStyle { if($DEVICE eq "Wohnzimmer" && $READING eq "temperature" && $VALUE > 23) { 'style="color:red"'}elsif($DEVICE eq "Wohnzimmer" && $READING eq "temperature" && $VALUE > 21) { 'style="color:orange"'}elsif($DEVICE eq "Wohnzimmer" && $READING eq "temperature" && $VALUE < 20) { 'style="color:blue"'}elsif($READING eq "humidity" && $VALUE > 65) { 'style="color:red"'}elsif($READING eq "humidity" && $VALUE > 60) { 'style="color:orange"'}else{'style="color:green"'} }


funktioniert leider nicht. Wenn ich das define auf
define wzTemperaturenRG readingsGroup Wohnzimmer:,<Temperatur>,temperature,<Luftfeuchte>,humidity
ändere funktioniert es, aber es wird nicht der Name des S300TH angezeigt.

Hat jemand eine Idee?

Grüße

justme1968

das problem ist der doppelpunkt bei <Wohnzimmer:>.

das ist immer der trenner zwischen device und reading regex und ohne 'richtigen' parser nicht vernünftig in den griff zu bekommen. deshalb sind in den <> ausrücken manche zeichen wie z.b. ':' nicht erlaubt. wenn du sie brauchst geht das entweder mit '&colon;' oder über die <{...}> version in dem du im perl ausdruck eine sub aus 99_myUtils.pm aufrufst die dann jeden beliebigen string zurück liefern kann. zum beispiel eine die an den übergebenen string ein ':' anhängt.

das zweite problem ist das es einen bug gibt wenn ein <...> element an erster stelle steht. dann wird die zeilenüberschrift übergangen. das bringe ich in ordnung.

wenn du bis dahin damit leben kannst das die label ebenfalls eingefärbt werden kannst du bis dahin das hier verwenden:define wzTemperaturenRG readingsGroup s300ht_1:temperature,humidity
attr wzTemperaturenRG mapping %ALIAS:
attr wzTemperaturenRG valueFormat {temperature => "Temperatur %.1f %deg;C", humidity =>"Luftfeuchte %.1f %%"


oder das hier mit korrekter farbe:define wzTemperaturenRG readingsGroup s300ht_1:state,<Temperatur>,temperature,<Luftfeuchte>,humidity
attr wzTemperaturenRG mapping %ALIAS:
attr wzTemperaturenRG valueFormat {state => " ", temperature => "%.1f %deg;C", humidity =>"%.1f %%"


spätestens übermorgen hab ich es repariert und dann geht ganz normal:define wzTemperaturenRG readingsGroup s300ht_1:<Temperatur>,temperature,<Luftfeuchte>,humidity
attr wzTemperaturenRG mapping %ALIAS:
attr wzTemperaturenRG valueFormat {temperature => "%.1f %deg;C", humidity =>"%.1f %%"



statt %ALIAS kannst du auch %DEVICE oder %ROOM verwenden oder wenn keins davon passt einfach Wohnzimmer

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

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

fhainz

Das mit dem Wohnzimmer: war ein blödes Beispiel. Hatte es schon vorher ohne : versucht, in allen Variationen ;)
Super das du das einbaust bzw. fixed. Danke!

Ich werd es in der Zwischenzeit mit deinem tipp versuchen!

Grüße

justme1968

ich hab es eben eingecheckt.

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

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

fhainz


fhainz

Jetzt wird ja immer der alias angezeigt.

Schaff ich es irgendwie das ich
Aktuell: 200W Durchschnitt: 100W Heute: 3kWh Gesamt: 100kWh
angezeigt bekomm ohne den alias zu entfernen?

define stromverbrauchGesamtRG readingsGroup stromverbrauchGesamt:<Aktuell>,power,<Durchschnitt>,power_avg_day,<Heute>,consumption,<Gesamt>,consumptionTotal
attr stromverbrauchGesamtRG alias Stromverbrauch
attr stromverbrauchGesamtRG group 1. Aktuell / Gesamt
attr stromverbrauchGesamtRG noheading 1
attr stromverbrauchGesamtRG nostate 1
attr stromverbrauchGesamtRG notime 1
attr stromverbrauchGesamtRG room 5.1 Strom
attr stromverbrauchGesamtRG valueFormat {power => "%.1f W", power_avg_day =>"%.2f W", consumption => "%.2f kWh", consumptionTotal => "%.2f kWh" }
attr stromverbrauchGesamtRG valueIcon { state => '%devStateIcon' }
attr stromverbrauchGesamtRG valueStyle { if($READING eq "power" && $VALUE > 1000) { 'style="color:red"'}elsif($READING eq "power" && $VALUE > 500) { 'style="color:orange"'}elsif($READING eq "consumptionTotal" || $READING eq "CO2"){'style="color:black"'}else{'style="color:green"'} }


Grüße

justme1968

z.b. mit
attr stromverbrauchGesamtRG mapping &nbsp;

wenn dein broswer das kann geht auch . das hat keine breite.

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

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

fhainz

Perfekt danke!

Kann es sein das viele readingsGroups das Verhalten von FHEM beeinflussen. Mir kommt vor das je mehr readingsGroups ich mache FHEM immer langsamer wird?

grüße

justme1968

die readngsGroups kommen nicht umsonst und fhem muss natürlich die events verarbeiten. auch wenn eine readingsGroup gerade nicht angezeigt wird.

vermutlich lässt sich auch noch einiges optimieren. dazu wäre es aber gut wenn du etwas mehr als nur einen verdacht hast.

ich schaue mir das mal genauer an.

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

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