Neues Modul readingsGroup

Begonnen von Niko, 24 August 2013, 11:59:11

Vorheriges Thema - Nächstes Thema

justme1968

#1530
du musst auch noch setList verwenden: attr dm_eg.wg.SW.Fenster setList on off Delay:0,5,15,30,60,120,180
danach geht attr dm_eg.wg.SW.Fenster webCmd Delayaber wenn du schon die readingsGroup laufen hat brauchst du das ja nicht mehr.

falls du es doch einbaust wird der Delay teil in commands einfacher: ..., 'Delay' => 'Delay:', ...

die keys für einen hash (das links von =>) dürfen nur Strangs sein. für das was du möchtest musst du im wert des jeweiligen mapping eintrage perl code verwenden. etwa:attr rg.Dachfenster valueIcon {state => '%devStateIcon', temperature => '{return \'secur_lock@red\' if( $VALUE <= 2 ); return \'secur_open@lightgreen\' }' }

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

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

pschlaeppi

Hallo Andre,

Habe nun die Dummy Konfiguration mit dem setList noch angepasst, hatte bisher nicht gewusst dass da mehrere Internals (state) und Readings (Delay) gleichzeitig definiert werden können.

Wie es dann so geht, hat mich natürlich der Ehrgeiz gepackt und ich hätte auch gerne noch dry und rain mit dem icon humidity in Grün und Rot dargestellt und dafür valueIcon wie folgt erweitert:
attr rg.Dachfenster valueIcon {temperature => '{return \'secur_locked@red\' if( $VALUE <= 2 );; return \'secur_open@green\' }', state => '{return \'fts_window_roof@\' if( $VALUE eq \'Zu\');; return \'fts_window_roof_open_2@red\' if( $VALUE eq \'Auf\');; return \'humidity@green\' if( $VALUE eq \'dry\');; return \'humidity@red\' if( $VALUE eq \'rain\') }' }

Jetzt werden aber die Dachfenster Icons mit dem humidity icon angezeigt und beim Mouseover über das Icon wird der state als "on" angezeigt. Ich verwende aber bei Fenstern überall Zu und Auf mittels eventMap. Der Dummy selber funktioniert immer noch mit Zu und Auf. Bei setList verwende ich ebenfalls Zu und Auf.

Wenn ich valueIcon auf on statt Zu und auf off statt Auf umstelle kommen wieder die richtigen Icons.

Ist dieses nur machbar mit on und off oder hast du allenfalls für die Lösung dieses Problems auch noch einen Trick aus deinem unerschöpflichen Fundus?

Herzlichen Dank schon mal für die schnelle und unkomplizierte Hilfe, bin dir sehr dankbar.

Gruss Philipp

Elektrolurch

Hallo,

ich möchte in Abhängigkeit von state des TV Bedienungselemente dynamisch ein- oder ausblenden. Für anklickbare Icons ist das auch kein Problem: liefert das entsprechende Attribut für das reading undef zurück (valueFormat oder valueIcon) wird die Anzeige des Icons unterdrückt. Leider geht das aber nicht für Ausklapplisten (z.B. Sendermenü).
Das Sender-Menü wird wie die anklickbaren Icons über das Attribut commands definiert. Im Gegensatz zum Icon wird der Wert "undef" für das auszublendende Menü ignoriert.

Hier mal der Code:
define Mz_AB_rg readingsGroup Mz_Media:state,<{ReadingsTime($DEVICE,'state')}@state>,!VolumeD@Sonos_Marinas_Zimmer,!VolumeU@Sonos_Marinas_Zimmer,infoSummarize1@Sonos_Marinas_Zimmer Mz_Receiver:state,channel,input  <<

VolumeU, VolumeD sind klickbare Icons, channel und input Ausklappmenüs

commands {'state.on' => 'set $DEVICE aus', 'state.off' => 'set $DEVICE ein', 'VolumeD' => 'set $DEVICE VolumeD', 'VolumeU' => 'set $DEVICE VolumeU', 'channel' => 'channel:', 'input' => 'input:',

valueFormat { 'VolumeD' => '{(ReadingsVal($DEVICE,"state","appeared") eq "appeared")?MakeIconwithLabel("rc_VOLDOWN.svg",$VALUE,"leiser"):undef}','VolumeU' => '{(ReadingsVal($DEVICE,"state","appeared") eq "appeared")?MakeIconwithLabel("rc_VOLUP.svg",$VALUE,"lauter"):undef}', 'infoSummarize1' => '{(ReadingsVal($DEVICE,"state","appeared") eq "appeared")?$VALUE:undef}', 'channel' => '{ReadingsVal($DEVICE,"state","present") eq "present")?$VALUE:undef}', 'input' => '{ReadingsVal($DEVICE,"state","present") eq "present")?$VALUE:undef}' }

Für die Icons, die einschließlich des Labels anklickbar sind, klappt das so mit der valueFormat - Anweisung, für die Ausklapplisten nicht.

Was wünschenswert wäre und das Problem auch einheitlich behandeln würde, wäre folgendes:

commands {'rd1' => '{perl-Code, der das Kommando berechnet oder undef zurück liefert}',....
z.B.
commands {'input' => '{ReadingsVal($DEVICE,"state","present") eq "present")?"input:":undef}' }
geht aber leider derzeit so nicht.

Elektrolurch
configDB und Windows befreite Zone!

ext23

Hallo,

ich habe eine Frage zur ReadingsGroup in Verbindung mit Einfache Balkendiagramme. Ich habe es so gemacht wie im Wiki beschrieben. Aber irgendwie hat was mit den stylesheets nicht hin. Ich sehe die Balken, es sieht alles gut aus wie im Anhang 1. Kommt aber durch Longpoll ein Refresh, sehen die Balken etwas anders aus. Die Schriftart scheint sich zu ändern und dadurch wird alles dicker. Siehe Anhang 2. Hat hier jemand ein Tipp für mich an welcher Schraube ich drehen muss? Danke!

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Simon74

Ich würde gerne per valueFormat nur Devices anzeigen die das Alias Attribut gesetzt haben:

{ return $VALUE if ( ReadingsVal($DEVICE,"R-txThrHiPwr","") || ReadingsVal($DEVICE,"all_power","") );; return undef }


möglich ?

justme1968

wenn du den alias auch anzeigen willst: in der definition z.b. .*:+alias verwenden.
wenn du ihn nicht anzeigen willst einen filter verwenden: .*:FILTER=alias=.+:....
oder in deiner if bedingung noch ein AttrVal mit einbauen: if( AttrVal($DEVICE,'alias','') && (...) ).

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

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

DerFrickler

Hallo zusammen,

besteht die Möglichkeit diesem valueStyle noch eine Division durch 1000 hinzuzufügen? D.h., die Ausgabe, die mit der Formatierung "%.2f Wh" erfolgt noch mal durch 1000 zu dividieren damit es kWh werden?

{ ($VALUE ne "-") ? "%.2f Wh" : "-" }

Vielen Dank!

Lichti

Hallo,

kann man in der Überschrift zur Readingsgroup auch Umlaute verwenden ?

define WetterRG readingsGroup <>,<Tag>,<Temp.>,<gefühlt>,<Luftdruck>,<Tendenz>,<Feuchte>,<Sicht>,<>,<> YahooWetter:day_of_week,temp_c,wind_chill,pressure,pressure_trend_sym,humidity,visibility,condition,wind_condition,pubDate

Das ü von 'gefühlt' wird falsch dargestellt.
Hab schon gesucht, aber nichts dazu gefunden.

Danke

justme1968

wenn du im web frontend im def bereich gefühlt eingibst geht das ohne probleme. wenn dein telnet terminal auf utf8 steht auch. das gleiche würde für einen editor gelten. oder du verwendest &uuml; wie es bei html vorgesehen ist.

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

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

Lichti

Hab's mal mit <gef&uuml;hlt> probiert. Kommt dann aber 'unknown command'
Mach ich da  was falsch?

Und wie stelle ich denn auf utf8 ?

justme1968

; verdoppeln wenn du von hand editierst. gib es im DEF bereich ein
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Lichti

Hab es direkt in der fhem.cfg so eingetragen:

define WetterRG readingsGroup <>,<Tag>,<Temp.>,<gef&uuml;;hlt>,<Luftdruck>,<Tendenz>,<Feuchte>,<Sicht>,<>,<> YahooWetter:day_of_week,temp_c,wind_chill,pressure,pressure_trend_sym,humidity,visibility,condition,wind_condition,pubDate

Jetzt wird die Überschrift gar nicht mehr angezeigt.

Hast du noch einen Vorschlag?
Und vielen Dank für deine Mühe!

justme1968

stimmt. da hat sich ein fehler eingeschlichen. das geht ab morgen wieder.

wenn du das ü über den DEF bereich eingibst sollte es wie gesagt aber trotzdem gehen.

gruss
  andre

ps: du solltest die config nicht selber bearbeiten...
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Lichti

OK, dann werde ich morgen mal updaten und testen.

Lichti

Hab deinen Rat befolgt und die Änderung über den def-Bereich gemacht.
Jetzt sind die Umlaute da.
Und hab mir dann die fhem.cfg runterkopiert und damit auch die aktuellen Werte in meiner fhem.cfg auf dem PC.

Danke nochmal