FHEM Forum

FHEM => Frontends => readingsGroup / readingsHistory => Thema gestartet von: Niko am 24 August 2013, 11:59:11

Titel: Neues Modul readingsGroup
Beitrag von: Niko am 24 August 2013, 11:59:11
Hallo,

vielen Dank für das neue Modul. Ich kann es (wahrscheinlich) gut gebrauchen.

Eine Anmerkung, eine Frage und eine Anregung dazu:

Wenn ich es richtig verstehe muss das Modul am Ende der "fhem.cfg" aufgerufen werden. Zumindest bei mir erkennt es sonst andere Module, die vor (!) ihm selber in der fhem.cfg stehen nicht. Ist das so richtig?

Mit dem Attribut "mapping" kann man die Namen der Readings ändern. Dies funktioniert bei mir aber nur wenn ich aus der Liste ausschließlich den Reading Namen (z.B. temperature) und nicht zusätzlich den Modulnamen verwende (z.B. Max_Ht_01.temperature). Wenn ich nun mehrere "temperature" Einträge von verschiedenen Modulen habe (also im Beispiel mehrere Max Heizungs Thermostate) wie kann ich diesen jeweils einen eigenen Namen (z.B. Bad, Wohnzimmer etc.) zuweisen? Oder mahe ich hier noch etwas falsch?

Abschließend noch die Anregung (ich hoffe es wird nicht unverschämt :-) Wenn man Zugriff auf die Alias Namen der einzelnen Module hätte und diese statt des Modul Namens in der Liste anzeigen könnte, hätte ich gleich die richtige Benennung (Bad, etc.) ohne mapping verwenden zu müssen.

Nachmals vielen Dank für das neue Modul!

VG Niko
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 24 August 2013, 12:09:31
- die interne device liste wird immer aktualisiert wenn devices hinzugefügt oder gelöscht werden. scheinbar funktioniert das nicht richtig wärend des startens von fhem. ich baue die liste jetzt auch ein mal auf wenn ich das INITIALIZED von fhem bekomme. damit solle es keine rolle mehr spielen wo die readingsGroup innerhalb von fhem.pl steht.

- das schaue mir mir an das sollte eigentlich gehen.

- der vorschlag mit dem alias ist gut.


gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 24 August 2013, 17:30:36
ich habe das mapping eben gerade mit <device>.<reading> probiert und es geht ohne probleme.

bitte poste mal ein list deiner readingsGroup und des devices bei dem es nicht geht.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 24 August 2013, 20:47:31
ab morgen wird der alias statt dem namen in der default ansicht verwendet.

zusätzlich zu %DEVICE und %READING kann dann auch %ALIAS im mapping verwendet werden.

das mapping kann ausser dem perl ausdruck das einen hash zurück liefert jetzt auch ein einfacher string sein z.b.:attr <device> mapping %READING im %ALIAS

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Niko am 25 August 2013, 12:05:26
Hallo Andre,

vielen Dank für Deine schnelle Reaktion und die konstruktive Antwort! Ich bin immer wieder begeistert wie schnell und gut einem hier geholfen wird.

Betreff des mapping habe ich mir das Beispiel aus der Commandref zum Vorbild genommen: attr temperatures mapping {temperature => "%DEVICE Temperatur"}. Ich habe dies dann mit dem Modul Sysstat probiert. Dieses heißt bei mir "RPiDB_Util_SysStat00" und das reading "temperature". In readingsGroup erscheint also "RPiDB_Util_SysStat00:temperature". Ich habe dann eingegeben:

{RPiDB_Util_SysStat00:temperature => "temp"}

Aufgrund Deines Posts habe ich es dann nochmal mit einem"." versucht, also:

{RPiDB_Util_SysStat00.temperature => "temp"}

Ebenfalls keine Änderung.


(siehe Anhang / see attachement)


Ein {temperature => "temp"} funktioniert hingegen einwandfrei.

Da es aber bei Dir funktioniert sitzt des Problem wohl vor (meiner) Tastatur, sprich ich mache etwas bei dem mapping falsch.

Abermals vielen Dank im Voraus und ich freue mich schon auf die Version mit dem "alias".

VG Niko

 
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 25 August 2013, 12:42:24
der punkt ist richtig.

sobald es den punkt im key gibt musst du ihn in anführungszeichen setzen. also { "<device>.<reading>" => ...

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Niko am 25 August 2013, 18:43:37
Danke, das war es.

VG Niko
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 26 August 2013, 18:58:35
Zitat von: Niko schrieb am So, 25 August 2013 18:43Danke, das war es.

VG Niko
Hallo,

habe auch von weblink auf readingsGroup umgestellt. War ja nicht so schwer.
Aber jetzt wollte ich verschidene _Variablen mischen, unter anderem auch zwei dummys. Die haben ja keine readings, sondern nur "state". Ich bekomme auch die mit in die Anzeige, aber das mapping für das Label klappt irgendwie nicht. Was mache ich da falsch?
Code
define ts2 readingsGroup ts:voltage ts:energy ts:power EnergieGestern:state Energie24:state
attr ts2 alias Teststeckdose
attr ts2 group Geräte
attr ts2 mapping {{ 'ts.voltage' => 'Spannung: ', 'ts.energy' => 'Energieverbrauch gesamt: ', 'ts.power' => 'Aktueller Verbrauch: ', 'EnergieGestern.*' => 'Verbrauch bis Gestern: ', 'Energie24.*' => 'Verbrauch in den letzten 24 h: '}}

EnergieGestern und Energie24 sind die zwei dummys, die einmal in der Nacht berechnet werden. Könnte man zwar ev. auch mit "userattr"s machen, aber da sind die 24 h nach meinem jetzigen Kenntnisstand ein Problem.
In den mappings habe ich auch schon Energie24.* und nur Energie24 usw. aber der Ersatztext für die zwei dummys will einfach nicht erscheinen....


Elektrolurch
Titel: Aw: Neues Modul readingsGroup
Beitrag von: stromer-12 am 26 August 2013, 19:38:46
mach doch aus dein 'EnergieGestern.*' ein 'EnergieGestern.state' usw.
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 26 August 2013, 20:25:11
du kannst bei den keys keine regex verwenden. es muss wirklich zwei mal <device>.state heißen. oder ein mal allgemein 'state => "%DEVICE state"'

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 27 August 2013, 09:35:30
Hallo Andre,

klappt. Danke.
Aber jetzt habe ich einige Fragen:
1. Mit dem Modul kann man zeilenweise "Name" -> Wert darstellen. Wäre es denkbar, dass man auch mehrere Werte in einer Zeile darstellen kann, wie z.B.:
"Temperatur" "Min" "Max".
Man bräuchte dann noch einen optionalen Parameter für die Zahl der Spalten.
2. Kann man den darzustellenden Wert ev. über ein Perl-Skript modifizieren? Zum Beispiel würde ich gerne das Datum (yyyy-mm-dd_hh:mm:ss) über eine Perlfunktion in "lesbare" Form umwandeln.
3. Gibt es ein Modul / Möglichkeit mehrere Datensätze gesammelt auszugeben? Beispiel: Derzeit zeige ich aus dem FB-Call-Monitor den letzten entgangenen Telefonanruf und den letzten geführten Anruf an. Würde aber gerne die letzten (max.) 5 Anrufe anzeigen lassen. Sammeln könnte man die ja über ein notify. Und dann müsste man die etwas umständlich nacheinander in fünf dummys sammeln und ein Rollieren der Daten noch programmieren. Andere Anwendung wäre die Anzeige der letzten gemessenen Temperaturwerte. Das würde doch für ein Modul sprechen. Ev. gibt es das ja schon und der Name ist nicht so sprechend, dass ich es gefunden hätte.
4. Habe das ganze Forum durchsucht. Dabei auch Deine Diskussion mit Rudolf über webCMD und defstateIcons mit großem Interesse gelesen. Für webCmd gibt es ja nur den Slider und den time-Picker. Ich vermisse ein einfaches Textfeld.
Da gibt es genügend Anwendungsfälle: Ich habe für alle Steuerparameter eine zentrale Seite "Automation", da stelle ich über setlist eine ganze Menge Parameter ein. Das geht aber nur bedingt. Zum Beispiel möchte ich die Telefonnumer (für Alarmierungen) oder die Mailadresse frei definieren können und nicht im Perl-Code festlegen. Dazu ein dummy nutzen. Aber wie bekomme ich ein Textfeld an das dummy?
Danke.

Elektrolurch
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 27 August 2013, 10:46:00
1. würde ich anders lösen und nicht die readingsGroup erweitern: bau dir im original device mit stateFormat eine anzeige die min max und current enthält oder ein userReading das das ein neues reading mit allen dreien enthält. bei letzterem kannst du es dann auch wieder über eine readingsGroup aus mehreren devices gemeinsam darstellen.

2. das steht noch auf der todo liste. valueFormat als %xx string um die werte z.b. einheitlich zu runden und als {} perl ausdruck um mehr zu machen.

3. auch das würde ich im original device mit notifys oder userReading machen. nur um ein paar werte aufzuheben braucht es keinen dummy. viel besser finde ich es die werte als zusätzliches readings im oringinal device zu speichern. das neue setreading sollte hier hilfreich sein.

4. wenn ich das richtig sehe gibt es noch kein text feld für die webCmds. aufgrund der diskussion gibt es aber inzwischen eine methode die möglichen widgets selbst zu erweitern. ich habe das schon verwendet um dein colorpicker für die farbigen lampen dort einzubauen. wie das geht ist im wiki und unter hier beschrieben:Link (http://forum.fhem.de/index.php?topic=12460.msg74762#msg74762). du findest noch en paar stellen wenn du nach webCmdFn suchst.

die idee hinter der readingGroup ist das es sich nur um die reine anzeige handelt. intern werden keinerlei readings gespeichert und nichts dupliziert. d.h. alles was formatierung angeht ist dort richtig aufgehoben. alles was speichern angeht gehört ins original device.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 27 August 2013, 13:15:49
ich habe eben eine neue version eingecheckt. damit gibt es ein neues attribut valueFormat. das ist auf drei unterschiedliche arten verwendbar:attr temperatures valueFormat %.1f &deg;C
attr temperatures valueFormat { temperature => "%.1f &deg;C", humidity => "%.1f%" }
attr temperatures valueFormat { ($READING eq 'temperature')?"%.1f &deg;C":undef }

gruss
  andre

edit: valueFormat geht jetzt auch bei longpoll updates.
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 27 August 2013, 22:52:18
Hallo Andre,

danke für die Tipps.
Die Erweiterung mit der Formatierung und Perl-Code werde ich mal in den nächsten Tagen ausprobieren.
Allerdings würde ich die Möglichkeit, eine mehrspaltige Ausgabe in readingsGroup dochz favorisieren, da ansonsten doch immer ein ziemliches Herumgefrickel notwendig ist.
Zitat:
1. würde ich anders lösen und nicht die readingsGroup erweitern: bau dir im original device mit stateFormat eine anzeige die min max und current enthält oder ein userReading das das ein neues reading mit allen dreien enthält. bei letzterem kannst du es dann auch wieder über eine readingsGroup aus mehreren devices gemeinsam darstellen.
Könnte aber dann auch mit dem "normalen Ablauf" (schalten auf on oder off, stateformat) in Konflikt kommen.
Ich habe zwar noch kein Modul programmiert, aber ich denke, dass das "Umbrechen" in eine neue Zeile bzgl. der Werteliste auf Grund eines optionalen Parameters "Nr. Coloumns") nicht so schwierig sein sollte zu implementieren.
 Für viele Anwendungen, und das hatte ich ja schon geschrieben, liegt es nahe, bei einer tabellarischen Darstellung von mehreren Devices auch pro Device in einer Zeile gleich mehrere Werte anzuzeigen. Wie Du schon sagtest: readingsGroup ist für die Ausgabeformattierung und Anzeige gedacht. Ich denke, das wäre wirklich eine sinnvolle Erweiterung.

Gruß


Elektrolurch
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 27 August 2013, 23:12:02
du hast den zweiten vorschlag übersehen. nimm ein userReading im original device. das ist genau der mechanismus den du möchtest um mehrere readings zu einem zusammen zu fassen. angesehen davon das es doof wäre etwas was es schon gibt noch mal zu bauen wäre es in der readings group viel unhandlicher zu bedienen. es über irgendwelche umbrüche oder spalten zu machen kommt auch mit diversen interen annahmen des dreispaltigen aufbaus der tabellen in die quere und longpoll geht auch nicht mehr bzw. wird sehr ineffizient.

versuch es mal mit einem userReading im original device. es ist wirklich einfach und wird genau das tun was du willst.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Niko am 02 September 2013, 14:56:37
Hallo Andre,

zunächst noch einmal vielen Dank für die Beantwortung meiner Fragen und die Aufnahme des "Alias". Ich nutze das Modul zunehmend und bin immer wieder begeistert über die Möglichkeiten der Einstellung.

Wie schon beim letzten Mal auch heute wieder drei Dinge :-)

Zunächst noch einmal zu dem Punkt an welcher Stelle das Modul eingebunden werden muss. Deine Änderung ("ich baue die liste jetzt auch ein mal auf wenn ich das INITIALIZED von fhem bekomme") funktioniert, nach einem Neustart sind die Daten vorhanden. Nach einem "rereadcfg" funktioniert es allerdings so noch nicht. Diesen "rereadcfg" benötige ich (man), da ich Include-Dateien für fhem.cfg habe. Wenn ich in diesen Include Dateien etwas ändere und dann "rereadcfg" durchführe erkennt dies "readingsGroup" nicht. Ggf. wäre es ja noch möglich auch dieses zu berücksichtigen.

Dann eine kleine optische Sache. Ich verwende das Modul zusammen mit dem Attribut "group". Dieses Attribut setzt in der Anzeige noch einen extra Rahmen um alle Module mit den Attribut (im jeweiligen Raum). Hier fügt "readingsGroup" eine Leerzeile an Ende ein. Im Quellcode ist die die Zeile 293 mit " $ret .= "</br>";" (denke ich, wenn ich diese auskommentiere ist zumindest die Leerzeile weg). Wenn möglich wäre es schön wenn dies bei Gelegenheit geändert werden könnte. Folgend ein Bildschirmabdruck hierzu.


(siehe Anhang / see attachement)


Zum Schluss noch eine ganz andere Sache / Überlegung. Ich nutze hier Fhem2Fhem im Log Modus. Ich erhalte also von dem anderen System ("Logger") die Events und kann diese auch in "Event Monitor" sehen. Die Daten werden in eine Datenbank geloggt. Neben dem Log wollte ich gerne im Fhem Haupt System sehen welche aktuellen Werte der Logger als letztes übermittelt hat. Hierzu gibt es (Beitrag finde ich gerade nicht wieder) eine Diskussion mit Rudolf König. Dort sagte er, dass es so etwas bisher noch nicht gibt und man sich selber eine entsprechende Routine erstellen kann/könnte. Dies habe ich getan (überwiegend aus FileLog, bzw. DbLog abgeschrieben, da diese Module die Events erkennen und auswerten).
Wäre es möglich dieses, also die Events eines mit Fhem2Fhem angebundenen Systems in readingsGroup mit aufzunehmen? Wir hätten dann ein einerseits ein offizielles Modul, dass dies könnte und könnten andererseits sogar gleichzeitig die hervorragenden Möglichkeiten von readingsGroup für diese Daten nutzen. Ich habe aber keine Vorstellung ob dies überhaupt und wenn ja mit welchem Auffand möglich ist. Auch habe ich vollstes Verständnis wenn dies nicht gewünscht ist.

Abermals vielen Dank in Voraus
VG Niko

Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 02 September 2013, 15:11:03
ich verwende rereadcfg nicht weil es alle möglichen probleme verursacht. wenn du sowieso etwas von hand machst kannst du ein modify auf die readingsGroup machen und einfach die gleichen aktuellen parameter noch mal angeben. oder im web frontend in der detail ansicht einmal auf DEF klicken und einfach ohne änderung modify klicken. ich baue gleich noch ein 'set <device> refresh' ein.

das mit der leerzeile schaue ich mir an. ich meine aber die hatte ich extra eingebaut weil sonst der abstand ohne group zu klein ist.

das mit dem fhem2fhem kann ich einbauen. es wird aber die einschränkung haben das du weder device noch reading per regex angeben kannst sondern es genau passen muss.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 02 September 2013, 16:02:02
ich habe eben einen version eingecheckt die auch mit rereadcfg klar kommen müsste.

das <br> ist mal probehalber entfernt. schau mal ob es besser ist so.

wegen dem fhem2fhem: die readingsGroup würde nur events anzeigen die seit dem letzten browser refresh neu rein gekommen sind. direkt nach dem refresh würden die devices alle mit leerem reading angezeigt. ist das das was dir vorschwebt?

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Niko am 02 September 2013, 16:18:05
Hallo Andre,

danke für die schnelle Antwort.

Das mit dem "rereadcfg" geht i.O. (hätte ich auch selber drauf kommen können, danke für den Tipp).

Betreff Fhem2Fhem würde mir eine eins zu eins Beziehung ausreichen. In dieser Form wurde es auch in dem Betrag mit Rudolf diskutiert. Wenn man Einschränkungen benötigt kann man ja sowohl auf dem Logger System "event on ..." benutzen als auch den Regex bei Fhem2Fhem entsprechend setzen.

Ein späteres Zusammenfassen mehrere "readingsGroup" Module wird wohl so nicht möglich sein, oder? Ich denke ich hatte in Deiner Beschreibung (hier im Forum) so etwas gelesen.

Ich kann es gar nicht oft genug sagen: Es ist schon sehr beeindruckend wie du dich hier um "Deine" Anwender kümmerst!  

VG Niko

 


Titel: Aw: Neues Modul readingsGroup
Beitrag von: Niko am 02 September 2013, 16:27:51
Hallo Andre,

jetzt muss ich doch mal dumm fragen: Du hast die Version eingecheckt, wenn ich update eingebe erhalte ich Sie aber noch nicht. Erfahrungsgemäß dauert es etwa einen Tag bis neu eingecheckte Module bei mir erscheinen.

Kann ich das irgendwie beschleunigen?

Abermals Danke und VG Niko
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 02 September 2013, 17:48:37
ja. es ist eingecheckt. die versionen die per update kommen werden ein mal jeden morgen 7:45 zusammengestellt.

wenn du es vorher möchtest musst du es selber per svn auschecken.


was meinst du mit zusammenfassen ?

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 02 September 2013, 18:04:11
Hallo Andre,

am Wochenende mich mit readingsGroup befasst. Klappt prima. Tolles Modul. Mit den perl-Ausdrücken für das mapping und das value-Format kann man ganz schön abgedrehte Sachen hinbekommen.
Aber ich habe da zwei Fragen:
a) Ich verstehe noch nicht so ganz den Unterschied z.B. zwischen $DEVICE und %DEVICE. Wann muss ich da was verwenden? Habe es zwar durch ausprobieren hinbekommen... ?
b) Im Kommentar zu den Parametern steht:
◦mapping
Can be a simple string or a perl expression enclosed in {} that returns a hash that maps reading names to the displayed name. The keys can be either the name of the reading or <device>.<reading>.
..und...
◦valueFormat
Specify an sprintf style format string used to display the reading values. Can be given as a string, a perl expression returninga hash or a perl expression returning a string, e.g.:
...
also: return a hash...
Ich komme da wieder auf mein Problem zurück, dass ich mehrere Werte aufheben will. Angenommen, ich würde die immer an ein userreading anhängen, mit einem Seperatorzeichen. Könnte man dann nicht aus diesem String mit split einen Hash erzeugen, der dann eine variabel lange Liste an readingsGroup zurückliefert?
Oder liege ich da völlig falsch?

Elektrolurch
 
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Niko am 02 September 2013, 18:31:45
Hallo Andre,

a) rereadcfg funktioniert jetzt ebenfalls einwandfrei.

b) die Leerzeile nach der Tabelle ist weg.

Mit zusammenfassen meinte ich folgendes: Du schreibst, "es wird aber die Einschränkung haben das du weder device noch reading per regex angeben kannst sondern es genau passen muss." Ich hatte dies so verstanden, dass ein Modul auf dem Logger System (z.B. ein Max Heizungsthermostat) genau ein readingsGroup Modul auf dem Zielsystem ergibt. Ein readingsGroup über z.B. alle Heizungsthermostaten des Loggersystems (also via fhem2fhem) wäre nicht möglich.

Oder, und darauf bezog sich meine Anmerkung man kann mehrere readingsGroup zu einem weiteren readingsGroup zusammenfassen.

Dir erstmal wieder vielen, vielen Dank

Niko
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 02 September 2013, 18:32:25
die mit $ sind 'richtige' perl variablen die in perl code zwischen den {} verwendet werden können.

die mit % sind nur 'marker' die mit suchen und ersetzen in den ergebniss strings der hashes ersetzt werden. die gab es schon in der weblink version. bevor es die erweiterung mit dem richtigen perl code gab.

ich denke ich werde beim  suchen und ersetzen auch die variante mit $ zulassen. dann braucht man sich keine gedanken mehr machen wo welche version zu verwenden ist.

die readingsGroup speichert zu keiner zeit (auch nicht temprär) irgendwelche readings. weder eigene noch andere. es werden nur events umgebogen. d.h. selbst wenn ich wollte könnte ich mir keine history merken.

der richtige platz dafür ist wirklich das original device. erzeuge dir einfach die zusätzlichen readings mit userReadings oder aus einem notify.

diese zusätzlichen readings aus dem originaldevice kannst du dann entweder wie gewohnt in einer readingsGroup verwenden oder so ähnlich wie in deinem vorschlag mit valueFormat in eine zeile packen.

speichern im originaldevice, formatieren mit der readingsGroup.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 02 September 2013, 18:41:33
Hallo Andre,

ok, dass mit % und $ habe ich jetzt geschnallt. Gut zu wissen, spart herum probieren.
Das hatte ich auch so verstanden: Die Werte will ich in userReadings im device sammeln und über readingsGroup ausgeben.
Die Frage war jetzt nach dem Hash´, der ja von valueformat verstanden wird. Die Überlegung war, aus der einen im device gespeicherten userReading über valueFormat einen Mehrzeiler zu generieren. Geht das mit einem Hash? Und wie könnte ich den zusammenbauen?

Elektrolurch
P.S.: So langsam macht das einen höllischen Spaß und meine Mädels zu Hause haben sich auch schon daran gewöhnt, dass da Dinge ganz von selber passieren...
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 02 September 2013, 18:43:31
die einschränkung ist das du für jede zeile in der readingsGroup fest angeben musst welches fhem2fhem event dazugehört. du kannst weder auf device noch auf event ebene eine regex verwenden. das problem ist das ich nicht so wie bei einem normalen device mit der regex 'nachschauen' kann welche devices und readings es wirklich gibt und welche ich davon dann verwende.

du kannst aber ganz normal mehr als ein remote device in einer readingsGroup zusammenfassen je auch mit lokalen devices mischen. also z.b. alle temperaturen aller genau angegebenen fhem2fhem termostate geht ohne probleme. beliebige readings die vorher nicht bekannt sind geht aber nicht.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Niko am 02 September 2013, 18:46:58
Spitze!!!!

Besser geht kaum noch.
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 02 September 2013, 18:49:46
noch was vergessen: in der readingsGroup wird nichts gespeichert. d.h. die events die per fhem2fhem kommen würden werden nur angezeigt so lange die readingsGroup im web browser zu sehen ist. wenn du ein refresh machst sind die werte erst mal wider leer bist neue events rein kommen,

gilt das spitze immer noch :) ?
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 02 September 2013, 18:58:22
@elektrolurch: wenn du die call history in einer zeile haben möchtest musst den format string entsprechen zusammen bauen. also z.b. etwas in der art:{"%s ".ReadingsVal("<device>"history1","").",".ReadingsVal("<device>"history2","").","...}
also einen sprintf format string so zusammen bauen in dem an einer stelle ein %s für das aktuelle reading vorkommt und ansonsten alles was du sonst noch anzeigen möchtest. z.b. die history mit ReadingsVal elementweise dran hängen.

wenn du das mit dem hash kombinieren willst müsste das auch gehen.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 02 September 2013, 19:02:02
Hallo Andre,

wenn die Werte aber in einem device gespeichrt wurden und dann wird die Webseite mit der readingsGroup aufgerufen, dann werden aber die im device gespeicherten Werte angezeigt, OHNE das da ein neues Ereignis dazu am device eingehen muss, oder?
Ich hatte das mit der "Alarmzeit" (userReading bei den FS20 PIRU), da hatte ich den Eindruck, dass die gespeicherten Zeiten plötzlich in der readingsGroup leer blieben, nach dem ich die Seite erneut aufgerufen habe. Konnte es aber nicht so richtig nachvollziehen.

Gruß

Elektrolurch
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Niko am 02 September 2013, 19:06:56
Aua, ich hoffe ich verstehe "refresh" jetzt falsch.

Beispiel:

Ich habe auf der Logger Seite 3 Max Heizkörper Thermostate. Diese übermitteln ca. alle 5 Minuten ihre Temperatur per Fhem2Fhem.

Auf der Server Seite habe ich einen Raum mit einer readingsGroup, welche die Temperaturen der 3 Thermostate enthält. Wenn ich diesen Raum jetzt aufrufe (Thermostate haben seit Start von FHEM schon einmal die Temperaturen übermittelt), sehe ich dann die Temperatur?

Falls ja: Jetzt mache ich eine "refresh" der Seite (F5). Was sehe ich dann?

Wenn ich beim Aufruf des Raums die (letzten) Temperaturen nicht sehe macht das wenig Sinn. Dann spar Dir besser die Arbeit (deshalb hatte ich zu Anfang geschrieben "wenn dies überhaupt möglich ist").

Gehe jetzt kurz zum Abendessen. So wie ich dich heute erlebt habe ist die Antwort danach schon da :-)

VG Niko
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 02 September 2013, 19:16:15
das dachte ich mir schon :)

wie gesagt die readingsGroup speichert keine werte. nicht kurzfristig und noch nicht mal temporär. d.h. nach dem refresh wären die werte leer bis wieder passende events kommen. sorry.

wenn du dir irgendetwas 'merken' willst brauchst du noch andere module dazu. z.b. ein dummy den du mit den werten in einem notify befüllst. ein dummy würde auch für mehrere räume reichen.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 02 September 2013, 19:18:15
wenn die readingsGroup das erste mal angezeigt wird werden die aktuellen readings aus dem device genommen. wenn sich am device die readings ändern wird die readingsGroup automatisch aktualisiert.

@niko: das ist sozusagen genau der grund warum es bei fhem2fhem nicht geht. ich habe kein device aus dem ich die aktuellen werte lesen kann. ausser du legst sie z.b. in einem dummy ab.
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Niko am 02 September 2013, 20:07:39
Hallo Andre,

dann spar Dir bitte die Mühe betreff Fhem2Fhem.

Ich werde trotzdem bei mir auf readingsGroup umstellen. Ich werde einfach meine Routine so umstellen, dass Sie alles "mitschreibt" (was über Fhem2Fhem kommt) und nicht mehr modulweise arbeitet. Aus diesen Werten werde ich dann verschiedene readingsGroup füttern.

Was für mich noch hilfreich wäre, ist ein "stateFormat" für readingsGroup. Ich nutze dies um bei meinen "attr group" ein Art Überschrift zu erzeugen. Wenn dies aber nicht zu Deinem Modul passt oder viel Arbeit bedeutet, kein Problem, ich kann dies auch anders lösen.

Nachmals vielen Dank für die beiden Änderungen heute und Deine Bereitschaft neue Ideen aufzunehmen!

Viele Grüße Niko
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Niko am 03 September 2013, 09:53:37
Hallo,

Die Sachen mit dem StateFormat möchte ich zurücknehmen. Bei genauerem Nachdenken passt dies überhaupt nicht zu dem Modul. Sorry dafür.

Ich habe jetzt einige Sachen bei mir auf readingsGroup umgestellt, als Anzeige für die Familie. Von dieser kam noch der Wunsch nach einer Sortierung. Ich habe im original Beitrag zu readingsFormat hierzu etwas gefunden, dies ist aber anscheinend nicht weiter verfolgt worden. Es wäre schön wenn dies noch möglich wäre. Aber wie bei meinen anderen Bitten auch; wenn dies nicht möglich ist oder zuviel Arbeit macht oder auch nur nicht gewünscht ist: kein Problem und vollstes Verständnis.

VG Niko
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 03 September 2013, 10:23:28
wegen dem stateFormat wollte sowieso fragen was du genau gemeint hast :)

die zeilen werden in der reihenfolge dargestellt wie du sie in der definition angegeben hast. wenn du eine bestimmte sortierung möchtest musst du es in genau dieser reihenfolge in der definition angeben.

gruss
 andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Niko am 03 September 2013, 11:00:19
Alles klar, verstanden

... und abermals danke

VG Niko
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 03 September 2013, 16:32:02
Hallo Andre,

danke für den Tipp. Kann es aber sein, dass man nur ein userReadings pro Device definieren kann?
Ich habe da versucht, an den FBCallMonitor zwei userReadings, eins für entgangene Anrufe, eins für eingehende Anrufe anzuhängen und es sieht so aus, dass die Definition des zweiten das erste überschreibt. Auch an der grafischen Oberfläche lässt sich ja eigentlich nur ein userReading definieren, da der Name des Readings ja im Textfeld zusammen mit der Perlanweisung steht.
 Wenn dem so ist, dann müssten doch dummys her...

Elektrolurch
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 03 September 2013, 16:41:09
pro device gibt es natürlich nur ein userReadings attribut. darin kannst du aber mit komma getrennt beliebig viele readings erzeugen.

für den fall der call history ist aber vermutlich eh ein notify besser. da kannst du auch  mit readingsBulkUpdate oder setreading auch mehrere neue readings anlegen.

du brauchst ganz sicher keine dummys dafür.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 06 September 2013, 20:34:41
Hallo Andre,

Habe nun schon fleißig Dein Modul eingesetzt.

Aber mir ist etwas aufgefallen:
a) Wenn ich noheading 1 setze, erscheint der Name mit Link des ReadingsGroup nicht. So sollte es ja sein.
b) Setze ich nun das Attribut Group, so erscheint der Gruppennamen UND der Name des ReadingsGroup, d.h. noheading 1 wird nun ignoriert.
Auf der Übersichtseite möchte ich aber bei den Objekten möglichst keine Links haben und mit dem Group-Attribut die Darstellungsreiehenfolge setzen.

Ist das ein Fehler, dass das Group-Attribut das noheading 1 wieder überschreibt?

Und noch eine Frage (ich habe es noch nicht ausprobiert): Wie kann ich die Ausgabe eines Readings in ReadingsGroup in Abhängigkeit von seinem Wert unterdrücken?

Mir würde da jetzt nur einfallen "nostate = 1", "notime = 1" setzen und über ValueFormat und einer entsprechenden if-Abfrage ein "undef" zurückliefern.
Was macht ReadingsGroup mit einem "undef"? Oder Gibt es noch einen andere Möglichkeit?

Gruß


Elektrolurch


Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 06 September 2013, 20:45:09
das noheading wird nicht ignoriert. die überschrift ist ja weg.

das was du links von der reading group siehst wird von fhem web erzeugt. darauf habe ich keinen einfluss. du kannst aber den alias auf &#xFEFF; setzen. das ist ein leerzeichen ohne breite. das ist fast so gut wie nichts.

die komplette zeile kannst du nicht unterdrücken. den wert selber kannst du ausblenden in dem valueFormat einen leeren string zurück liefert wenn deine bedingung erfüllt ist.


gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 06 September 2013, 21:06:02
Hallo Andre,

dann verstehe ich nicht ganz, was Heading ist? Wie setze ich denn eine zusätzliche Überschriftszeile? In der Kommanref steht dazu nichts. Ich dachte, es wäre der Name des Objektes, der über der Tabelle steht.
Ich habe da  Deinen alias String gesetzt und bekomme jetzt ein "&"  angezeigt, also noch nicht ganz leer...

Gruß

Elektrolurch (so heißt ein Stück von Kraftwerk, auf einer ihrer ersten LPs. Fäng so an: Volt, Watt, Amper, Strom.. ohne mich.... -> Rest weiß ich nicht mehr)

Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 06 September 2013, 21:31:41
Hallo Andre,

jetzt habe ich das mal mit dem Leerstring in ValueFormat ausprobiert:

Code:
{Value("$DEVICE") eq "present" ? KonvertiereZeit (ReadingsTimestamp("$DEVICE", "state", "???")):""}

Aber die $DEVICES, die noch auf "absent" stehen, werden trotzdem angezeigt, obwohl  da ja ein Leerstring zurückgeliefert wird.

Anwesend
#xFEFF;
Familie
17:23:56 06.09.2013
Harald
absent
Marina
17:40:28 06.09.2013


Gruß

Elektrolurch
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 06 September 2013, 21:37:16
schau dir das bild unten an:

- testGruppe ist der name der gruppe. steht über dem äußeren rahmen

- readgings Group über dem inneren rahmen -> das ist der name der readingsGroup den ich selber anzeige. den kannst du mit noheading ausblenden

- readingsGroup links neben dem inneren rahmen -> das ist der name der readingsGroup den fhemweb selber noch mal anzeigt. gegen den kann ich nichts machen.

das mit dem &#xFEFF; geht vermutlich nicht wenn fhem es aus dem config file liest weil # das kommentar zeichen ist. nimm statdessen &nbsp;

mach mal klammern um den test: {(Value("$DEVICE") eq "present") ? KonvertiereZeit (ReadingsTimestamp("$DEVICE", "state", "???")):""}


(siehe Anhang / see attachement)
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 06 September 2013, 21:59:05
Hallo Andre,

da kommt ja etwas lustiges Heraus:
Wohl für einen Normalsehenden kein sichtbares Zeichen, aber der Screenreader liest mir nun statt des Textes den dort stehenden Link vor auf das Objekt "Anwesenheit", also der ReadingsGroup. Na ja, dass ist der Unterschied zwischen Optik und Akustik....
Optisch weg, aber doch noch da...
Ok. die Klammern habe ich gesetzt, aber die "absent" stehen immer noch da.
ReadingsGroup liest doch jedesmal, wenn es aufgerufen wird, die Werte und wird nicht von den Readings getriggert. Die ändern sich ja im Augenblick nicht...
Oder mache ich da einen Denkfehler?

Hinweis: Leider nützen mir die Screenshots nichts, die müsste ich erst OCRlern.

Elektrolurch


Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 06 September 2013, 22:25:37
der link ist ja noch da. nur durch ein leerzeichen ersetzt. die akustik ist also genauer.

du musst im valueFormat ein leerzeichen zurückgeben statt dem leeren string. statt Value($DEVICE) kannst du direkt $VALUE verwenden.

es wird auch von den readings getriggert.

sorry wegen dem screenshot. aber ich habe immerhin nicht drin rum gemalt sondern versucht zu beschreiben.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 06 September 2013, 22:44:08
Hallo Andre,

1. ok $VALUE vers Value("... hatte ich da verdrängt, gleich abgeändert und geht auch.
2. jetzt gebe ich statt "" ein " " (Leerzeichen an Readings Group zurück. Ergebnis: statt den Status mit "absent" auszugeben, wie vorher, kommt nun ein Leerzeichen.
Familie
17:23:56 06.09.2013
Harald
 
Marina
17:40:28 06.09.2013

-> Harald ist absent

(Natürlich in Tabelle! Aber ich kann mal mit Screenshots nichts anfangen).
Also, ein " " oder ein "" als Rückgabewert unterdrückt die Ausgabe des einzelnen Wertes wohl nicht?
->Creenshots: kein Problem - PCs kann ich auch so bedienen. Lerne seit ein paar Jahren um und Elektrik im Haus kann man ja auch umbauen. Da muss nur jemand sagen, wo Blau und Grün/gelb ist. Der Rest ist ja unkritisch :-)
Habe jetzt die gesamte Beleuchtung mit ca. 20 Dosen umgebaut....

Gruß
Elektrolurch
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 06 September 2013, 22:56:39
du kannst nur den wert an sich unterdrücken. nicht die ganze zeile weg lassen. dafür müßte ich mir noch was überlegen. ich weiss aber nicht ob es überhaupt richtig funktionieren kann weil es ja auch den update gibt der durch aktualisierte readings getriggert wird und da kann ich nicht einfach zeilen entfernen oder einfügen.

gruss
  andre

Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 06 September 2013, 23:03:22
Ok. So siehts ja auch aus. Anliegend war: Dinge nicht darzustellen, die nicht relevant sind. (:_@ GUI Optimierung). Ich hatte da mal was mit notify und deleteattr room ausprobiert -> führt aber nach einem Neustart von fhem auch nicht zu konsistenten Ergebnissen.

Wenn man so ein "undef" oder ein "" als Unterdrücker der Ausgabezeile verwenden könnte... wäre aus meiner Sicht schon sinnvoll.

Elektrolurch

P.S.: Heia angesagt.
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 06 September 2013, 23:26:23
ab morgen kannst du undef zurück geben. dann wird die zeile ausgelassen. das funktioniert aber nur beim initialen aufbau. nicht beim nachträglichen update durch longpoll. ausgelassene zeilen werden auch per longpoll nicht wieder eingefügt.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Niko am 08 September 2013, 16:38:27
Hallo Andre,

ich hoffe es ist nicht unverschämt, aber zwei Bitten hätte ich noch:

Einerseits die Verwendung von Perl Expressions nicht nur bei nameStyle und valueStyle sondern auch bei timestampStyle. Beim Timestamp würde ich gern in Abhängigkeit vom Reading mal nur den Tag, mal nur die Zeit, mal nur volle Stunden etc. darstellen. Grund dafür sind zeitliche Max/Min Werte also z.B. stärkste Stunde / schlechtester Tag.

Andererseits sind die Readings, wie in Fhem üblich verlinkt. Gerade "readingsGroup" bietet sich meiner Meinung nach aber für abgespeckt Versionen von Fhem an bei denen die User nichts verstellen können (z.B. meine Familie/Kinder :-) Durch die Links kommen die Anwender dann aber doch wieder an Stellen an denen ich sie nicht haben möchte, und dies selbst dann wenn ich die entsprechenden Module vorher mit "hiddengroup/hiddenroom" versteckt habe. Hier würde ich mir eine Einstellmöglichkeit "Verlinkung an/aus" (also wir z.B. noheading) wünschen.

Auch wenn es mit meinen Wünschen nichts werden sollte, Dir auf jeden Fall vielen Dank für das gute Modul!

VG Niko  
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 08 September 2013, 17:32:37
ab morgen kannst du mit dem attribut nolinks die links unterdrücken.

zu timestampStyle:  das ist doch gar nicht dokumentiert :). timestampStyle hat das problem das es von longpoll überschrieben wird bzw. noch nicht dynamisch gesetzt werden kann wenn sich der wert per longpoll ändert.

das was du aber eigentlich möchtest ist timestampFormat. das gibt es noch gar nicht und ich muss auch erst  mal schauen ob das überhaupt geht weil die timestamps zur zeit automatisch von fhem erzeugt werden.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 08 September 2013, 17:39:22
Hallo Nico,

ich habe das über ValueFormat gelöst, da kannst Du zurückgeben, was Du möchtest. Das ist ja gerade die Stärke des Moduls.

Beispiel:
define Alarmmelder readingsGroup [EO]G[012]_Bewegungsmelder:Alarmzeit
attr Alarmmelder alias Alarmmelder
attr Alarmmelder group Alarmanlage
attr Alarmmelder mapping { 'Alarmzeit' => '%ALIAS'}
attr Alarmmelder noheading 1
attr Alarmmelder notime 1
attr Alarmmelder room Automation,Haus
attr Alarmmelder valueFormat { KonvertiereZeit($VALUE);;}
In dem Fall steht schon in $VALUE die Zeit. Geht aber auch mit ReadingTimeStamp(.."state"..=

Leider geht seit dem gestrigen Update aber das "mapping" von der ReadingsGroup nicht mehr. Da wird nun immer das Pärchen <device>:<Trigger> angezeigt.  @Andre?
Am Freitag abend waren die alle noch ok, Samstags das Update eingespielt...

Gruß

Elektrolurch

Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 08 September 2013, 17:49:21
das mapping habe ich gestern schon wieder repariert. wenn du heute ein update machst sollte wieder alles gehen.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Niko am 08 September 2013, 17:54:46
Hallo

@Andre: Danke für die Link Geschichte

@Elektrolurch: Wenn ich das richtig verstehe nehme ich dann einen, wie immer auch aufbereiteten Zeit-String einfach mit in das Value Feld. Danke für den Tipp, das ist natürlich auch eine Lösung. Wobei ich ein eigenes Feld für die Zeit aus optischen Gründen vorziehen würde.

Das mit dem Mapping geht inzwischen (bei mir) wieder. Habe heute gegen Mittag ein Update gefahren.

Viele Grüße
Niko
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 08 September 2013, 17:57:38
Super und DANKE. nokinks ist auch super!
Werde das morgen gleich noch setzen und mir überlegen, wo ich noch überall ReadingsGroup sinnvoll einsetzen könnte.
So langsam geht das coden richtig locker von der Hand. Da in meiner 99_myutils schon fast 700 Zeilen waren, habe ich die jetzt auf drei Dateien 99_myutilsxxx aufgeteilt. Offensichtlich werden alle 99_myutils.* automatisch geladen.
Frage: Muss man beim "update" Befehl eine Option setzen, damit fhem automatisch wieder startet oder hängt sich das auf, da im Hintergrund noch die pings vom PRESENCE - Modul laufen?
Die habe ich nämlich im Verdacht, dass sich fhem bei längeren Aktivitäten dann aufhängt.
 
Gruß

Elektrolurch

Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 08 September 2013, 18:08:04
Hallo Nico,

ich fand das geradezu genial, mit dem Perlcode in ValueFormat kannst Du ja jetzt beliebige Variablen mischen.
Habe gestern begonnen, über den FB_CallMonitor die entgangenen Anrufe zu sammeln und die letzten fünf rollierenden in eine ReadingsGroup zu packen.
Bin mitten drin, da ja auch noch zu berücksichtigen ist, dass mehrere Anrufegleichzeitig eingehen können.... tricky... krieg ich aber schon hin. Und dann geht das über ValueFormat so aus:

08.09.2013 0123456 (Mustermann, Heinrich) entgangen bzw. Dauer: 0:30

Gruß

Elektrolurch
Titel: Aw: Neues Modul readingsGroup
Beitrag von: stenny73 am 08 September 2013, 19:55:21
Hallo

Ich möchte mit readingsGroup die Batterien meiner Max Komponenten kontrollieren.

Hierzu habe ich

define Batterie readingsGroup .*:battery
attr Batterie room Log

angelegt. Jetzt bekomme ich es aber nicht hin einen Notify auf die readingsGroup anzulegen das mir eine Mail Morgens schickt wenn der Batterie zustand low ist.

Mein Versuch, erstmal nur gegen einen Dummy geht nicht

define Status_Batterie notify (BM_Kiosk_1:battery.*) { if ("%EVTPART1" eq "ok") {fhem('set BatterieLED on');}else { if ("%EVTPART1" eq "low") { fhem('set BatterieLED off'); } } }

Kann mir vielleicht einer helfen?
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 08 September 2013, 20:18:42
Hallo,

ich denke, dass ReadingsGroup kein notify bedienen wird, da es rein zur Anzeige dient.
Was Du brauchst, wäre wohl ein struct über alle Batterien.
Mit dem Attribut "behavior" kannst Du dann steuern, dass wenn eine Batterie leer geht, das struct auch auf leer geht und auf dem struct kannst Du ein notify definieren.
Du findest hierzu eine  Reihe von Eintragungen unter "Fensterkontakte gruppieren" oder "Anwesenheit überwachen".
Außerdem gibt es im wiki unter Codeschnipsel einen Batterieüberwacher.

Gruß


Elektrolurch
Titel: Aw: Neues Modul readingsGroup
Beitrag von: stenny73 am 08 September 2013, 20:24:41
Danke. Dann versuche ich das mal....
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 08 September 2013, 20:45:29
normalerweise per notify das direkt mit der passenden regex alle deine max komponenten matched.

alternativ wenn das mit der regex zu unhandlich wird kannst du sehr wohl ein notify an eine readingsGroup hängen. schau mal in den eventMonitor oder per telnet mit inform timer :) das schöne wenn man eine readingsGroup verwendet ist das man z.b. mit TYPE=MAX:battery eine readingsGroup mit allen batterie meldungen aller max geräte anlegen kann ohne sich gedanken über die namen der devices zu machen. und auch neue max devices werden automatisch in die readingsGruppe mit aufgenommen.

die structure ist auch eine alternative.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: stenny73 am 08 September 2013, 21:05:32
Hallo justme1968

Kannst du mir vielleicht sagen wie ich das notify an das readingsgroup hänge?
Danke
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 08 September 2013, 21:21:10
genau so wie an jedes andere device.

define <my_notify> notify <readingsGroup name>[:regex] ...
gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Niko am 09 September 2013, 15:22:34
Hallo Andre,

"nolinks" funktioniert einwandfrei, nochmals vielen Dank hierfür


Zitat von: justme1968 schrieb am So, 08 September 2013 17:32zu timestampStyle:  das ist doch gar nicht dokumentiert :). timestampStyle hat das problem das es von longpoll überschrieben wird bzw. noch nicht dynamisch gesetzt werden kann wenn sich der wert per longpoll ändert.

das was du aber eigentlich möchtest ist timestampFormat. das gibt es noch gar nicht und ich muss auch erst  mal schauen ob das überhaupt geht weil die timestamps zur zeit automatisch von fhem erzeugt werden.

eigentlich sogar beides (z.B. gib mir nur die Zeit aus und dies in roter Farben), dies aber alles, wie gesagt nur ein Wunsch von mir und readingsGrooup ist auch ohne dieses schon ein beeindruckendes Modul.

Ich probiere jetzt erst einmal den Vorschlag von Elektrolurch. Grundsätzlich klappt dies auch, ich habe es nur noch nicht hinbekommen Werte untereinander dar zu stellen. Auch sind dies, wie Elektrolurch ja auch schreibt schon aufwendige Statements, da die Abfrage (if etc) nicht nur den Value sondern auch den Timestring berücksichtigen muss und diese bei mir nicht unbedingt in die gleiche Gruppe (if) fallen. Mal sehen wie weit ich komme.

Viele Grüße Niko

Titel: Aw: Neues Modul readingsGroup
Beitrag von: Niko am 20 September 2013, 15:53:52
Hallo Andre, hallo Elektrolurch,

ich wollte einmal kurz berichten wie weit ich gekommen bin. Die Möglichkeit bei readingsGroup eigene Funktionen einzubinden hat zu einer Lösung geführt. Allerdings habe ich mich etwas mit der Formatierung (rechts, links, zentriert, Einrücking etc) der Timestamps in dem Value Feld gequält. Dies war so nicht zufriedenstellend möglich. Die Lösung war in meiner Funktion einfach eine neue Tabellenspalte zu erzeugen. Die Lösung sieht jetzt so aus:


(siehe Anhang / see attachement)


Eine andere Sache ist mir noch aufgefallen. Diese kann aber auch eine Folge meiner Funktion sein, daher hier mehr die Frage ob dies bei Euch auch auftritt. Wenn ich mir den "Event Monitor" anschaue scheint jedes readingsGroup Event die folgenden Zeilen um eine Position nach rechts zu verschieben:


(siehe Anhang / see attachement)


Stört aber auch nicht weiter, wie gesagt ist mir nur aufgefallen.

Nochmals vielen Dank für die Hilfe bei meinen Bemühungen.

Niko
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 20 September 2013, 16:32:25
das schaut klasse aus.

das einrücken im event monitor kommt ziemlich sicher von deiner formatierung. die landet auch in den events. das sollte aber sonst keine probleme weiter machen.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 20 September 2013, 17:29:50
Hallo,

mir ist da auch was aufgefallen. Ich nutze ziemlich viel das valueFormat, um mir die Ausgabe zusammenzubasteln.
z.B. {$VALUE eq "present"?"$DEVICE ist zu Hause":""}

Wenn also nicht present, dann sollte kein Eintrag angezeigt werden.
Geht aber mit "" nicht, man muss undf() zurückliefern.

So als Tipp, falls da jemand auch drüber stolpern sollte.

Elektrolurch
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 20 September 2013, 17:33:28
Hallo,

wenn da jemand knifflige Sachen, wie z.B. Formatierung gelöst hat, -> über kleines Beispiel zur Anregung würde ich mich immer freuen.
Mit dem ReadingsGroup kann man ja wirklich tolle Sachen machen, so z.B. eine Übersichtliste von allen Lampen im Haus, die man vergessen hat auszuschalten!
Gerade implementiert - mit Zeitangabe, seit wann die L. an ist.

Elektrolurch

Titel: Aw: Neues Modul readingsGroup
Beitrag von: Niko am 22 September 2013, 12:54:02
Hallo Elektrolurch,

das mit der neuen Spalte habe ich mit html Formatierungen in dem Attribut valueFormat gelöst. Hier habe ich eine neue Tabellenspalte eingefügt. Das Format steht ja in einer eigenen Spalte die mit <td> vom Modul eröffnet wird. Dann kommen die Dinge die man im valueFormat eingibt und danach wird die Spalte mit </td> vom Modul wieder geschlossen.

Ich habe jetzt bei valueFormat erst die Dinge eingegeben die sich auf den Value beziehen, dann die Tabellenspalte geschlossen und eine neue eröffnet. Schließen brauch man diese nicht wieder, dies macht ja schon das Modul:

Beispiel: %.3f </td><td>Neue Spalte

Man kann auch noch Formatierungen für die neue Spalte (in html) mit aufnehmen

Ich hoffe dies hat keine Nebenwirkungen. Wenn es  nicht gewünscht ist möchte ich Andre bitten hier zu antworten.

Viele Grüße
Niko
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 05 Oktober 2013, 15:58:21
Problem mit %ROOM

Hallo Andre,

habe jetzt readingsGroup intensiv eingesetzt. Dabei ist mir folgendes aufgefallen:

attr rg mapping {state => '$DEVICE'} geht sowohl mit $DEVICE, als auch mit %DEVICE, so stehts ja auch in der commandRef.
Aber mit $ROOM oder %ROOM geht es bei mapping nicht.
Wollte in einer Übersicht alle Heizungsthermostate darstellen, da die im Raum Name = 2-Buchstabigen Raumkürzel_Thermostat und im Alias nur "Thermostat" heißen, wäre es schön, wenn in der Übersicht der Raum, statt des Devicenamens oder Alias stehen würde.
%ROOM wird aber nur als "%ROOM" ausgegeben.


Elektrolurch
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 05 Oktober 2013, 16:27:47
hast du auch wirklich die neueste version aus dem update von heute ?

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 05 Oktober 2013, 22:33:53
Ok. Mit dem Update von gestern gings noch nicht, aber jetzt geht's.
Super. Bringt in den Übersichten sinnvolle Informationen.
Frage: Ich lasse mir z.B. anzeigen, welche Lampen im Haus noch eingeschaltet sind. Über valueFormat selektiere ich die, die den Status "ein" haben. Wenn man die jetzt auch noch anklicken könnte, um sie auszuschalten...
Geht aber wahrscheinlich mit dem ´Modul readingsGroup nicht....

Gruß


Elektrolurch
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 05 Oktober 2013, 22:44:57
sagen wir mal es geht noch nich. zumindest über das icon wird es vermutlich demnächst gehen.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 05 Oktober 2013, 23:18:10
Klingt ja spannend. Habe in einer Übersicht alle Lampen im Haus, die noch nicht ausgeschaltet wurden. Wird über valueFormat mit einer entsprechenden Abfrage auf "ein" realisiert. Wenn man dann zum Ausschalten gleich auch drauf klicken könnte... :-)
Für manche Übersichten wird es aber auch etwas länglich, für ein Device  mehrere Werte in einer Zeile darzustellen. Beispiel:

define Alle_Thermostate_rg readingsGroup [A-Z][a-z]_Thermostat:state
attr Alle_Thermostate_rg alias Alle Thermostate
attr Alle_Thermostate_rg group Fenster - Türen und Heizung
attr Alle_Thermostate_rg mapping {state => '$ROOM'}
attr Alle_Thermostate_rg noheading 1
attr Alle_Thermostate_rg nolinks 1
attr Alle_Thermostate_rg nostate 0
attr Alle_Thermostate_rg notime 1
attr Alle_Thermostate_rg room ts,Haus
attr Alle_Thermostate_rg valueFormat {"Ist-Temp. ".ReadingsVal($DEVICE,"measured-temp","???")." °C Soll-Temp. ".ReadingsVal($DEVICE,"desired-temp","???")."°C  Regler ".ReadingsVal($DEVICE,"actuator","???")." Modus ".ReadingsVal($DEVICE,"mode","???").((ReadingsVal($DEVICE,"warnings","???") eq "none")?undef():(" Warnung: ".ReadingsVal($DEVICE,"warnings","???")))." Zeit ".KonvertiereZeit(ReadingsTimestamp($DEVICE,"state","???"))}



Gibt dann folgendes aus:

Alle Thermostate
Büro Ist-Temp. 20.6 °C Soll-Temp. 19.5°C Regler 0% Modus auto Zeit 22:27:40 05.10.2013

Da ist das %ROOM!

Vielleicht gibt es da ja auch eine einfacherere Variante,....Man lernt ja nie aus.

Elektrolurch

Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 06 Oktober 2013, 11:52:14
Hallo Andre,

ich bekomme jetzt von readingsGroup eine Fehlermeldung:
2013.10.06 11:12:05 2: FHT set Bu_Thermostat desired-temp 21.0
Use of uninitialized value in concatenation (.) or string at (eval 15871) line 1.
Invalid conversion in sprintf: "% M" at ./FHEM/33_readingsGroup.pm line 458.
Use of uninitialized value in concatenation (.) or string at (eval 15939) line 1.
Invalid conversion in sprintf: "% M" at ./FHEM/33_readingsGroup.pm line 330.
Use of uninitialized value in concatenation (.) or string at (eval 15985) line 1.
Invalid conversion in sprintf: "% M" at ./FHEM/33_readingsGroup.pm line 330.
2013.10.06 11:15:32 2: FHT set Bu_Thermostat desired-temp 21.0
Use of uninitialized value in concatenation (.) or string at (eval 16063) line 1.
Invalid conversion in sprintf: "% M" at ./FHEM/33_readingsGroup.pm line 458.

Und zwar, wenn ich die readingsGroup zum Thermostat anzeigen lasse, dachte ich zumindest.
Da ist für die Anzeige folgendes definiert:
valueFormat {"Ist-Temp. ".ReadingsVal($DEVICE,"measured-temp","???")." °C Soll-Temp. ".ReadingsVal($DEVICE,"desired-temp","???")."°C  Regler ".ReadingsVal($DEVICE,"actuator","???")." Modus ".ReadingsVal($DEVICE,"mode","???").((ReadingsVal($DEVICE,"warnings","???") eq "none")?" - ":(" Warnung: ".ReadingsVal($DEVICE,"warnings","???")))." Zeit ".KonvertiereZeit(ReadingsTimestamp($DEVICE,"state","???"))}

Da hatte ich für die Anzeige/Ausblenden von warnings als Rückgabewert ursprünglich ein "undef()", habe das aber durch ein " - " ersetzt.
Aber die Fehlermeldung kommt immer noch, wenn ich die Seite "Haus" aufrufe. Da gibt es noch andere readingsGroups, da werden aber die Anzeigen komplett ausgeblendet, wenn der Wert nicht interessant ist, also ein "undef" über valueFormat an die readingsGroup geliefert. Die Anzeige auf der Seite schaut auch völlig korekt aus.
Wie könnte ich da den Fehler finden? Die Meldungen kommen halt jetzt ständig im log. Waren aber vorgestern noch nicht drin (vor dem letzten update) und neu ist nur die readingsGroup für die Thermostate.

Gruß

Elektrolurch
 

Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 06 Oktober 2013, 14:10:56
mach mal bitte ein screen shot wie die readingsGroup auschaut wenn sie angezeigt wird.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 06 Oktober 2013, 14:29:15
anbei eine neue version der readingsGroup zum testen:

es gibt ein neues attribut valueIcon. damit kann der value eines readings auf ein icon gemappt werden das dann statt des texts angezeigt wird.

jeder reading wert wird auf ein gleichnamiges icon gemapped:attr <device> valueIcon $VALUE
nur state wird als icon dargestellt. alle anderen readings bleiben wie sie sind:attr <device> valueIcon {state => '%VALUE'}
es wird für state das jeweilige devStateIcon des devices angezeigt. inklusive anklickbarkeit:attr <device> valueIcon {state => '%devStateIcon'}
gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 06 Oktober 2013, 18:49:37
und noch eine erweiterung:

die readings die angezeigt werden sollen können alternativ auch mit komma getrennt werden. dann werden mehrere readings auf einer einzigen zeile angezeigt.

hier ein beispiel das die verbrauchswerte aller PCA301 steckdosen in einer übersicht anzeigt. werte über 100 watt werden rot eingefärbt. die icons sind anklickbar:
define Verbrauch readingsGroup TYPE=PCA301:state,power,consumption
attr Verbrauch mapping %Alias
attr Verbrauch nameStyle style="font-weight:bold"
attr Verbrauch style style="font-size:20px"
attr Verbrauch valueFormat {power => "%.1f W", consumption => "%.2f kWh"}
attr Verbrauch valueIcon { state => '%devStateIcon' }
attr Verbrauch valueStyle {($READING eq "power" && $VALUE > 100)?'style="color:red"':'style="color:green"'}


(siehe Anhang / see attachement)


@elektrolurch: ich muss noch einbauen das man auch hier readings komplett ausblenden kann.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 06 Oktober 2013, 19:32:43
Hallo  Andre,

absolute Klasse undgleich auch mit einem hilfreichen Beispiel, dann tut man sich am Anfang etwas leichter. Dann kann ich ja meinen Code wieder umstellen....! Wenn jetzt mehrere Readings in einer Zeile gehen!!!!
Mal sehen, ob ich das in den nächsten Tagen hinbekomme.
Mir ist fhem wegen dem PRESENCE-Modul abgestüzt und danach kamen die Fehler wg. dem undefinierten Wert in readingsGroup nicht mehr wieder. Strange. Werde das noch beobachten.

Elektrolurch
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 09 Oktober 2013, 21:46:26
Hallo Andre,

bin erst heute dazu gekommen, per update die neue Version von readingsGroup einzuspielen. Ergebnis:
Das Ausblenden von Werten über "valueFormat" per undef funktoniert nicht mehr.
Alle meine readingsGroup zeigen jetzt wieder alle Geräte an.
Bspw. die Definition von:
{($VALUE =~m/on.*/)?"ein seit ".KonvertiereZeit(ReadingsTimestamp("$DEVICE","state","???")):undef()}
Zeigt auch alle FS20 mit dem state "off" an, obwohl diese eigentlich per eventmapping auf /off:aus/ gesetzt wurden.

Was muss ich anpassen?

Gruß Elektrolurch
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 09 Oktober 2013, 22:17:14
mein fehler.

du musst nichts anpassen. ab morgen sollte es wieder gehen.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 10 Oktober 2013, 08:49:05
Hallo Andre,

mir ist da noch was aufgefallen:

Küche Lampe 2 über Arbeitsplatte
off

Alle Lampen sind da bei mir mit attr eventmap auf ein - aus gemappt.
Wird das eventmapping ev. von readingsGroup ignoriert?
Und vielleicht hast Du da noch einen Tip für mich:
Ich habe fhts im Einsatz. Standardmässig zeigen die zwei Werte an:
einmal die aktuelle Temperatur und zweitens die "desired-temp" als Klappmenü.
Über das stateFormat habe ich die Anzeige der aktuellen Temperatur verändert und "eingedeutscht".
Mir gelingt es jedoch nicht, "desired-temp" durch "Soll-Temp." zu ersetzen, obwohl ich /desired-temp:Soll-Temp/ im eventmap definiert habe.  Was muss ich tun, damit das an der GUI als Soll.-Temp. + Klappmenü angezeigt wird?

Gruß

Elektrolurch
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 10 Oktober 2013, 11:07:24
readingsGroup arbeitet mit readings. eventmap mappt zwischen state und STATE. d.h. es wird nicht ignoriert sondern eventmap betrifft eine ganz andere stelle mit der readingsGroup nichts zu tun hat. wenn du die werte der dargestellten readings ändern möchtest musst du das über valueFormat selber machen.

ich kann aber mal schauen ob mal vielleicht ein zusätzliches value mapping einbaut.


wie oben gesagt: eventMap mappt nur zwischen state (dem reading state) und STATE (das was im web frontend als status oder icon angezeigt wird. du kannst die namen der readings die ein device verwendet nicht ändern. wenn es nur um einen read only wert geht kannt du ein zusätzliches userReading anlegen das dann deinen deutschen namen hat. wenn der wert auch setzbar sein soll kannst du da vielleicht ein notify dran hängen und dann den eigentilichen wert ändern. ist zwar etwas von hinten durchs knie müsste aber gehen.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 10 Oktober 2013, 12:23:04
Hallo Andre,
Zitat:
du kannst die namen der readings die ein device verwendet nicht ändern. wenn es nur um einen read only wert geht kannt du ein zusätzliches userReading anlegen das dann deinen deutschen namen hat. wenn der wert auch setzbar sein soll kannst du da vielleicht ein notify dran hängen und dann den eigentilichen wert ändern. ist zwar etwas von hinten durchs knie müsste aber gehen.


..bringt leider auch nichts, da das Klappmenü mit "desired-temp" nicht auszublenden ist, dann hätte ich zwei Menüs. Ich habe sowas schon befürchtet, da ich irgendwo on-the-fly einen Beitrag gesehen hatte, wo jemand das fht-Modul "einfranzösischen" wollte. Ein echter Patriot.
Werde da wohl weiterhin mit "desired-temp" auf der Gui leben müssen. Nicht so schön...

Elektrolurch
Titel: Aw: Neues Modul readingsGroup
Beitrag von: Elektrolurch am 10 Oktober 2013, 19:05:03
Hallo Andre,

nach dem Update ist alles wieder ok. Jetzt habe ich mal valuIcon ausprobiert. Klappt. Aber wie das immer so ist... der Appetit kommt beim Essen.
Ich habe mir eine Gruppe gebaut, die alle Lampen anzeigt, die noch eingeschaltet sind. Dabei habe ich den Zeitpunkt des Einschaltens in das valueFormat (einschl. udef für die ausgeschalteten Lampen) gepackt.
Leider hat man jetzt nur die Alternative zwischen Ikon oder Text. Mir würde es gefallen, wenn das so möglich wäre:
Icon (mit Link zum Schalten) und dahinter den Text, bzw. (eingesch. seit...=.
Könnte man da nicht ev. noch ein Steuerparameter beim valueIcon (z.B. "+" einbauen, wenn das Reading auch ausgegeben werden soll?
Wäre super und danke.
Du hast da wirklich ein tolles Modul gebaut...

Elektrolurch
Titel: Aw: Neues Modul readingsGroup
Beitrag von: cwagner am 11 Oktober 2013, 07:44:53
Guten Tag,

über readingsGroup habe ich mich richtig gefreut - hatte schon immer Bedarf danach, konnte ihn aber nicht so richtig formulieren. Ich benutze es jetzt gleich mehrfach. Dabei fiel mir auf, dass ich bei einem Start von FHEM regelmäßig dieses beiden Fehlerzeilen erhalte:

# ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HER                           E $/ at ./FHEM/33_readingsGroup.pm line 104, <$fh> line 392.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE                            $/ at ./FHEM/33_readingsGroup.pm line 104.


Herzliche Grüße

Chritian
Titel: Aw: Neues Modul readingsGroup
Beitrag von: justme1968 am 11 Oktober 2013, 08:53:19
du hast irgendwo in deinen readingsGroup definitionen zwei mit falscher regex. vor dem * fehlt da ziemlich sicher ein punkt.

zeig doch mal die definitionen.

gruss
  andre
Titel: Aw: Neues Modul readingsGroup
Beitrag von: cwagner am 11 Oktober 2013, 21:18:34
Hallo Andre,

du hattest natürlich recht, da habe ich nicht ordentlich gearbeitet und hätte vor meinen Posting ersteinmal selbst meine Definitionen prüfen sollen.

wieder was gelernt - weiter gutes Gelingen mit Deinem Modul...

Grüße

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 15 Oktober 2013, 21:08:19
Hallo Andre,

jetzt habe ich doch so ziemlich alles in den Übersichten ausgereizt, was man mit Deinem Modul so machen kann.
Dabei bin ich auf zwei Grenzen gestoßen:
1. Hat man mehrere Readings in einer Zeile (Superfeature) und verwendet für Valueformat die Form reading => Ausdruck, so kann Ausdruck wohl nur ein sprinft - Formatierungsausdruck sein. Perl-Code (z.B. zum Umrechnung der Zeitinformation) geht wohl da leider nicht.
2. Ich bin bei den Übersichten auf folgendes, kleines Problem gestoßen:
Ziel war es jene Lampen/Stromverbraucher anzuzeigen, die noch eingeschaltet sind. Dabei sollte ein Ikon für das Schalten vorhanden sein und die Uhrzeit, seit dem der Verbraucher auf "ein" ging.
attr Alle_Lampen_im_Haus valueFormat {($VALUE =~m/on.*/)?"</td><td>ein seit ".KonvertiereZeit(ReadingsTimestamp("$DEVICE","state","???")):undef()}
Wenn ich jetzt das Ikon dazu nehme mit
ValueIkon {state => '%devStateIcon'}
Dann wird der Text (so stehts ja auch in der CommandRef) nicht mehr angezeigt.
Da es bei den zusätzlichen Informationen zumeist um Zeitangaben handelt, die formatiert werden müssten, wäre nun die Lösung:

timestampFormat analog zu valueFormat, wenn notime = 0 gesetzt ist.
Gerade in Übersichten sind ja die zusätzlichen Zeitinformationen von großem Interesse.
Ließe sich so eine Erweiterung noch mit einbringen?

Gruß
Elektrolurch


Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 15 Oktober 2013, 21:50:14
ich bin gerade dabei eine erweiterung einzubauen bei der man mit '<Text>' einen festen text und mit '<{Perl-Code}>' eine beliebige perl routine in die komma liste mit einbauen kann. auch an einem formatTimestamp bastle ich garade noch.

damit lässt sich im prinzip beides erschlagen. ich habe aber noch probleme den timestamp im longpoll auch zu aktualisieren.

vielleicht kann ich das auch noch mit spaltenüberschriften und einrücken verbinden. ich bin noch am probieren...

gruss
  andre
Titel: Antw:Aw: Neues Modul readingsGroup
Beitrag von: Luigi am 10 November 2013, 15:52:06
Hallo Elektrolurch,
bist du inzwischen mit den Anrufen über FB_CallMonitor und readingsGroup weitergekommen? Kannst du mir zeigen, wie du das realisiert hast?

Gruß
Luigi

Zitat von: Elektrolurch am 08 September 2013, 18:08:04
Hallo Nico,

ich fand das geradezu genial, mit dem Perlcode in ValueFormat kannst Du ja jetzt beliebige Variablen mischen.
Habe gestern begonnen, über den FB_CallMonitor die entgangenen Anrufe zu sammeln und die letzten fünf rollierenden in eine ReadingsGroup zu packen.
Bin mitten drin, da ja auch noch zu berücksichtigen ist, dass mehrere Anrufegleichzeitig eingehen können.... tricky... krieg ich aber schon hin. Und dann geht das über ValueFormat so aus:

08.09.2013 0123456 (Mustermann, Heinrich) entgangen bzw. Dauer: 0:30

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 10 November 2013, 18:52:16
Hallo Luigi,

ja, ist fertig und funktioniert mit "allen Schikanen", so z.B. wird auch auf dem FS20 SIG2 für bekannte Anrufer gemeldet, wer da anruft.
Die readingsGroup sieht so aus:


define meineFB FB_CALLMONITOR 192.168.1.254
attr meineFB local-area-code 089
attr meineFB reverse-search all
attr meineFB userReadings eing0 eing1 eing2 eing3 eing4 A0 A1 A2 A3 A4 B0 B1 B2 B3 B4 C0 C1 C2 C3 C4 D0 D1 D2 D3 D4 E0 E1 E2 E3 E4
attr meineFB verbose 0

define FileLog_meineFB FileLog ./log/meineFB-%Y.log meineFB
attr FileLog_meineFB logtype text



define Call_Notify notify meineFB:.* { \
  TelefonMonitor ($EVENT);; \
}
# end Call_Notify



################################
# Neue Version:



define Anrufliste readingsGroup 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.A0' => '1.', 'meineFB.A1' => '2.', 'meineFB.A2' => '3.', 'meineFB.A3' => '4.', 'meineFB.A4' => '5.'}
attr Anrufliste noheading 0
attr Anrufliste nolinks 1
attr Anrufliste nostate 1
attr Anrufliste notime 1
attr Anrufliste room Telefon

Alles, was mit dem Telefon zu tun hat, habe ich in ein eigenes Modul gesteckt.
siehe Anhang.

Gruß

Elektrolurch

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Hans Franz am 10 November 2013, 20:01:27
Hallo,
ich denke, du solltest deine persönlichen Daten aus der angehängten Datei entfernen ;).

Gruss
Hans
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Luigi am 10 November 2013, 20:24:26
Hallo Elektrolurch,

vielen Dank. Mir fehlt jetzt noch die Funktion EventZeit().

Gruß
Luigi
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 10 November 2013, 20:36:45
Hallo,

ganz trivial: Die Zeit wird nicht in der fhem-Reihenfolge, sondern für "human Interface" dargestellt.

sub EventZeit()
{
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time());
return sprintf ("%2d:%02d:%02d %2d.%02d.%4d", $hour,$min,$sec,$mday,($mon+1),($year+1900));
} # end sub EventZeit
###################


Ansonsten macht der Telefonmonitor max. 6 Einträge für eingehende und ausgehende Anrufe. (-> und <-). Geht der eingehnde Anruf auf den AB, dann steht stattdessen in der ersten Spalte "AB". Das ganze ist für eine Mehrnummern-Anlage ausgelegt, d.h. während ein Gespräch geführt wird, kann ein zweiters, drittes usw. auch ein- oder ausgehen und die Zuordnung sollte stimmen. Daher der etwas komplizierte Automat, der die CallID (intern von Fritzbox bereitgestellt) auswertet und erst nach Abschluß des  Gespräches die Daten in die readingsGroup schreibt (mit Namen und Nummern und Gesprächsdauer).
Zusätzlich kann man über den Hook eine Telefonaktion ausführen lassen... z.B. auf Basis einer bestimmten Anrufernummer und der gewählten Zielnummer etwas tun.
Die alten Anrufe werden immer um eins nach hinten geschoben, so dass die aktuellen immer oben stehen.

Gruß


Elektrolurch

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 11 November 2013, 16:03:39
Hallo Andre,

Du hast mal in einem Beitrag geschrieben, dass man auch ein notify an eine readingsGroup hängen kann.
Ich möchte den Inhalt einer Liste löschen und habe dazu

attr Meine_rg webCmd Alle löschen

definiert.
Unter der ReadingsGroup erscheint nun auch der link "Alle löschen".
Dann ein notify dazu:
define Meine_rg_notify notify  Meine_rg:.* {if ($EVENT eq "Alle löschen") {LöscheAlarmmelder();;}}

Klick ich auf "Alle löschen", so erhalte ich: no SET implented
Hm..  Ist schon klar, dasses kein set für readingsGroup gibt, aber wie muss ich die webCmd hinschreiben, damit ich das Event "Alle löschen" bekomme?

Noch eine Frage:
Ich hatte mir ja mal gewünscht, dass man das defStateIcon und einen Text (z.B. mit einer mod. Zeitangabe -> Licht ein seit xx.yy.zz..) realisieren kann.
Leider geht ja beides gleichzeitig momentan nicht. Sobald das defStateIcon definiert ist, wird valueFormat ignoriert.
Alternativ ging noch ein ValueTimeStampFormat, wenn man notime 0 setzt und das zusammen mit dem Ikon erscheinen würde.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 November 2013, 16:31:13
so wie du das möchtest geht das nicht. ein webCmd führt das kommando in dem device aus bei dem es gesetzt ist. readingsGroup hat keine set kommandos.

als workaround fällt mir nur ein ein dummy mit passendem devStateIcon zu definieren und von diesem dann state als icon mit in die readings group rein zu nehmen. wenn es kein passendes icon gibt wird statt dessen der text von state angezeigt. der müsste auch klickbar sein.

das mit dem icon und state gleichzeitig hab ich noch im auge und auch das mit dem timestampFormat. es funktioniert nur noch nicht ganz wie ich es möchte.

in der version die eingecheckt ist gibt es aber schon die möglichkeit in der liste der readings ein <TEXT> anzugeben. der text zwischen den <> wird 1:1 angezeigt. du kannst zwischen die <> auch einen perl ausdruck in {} setzen. der kennt $DEVICE und muss einen string zurück geben. das ganze funktioniert aber nur für mehrere readings in einer zeile. versuch mal ob dir das hilft. also etwas in der art:define rg readingsGroup xyz:state,<{ReadingsTimestamp($DEVICE, "state", 0)}>

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 11 November 2013, 16:53:05
Hallo Andre,

wozu kann man dann bei einer readingsGroup das Attribut webCmd nutzen?
Dann habe ich nicht verstanden, was im notify, welches an einer rg hängt, erscheint?
Das webCmd erscheint ja unter der Liste, damit so einige Funktionen auszulösen, die das Erscheinungsbild der Liste ändern, wäre eine feine Sache.
Und wenn man die rg um ein "dummy-set" erweitert, dass nur die webCmds in die Event-Kette von fhem leitet.....?

Gruß


Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 November 2013, 16:55:30
da attribut webCmd ist global und das gibt es für jedes device. ich kann es nicht für die readingsGroup abschalten.

ich denke mal drüber nach...

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 11 November 2013, 17:53:38
weiß ich, dass das Global ist...
Da ich jetzt mit zei dummys, dynamisch gesetzten webCmds und zwei an die dummys angehängten notifys mir eine Programmierung aller meiner fht-Thermostate bzg. Tag- und Nachtemperatur und den Schaltzeiten für die einzelnen Tage / Werktage / Wochenende gebaut habe, bin ich so richtig auf den Geschmack gekommen. Wenn sowas auch für die readingsGoup funktionieren würde....

..Du hattest damit im übrigen Recht, wenn man einmal mit fhem und perl anfängt... :-)

Gruß
Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 November 2013, 18:34:40
ich denke über das wenCmd nach... was ich nicht verstehe ist wo du es siehst. eigentlich sollte es noch nicht mal zu sehen sein. ist es bei mir auch nicht.

hast du mal über den workaround mit dem dumm nachgedacht?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 11 November 2013, 20:07:55
Hallo Andre,

bei mir sieht das so aus (untere Zeile der rg):

2. OG Bewegungsmelder 17:40:29 9.11.2013
Alle löschen

"Alle löschen" ist anklickbar und dann kommt die Meldung mit dem nicht implementierten set für rg.
Mit dem Ikon ginge wahrscheinlich schon, aber mit dem anklickbaren Links unterhalb der Tabelle fände ich das schon von der Optik schöner. Ich denke, wenn man da mehrere Knöpfe hinmachen wollte, wäre das mit den webCmds auch einfacher.

Mit dem Text <> in den REadings-Definitionen werde ich mal ausprobieren. Mal sehen, ob ich in der Tabelle über "Alle eingeschalteten Lampen" nicht nur das Ikon zum Ausschalten, sondern auch die Zeitangabe, seit wann die Lampe / das Gerät an ist, hinbekomme.

Gruß


Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 November 2013, 20:32:22
das ist komisch... ich sehe ein gesetes webCmd nicht. ist das der screenreader der das macht oder ist es auch wirklich zu sehen ?

die zeit müsstest du mit etwas wie dem beispiel oben bekommen.

wenn du ein dumm verwendest für dessen state es kein icon gibt sollte der text anklickbar sein. auch ohne bildchen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 11 November 2013, 20:46:15
Hallo Andre,

ich hänge mal einen Screenshot an. Ich dachte, der Link "Alle löschen" wäre unterhalb der rg, er steht aber wohl rechts daneben. Das ist natürlich nicht schön, aber wenn man mit dem Mauszeiger drüber fährt, dann kommt auch das Handsymbol für den Link. Du müsstest das also anklicken können. Wenn man mit der Pfeiltaste "dwon" durch die rg navigiert, dass geht dann zeilenweise von Spalte zu Spalte, dann steht der Link direkt hinter dem letzten Element der Tabelle.
Gruß
Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 November 2013, 21:11:41
jetzt sehe ich den grund...

du hast die readingsGroup in eine gruppe gesteckt. dann taucht webCmd plötzlich auf. das macht fhem aber automatisch. da habe ich keinen einfluss drauf. selbst wenn ich die sets z.b. mit einem setList wie bei einem dummy einbaue würde die liste immer noch rechts auftauchen und nicht darunter.

den vorschlag mit dem dummy von oben kannst du so formatieren das er als letztes in der gruppe erscheint und vermutlich auch farblich so absetzen das es besser ausschaut.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 12 November 2013, 09:14:24
ich denke ich habe eine idee wie das ohne dummy geht. aber du musst dich bis heute abend gedulden.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 12 November 2013, 10:53:56
ich habe eben ein kleines update eingecheckt. das sollte morgen im update kommen. neu ist das <STRING> und <{perl}> jetzt nicht nur in er liste der readings erlaubt ist sondern auch statt einem device auftauchen kann. damit ist es möglich z.b. zwischenüberschriften einzubauen.

wenn du das hier in deine 99_myUtils.pm einbaust:sub
appendTrigger($$$)
{
  my ($name,$trigger,$label) = @_;

  my $ret .= "</table></td></tr>";

  my $link = "cmd=trigger $name $trigger";
  my $txt = "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$link')\">$label</a>";
  $ret .= "<td colspan=\"99\"><div style=\"cursor:pointer;color:#888888;text-align:right\">$txt</div></td>";

  return ($ret,0);
}


und ans ende deiner reading group das hier als letztes 'device' anhängst:
<{appendTrigger($DEVICE,"clear","Alle löschen")}>

bekommst du einen klickbaren link der ein event clear auf die readingsGroup triggert das du mit einem notify abfangen kannst.

ein komplettes beispiel (mit screenshot) findet sich hier: http://forum.fhem.de/index.php/topic,15190.msg106766.html#msg106766 (http://forum.fhem.de/index.php/topic,15190.msg106766.html#msg106766)

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 13 November 2013, 21:37:02
Hallo Andre,

habe gerade aktualisiert und probiere das mit dem Text hinter dem defStateIcon in der rg aus:

define Alle_Lampen_im_Haus readingsGroup [A-Z][E-z][012]*_.*[LlFf](ampe|luter).*
attr Alle_Lampen_im_Haus alias Alle eingeschalteten Lampen
attr Alle_Lampen_im_Haus eventMap /on:ein/off:aus/
attr Alle_Lampen_im_Haus group Beleuchtung
attr Alle_Lampen_im_Haus mapping {state => '%ROOM %ALIAS'}
attr Alle_Lampen_im_Haus noheading 1
attr Alle_Lampen_im_Haus nolinks 1
attr Alle_Lampen_im_Haus notime 1
attr Alle_Lampen_im_Haus room Haus
attr Alle_Lampen_im_Haus valueFormat {($VALUE =~m/on.*/)?"</td><td>ein seit ".KonvertiereZeit(ReadingsTimestamp("$DEVICE","state","???")):undef()}
attr Alle_Lampen_im_Haus valueIcon {state => '%devStateIcon'}


Derzeit bekomme ich nur das Ikon, zum Ausschalten. Möchte aber noch die Zeit einblenden, seit dem die Lampe eingeschaltet ist, wie in "ValueFormat definiert ist.
Wenn ich an die rg Definition [A-Z].,<ein Text>  anhänge, bekomme ich gar keine Lampen mehr angezeigt. Statt "," ein " " zeigt den 'Text unterhalb aller eingeschalteten Lampen an.
Da stehe ich irgendwie auf dem Schlauch, in welcher Form ich die Liste der readings erweitern muss, damit ich den Ausdruck:
<{"</td><td>ein seit ".KonvertiereZeit(ReadingsTimestamp("$DEVICE","state","???"));}>

noch angezeigt bekomme. mit ",<Text> wird die Ausgabe ja unterdrückt, da da irgendwas nicht matched.????

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 13 November 2013, 23:12:45
also...

der <...> teil gehört in die liste der readings. in der definition der readingsGroup gibst du ja die devices und die readings durch doppelpunkt getrennt an. wenn du die readings weg lässt sind es alle. deine lampen haben nur state von daher hat es bis jetzt gepasst wenn du nichts angegeben hast. jetzt möchtest du aber zwei dinge anzeigen. state und zeit also musst du beides auch hinschreiben:define Alle_Lampen_im_Haus readingsGroup [A-Z][E-z][012]*_.*[LlFf](ampe|luter).*:state,<{anSeit($DEVICE)}>

der <...> teil ist leider was die syntax angeht etwas eingeschränkt. es dürfen z.b keine leerzeichen vorkommen. deshalb ist es am besten alles in eine kleine routine in 99_myUtils.pm zu stecken und diese aufzurufen:sub                                               
anSeit($)                                         
{                                                 
  my ($DEVICE) = @_;                               
                                                   
  my $state = ReadingsVal($DEVICE,"state","" ); 
  return undef if( !$state || $state eq "off" );
                                                   
  my $time = ReadingsTimestamp($DEVICE,"state","");
                                                   
  return "an seit ". KonvertiereZeit($time);                       
}


value format kann jetz ganz einfach werden:attr valueFormat {($VALUE=~/on/)?"":undef}

wichtig: das unterdrücken der ausgabe für den <...> ausdruck hab ich eben erst eingecheckt. das geht erst morgen im update.

das mapping kannst du etwas vereinfachen:attr mapping %ROOM %ALIAS

die <...> werden nicht wirklich unterdrückt. der webbrowser blendet sie nur aus weil er denkt es wäre ein html kommando. das ist aber nicht wirklich ein problem. beim klick auf DEF sollten sie wieder zu sehen sein.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 15 November 2013, 09:55:08
Hallo Andre,

wenn mans dann liest, ist es ja logisch. Danke. Eingebaut, funktioniert und sieht "echt kompetent" aus.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 15 November 2013, 11:56:35
das freut mich.


du hast inzwischen so viel mit der readingGroup gemacht ich glaube es gibt vielleicht noch dein ein oder anderen der sich deine ideen gerne mal anschauen würde :)

hast du nicht zeit und lust mal ein bisschen was zu beschreiben. vielleicht sogar im wiki...

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 15 November 2013, 15:24:31
Hallo Andre,

köntte ich schon machen, weiß aber nicht, wie ich einen Zugriff auf das Wiki bekomme. Außerdem müsste ich mich erst einmal schlau machen, wie das mit der Formatierung (Kapitel usw.) funktioniert.
Da hätte ich noch zwei bis drei Themen:
a) Einen FS SIG2 intelligent ansteuern, ohne dass man 100 FHEM - Objekte dafür anlegen muss;
b) Meine Anruflistenverwaltung, die auch readingsGroup verwendet und dynamisch rolliert;
c) FHTs intelligent ansteuern, mit verschiedenen Heizungsprofilen für Urlaub, Party, Gast oder Abwesenheit einzelner Personen. Da ich 10 Stück davon im Betrieb habe, habe ich um nicht auf Funkprobleme zu laufen, einen Softpuffer mit Verifikation implementiert. Außerdem nutze ich die Fensterkontakte auch noch für eine Alarmanlage und für einen Schutz vor zu starker Raumtemperaturabsenkung bei versehentlichem Dauerlüften.

Zeit müsste man nur haben.

Gruß

Elektrolurch
P.S.: Noch Mals danke für die nette Unterstützung.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ph1959de am 15 November 2013, 17:32:37
Hallo Elektrolurch,

bei den Fragen zum wiki kann ich Dir weiterhelfen:

- wie Du den Zugriff bekommst, ist hier beschrieben: http://www.fhemwiki.de/wiki/Benutzer:Soulman

- den Einstieg in die (Mit-)Arbeit im wiki kannst Du hier finden: http://www.fhemwiki.de/wiki/FHEMWiki:%C3%9Cber_FHEMWiki#Beispiel:_Neuer_Artikel (... aber bitte auch die restlichen Hinweise auf der Seite beachten). Das Beispiel ist zwar auf ein Hardware-Device zugeschnitten, aber ich denke, das Prinzip lässt sich leicht auf Deinen Bedarf zuschneiden.

Wenn Dir das lieber ist, kann ich auch das Grundgerüst für den neuen Artikel schon mal für Dich anlegen - ich weiß nämlich nicht, wie es mit der Nutzbarkeit der Beispiele auf einem Screenreader aussieht. Im Zweifel melde Dich einfach, bei der Formatierung kann ich Dich auf jeden Fall unterstützen.

Gruß, Peter

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 16 November 2013, 20:56:19
Hallo Andre,

ist leider mit der Lösch-Funktion nach einem Neustart von fhem ein Problem aufgetreten:

2013.11.16 20:31:31 1: reload: Error:Modul 99_myUtils deactivated:
Global symbol "$FW_ME" requires explicit package name at ./FHEM/99_myUtils.pm line 139, <$fh> line 6.
Global symbol "$FW_subdir" requires explicit package name at ./FHEM/99_myUtils.pm line 139, <$fh> line 6.

2013.11.16 20:31:33 3: telnetPort: port 7072 opened

Ist die auskommentierte Zeile im Trigger:

sub
appendTrigger($$$)
{
  my ($name,$trigger,$label) = @_;

  my $ret .= "</table></td></tr>";

  my $link = "cmd=trigger $name $trigger";
#   my $txt = "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$link')\">$label</a>";
  $ret .= "<td colspan=\"99\"><div style=\"cursor:pointer;color:#888888;text-align:right\">$txt</div></td>";

  return ($ret,0);
} # end appendTrigger


Weiß allerdings nicht, woher die beiden Variablen stammen. Guter Rat...?
(aktueller Update - Stand von heute und erst nach shutdown restart, ein reload vom Modul hatte ich heute schon mal gemacht, wg. anderer Änderungen).

Zweites Thema (ich war fleißig)
rollierende Listen auf Basis von readingsGroup:

Beispiel:
an "meineFB" habe ich userReadings A0...E4 gehängt, also A - E Spalten und 0 - 4 Zeilen.
Will ich nun einen neuen Eintrag in A0 - E0 schreiben, so schiebe ich den Rest nach hinten:

my $meineFB = $defs{"meineFB"};
...
# shiften der alten Inhalte
   my $tt;
    readingsBeginUpdate($meineFB);

    for ($i=4;$i>0; $i--)
    {
   foreach $j ('A'..'E')
   {
#   $defs{"meineFB"}{READINGS}{$j.($i-1)}{VAL};

    $tt = ReadingsVal("meineFB",$j.($i-1),"-");
   readingsBulkUpdate($meineFB,$j.$i,$tt);
   } # end j
   } # end i
   $E[$callID] = $callDuration;
  readingsBulkUpdate($meineFB,"A0",$A[$callID]);
  readingsBulkUpdate($meineFB,"B0",$B[$callID]);
  readingsBulkUpdate($meineFB,"C0",$C[$callID]);
  readingsBulkUpdate($meineFB,"D0",$D[$callID]);
  readingsBulkUpdate($meineFB,"E0",$E[$callID]);

  readingsEndUpdate($meineFB, 1);


Was jetzt da etwas störend ist, dass jedes schreiben der Readings wohl trotz des bulk-Updates ein Event generiert, also 25 Stück. Man merkt das auch an der Performance....
Kann man die Werte nicht direkt schreiben:
$defs{"meineFB"}{READINGS}{$j.($i-1)}{VAL} = ...;

Irgendwie klappte das nicht mit der doppelten Indirektion, d.h. in einer Variable steht der Name einer Variable....
Zumindest könnte ich mir beim Shiften so die unnötigen Events ersparen, eine FB ist ja keine Cray.

Gruß


Elektrolurch



Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 November 2013, 21:13:43
das mit den fehlenden variablen war mein fehler. ich hab dir zwei zeilen zu wenig kopiert. das hier:use vars qw($FW_ME);
use vars qw($FW_subdir);
muss noch vor das 'sub appendTrigger($$$)'

du kannst das triggern der events steuern in dem du bei readingsBulkUpdate einen zusätzlichen vierten parameter angibst. 0 -> keine events, 1 -> triggert events.

aber achtung: wenn keine events getriggert werden bekommt die readingsGroup natürlich auch nicht mit das sich etwas geändert hat und  longpoll funktioniert auch nicht.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 16 November 2013, 21:33:33
Hallo Andre,

wie granular ist denn das graf. Update in der readingsGroup implementiert? Je Wert oder reicht es auch aus, wenn ich am Schluß nur für die neuen Werte in der ersten Zeile das Update per Event veranlasse?
Da es sich ja um eine Übersichtsliste handelt, wäre es ja wünschenswert nach erfolgtem Abschluß der Änderungen (shiften der Einträge) die ganze Gruppe neu malen zu lassen, als jedes Element einzeln.
Die Events, für die userReadings beim Shiften sind jedenfalls im log der Telefonliste, falls man das wirklich doch mal zum Nachsehen (Fehleranalyse) ziemlich nervi.

Daher war ja die Idee, direkt die Hashes zu schreiben.

Mal ncohnoch ein anderes Thema: Setze mal in einer readingsGroup einzlene Werte, die dargestellt werden sollen, auf ein "-". Das scheint fhem überhaupt nicht zu mögen. Ich habe daher jetzt an allen Stellen, wo ich keinen defnierten Wert habe, "n/a" rein geschrieben.... sieht so aus, als wären die fhem-Meldungen aus der fhem.pl über undefinierte Werte im Hash jetzt weg...
Muss das aber noch mal genauer recherchieren.

Gruß


Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 November 2013, 22:18:11
jeder wert wird einzeln behaldelt. die readingsGroup kennt nur readings. sonst nichts. wenn du etwas gruppenweise brauchst muss schon das reading die ganze gruppe sein.

wenn du es weniger granular haben möchtest hilft es vielleicht die userReadings schon so aufzubereiten das immer ein komplette zeile existiert.

oder du baust die ganze gruppe in valueFormat komplett zusammen.

ich hab eben mal etwas mit '-' probiert und kein problem gehabt. ich schau es mir aber noch mal an.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 16 November 2013, 22:41:33
Hallo Andre,

ich hatte in valueFormat die Abrage auf "-" -> undef, um die Ausgabe zu unterdrücken. Hintergurnd: mit setreadings Name reading value, kann man nur Werte setzen, aber nicht auf "leer" zurücksetzen. Wenn ich also einen Alarmmelder zurücksetzen wollte, damit er in der Liste nicht mehr auftaucht, habe ich ihn mit setreading auf "-" gesetzt.
Da aber nicht das Setzen, sondern erst die Darstellung wohl über

Use of uninitialized value $fn in concatenation (.) or string at ./FHEM/01_FHEMWEB.pm line 984.
Argument "-" isn't numeric in numeric ge (>=) at (eval 88861) line 1.
Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 351.
Use of uninitialized value $fn in concatenation (.) or string at ./FHEM/01_FHEMWEB.pm line 984.

zu Problemen führt, konnte ich zunächst die Ursache nicht feststellen.
Dann habe ich gestern noch einige Thermostate in Betrieb genommen. Da sind die readings auch erst einmal mit "-" belegt, bis der alle eingesammelt hat, da häuften sich die Meldungen. Die sind alle über eine rg dargestellt.
Da konnte man auch die Fehlermeldung im log sehen:
Das "-" kein numerischer Vergleich in 33-readingsGroup.pm ist....

Jetzt habe ich alle "Default"-Besetzungen, und deren Abfragen, auf "n/a" gesetzt, und sihe da, das log ist bzgl. der km-langen Fehlermeldungen leer.
Ich vermute fast, das perl aus dem "-" irgendwas mit "-0" und daraus ein undef generiert.
Bei jedem Aufruf der zentralen Webseite hatte ich jede Menge Warnungen im log, (km), die scheinen nun weg zu sein.
Also: Ein "-" ist wohl gefährlich".
Möglicherweise ist dies auch ein perl-Spezifika, bei mir ist dies die Version auf der FB, Du verwendest ev. auf dem RP eine andere...?

Gruß


Elektrolurch


Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 November 2013, 22:45:15
das valueFormat wird tatsächlich als format string in einem sprintf verwendet. ich fange den fehler ab. dann sollte keine meldenug mehr auftauchen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 20 November 2013, 20:52:56
Hallo Andre,

jetzt sind auch die Meldungen von fhem.pl weniger geworden. Für den Rest muss ich noch mal Ursachenforschung betreiben. Gibt's da in perl die Möglichkeit eines trace-backs?

Eine andere Sache, ist strange und ich komm da nicht weiter.
Die Gruppe "Aller eingeschalteten Lampen im Haus" funktioniert mit anklickbaren Ikon je Zeile und der Zeitangabe, dank Deiner freundlichen Unterstützung.
Die gleiche Gruppe, für "Alle eingeschalteten Geräte" zeigt nichst an. Nimmt man das valueFormat ganz raus, so werden alle Geräte eingeschaltet, aber es fehlt die Zeitangabe.
Einziger Unterschied: Die Lampen sind einzeilig über regex definiert, die Geräte mehrzeilig:
Ich sehe da partout keinen Unterschied, zumal ich die Gruppendefinition kopiert habe und nur den Namen ausgetauscht habe:


define Alle_Lampen_im_Haus readingsGroup [A-Z][E-z][012]*_.*[LlFf](ampe|luter).*:state,<{anSeit($DEVICE)}>
attr Alle_Lampen_im_Haus alias Alle eingeschalteten Lampen
attr Alle_Lampen_im_Haus eventMap /on:ein/off:aus/
attr Alle_Lampen_im_Haus group Beleuchtung
attr Alle_Lampen_im_Haus mapping %ROOM %ALIAS
attr Alle_Lampen_im_Haus noheading 1
attr Alle_Lampen_im_Haus nolinks 1
attr Alle_Lampen_im_Haus notime 1
attr Alle_Lampen_im_Haus room Haus
attr Alle_Lampen_im_Haus valueFormat {($VALUE=~/on/)?"":undef}
attr Alle_Lampen_im_Haus valueIcon {state => '%devStateIcon'}

define Alle_Geraete_im_Haus readingsGroup SonosBridge:state,<{anSeit($DEVICE)}> Ku_Squeezebox:state,<{anSeit($DEVICE)}> [MW]z_Media:state,<{anSeit($DEVICE)}> Sa_IR_strahler:state,<{anSeit($DEVICE)}> Sa_Sitzbank:state,<{anSeit($DEVICE)}>
attr Alle_Geraete_im_Haus alias Alle eingeschalteten Geräte
attr Alle_Geraete_im_Haus eventMap /on:ein/off:aus/
attr Alle_Geraete_im_Haus group Geräte
attr Alle_Geraete_im_Haus mapping %ROOM %ALIAS
attr Alle_Geraete_im_Haus noheading 1
attr Alle_Geraete_im_Haus nolinks 1
attr Alle_Geraete_im_Haus notime 1
attr Alle_Geraete_im_Haus room Haus
attr Alle_Geraete_im_Haus valueFormat {($VALUE=~/on/)?"":undef}
attr Alle_Geraete_im_Haus valueIcon {state => '%devStateIcon'}



Eine Idee, woran es liegen könnte?

Gruß


Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 20 November 2013, 21:03:15
auf die schnelle habe ich keine idee.

bitte ändere mal die zweite readingsGroup nacheinander so ab das immer nur eines der 5 geräte überwacht wird. geht es dann? wenn ja bei welchen?

gruss
  andre

ps: eventMap ist bei der readingsGroup nicht nötig.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ph1959de am 20 November 2013, 21:33:44
Darf ich meine Fehlermeldungen zu readingsGroup hier auch noch in die Runde werfen? Ich bekomme regelmäßig

Missing argument in sprintf at ./FHEM/33_readingsGroup.pm line 533.
Invalid conversion in sprintf: end of string at ./FHEM/33_readingsGroup.pm line 533.

Missing argument in sprintf at ./FHEM/33_readingsGroup.pm line 352, <FH> line 23075.
Invalid conversion in sprintf: end of string at ./FHEM/33_readingsGroup.pm line 352, <FH> line 23075.


Version: 33_readingsGroup.pm 4233 2013-11-16 22:00:07Z justme1968 $

Wenn die folgende readingsGroups auskommentiert ist, kommen die Meldungen nicht mehr:

#define TempHygro readingsGroup TYPE=CUL_WS.*:temperature,humidity,dewpoint
#attr TempHygro mapping %ALIAS
#attr TempHygro valueFormat { temperature => "%.1f&deg;;C", humidity => "%.1f %", dewpoint => "%.1f&deg;;C"}


Ist da irgendetwas offensichtlich falsch oder kann/muss ich noch mehr Informationen liefern?

Gruß, Peter
Titel: Neues Modul readingsGroup
Beitrag von: justme1968 am 20 November 2013, 21:35:18
du muss das % das wirklich angezeigt werden soll  verdoppeln.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ph1959de am 20 November 2013, 21:44:39
Zitat von: justme1968 am 20 November 2013, 21:35:18
du muss das % das wirklich angezeigt werden soll  verdoppeln.
Blitzschnell und genial richtig. Danke Andre.

Ließe sich dieser Fehler irgendwie im readingsGroup abfangen? Könnte mir vorstellen, dass ich nicht der letzte bin, der da reinfällt.

Gruß, Peter
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 20 November 2013, 21:52:23
du bist auch nicht der erste.

das lässt sich nicht wirklich abfangen. zumindest habe ich keine idee die zuverlässig immer funktioniert und nicht zuviel overhead hat.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 21 November 2013, 13:01:54
Hallo Andre,

versuche das mit der "Geräteliste" einzukreisen, aber ist noch nicht schlüssig. Vielleicht hilft ja langsames Herantasten.
Ich habe jetzt mal folgendes gemacht:
Mit dem schönen Trigger für die rg, die Du gebaut hast, habe ich jetzt drei Knöpfe unter die rg gesetzt: Alle_anzeigen, nur eingeschaltete, nur ausgeschaltete.
Der Trigger modifiziert das valueFormat der rg.
1. Mein Screenreader sagt aber, das da steht:  Alle anzeigen, eingeschaltete,ausgeschaltete,eingeschaltete,ausgeschaltete -> also 5 Knöpfe, statt drei. Definition:

define Alle_Geraete_im_Haus readingsGroup Sa_IR_strahler:state,<{anSeit($DEVICE)}> Sa_Sitzbank:state,<{anSeit($DEVICE)}> SonosBridge:state,<{anSeit($DEVICE)}> Ku_Squeezebox:state,<{anSeit($DEVICE)}> [MW]z_Media:state,<{anSeit($DEVICE)}> <{appendTrigger($DEVICE,"alle","Alle anzeigen");;}>,<{appendTrigger($DEVICE,"ein","eingeschaltete");;}>,<{appendTrigger($DEVICE,"aus","ausgeschaltete");;}>


Ok, wie ändern?
2. So sieht das notify aus:
sub ModifiziereAnzeige($$)
{
my ($liste,$event) = @_;
Log(3,"ModifiziereAnzeige: $liste $event");
if ($event eq "alle")
{
   fhem("deleteattr $liste valueFormat");
} # if alle
elsif ($event eq "ein")
{
   my $val = '{($VALUE=~/on/)?"":undef}';
fhem("attr $liste valueFormat $val");
} # if ein
elsif ($event eq "aus")
{
   my $val = '{($VALUE=~/off/)?"":undef}';
fhem("attr $liste valueFormat $val");
} # if aus

} # end sub modifiziereAnzeige



(old-fashion -C-Style :-))

Das schaltet auch, aber in der Liste "der ausgeschalteten Geräte erscheint das "eingeschaltete Gerät ohne Namen, aber mit Zeitangabe.
Ich habe mal einen Screenshot angehängt.
Wenn ich aber nur die "eingeschalteten" mir anzeigen lasse, ist alles korrekt... grübel... (Wo ist da die Symetrie?)
Dann ist da noch was stranges: Ich schalte die Sa_Sitzbank ein (am Schalter) und sie heizt auf. fhem zeigt sie aber mit "off" im state an.
Dann setze ich per fhem die auf "ein2 -> STATE ß= on, sobald ich aber die Webseite aufrufe, geht der state wieder auf "off", obwohl physikalisch das Teil weiter heizt. Da hängt nur ein notify mit einem at dran, welches mir die Heizung nach 30 Minuten wieder ausschalten soll.
Funktechnisch ist das Teil gleich neben an. Möglicherweise habe ich durch diesen Effekt beim Testen der rg zwei überlagernde Effekte, die die Analyse erschweren.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 21 November 2013, 13:32:30
du machst ja sachen :)

ich schaue mir das heute abend mal in ruhe an. nur kurz eins vorweg um ganz sicher zu gehen: wenn du so das valueFormat änderst braucht es zur zeit auf jeden fall einen refresh der html seite. und du musst in deinem anSeit berücksichtigen auch hier undef zurück gegeben wird wenn du die zeit nicht anzeigen lassen willst. also für die liste der ausgeschalteten geräte bei allen geräten die an sind.

wenn ich so darüber nachdenke ist das vermutlich schon genau das problem: die anSeit funktion muss wissen welche liste gerade angezeigt wird damit sie je nach dem die passenden undef zurück liefern kann. da das bei dir dynamisch ist wäre mein vorschlag das du in anSeit den namen der readingGroup mit übergibst (erst mal einfach hartkodiert), das du
in ModifiziereAnzeige der readingsGroup je nach liste ein reading 'liste' verpasst und dieses dann in anSeit auswertest.

es ist auch besser wenn du appendTrigger nur ein mal anhängst und im appendTrigger den passenden html code für alle drei links erzeugst. ich denke das macht es übersichtlicher.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 22 November 2013, 20:41:00
Hallo Andre,

ja ja, drüber nachdenken und jetzt sieht es so aus:


sub                                               
anSeit($$)                                         
{                                                 
  my ($DEVICE,$mode) = @_;                               

  my $state = ReadingsVal($DEVICE,"state","" ); 
  my $time = ReadingsTimestamp($DEVICE,"state","");

if ($mode eq "ein")
{
  return undef if( !$state || $state eq "off" );
  return "an seit ". KonvertiereZeit($time);                       
} # if mode ein
elsif ($mode eq "aus")
{
  return undef if( !$state || $state =~m/on.*/ );
  return "aus seit ". KonvertiereZeit($time);                       

} # end if modeaus
# mode alle
   my $t = ($state =~m/on.*/)?"ein":"aus";
  return " $t seit ". KonvertiereZeit($time);                       
} # end anseit
###############################


Für die rg muss man jetzt definieren:

[A-Z][a-z]_Lampen.*:state,<{anseit($DEVICE,ReadingsVal("der Name der rg","mode","alle"))}>

Und an die rg hängt man ein userReading "mode" an, welches über die drei knöpfe je nach gewünschter Darstellung auf "ein","aus" oder "alle" gesetzt wird.

Und schwup, die wupp, hat man dynamische Listen, die einem alles mögliche mit Zusatzangaben darstellen.
Ein Refresh ist im übrigen nicht notwendig, wenn ich valueFormat ändere, baut sich die Liste gleich wieder korrekt auf.

#gruß


'Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 November 2013, 20:47:00
die idee ist so gut du solltest es wirklich im wiki dokumentieren :)

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 22 November 2013, 20:53:30
Ja, so langsam komme ich auf den Trichter, habe 20 Jahre nicht mehr programmiert....
Habe da noch mit zwei dummys, die zwei Menüs und 6 Textfelder haben und vier Knöpfe (set,read) eine Steuerung für die Heizungsthermostate gebaut, da kann man alle per Wochentag, Werktag, Wochende oder auch einzeln die Schaltzeiten und Temperaturen setzen. Kompakter geht es nicht an einer Weboberfläche.
So Checkboxen oder Radiobuttons wären auch noch eine schöne Ergänzung für fhem.
Auch würde mich noch interessieren, ob es möglich ist über attr webCmd die Werte eines dummys über mehrere Zeilen darzustellen...

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 22 November 2013, 22:06:56
Hallo Andre,

ich habs gefunden. Vermutlich dürfte das auch den Meister König interessieren:

attr follow-on-timer 1

Wenn man dann das Gerät nur auf "on" setzt, geht es sofort auf "off". Das sollte eigentlich so nicht sein, so wie ich das verstehe, soll gemonitored werden, wenn man per timer das Gerät für eine Zeitdauer einschaltet.
Wer korrigiert den Fehler?
Hat bei mir eine Menge Verwirrung gestiftet...

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 November 2013, 22:13:56
das follow-on-for timer ist für fs20 geräte die mit on-for-timer eingeschaltet werden. weil es in fs20 keinen rückkanal gibt würde sonst fhem das automatische aus nach einer weile nicht mit bekommen. mit dem follow-on-for-timer wird bei einem on-for-timer automatisch ein internes at erzeugt das dann zu dem zeitpunkt in dem das echte device automatisch abschaltet auch das fhem device auf off setzt.

hat du das problem auch ohne readingsGroup?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 22 November 2013, 22:21:18
Hallo Andre,

das war schon klar. Ich setze das Licht im Treppenahus mit der timer-Funktion von fs20 und habe dort das Attribut auch entsprechend gesetzt.
Für ein paar Geräte habe ich eine Überwachung laufen und wollte zuerst das "on" - Event mit einem "on-for-timer" ersetzen, mache es jetzt aber über ein at.
Bei dem device war aber das Attribut "follow-on-for-timer" = 1 gesetzt. Wird das Device aber nur mit "on" eingeschaltet, so setzt fhem es sofort wieder auf "off".
Da müsste eine Abfrage hinein, wie das Device eingeschaltet wird und ggfs bei nur "on" keinen timer starten, der gleich auf "off" geht.
Daher hatte ich in der rg die komischen Effekte, dass die Devices teilweise nicht angezeigt wurden. Nachdem ich da etwas herumprobiert habe, bin ich drauf gekommen, dass die Devices, bei den follow-on-for-timer gesetzt war, nicht korrekt angezeigt wurde.
Also, m.M.n. müsste da etwas in fhem.pl korrigiert werden.

Gruß


Elektrolurch

Titel: Antw:Neues Modul readingsGroup
Beitrag von: rudolfkoenig am 23 November 2013, 12:17:49
Koennt Ihr mir bitte das follow-on-for-timer Problem erklaeren, am liebsten mit einem einfachen Beispiel in einer neuen Diskussion? Das was ich mir als Problem zusammengereimt habe kann ich nicht nachvollziehen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 November 2013, 20:54:47
ich hab mal eine wiki seite angefangen. es wäre schön wenn dort eine sammlung von beispielen und screenshots entstehen würde...

http://www.fhemwiki.de/wiki/ReadingsGroup (http://www.fhemwiki.de/wiki/ReadingsGroup)

gruss
  adnre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: bytebold am 02 Dezember 2013, 22:16:42
Hallo zusammen,

ich wollte mir eine Anrufliste der Fritzbox anzeigen lassen. Hab die von Elektrolurch bereitgestellte Datei mit den Beispielen eingetragen.
Es werden mir aber keine Anrufe angezeigt, nur die Dauer und entsprechende Pfeile für incoming oder outgoing.

Im Logfile finde ich folgende Einträge:
2013.12.02 22:02:36 1: CustomGetFileFromURL nginx: malformed or unsupported URL
2013.12.02 22:02:36 3: Call_Notify return value: Undefined subroutine &main::EventZeit called at /usr/local/FHEM/share/fhem/FHEM/99_myUtilsTelefon.pm line 200.

2013.12.02 22:02:46 3: Call_Notify return value: Undefined subroutine &main::sig2_break called at /usr/local/FHEM/share/fhem/FHEM/99_myUtilsTelefon.pm line 120.

syswrite() on closed filehandle GEN335 at /usr/local/FHEM/bin/fhem.pl line 522.


Hat jemand eine Idee, woran das liegen könnte ? Fehlt da irgendwas ?
Vielen Dank.

Gruß, bytebold

PS: Ich tu mich leider immer noch sehr schwer mit Programmierung in FHEM bzw. Perl.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 03 Dezember 2013, 11:51:00
Hallo,

zu den Meldungen:
2013.12.02 22:02:36 1: CustomGetFileFromURL nginx: malformed or unsupported URL
1. Check mal unter dem eingerichteten Device Deiner Fritzbox (Callmonitor) bei den Attributen, ob da reverse-lookup eingeschaltet ist. Ansonsten bekommst Du keine Namen angezeigt.
2. In dem Modul FBCallMonitor ist allerdings auch wohl noch ein Fehler, denn wenn der CallMonitor im Internet keine Telefonnummer rückwärts auflösen kann (liefert dann für den Namen "unknown"), habe ich diese Meldung auch im log-File.

2013.12.02 22:02:36 3: Call_Notify return value: Undefined subroutine &main::EventZeit called at /usr/local/FHEM/share/fhem/FHEM/99_myUtilsTelefon.pm line 200.

Sorry, die Routine "EventZeit" steht bei mir im 99_myUtils.pm - Modul. Hatte ich aber, so glaube ich, in dem Post, in dem ich das 99_myUtilsTelefon - Modul eingestellt habe, oder einen post später noch "nachgeschoben.
Die Routine liefert nur die aktuelle Zeit im Format hh:mm:ss dd.mm.yyyy zurück.
Habe leider die SW nicht hier...


2013.12.02 22:02:46 3: Call_Notify return value: Undefined subroutine &main::sig2_break called at /usr/local/FHEM/share/fhem/FHEM/99_myUtilsTelefon.pm line 120.
Die Routine "sig2" brauchst Du nicht, die kannst Du aus dem Code auskommentieren. Ich lasse mir den  Anrufnamen auf einem FS20 SIG2 Signalgeber ausgeben.

syswrite() on closed filehandle GEN335 at /usr/local/FHEM/bin/fhem.pl line 522.

Da wurde etwas in der fhem.pl von Rudolf König umgestellt. Die Meldungen bbekomme ich sporadisch auch, ohne dass ich sie genau einem Ereignis zuordnen könnte.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: bytebold am 03 Dezember 2013, 16:33:07
Hallo,

vielen Dank, klappt jetzt.
Ich habe nun eine 99_myUtils angelegt, in der sich EventZeit befindet, Sig2 habe ich auskommentiert.
Das Telefonbuch von der Fritzbox liegt nun auch auf der Synology Diskstation, muß ich aber noch testen.

Gruß, bytebold
Titel: Antw:Neues Modul readingsGroup
Beitrag von: doddl am 04 Dezember 2013, 23:11:13
Hallo Elektrolurch,

ich habe mir Dein Modul aus Post #91 runtergeladen und meine .cfg angepasst. Soweit funktioniert auch alles. Das Modul FB_CALLMONITOR schreibt die readings in die LogFile und schiebt die Einträge auch immer eins weiter. Im Event Monitor sieht es m.E. auch gut aus:

Events:
2013-12-04 22:58:32 FB_CALLMONITOR meineFB event: ring
2013-12-04 22:58:32 FB_CALLMONITOR meineFB external_number: 01609999999
2013-12-04 22:58:32 FB_CALLMONITOR meineFB external_name: Tommy
2013-12-04 22:58:32 FB_CALLMONITOR meineFB internal_number: 11111111
2013-12-04 22:58:32 FB_CALLMONITOR meineFB external_connection: SIP0
2013-12-04 22:58:32 FB_CALLMONITOR meineFB call_id: 0
2013-12-04 22:58:33 FB_CALLMONITOR meineFB event: disconnect
2013-12-04 22:58:33 FB_CALLMONITOR meineFB call_duration: 0
2013-12-04 22:58:33 FB_CALLMONITOR meineFB missed_call: 01609999999 (Tommy)
2013-12-04 22:58:33 FB_CALLMONITOR meineFB call_id: 0
2013-12-04 22:58:33 FB_CALLMONITOR meineFB A4: ->
2013-12-04 22:58:33 FB_CALLMONITOR meineFB B4: 20:11:02 3.12.2013
2013-12-04 22:58:33 FB_CALLMONITOR meineFB C4: Tommy
2013-12-04 22:58:33 FB_CALLMONITOR meineFB D4: 01609999999
2013-12-04 22:58:33 FB_CALLMONITOR meineFB E4: 0:00
2013-12-04 22:58:33 FB_CALLMONITOR meineFB A3: ->
2013-12-04 22:58:33 FB_CALLMONITOR meineFB B3: 20:41:35 3.12.2013
2013-12-04 22:58:33 FB_CALLMONITOR meineFB C3: Tommy
2013-12-04 22:58:33 FB_CALLMONITOR meineFB D3: 01609999999
2013-12-04 22:58:33 FB_CALLMONITOR meineFB E3: 0:00
2013-12-04 22:58:33 FB_CALLMONITOR meineFB A2: ->
2013-12-04 22:58:33 FB_CALLMONITOR meineFB B2: 20:42:21 3.12.2013
2013-12-04 22:58:33 FB_CALLMONITOR meineFB C2: Tommy
2013-12-04 22:58:33 FB_CALLMONITOR meineFB D2: 01609999999
2013-12-04 22:58:33 FB_CALLMONITOR meineFB E2: 0:00
2013-12-04 22:58:33 FB_CALLMONITOR meineFB A1: ->
2013-12-04 22:58:33 FB_CALLMONITOR meineFB B1: 21:20:57 3.12.2013
2013-12-04 22:58:33 FB_CALLMONITOR meineFB C1: Tommy
2013-12-04 22:58:33 FB_CALLMONITOR meineFB D1: 01609999999
2013-12-04 22:58:33 FB_CALLMONITOR meineFB E1: 0:00
2013-12-04 22:58:33 FB_CALLMONITOR meineFB A0: ->
2013-12-04 22:58:33 FB_CALLMONITOR meineFB B0: 22:58:32 4.12.2013
2013-12-04 22:58:33 FB_CALLMONITOR meineFB C0: Tommy
2013-12-04 22:58:33 FB_CALLMONITOR meineFB D0: 01609999999
2013-12-04 22:58:33 FB_CALLMONITOR meineFB E0: 0:00


Hier auch noch der Teil aus meiner config:

define meineFB FB_CALLMONITOR 192.168.178.1
attr meineFB local-area-code 0621
attr meineFB reverse-search all
attr meineFB room FritzBox
attr meineFB userReadings eing0 eing1 eing2 eing3 eing4 A0 A1 A2 A3 A4 B0 B1 B2 B3 B4 C0 C1 C2 C3 C4 D0 D1 D2 D3 D4 E0 E1 E2 E3 E4
attr meineFB verbose 0

define FileLog_meineFB FileLog ./log/meineFB-%Y.log meineFB
attr FileLog_meineFB logtype text
attr FileLog_meineFB room FritzBox

define Call_Notify notify meineFB:.* { \
  TelefonMonitor ($EVENT);; \
}
attr Call_Notify room FritzBox
# end Call_Notify

################################
# Neue Version:

define Anrufliste readingsGroup 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 fp_Info 625,299,5,
attr Anrufliste mapping {'meineFB.A0' => '1.', 'meineFB.A1' => '2.', 'meineFB.A2' => '3.', 'meineFB.A3' => '4.', 'meineFB.A4' => '5.'}
attr Anrufliste noheading 0
attr Anrufliste nolinks 0
attr Anrufliste nostate 0
attr Anrufliste notime 1
attr Anrufliste room FritzBox

Im LogFile gibt es keine Fehlermeldungen.

Ich bekomme es jetz aber nicht hin, das die Anrufliste die Einträge anzeigt, damit ich diese im FLOORPLAN anzeigen kann.

Als Anlage mal noch ein Screenshot der "leeren" Anrufliste.

Ich hoffe du kannst mir helfen.

Gruß Tommy
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fiedel am 05 Dezember 2013, 10:11:17
Hi Tommy,

hast du die Datei "99_myUtilsTelefon.pm" in FHEM angelegt und danach "shutdown restart" durchgeführt? Die Datei erstellst du am Besten, in dem du die "99_myUtils.pm" oder "99_Utils.pm" per "Save as" -> "99_myUtilsTelefon.pm" umkopierst. Dann öffnest du die neu erzeugte "99_myUtilsTelefon.pm", leerst sie und kopierst den Inhalt der Datei dort hinein. Speichern, Restart, fertig.  ;)
Ich hab die Datei noch etwas zurechtgekürzt, damit im Log nicht so  viel Verwirrendes erscheint und wieder hier angehängt.

Gruß

Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chicony am 05 Dezember 2013, 13:15:05
Hallo Frank,

leider habe ich auch ein paar probleme mit der "Anruferliste" :

1. longpoll funktioniert nicht, erst bei Browser refresh ist die Anrufliste vollständig.
2. bei eingehenden rückrufen gibt er den eigentlichen Anruf nochmal aus (zeit und datum identisch)

(//)

mfg
chicony
Titel: Antw:Neues Modul readingsGroup
Beitrag von: doddl am 05 Dezember 2013, 17:33:36
Hallo Frank,

danke für Deine Antwort.
Leider liegt es nicht daran. Ich habe nun zwar die 99_myUtilsTelefon noch mal neu mit deiner Version angelegt, aber das Ergebnis bleibt gleich.
Ich hätte gedacht, dass das Modul richtig läuft, da ja im Eventmonitor zu sehen ist, das die Einträge weiter geschoben werden, so wie es sein soll.
Mein Problem liegt denke ich eher in der Notify oder in der readingsGroup, denn wie im Anhang oben zu sehen, bleibt die angezeigte "Anrufliste" leer. Vielleicht könnt ihr noch mal über meine cfg und die rG schauen, ob ich hier etwas falsch eingetragen habe.

Vielen Dank für Eure Unterstützung.

Tommy
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fiedel am 05 Dezember 2013, 18:31:47
Sieht alles gut aus bei dir. Dieses kleine leere Feld hatte ich auch, als meine 99_myUtilsTelefon.pm noch nicht funktioniert hatte. Deshalb hab ich gleich darauf getippt. Vielleicht hilft dir ja ein Update? Hab meine RG gerade mal in einen FP gesetzt und geht. Nur ein Rahmen fehlt dann dort. Muss man ggf. noch etwas CSS dazustricken.

@chicony:

1.: Longpoll nutze ich leider nicht.

2.: Habe die Funktion auch erst heute eingebaut, werde ich mal beobachten. Ggf. teste und beschreibe mal genauer, damit es nachvollziehbar ist (Testablauf Schritt für Schritt und was dabei passiert).
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Billy am 05 Dezember 2013, 19:03:57
Hallo Andre,

ich versuche mit den readingsGroup einiges in der Darstellung meiner FHEM Oberfläche zu verbessern.
Die derzeitigen Möglichkeiten sind schon super. :)

Ist es möglich den Style für die Zitat:
Zitat<Eine Überschrift>
aus dem letzten Update
zu verändern? z.B unterstrichen, kursiv oder andere Farbe?

Gruss
Billy
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 Dezember 2013, 19:50:18
klar geht das :).

du musst nur die formatierung in eine kleine funktion auslagern. am besten steckst du die in 99_myUtils.pm. z.b. so:sub                                                               
rgText($)                                                         
{                                                                 
  my ($txt) = @_;                                                 
  return "<div style='color:#00ff00;font-weight:bold;font-size:40px'>$txt</div>";
}


und dann mit <{rgText("Mein Text")} einbinden.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: doddl am 05 Dezember 2013, 19:53:47
Hi Frank,

noch mal danke, aber FHEM ist aktuell. Anbei meine
Fhem info:
  Release  : 5.5
  Branch   : DEVELOPMENT
  OS       : linux
  Arch     : mips-linux
  Perl     : v5.12.2

Hat vielleicht noch jemand eine Idee?

Bin für jede Hilfe dankbar.

Tommy
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 Dezember 2013, 19:54:07
noch ein beispiel für eine mögliche verwendung von <...> findest du hier: http://forum.fhem.de/index.php/topic,14425.msg106767/topicseen.html#msg106767 (http://forum.fhem.de/index.php/topic,14425.msg106767/topicseen.html#msg106767).

elektrolurch hat das inzwischen so weit ausgebaut das er mit den zusätzlichen links die readingsGroup steuert und z.b. umschalten kann was angezeigt wird.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Billy am 05 Dezember 2013, 19:57:43
Danke Andre :)

Das mit der Formatierung der Überschrift klappt super. ;D

Zitatklar geht das :).

du musst nur die formatierung in eine kleine funktion auslagern. am besten steckst du die in 99_myUtils.pm. z.b. so:

Gruss

Billy
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 Dezember 2013, 20:35:33
mach mach mal ein paar beispiele und screenshots fürs wiki :)

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Billy am 05 Dezember 2013, 21:05:05
Hallo Andre

Zitatmach mach mal ein paar beispiele und screenshots fürs wiki

Gerne, kannst du damit was anfangen?


Zugehöriger Eintrag in 99_myUtils.pm sieht so aus.
Zitatsub                                                               
rgText($)                                                         
{                                                                 
  my ($txt) = @_;                                                 
  return "<div style='color:#00ff00;font-family:verdana, sans-serif;font-weight:bold;font-style:italic;font-size:30px'>$txt</div>";
   #return "<div style='color:#00ff00;font-family:verdana, sans-serif;font-weight:bold;font-style:italic;font-size:30px'>$txt</div>";
}

Die Gesamtdefinition für das Beispiel Klima sieht dann aus wie in Anlage Reading Group Definition.png.

(//)

Gruss
Billy
Titel: Antw:Neues Modul readingsGroup
Beitrag von: doddl am 05 Dezember 2013, 23:37:30
Hallo zusammen,

ich schon wieder. Ich komme nicht wirklich weiter. Wenn ich die rg "Anrufliste" nur mit meineFB:xx definieren, also nur mit einem Teil aus den readings, sehe ich den Wert in der Anrufliste/ Floorplan. Sobald ich mehrere Werte definieren z.B: meineFB:A0,A1,A2 bleibt die "Anrufliste" leer.

Hatte das jemand schon mal ?

Danke
Tommy
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Billy am 06 Dezember 2013, 14:03:59
Hallo Andre,

bin etwas weiter in das Formatierungsthema eingestiegen.
In Anlage mal ein Beispiel wo ich gerade stehe.

Mir war besonders wichtig für meine Smartphone Ansicht ein vernünftiges Ergebnis zu bekommen!

Dank deine Typs zum formatieren der Überschriften sieht das jetzt schon ganz ordentlich aus.
Ausserdem kann ja attr .... nameStyle style="font-weight:bold" auf style="color:blue;font-weight:bold" um die Farbe erweitert werden.

Ein Problem habe ich gefunden: Sobald ich attr valueIcon setze geht die übrige Formatierung im Smartphonemodus
WEBphone stylesheetPrefix smallscreen verloren.

Ist das ein Bug oder feature?

Hoffe die Anlage hilft zum Verständnis.

Gruss
Billy

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 06 Dezember 2013, 16:55:13
zeig mir mal bitte die komplette definition deiner readingsGroup. ich schaue mir das dann mal an.

ansonsten teste mal bitte die beiden readings brenner und bessel in der reihenfolge zu tauschen. und das ganze noch mal ohne die beiden überschriften.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Billy am 06 Dezember 2013, 17:11:03
Hallo Andre,

eie gewünscht. das Drehen bringt nichts.
Siehe Bild. Mit und ohne Überschrift

Zitatzeig mir mal bitte die komplette definition deiner readingsGroup. ich schaue mir das dann mal an.


#  Definition RGroup HK1

define RG_HK1 readingsGroup T12:state T17:state D5
attr RG_HK1 alias HK1
attr RG_HK1 mapping {'T12.state' => 'VL-Ist ', 'T17.state' => 'VL-Soll   ', 'D5' => 'HK1   '}
attr RG_HK1 nameStyle style="font-weight:bold"
attr RG_HK1 nolinks 1
attr RG_HK1 notime 1
attr RG_HK1 room 7_Anlagedaten
attr RG_HK1 style style="font-size:30px"
attr RG_HK1 valueFormat {'T12.state' => "%.1f °C",'T17.state' => "%.1f °C"}
attr RG_HK1 valueIcon { state => '%devStateIcon' }
attr RG_HK1 valueStyle {($READING eq "state" && $VALUE == 1)?'style="color:red"':'style="color:green"'}

#  Definition RGroup Heizung

define RG_Hz readingsGroup <{rgText30("Heizung")}> <{rgText25("Buderus")}> T9 D1
attr RG_Hz alias Heizung
attr RG_Hz mapping {'D1' => 'Brenner ', 'T9' => 'Kessel '}
attr RG_Hz nameStyle style="color:blue;;font-weight:bold"
attr RG_Hz noheading 1
attr RG_Hz nolinks 1
attr RG_Hz notime 1
attr RG_Hz room 7_Anlagedaten
attr RG_Hz style style="font-size:30px"
attr RG_Hz valueFormat {'T9.state' => "%.1f °C"}
attr RG_Hz valueIcon { state => '%devStateIcon' }
attr RG_Hz valueStyle {($READING eq "state" && $VALUE == 1)?'style="color:red"':'style="color:green"'}


Gruss und schon mal Danke

Billy
Titel: Antw:Neues Modul readingsGroup
Beitrag von: doddl am 06 Dezember 2013, 20:41:58
Hallo zusammen,

auf die Gefahr hin euch zu nerven, hat denn keiner eine Idee zu meinem Problem?
Noch mal kurz zusammen gefasst:

Ich habe mir nach der Anleitung von Elektrolurch das Modul 99_myUtilsTelefon eingebunden und die rg "Anrufliste" erstellt. Es klappt auch alles soweit. In der LogFile_Anrufliste und auch im Eventmonitor sieht man den eingegangen Anruf und auch das weiterschieben der vorhandenen Einträge.
Also denke ich, dass das Modul richtig funktioniert. Ich denke irgend etwas mit der Definition in der rg scheint nicht zu passen (siehe Anlage). Wenn ich als Definition nur einen Wert abfrage, z.B. meineFB:C3 bekomme ich den Wert angezeigt. Sobald ich mehrere Werte mit Komma getrennt (schon bei zwei Werten) eintrage, erhalte ich eine leere Anzeige wie  im angehängten Screenshot zu sehen.
Im FP bekomme ich die Meldung "Undefined Reading Anrufliste-"

Ich hoffe mir kann jemand helfen,

Vielen Dank und noch mal sorry, dass ich so nervig bin.

Grüße
Tommy
Titel: Antw:Neues Modul readingsGroup
Beitrag von: doddl am 06 Dezember 2013, 23:03:39
Hallo noch mal,

ich hab´s endlich hinbekommen.
Nach einer Neuinstallation hat es jetzt doch funktioniert.

Trotzdem Danke für Eure Geduld und Nachsehen mit mir.

Gruß
Tommy
Titel: Antw:Neues Modul readingsGroup
Beitrag von: doddl am 06 Dezember 2013, 23:57:47
Zitat von: Elektrolurch am 10 November 2013, 20:36:45
Zusätzlich kann man über den Hook eine Telefonaktion ausführen lassen... z.B. auf Basis einer bestimmten Anrufernummer und der gewählten Zielnummer etwas tun.
Die alten Anrufe werden immer um eins nach hinten geschoben, so dass die aktuellen immer oben stehen.

Gruß


Elektrolurch

Hallo Elektrolurch,

kann ich in der Anrufliste auch nur Anrufe für eine bestimmte Nummer anzeigen lassen? Z.B. Anrufe auf die Nummer 4711 sollen angezeigt werden, die auf die Nummer 4712 nicht (die der Tochter). Kannst Du mir einen Tipp geben?

Danke
Gruß Tommy
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 Dezember 2013, 12:06:05
ändere mal deine value icon definition so ab das sie genau nur auf das D1 passt:attr RG_Hz valueIcon { 'D1.state' => '%devStateIcon' }

die allgemeinere definition bei der nur state gemappt wird führt dazu das auch für T9 versucht wird ein icon zu finden. das gibt es zwar nicht und deshalb wird dann als fallback der text angezeigt. aber der fallback wird je nach stylesheet unterschiedlich formatiert.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Billy am 07 Dezember 2013, 13:36:46
Hallo Andre,

Zitatändere mal deine value icon definition so ab das sie genau nur auf das D1 passt:
Code: [Auswählen]
attr RG_Hz valueIcon { 'D1.state' => '%devStateIcon' }

Passt jetzt bis auf die Hintergrundfarbe aber damit kann ich gut leben. :)

Schon mal herzlichen Dank.
Noch eine  Frage bezüglich deinem Wiki:
Zitatattr Verbrauch valueStyle {($READING eq "power" && $VALUE > 40)?'style="color:red"':'style="color:green"'}

Kann man das auch für 3 Schwellen machen? zB. bis 30° blau bis 45° orange darüber rot?

Grüsse

Billy
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 Dezember 2013, 13:49:44
ja natürlich. du kannst alles machen was in perl möglich ist. aber auch hier gilt: komplexeres besser in eine funktion in 99_myUtils auslagern und nur aufrufen.

etwas in der art müsste gehen:
attr Verbrauch valueStyle {return '' if( $READING ne "power");return 'style="color:red"' if( $VALUE > 45); return 'style="color:orange"' if( $VALUE > 30); return 'style="color:green"';}


gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Billy am 07 Dezember 2013, 14:16:18
Hallo Andre,

Zitatja natürlich. du kannst alles machen was in perl möglich ist. aber auch hier gilt: komplexeres besser in eine funktion in 99_myUtils auslagern und nur aufrufen.

Vielen Dank, das klappt hervorragend. :) Jetzt kann ich die Temperaturen im Puffer farblich abgrenzen.

Schönes Wochenende

Billy
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spiff am 16 Dezember 2013, 15:48:26
Hi,

nach einem Update vorhin habe ich folgenden Fehler in der Konsole:
Useless use of private variable in void context at ./FHEM/33_readingsGroup.pm li
ne 525, <$fh> line 91.


kurz darauf gefolgt von:
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE
$/ at fhem.pl line 3468.


Keine Ahnung, ob die Fehler etwas miteinander zu tun haben.

Die readingsGroups sehen aber alle i.O. aus.

Gruß
Spiff.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Dezember 2013, 15:52:41
die erste meldung hab ich eben behoben. war ein copy&paste fehler. ist aber harmlos.

die zweite meldung kommt von einer falschen readingsGroup definition. du hast irgendwo eine readingsGroup auf * statt .* definiert.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spiff am 16 Dezember 2013, 15:59:57
Muss das wirklich mit einer readingsGroup zusammenhängen? Die sind alle mit .* gewesen. Ich hatte bei den LaCrosse allerdings ein "event-min-interval *:300" und jetzt auf "event-min-interval .*:300" geändert. Jetzt kein Fehler mehr. Komisch. Das ging trotzdem. :-)

Gruß
Spiff.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Dezember 2013, 16:01:56
muss nicht. war aber schon mehr als ein mal der fall :). aber jede andere stelle mit falschen wildcards spuckt die gleiche meldung aus.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spiff am 16 Dezember 2013, 19:48:10
Ach so, noch was:

kann man dem valueStyle auch beibringen, dass er automatisch neu angewendet wird, wenn per longpoll ein neuer Wert reinkommt?
Die Farbe verändert sich leider nicht entsprechend der hinterlegten Regel.

Gruß
Spiff.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Dezember 2013, 20:44:52
habs eben eingebaut.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spiff am 17 Dezember 2013, 09:48:29
Hi,

das mit dem valueStyle funktioniert perfekt, danke!

Jedoch gibt es einen neuen Fehler:
Argument "0.0 W" isn't numeric in numeric gt (>) at (eval 101) line 1.
Argument "0.0 W" isn't numeric in numeric gt (>) at (eval 213) line 1.
Argument "0.0 W" isn't numeric in numeric gt (>) at (eval 377) line 1.
Argument "0.0 W" isn't numeric in numeric gt (>) at (eval 544) line 1.
Argument "32.8 W" isn't numeric in numeric gt (>) at (eval 711) line 1.
Argument "0.0 W" isn't numeric in numeric gt (>) at (eval 824) line 1.
Argument "75.5 W" isn't numeric in numeric gt (>) at (eval 937) line 1.
Argument "76.0 W" isn't numeric in numeric gt (>) at (eval 1212) line 1.


Ich habe die PCA-Verbrauchsübersicht aus dem Beispiel übernommen, da muss der Fehler herkommen.
define Verbrauch readingsGroup TYPE=PCA301:state,power,consumption
attr Verbrauch mapping %ALIAS
attr Verbrauch room Energieverbrauch
attr Verbrauch valueFormat {power => "%.1f W", consumption => "%.2f kWh"}
attr Verbrauch valueIcon { state => '%devStateIcon' }
attr Verbrauch valueStyle {($READING eq "power" && $VALUE > 50)?'style="color:red"':'style="color:green"'}


Viele Grüße,
Spiff.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Dezember 2013, 10:31:26
das liegt an der internen reihenfolge. zuerst wird das ' W' dran gehängt und dann value style aufgerufen.

ich drehe es um.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spiff am 17 Dezember 2013, 11:18:32
Ja, das war's, danke.

Kann man die readingsGroup eigentlich so definieren, dass sie die gleiche Tabellenmaße verwendet, wie alle andere Tabellen in einer Raumansicht?

Gruß
Spiff
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Dezember 2013, 11:23:37
wenn du eine readingsGroup hast die den gleichen inhalt hat sollte sie auch gleich gross sein.

fhemweb packt alle plots, readingGroups und weblinks ans ende der seite in eine eigene tabelle, unabhängig von der tabele mit allen anderen devices. diese beiden tabellen gleich gross zu bekommen geht nur über die stylesheets bzw eingriff in fhemweb.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 19 Dezember 2013, 21:48:12
Sorry, bin erst jetzt wieder online.
Zitat:
Hallo Elektrolurch,

kann ich in der Anrufliste auch nur Anrufe für eine bestimmte Nummer anzeigen lassen? Z.B. Anrufe auf die Nummer 4711 sollen angezeigt werden, die auf die Nummer 4712 nicht (die der Tochter). Kannst Du mir einen Tipp geben?

Danke
Gruß Tommy
Hmm...
Sollen diese Anrufe erst gar nicht aufgezeichnet werden? Dann müsstest Du im Quellcode das in 99-myutilsTelefon abändern. Die Schierigkeit ist dabei, dass bei einem eingehenden Anruf mehrere Events kommen: Klingeln, Anrufer mit Namen, Abheben, interne Nummer, Auflegen, Gesprächsdauer. Ist im FBCallMonitor beschrieben. Ich habe einem Mehrnummernanschluss Rechnung getragen, d.h. es funktioniert auch bei mehreren ein- und ausgehenden Anrufen. Das macht das Filtern auf der Ebene etwas schwierig.
Andere Möglichkeit wäre in der Anzeige der readingsGroup einen Filter zu setzen, wobei in der jetzigen Implementierung die intern angerufene Nummer ja nicht angezeigt wird.
Wie das so vom Prinzip geht, kannst Du in dem Codeschnipsel für die Anzeige der "offenen Fenster" sehen:
http://forum.fhem.de/index.php/board,8.0.html



Da sind zwei Beispiele von readingsGroup's drin.

Gruß

Elektrolurch

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 19 Dezember 2013, 22:13:32
Hallo Andre,

zu dem Thema mit den rollierenden Listen ist mir noch etwas eingefallen. Derzeit ist es ja etwas unflexibel, da man sich für die Spalten so etwas wie A ... E und für die Zeilen so etwas wie 1...5, gemeint also A1...E5 als userReadings definieren muss.
Wenn man da tiefer eingreift, also{READInG}{VALUE} = @werte direkt in den fhem-Baum einhängen würde, würde das dann auch durch den SAVE-Befehl gespeichert werden?
{READING}{NAME} wäre dabei der Spaltenname.
Wenn fhem so etwas "saven" könnte, so hätte man beliebig lange Listen.
Ev. muss man eine neue Objektklasse auf Basis der readingsGroup definieren, um über Attribute das Teil vorzukonfiguriren....

So eine Idee.

Gruß


Elektrulurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 20 Dezember 2013, 09:44:09
ich muss mal überlegen wie das aussehen könnte.

vielleicht kannst du mir mal einen screenshot machen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Adam am 28 Dezember 2013, 20:23:59
Hi Andre,

möchte so eine readingsGroup auf meinem Status Display nutzen, habe aber das Problem,
dass ich einen doppelten Rahmen bekomme
(siehe auch Screenshot im Anhang, 1. Spalte: Temperatur, Luftfeuchtigkeit .....)

Ich nutze den mehrspalten Modus von FHEMWEB.

Ich habe eine readingsGroup definiert, und dieser auch ein Attribut Group verpasst.
Dann wird die readingsGroup auch an der Stelle angezeigt wo ich sie haben will
und nicht am Ende. Es wird aber ein doppelter Rahmen definiert.

Wenn ich im stylesheet den border auf 0px setze, dann sind alle weg, das möchte ich ja auch nicht.
Weisst Du woran das liegen könnte und wenn ja ob ich da was gegen machen kann??

Gruß
Adam
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 28 Dezember 2013, 21:11:29
das passiert wenn die readingsGroup in einer gruppe ist dann ist der rahmen doppelt. du kannst zur zeit entweder die readingsGroup aus der gruppe entfernen oder mit attr <device> style style="border:0px;background:none;box-shadow:none" den rahmen der readingsGroup abschalten.

ich überlege mir noch etwas besseres.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Adam am 28 Dezember 2013, 21:16:39
Danke, für die schnelle Reaktion !!!

Das sieht auf jeden Fall schon mal schöner aus!
Was fehlen würde, wäre dieses abwechselnde Grau, Schwarz.

Aber ich kann auch sehr gut mit dieser Lösung leben.
Ist zumindest keine Platzverschwendung mehr auf dem kleinen Display.

(Siehe Anhang)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Adam am 28 Dezember 2013, 23:11:07
Ich hätte da noch eine Frage,

ich habe ein Reading das hat als state "no" oder "yes"
und das möchte ich aber als icon darstellen.

Das bekomme ich leider nicht hin.  :(

Ich habe

devStateIcon mit Namen von png Dateien gesetzt

und

valueIcon  mit state => '%devStateIcon besetzt!?



attr wetter devStateIcon no:weather-cloudy_green yes:weather-rain_blue
attr wetter valueIcon {state => '%devStateIcon'}


Hat jemand ne Idee für mich?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 28 Dezember 2013, 23:21:14
readings haben keinen state. ein device kann ein reading state haben.

das attribut devStateIcon ist um einem device abängig vom STATE ein icon zu verpassen. eine readingsGroup hat keinen state und kein icon.

du möchtest einem reading innerhalb einer readingGroup ein icon verpassen. dazu ist das attribut valueIcon da. damit ordnest du einem reading ein icon zu. wenn du kein icon hat das so heisst wie der wert deines readings musst du vorher den wert mit valueFormat auf ein passendes icon mappen.

schau im wiki da findest du beispiele: http://www.fhemwiki.de/wiki/ReadingsGroup (http://www.fhemwiki.de/wiki/ReadingsGroup)

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Adam am 29 Dezember 2013, 12:35:58
Nochmals Danke, die Wiki Seite hatte ich noch nicht gesehen.

Ist es auch möglich den State zweier Devices in einer Zeiler zu kombinieren?

Device 1 liefert: T:22.6 H:41.5
Device 2 liefert: ok oder nok

und ich möchte dann in einer Zeile sehen:

T:22.6 H:41.5 ok

Fragt
Adam
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 Dezember 2013, 13:02:06
da sehr über einen umweg mit <{ReadingsVal(...)}>

gruss
  abdre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 Dezember 2013, 13:02:58
da sehr über einen umweg mit <{ReadingsVal(...)}>

gruss
  abdre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Adam am 29 Dezember 2013, 15:56:30
Hi Andre,

ich verstehe Deine Antwort nicht, muss ich das bei dem define der readingsGroup mit angeben?

Adam
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 Dezember 2013, 15:57:42
ja. statt dem namen eines readings.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Adam am 29 Dezember 2013, 16:08:54
OK Verstanden, leider werden die Werte dann doch in zwei Zeilen ausgegeben:

define statushum readingsGroup S300TH:state <{ReadingsVal("Wohnzimmer_Lueften","state","kann")}>

Ausgabe dann doch wieder:

Wohnzimmer:state T: 22.6 H: 40.9
kann
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 Dezember 2013, 16:10:53
alle readings die auf eine zeile sollen müssen mit komma aufgezählt werden. nicht mit leerzeichen getrennt.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Adam am 29 Dezember 2013, 16:13:47
1. Ja Super Danke!!
2. Und Sorry nächstes mal dann doch wieder gründlicher die Doku lesen  ;)

Adam
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Adam am 29 Dezember 2013, 16:36:20
Die valueIcon kann ich dann für die Werte von <{ReadingsVal("Wohnzimmer_Lueften","state","kann")}> leider nicht nutzen oder?

habe

valueIcon %VALUE

und die Namen der PNG Dateien heissen dann wie die Werte von <{ReadingsVal("Wohnzimmer_Lueften","state","kann")}>
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 Dezember 2013, 16:40:06
ja. icons gehen nur mit normalen readings.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 Dezember 2013, 19:15:07
du kannst im <{...}> aber von hand ein icon erzeugen:<{FW_makeImage("icon_name")}>

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Adam am 30 Dezember 2013, 19:27:14
Hi Andre, danke für Deinen Tipp, aber ich bekomme das nicht hin.
Im Gegenteil mein fhem bricht komplett ab, da meine Regex dann super Shrott sind  :(

mit folgendem bekomme ich alles in eine Zeile wie gewünscht:

S300TH:state,<{ReadingsVal("Wohnzimmer_Lueften","state","kann")}>

Müsste aber ja jetzt eine regexp finden die in <{ ... }> passt,
damit im Falle "kann" FW_makeImage("kann")
und im Falle "muss" FW_makeImage("muss") benutzt wird.

Das bekomme ich nicht hin. Er meckert mir immer wier Klammern an.

Hast Du ne Idee?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 30 Dezember 2013, 19:37:40
nein. keine regex... einfach eine ganz normale if else geschichte:S300TH:state,<{if(ReadingsVal("Wohnzimmer_Lueften","state","kann") eq "kann"){FW_makeImage("kann")}else{FW_makeImage("muss")}}>

oder wenn der wert immer dem icon namen entspricht so:S300TH:state,<{FW_makeImage(ReadingsVal("Wohnzimmer_Lueften","state","kann"))}>

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Adam am 30 Dezember 2013, 19:44:07
Hi Andre,

ja das zweite Beispiel funktioniert,  Juhu !!!

Das erste Beispiel habe ich auch schon probiert, dann gibt es immer einen fhem Absturz mit der Meldung:

Unmatched ) in regex; marked by <-- HERE in m/^"kann") <-- HERE {FW_makeImage("k
ann")}else{FW_makeImage("muss")}}>$/ at ./FHEM/33_readingsGroup.pm line 112, <DA
TEI> line 48.


Und daher auch von mir meine weiteren gescheiterten regex Versuche!

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 30 Dezember 2013, 20:37:28
die erste version geht wegen den leerzeichen nicht. wenn man die weg macht geht es auch da. aber die zweite ist eh besser. die erste sollte man in eine eigene sub in 99_myUtils.pm auslagern. dann sind die leerzeichen kein problem.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 01 Januar 2014, 20:52:44
Hallo Andre,

habe über die Feiertage fleißig programmiert und readingsGroup "ausgereizt! Dabei haben sich folgende Dinge ergeben:
1. um einen Titel zu erzeugen, hatte ich für die erste Spalte in der Headline <#> angegeben. Das "#"mag wohl fhem überhaupt nicht, denn dann war der Rest der Definition weg.
2. Mit dem undef für einzelne Werte: Ist ein Wert undef, so wird er nicht dargestellt. Schön wäre es aber, dass trotzdem in die nächste Spalte gesprungen würde. Für mich sieht das im Moment so aus, dasss die Liste einfach "zusammen rutscht".
3. Sind alle Werte in einer Zeile undef, so wird diese überhupt nicht dargestellt. Das ist gut und sinnvoll.
4. Hat wzar nichts mit rG zu tun: Warum gibt es die "userreadings"? Man kann mit "setreading" sich Werte an dumm<s anhängen, ohne das eine Fehlermeldung ausgelöst wird. Mit "deletereading" kann man diese dann auch wieder löschen, so dass diese in einer rG nicht mehr erscheinen. Hintergrund: Ich zeige nur Werte von meiner Solaranlage an, wenn diese auch an heutigen Tag gelaufen ist. Ansonsten erscheinen nur die Puffertemperaturen. Dabei erzeuge ich die Readings dynamisch und lösche sie nachts wieder. funktioniert super. Zuerst dachte ich, ich müsste die über "userreadings" immer reservieren, scheint aber nicht so. Und gesichert werden die Werte auch noch. Also warum "userreadings"? Den Unterschied habe ich in der fhem.pl auch nicht finden können.

Gruß


Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 01 Januar 2014, 21:00:21
1. das problem mit # ist das es als kommentarzeichen im config file gilt. es geht also solange bis du abspeicherst und neu lädst. das gilt z.b. auch für farben oder hex codes. du kannst es umgehen in dem du <{...}> mit einer kleinen funktion in 99_myUtils.pm verwendest die dann das # zurück gibt. das geht.

2. undef lässt den wert wirklich aus. wenn du die spalte beibehalten aber leer haben möchtest kannst du ein leerzeichen oder &nbsp; verwenden

4. die userreadings haben eine formel hinterlegt und werden automatisch berechnet und gesetzt wenn sich ein anderes reading ändert. es gibt z.b. den modifier differential der automatisch die zeit berücksichtig um etwas pro zeit zu berechnen. ads ist im prinzip nichts das mit einem notify und selber rechnen und setreading nicht auch geht. die userreadings machen es nicht einfacher und es gab sie schon bevor es setreading gab.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 01 Januar 2014, 21:13:56
Ok. Danke, habe verstanden. Das "#" habe ich durch "Pos" ersetzt.
Da ich an die userreadings eh nix anhänge, dass lieber selber über das notify direkt im Perl-Code erledige... Passt mir das so ganz gut. In der fhem - Doku wäre es ev. ganz hilfreich, da mal auf das notify von readings einzugehen. Der State kommt direkt als Wert, der reading mit "Name:", für den Anfänger, erst einmal ein wenig Experiment...
Da musste ich auch erst einmal etwas Zeit investieren. Auch das Konzept mit den Hashes von Perl und in der Realisierung von fhem ist schon Forschungsarbeit. Die "$defs" habe ich in der Doku auch nicht gefunden....
W#äre so mal ein Ergänzungsforschlag für die Doku.

Gruß


Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: rudolfkoenig am 01 Januar 2014, 21:34:32
ZitatW#äre so mal ein Ergänzungsforschlag für die Doku.

Wenn, dann bitte als diff, und zweisprachig :)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 10 Januar 2014, 11:53:29
Hallo Andre,

Du hattest mir ja mal vor einiger Zeit ein Stückchen Code gegeben, um die readingsGroup - anzeige zu modifizieren. Allerdings habe ich da etwas Probleme mit den Knöpfen. Statt drei Knöpfe, erscheinen fünf in drei Spalten und ich kann mir absolut keinen Reim drauf machen.

Alle anzeigen

eingeschaltete
ausgeschaltete
eingeschaltete

ausgeschaltete


Den Screenshot (hoffentlich sieht man da was) hänge ich mal an. Wenn ich den html-Quelcode anzeigen lasse, so finde ich da eigentlich auch nur drei Knöpfe.
Definition der Gruppe:

define Alle_Lampen_im_Haus readingsGroup [A-Z][E-z][012]*_.*[LlFf](ampe|luter).*:state,<{anSeit($DEVICE,ReadingsVal("Alle_Lampen_im_Haus","mode","ein"))}> <{appendTrigger($DEVICE,"alle","Alle anzeigen");;}>,<{appendTrigger($DEVICE,"ein","nur eingeschaltete");;}>,<{appendTrigger($DEVICE,"aus","nur ausgeschaltete");;}>
attr Alle_Lampen_im_Haus alias Alle eingeschalteten Lampen
attr Alle_Lampen_im_Haus eventMap /on:ein/off:aus/
attr Alle_Lampen_im_Haus group Beleuchtung
attr Alle_Lampen_im_Haus mapping %ROOM %ALIAS
attr Alle_Lampen_im_Haus noheading 1
attr Alle_Lampen_im_Haus nolinks 1
attr Alle_Lampen_im_Haus notime 1
attr Alle_Lampen_im_Haus room Haus
attr Alle_Lampen_im_Haus userReadings mode
attr Alle_Lampen_im_Haus valueFormat {($VALUE=~m/on.*/)?"":undef}
attr Alle_Lampen_im_Haus valueIcon {state => '%devStateIcon'}

Die Triggerfunktion für die Knöpfe:
sub
appendTrigger($$$)
{
  my ($name,$trigger,$label) = @_;

  my $ret .= "</table></td></tr>";

  my $link = "cmd=trigger $name $trigger";
   my $txt = "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$link')\">$label</a>";
   $ret .= "<td colspan=\"99\"><div style=\"cursor:pointer;color:#888888;text-align:right\">$txt</div></td>";

  return ($ret,0);
} # end appendTrigger
Ich habe insgesamt drei Gruppen mit drei Knöpfen, für Lampen, Geräte und Fenster.
Der Effekt, dass sich in der Zeiten Spalte drei Knöpfe befinden, tritt nur bei Lampen und Geräte auf, bei Fenster nicht.
Strange....
Ich dachte ev., dass das "eingeschaltete" sich ev. auf das valueFormat auswirken könnte und habe probeweise mal "nur eingeschaltete" hingeschieben, hat aber keinen Effekt.

Gruß

Elektrolurch

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 Januar 2014, 12:25:02
der screenshot ist leider so gescrollt das man die links zum klicken nicht sehen kann.

ich vermute aber das problem ist appendTrigger drei mal aufzurufen. was du tun musst ist in einem appendTrigger alle drei links nebeneinander zu erzeugen. der aktuelle code fügt eine zeile über die ganze breite der tabelle ein und macht den text rechtsbündig. wenn das mehrfach aufgerufen wird passt es vermutlich nicht mehr.

änder mal die zeile my $txt = "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$link')\">$label</a>"; so das es drei zeilen in der art sind:my $txt = "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$link')\">$label</a>";
$txt .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$link2')\">$label2</a>";
$txt .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$link3')\">$label3</a>";


du musst dann natürlich label2 und 3 und link2 und 3 gleich mit übergeben. oder einfach erst mal hart in die funktion rein schreiben.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 10 Januar 2014, 13:30:30
Hallo Andre,

perfekt, fast. Jetzt kommen nur noch drei Knöpfe.
Allerdings stehen die direkt hintereinander. Wo muss ich da einen Spaltenvorschub einfügen? Mit dem html hab ichs noch nicht so.

Die Funktion sieht jetzt bei mir so aus (geht für beliebig viele Knöpfe)

sub
appendTrigger
{
  my ($name, @liste) = @_;
my ($trigger,$label,$link,$txt) ;

  my $ret .= "</table></td></tr>";

$trigger = shift @liste;
$label = shift @liste;

  $link = "cmd=trigger $name $trigger";
$txt = "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$link')\">$label</a>";
while (@liste)
{
$trigger = shift @liste;
$label = shift @liste;
  $link = "cmd=trigger $name $trigger";
$txt .= "<a onClick=\"FW_cmd('$FW_ME$FW_subdir?XHR=1&$link')\">$label</a>";

} # end while

   $ret .= "<td colspan=\"99\"><div style=\"cursor:pointer;color:#888888;text-align:right\">$txt</div></td>";

  return ($ret,0);
} # end appendTrigger

Dann ist noch eins: Wenn fhem neu startet, werden immer "Alle Lampen" angezeigt, obwohl der "mode" ja als reading an der readingsGroup hängt und doch eigentlich mit abgespeichert werden sollte?

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 Januar 2014, 14:31:34
das einfachst auf die schnelle ist vermutlich mit &nbsp; jeweils so viele leerzeichen einzufügen wie du magst.

ja. eigentlich sollte nach dem start alles richtig gesetzt sein. vorausgesetz es war ein normales shutdown bei dem alles auch gesichert wurde. du solltest dann das mode reading in der detail ansicht auch sehen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cwagner am 25 Januar 2014, 10:53:09
Guten Tag,
mir gelingt einfach kein Trick, mit dem ich verhindern kann, dass im Spaltenmodus des WEB-Moduls in einer Readingsgroup die Datumsanzeige direkt klatsch am Readingswert und seiner über valueFormat definierten Einheit hängt. Dabei habe ich da schon ein/zwei Leerzeichen hinter.


Danke für sachdienliche Hinweise im Voraus!

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 25 Januar 2014, 11:29:29
leerzeichen werden in html 'wegoptimiert'. du kannst jeweils &nbsp; (non-breaking-space) verwenden um ein (oder mehrere) leerzeichen zu erzwingen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cwagner am 25 Januar 2014, 12:05:37
Hallo Andre,
vielen Dank - es klappt. Und wieder was dazugelernt.

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cwagner am 25 Januar 2014, 13:25:32
Hallo,
heute habe ich gelernt, dass Leerzeichen (zum Beispiel im ValueFormat) beim Ausführen der readingGroup vom Browser wegoptimiert werden. Das Heilmittel ist (bei mir in nahezu allen Fällen) nun das empfohlene Einfügen von &nbsp nach Device-Namen und Reading.
Meine Beobachtung ist: ReadingGroup macht sehr schöne Darstellungen auf dem Weboberfläche und fügt seinerseits auch Leerräume ein. Erst wenn - zum Beispiel durch den Spaltenmodus des Moduls WEB - die ReadingsGroup in Enge gerät, wird gepresst. Wäre es nicht schön, wenn ReadingsGroup grundsätzlich beim Spaltentrennen wenigstens ein &nbsp einfügt? Dann würde auch ohne Eingriffe die Darstellung nicht wie hier http://forum.fhem.de/index.php/topic,14425.msg129155.html#msg129155 beschrieben aussehen, oder?

Danke an den Autoren für die wunderbare Möglichkeit von ReadingGroups - sorgen echt für Gliederung und helfen Multidevices (z.B. 1-Wire) differenziert und informativ dazustellen. Füge noch ein Beispiel an.

Christian

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Svenson am 25 Januar 2014, 21:14:46
@cwagner

Wie bekommst Du die Temperaturstatistik zusammen?

Grüße
Sven
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cwagner am 26 Januar 2014, 08:44:57
Hallo, das geht mit readingsGroup ziemlich cool. Dort kann man praktisch eine Ausgabeliste über mehrere Geräte hinweg machen. Hier als Beispiel das Listing meiner Temp_Statistik:
Internals:
   DEF        Wetterstation:(T_a.*|T_m.*|temperature|Taupunkt|Windchill)
   NAME       Temp_Statistik
   NR         233
   NTFY_ORDER 50-Temp_Statistik
   STATE      Initialized
   TYPE       readingsGroup
   Content:
     Wetterstation 1
   DEVICES:
     ARRAY(0x14cc720)
   Readings:
     2013-11-30 23:00:19   Wetterstation_avg_day 3.9
     2013-11-30 23:00:19   Wetterstation_avg_month 3.9
     2013-11-30 23:00:19   Wetterstation_cum_day 323343.2
     2013-11-30 23:00:19   Wetterstation_cum_month 10432143.2
     2013-11-30 22:47:24   Wetterstation_max_day 4.3
     2013-11-30 22:47:24   Wetterstation_max_month 4.3
     2013-11-30 23:45:30   Wetterstation_min_day 3.9
     2013-11-30 23:45:30   Wetterstation_min_month 3.9
   Helper:
Attributes:
   group      Temp_Statistik
   mapping    {temperature => "akt. Temperatur",T_min_day => "bish. Tages-Min",T_avg_day => "bish. Tagesschnitt",T_max_day => "bish. Tages-Max",T_max_month => "bish. Monats-Max",T_avg_month => "bish. Monats-Schnitt",T_min_month => "bish. Monats-Min",state => "%DEVICE",Taupunkt => "Taupunkt",rain_calc_d_last => 'Regen gestern',Windchill => "gefühlte Temperatur"}
   noheading  1
   room       Aktuell
   valueFormat %.1f °C
   valueStyle style="text-align:right"


Du machts ein Define einer readingsGroup und im DEF-Teil kombinierst Du alle in dieser Liste gemeinsam gewünschten readings aus Deinen Geräten. Über das Mapping legst Du die Namen der Readings fest.

Man kann auch mehrere Spalten definieren und noch richtig tolle Sachen machen. Schau mal: http://forum.fhem.de/index.php/topic,19126.msg129214.html#msg129214   Was hier Forenmitglieder im Dialog zusammengebaut haben, ist beeindruckend.

Herzliche Grüße

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Adam am 28 Januar 2014, 18:13:47
Hallo eine Frage,

es ist bei dem Define ja möglich zwischen zwei <> einen Text einzutragen,
kann man da auch einen style zu angeben? Ich habe es bisher mit keiner Syntax geschafft!?

Also in der Art

<{style="color:red"}Beispieltext>

Fragt
Adam
Titel: Neues Modul readingsGroup
Beitrag von: justme1968 am 28 Januar 2014, 18:15:46
mit nameStyle. oder du machst aus dem string ein komplettes <div>...</div>. dann musst du es aber in eine sub auslagern und zurückgeben weil im define keine leerzeichen erlaubt sind.

gruss
  andee
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Mx112 am 28 Januar 2014, 19:05:18
Hallo,

mir ist heute aufgefallen das die Links der readingsGroup das Attribut webname ignorieren und hart auf fhem?... verlinken. Das führt zu Problemen wenn Fhem hinter einem reverse Proxy läuft.

Ich hab das bei mir lokal jetzt so gelöst. Evtl. was fürs nächste Update?

Zeile 282:
    $txt = "<a href=\"".$FW_ME."?detail=$d\">$txt</a>" if( $show_links );

Zeile 285:
    #$ret .= "<div class=\"devType\"><a style=\"color:#ff8888\" href=\"".$FW_ME."?detail=$d\">readingsGroup $txt is disabled.</a></div>";

Zeile 334:
  $txt = "<a href=\"".$FW_ME."?detail=$d\">$txt</a>" if( $show_links );

Zeile 497:
        $txt = "<a href=\"".$FW_ME."?detail=$name\">$txt</a>" if( $show_links );


Gruß
Matthias
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 28 Januar 2014, 19:44:01
habs repariert und eingecheckt.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Adam am 28 Januar 2014, 22:51:11
Hallo Andre,

danke für den Tipp mit dem <div></div> in einer ausgelagerten Funktion.

Und von mir einen großen Dank für das Modul überhaupt!!!!

Räumt die Anzeige auf meinen (Android) Display schön auf, da man verschiedene Device Stati in einer Spalte anzeigen kann.
(siehe Bild)

Danke !!!!!
Adam

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Mx112 am 29 Januar 2014, 00:25:57
Sieht gut aus! Möchtest Du die config posten?


Gesendet von meinem iPhone mit Tapatalk
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Adam am 29 Januar 2014, 08:21:59
Kein Problem bitte sehr, vielleicht sieht ja noch jemand Optimierungs-Möglichkeit ;-)
Ist halt sehr lang.

Adam
Titel: Antw:Neues Modul readingsGroup
Beitrag von: yogiflop am 29 Januar 2014, 10:18:58
Habe noch ein Problem mit der Darstellung der readingsGroup in einer Gruppe im Dashboard.
Leider wird obwohl noch genug Platz ist, eher ein Zeilenumbruch gemacht, als die volle Breite zu nutzen.

habe es schon mit Column versucht, aber klappt auch nicht wirklich.


attr TwilightWerte noheading 1
attr TwilightWerte notime 1
attr TwilightWerte room System
attr TwilightWerte style style="border:0px"
attr TwilightWerte valueColumns { eventdescription => 'colspan="4"' }


danke und gruss

Marc
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 Januar 2014, 10:41:43
@Adam: wenn ich mich beim überfliegen nicht täusche kann man da ein bisschen optimieren :)

wenn du in deinem fall statt den <{...}> variante jeweils:

- valueIcon für die icons
- valueFormat für die einheiten

verwendest wird es glaube ich übersichtlicher und leichter wartbar. automatische updates per longpoll bekommst du umsonst dazu.

was eventuell noch nicht geht sind default values für nicht vorhandene readings. da würde ich etwas einbauen um die einfach vorgeben zu können.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Adam am 29 Januar 2014, 10:51:08
Ich hatte das Problem,

dass bei dieser Variante immer nur der erste Wert in einer Zeile angezeigt wird:

S300TH:temperature,S300TH:humidity,MAX_TH_WAND:state

daher immer wieder die Konstruktion mit dem <ReadingsVal.(...)>:

S300TH:temperature,<{ReadingsVal("S300TH","humidity","0")."%"}>,<{ReadingsVal("MAX_TH_WAND","state","0")}>

und dann halt notwendigerweise darin dann die Icons generiert, da es dann nicht mehr mit ValueIcon uind ValueFormat funktioniert.
Die Defaults waren mir gar nicht mal so wichtig, aber man konnte sie halt bei ReadingsVal dann angeben.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 Januar 2014, 10:53:02
du hast recht mein fehler. das mischen unterschiedlicher devices in einer zeile geht noch nicht.

valueIcon sollte aber inzwischen auch für <...> funktionieren.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Paul am 29 Januar 2014, 18:54:17
Ich habe noch ein Problem mit der Icon-Darstellung. ein Reading hat den Wert A
Diesen Wert wollte ich als Icon darstellen und dachte dafür ist valueIcon zuständig.

Aber

valueIcon {'A' =>'phone_call_in'}

Zeigt mir nur A und nicht das Icon an
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 Januar 2014, 19:26:14
gib es mal bitte mit device.reading an.

ansonsten poste mal die komplette definition. nicht das  noch irgendwo etwas umgemapped wird.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Paul am 29 Januar 2014, 19:37:15
Die Definition sieht so aus:

define Anrufliste readingsGroup <Nr.>,<>,<Uhrzeit>,<Anrufer>,<Telefonnumer>,<AB> Fritz:A0,B0,C0,D0,E0 Fritz:A1,B1,C1,D1,E1 Fritz:A2,B2,C2,D2,E2 Fritz:A3,B3,C3,D3,E3 Fritz:A4,B4,C4,D4,E4
attr Anrufliste fp_Telefon 70,300,0,
attr Anrufliste mapping {'Fritz.A0' => '1.', 'Fritz.A1' => '2.', 'Fritz.A2' => '3.', 'Fritz.A3' => '4.', 'Fritz.A4' => '5.'}
attr Anrufliste room Telefon
attr Anrufliste valueIcon {'A' =>'phone_call_in'}
define Call_Notify notify Fritz:.* {TelefonMonitor ($EVENT)}


Die A-Werte haben als Rückgabe A und das soll als Icon dargestellt werden.

das mit dem valueIcon habe ich aus der Heizungssteuerung abgewandelt und da klappt das.

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 Januar 2014, 20:28:26
du kannst den namen des devices, den namen des readings, <name>.<reading> oder <reading>.<value> als key verwenden. in deinem fall muss es also so sein: attr Anrufliste valueIcon {'A1.A' =>'phone_call_in', 'A2.A' =>'phone_call_in', 'A3.A' =>'phone_call_in', 'A4.A' =>'phone_call_in', 'A5.A' =>'phone_call_in'}

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Paul am 29 Januar 2014, 21:09:52
danke hat geklappt
Titel: Antw:Neues Modul readingsGroup
Beitrag von: yogiflop am 30 Januar 2014, 11:24:56
Zitat von: yogiflop am 29 Januar 2014, 10:18:58
Habe noch ein Problem mit der Darstellung der readingsGroup in einer Gruppe im Dashboard.
Leider wird obwohl noch genug Platz ist, eher ein Zeilenumbruch gemacht, als die volle Breite zu nutzen.

habe es schon mit Column versucht, aber klappt auch nicht wirklich.


attr TwilightWerte noheading 1
attr TwilightWerte notime 1
attr TwilightWerte room System
attr TwilightWerte style style="border:0px"
attr TwilightWerte valueColumns { eventdescription => 'colspan="4"' }


danke und gruss

Marc

ich habe noch einmal geschaut, es ist anscheinend ein Unterschied, ob ich es in einem Raum oder einer Gruppe betrachte.

Titel: Antw:Neues Modul readingsGroup
Beitrag von: holzwurm83 am 31 Januar 2014, 19:19:14
Hallo zusammen,

ich habe bei mir die Anrufliste vom Elektrolurch übernommen. Diese funktioniert auch soweit gut! Ich wollte nun einige Punkte in der Darstellung anpassen und komme nicht wirklich ans Ziel.

- zum einen möchte ich anstelle der Pfeile ein Icon mit einem Hörer und in rot oder grün anzeigen je nach Eingang oder Abgang. Hier ist mein letzet versuch:attr valueIcon {'A0.<-' => 'phone_call@lightgreen'}

- dann möchte ich das Datum und die Urzeit anpassen. Aktuell sieht das so aus "21:06:50 30.01.2014" und mir würde aber so reichen "21:06 30.01.14" ohne sec und das Jahr verkürzt

- dann würde ich gerne die Spalte "C" und "D" so ändern, das nur noch eine angezeigt wird und immer wenn die Nummer nicht gefunden wird unbekannt da steht und wenn im Telefonbuch ein Name gefunden wird soll der Name da stehen. Ich möchte dadurch eine Spalte einsparen.

- die Dauer in Spalte E brauche ich nicht und habe diese bereits ausgeblendet.

Folgend noch meine aktuellen Einstellungen und wie es aktuell aussieht. Ich hoffe ihr könnt mir helfen?

# Anzeige der Anrufe generieren:
define Anrufliste readingsGroup Callmon:A0,B0,C0,D0 Callmon:A1,B1,C1,D1 Callmon:A2,B2,C2,D2 Callmon:A3,B3,C3,D3 Callmon:A4,B4,C4,D4
attr Anrufliste mapping {'Callmon.A0' => '1.', 'Callmon.A1' => '2.', 'Callmon.A2' => '3.', 'Callmon.A3' => '4.', 'Callmon.A4' => '5.'}
attr Anrufliste nameStyle style="font-weight:bold"
attr Anrufliste noheading 0
attr Anrufliste nolinks 1
attr Anrufliste nostate 1
attr Anrufliste notime 1
attr Anrufliste room 0_Überblick
attr Anrufliste valueIcon {'A0.<-' => 'phone_call@lightgreen'}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Paul am 01 Februar 2014, 02:51:06
Hallo Holzwurm,

Die Antwort mit dem Icon steht hier bereits in #222

attr Anrufliste valueIcon {'A1.A' =>'phone_call_in', 'A2.A' =>'phone_call_in', 'A3.A' =>'phone_call_in', 'A4.A' =>'phone_call_in', 'A5.A' =>'phone_call_in'}


Wenn du die Nummer nicht angezeigt haben möchtest dann entferne doch einfach C aus der readingsgroup.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cwagner am 01 Februar 2014, 12:34:07
Liebe Mitsstreiter,

habe erst heute auf der Konsole entdeckt, dass ich mir mit einer Readingsgroup ständige Fehlermeldungen einfange:
Argument "35 %" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 453.

Eingrenzen lässt sich das auf das Reading von HM-Ventilaktoren, deren Valve-Postion ich auslese. Geliefert wird:

ValvePosition   35 %

mit mapping    %DEVICE
noheading        1
valueFormat  %.0f % &nbsp
valueStyle  style="text-align:right"


mache ich eine Liste, die mir sehr gefällt und auch im Spaltenmodus dank &nbsp gut läuft. Doch offenbar stört das "%"-Zeichen im Ursprungsreading.

Was tun?

Danke für hilfreiche Tipps im Voraus!

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 01 Februar 2014, 12:35:32
das % zeichen das du anzeigen möchtest musst du verdoppeln:valueFormat  %.0f %% &nbsp

gruss
  andre
Titel: readingsGroup müllt Log zu seit 01.02. 00:00 Uhr
Beitrag von: jhohn am 01 Februar 2014, 12:55:46
Moin,

seit letzter Nacht 00:00 Uhr müllt mir readingsGroup das Log zu:
Use of uninitialized value in string ne at /volume1/@appstore/FHEM/share/fhem/FHEM/33_readingsGroup.pm line 648.


Verantwortlich ist wohl:
define group_batteries readingsGroup .*:battery
Jedenfalls kommen keine neuen Logeinträge wenn ich diese Group disable.
Bis gestern vor Mitternacht gabs auch keine Logeinträge

Titel: Neues Modul readingsGroup
Beitrag von: justme1968 am 01 Februar 2014, 13:04:31
an dieser stelle werden falle devices durchgegangen und die device namen verglichen.

die fehlermeldung gibt es für ein device ohne nahmen. das sollte es eigentlich nicht geben.

schau mal was bei einem { join(",", grep { !defined($defs{$_}{TYPE}) } keys %defs ) }zurück kommt.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: jhohn am 01 Februar 2014, 14:31:50
Nach einem Update und restart vor 20 Minuten sind bisher keine Meldungen mehr aufgetaucht.

Ich hatte gestern Vormittag ein paar Sachen umbenannt, da waren auch 2 Bewegungsmelder mit bei. Aber wenn es daran liegen sollte hätten die Meldungen ja eigentlch schon gestern kommen müssen. Ich finde es halt seltsam, dass die Meldungen exakt um 00:00 Uhr anfangen.


Titel: Antw:Neues Modul readingsGroup
Beitrag von: cwagner am 01 Februar 2014, 15:32:46
Hallo Andre,

ganz herzlichen Dank: Auf die Idee mit dem Maskieren des % war ich auch schon gekommen und muss einräumen, dass meine Fragestellung unsauber war. Die Fehlermeldung:

ZitatArgument "0 %" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 453.
Argument "24 %" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 453.
Argument "28 %" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 453.

erhalte ich mit %%.

Wenn ich nur ein % habe, lautet die Fehlermeldung:
Argument "0 %" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 453.
Missing argument in sprintf at ./FHEM/33_readingsGroup.pm line 453.
Invalid conversion in sprintf: "% &" at ./FHEM/33_readingsGroup.pm line 453.
Argument "28 %" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 453.
Missing argument in sprintf at ./FHEM/33_readingsGroup.pm line 453.
Invalid conversion in sprintf: "% &" at ./FHEM/33_readingsGroup.pm line 453.



(Leider hatte ich beim Dokumentieren übersehen, dass ich diese Variante auch durchgespielt hatte und die beiden Versuche quasi in der Beschreibung gemischt)


Herzliche Grüße

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 01 Februar 2014, 15:36:22
wenn du schon ein % im value hast das du beibehalten möchtest kannst du das als string und nicht als zahl behandeln:valueFormat  %s &nbsp oder du machst so etwas:{sprintf("%.1f %% &nbsp", int($VALUE)}

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cwagner am 01 Februar 2014, 18:33:32
Hallo,

ganz herzlichen Dank - da ist wieder Ruhe auf der Console! Und ich habe schon wieder etwas gelernt.

Danke

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: stromer-12 am 01 Februar 2014, 23:55:16
Bei mir taucht seit heute im fhem Logfile folgende Meldung auf:

Use of uninitialized value $lookup in substitution (s///) at /usr/share/fhem/FHEM/33_readingsGroup.pm line 226.

soweit ich rausgefunden habe hängt es mit Einträgen wie diesen zusammen:

attr dc.rg valueFormat {($VALUE !~ m/alive/)?"$VALUE":undef }

sobald undef nicht mehr vorkommt gibt es die Meldung nicht mehr.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 02 Februar 2014, 00:05:21
sollte ab morgen behoben sein.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: stromer-12 am 02 Februar 2014, 14:12:45
Logfile ist wieder sauber.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: holzwurm83 am 02 Februar 2014, 20:23:57
Zitat von: Paul am 01 Februar 2014, 02:51:06
Hallo Holzwurm,

Die Antwort mit dem Icon steht hier bereits in #222

attr Anrufliste valueIcon {'A1.A' =>'phone_call_in', 'A2.A' =>'phone_call_in', 'A3.A' =>'phone_call_in', 'A4.A' =>'phone_call_in', 'A5.A' =>'phone_call_in'}


Wenn du die Nummer nicht angezeigt haben möchtest dann entferne doch einfach C aus der readingsgroup.

Ich möchte die Nummern nicht einfach nur ausblenden. Ich würde gerne die Spalte "C" und "D" so ändern, das nur noch eine angezeigt wird und immer wenn die Nummer nicht gefunden wird unbekannt da steht und wenn im Telefonbuch ein Name gefunden wird soll der Name da stehen. Ich möchte dadurch eine Spalte einsparen.

Ich möchte gerne noch mal auf meine Frage aus #225 zurückkommen  ;D

Den Punkt mit den Icon habe ich nun hinbekommen.

Leider Scheitere ich noch an den Anpassung für Datum und Uhrzeit. Aktuell sieht das so aus "21:06:50 30.01.2014" und mir würde aber so reichen "21:06 30.01.14" ohne sec und das Jahr verkürzt

Titel: Antw:Neues Modul readingsGroup
Beitrag von: fiedel am 03 Februar 2014, 09:11:55
Hallo Holzwurm,

ZitatDen Punkt mit den Icon habe ich nun hinbekommen.

Wie machst du die Zuweisung der Icons für Ein- oder Ausgehend? Ist das mit dem gezeigten Attr. schon erledigt?

Gruß

Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 03 Februar 2014, 10:33:27
Hallo zusammen!
Wenn ich versuche das Beispiel aus dem Wiki bei mir umzusetzen, bekomme ich folgendes Resultat:
siehe Anhang
Die einzige Änderung die ich vorgenommen habe ist TYPE=CUL_HM, da ich Homematic Thermostate HM-CC-RT-DN im Einsatz habe.
Was mach ich falsch?

VG
frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 03 Februar 2014, 11:28:31
das problem ist das bei den hm thermostaten der TYPE auch auf die einzelnen kanäle matched. du musst es also weiter einschränken.

schau mal
in sein thread ab etwa hier: http://forum.fhem.de/index.php/topic,19126.msg131875.html#msg131875

weiter unten steht auch noch wie die myUtils routine für hm angepasst werden muss.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: holzwurm83 am 03 Februar 2014, 19:36:46
Zitat von: fiedel am 03 Februar 2014, 09:11:55
Hallo Holzwurm,

Wie machst du die Zuweisung der Icons für Ein- oder Ausgehend? Ist das mit dem gezeigten Attr. schon erledigt?

Gruß

Frank

Hallo Frank,

da ich keine Pfeile brauche habe ich in der 99_myUtilsTelefon die Pfeile gegen "in" und "out" getauscht und dann diese attr gesetzt.
attr Anrufliste valueIcon {'A0.out' => 'phone_call@lightgreen', 'A0.in' => 'phone_call@red', 'A0.AB' => 'audio_volume_mid@lightgreen', 'A1.out' => 'phone_call@lightgreen', 'A1.in' => 'phone_call@red', 'A1.AB' => 'audio_volume_mid@lightgreen', 'A2.out' => 'phone_call@lightgreen', 'A2.in' => 'phone_call@red', 'A2.AB' => 'audio_volume_mid@lightgreen', 'A3.out' => 'phone_call@lightgreen', 'A3.in' => 'phone_call@red', 'A3.AB' => 'audio_volume_mid@lightgreen', 'A4.out' => 'phone_call@lightgreen', 'A4.in' => 'phone_call@red', 'A4.AB' => 'audio_volume_mid@lightgreen'}
Das mit dem "AB" habe ich nur noch nicht getestet.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fiedel am 04 Februar 2014, 07:34:29
ZitatHallo Frank,

da ich keine Pfeile brauche habe ich in der 99_myUtilsTelefon die Pfeile gegen "in" und "out" getauscht und dann diese attr gesetzt.

Hi Holzwurm,

vielen Dank für den Tipp! Habs eingebaut und geht.  :) 

Viele Grüße

Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: herman am 05 Februar 2014, 11:47:16
Hallo,

sehr cooles Modul. Macht echt Laune.

Ist es möglich einen Filter zu setzen, z.B.  das nur die Fensterkontakte angezeigt werden, bei denen der batterystatus = low ist.

Ich habe nichts in diese Richtung gefunden. Generell habe ich keine Möglichkeit gefunden FHEM nach einer Liste von Geräten zu Fragen, die ein bestimmtes Reading gesetzt haben. Das gibt es doch bestimmt schon, oder?

Danke & Grüße,
Merhan
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 Februar 2014, 12:02:27
wenn du in der readingsGroup nur für bestimmte werte etwas anzeigen möchtest kannst du das über valueFormat beeinflussen. du kannst dann z.b. ein leerzeichen zurück geben. wenn valueFormat ein undef zurück gibt wird der wert übersprungen. wenn es in einer zeile keine werte gibt wird die ganze zeile übersprungen.

das geht z.b. so:
list battery=low

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: herman am 05 Februar 2014, 16:21:13
Hallo Andre,

vielen Dank.

Ich habe es jetzt so gelöst:
valueFormat    {($VALUE eq 'ok')?undef:$VALUE}

Somit werden alle Batteriezustände, die ok sind ausgeblendet und ich habe eine Liste der Geräte mit einer schwachen Batterie.
Ist das eine gute Lösung oder gibt es etwas besseres/eleganteres?

Grüße,
Merhan
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 Februar 2014, 16:29:37
der einzige haken daran ist das wenn eine batterie auf schwach wechselt der status in der web seite nicht live per longpoll aktualisiert wird weil damit nicht eine neue zeile eingeblendet wird. nach dem neuladen im browser ist aber alles ok. wenn dir das egal ist ist die lösung gut.

wenn du möchtest das der wert auch dann aktualisiert wird wenn die seite nicht neu geladen wird musst du den wert auf jeden fall anzeigen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: holzwurm83 am 05 Februar 2014, 22:21:13
Hallo zusammen,

ich bastle immer noch an meiner Anrufliste. Ich habe jetzt einen Weg gefunden reading C oder D anzuzeigen. Habe das jetzt so gelöst

# Anzeige der Anrufe generieren:
define Anrufliste readingsGroup Callmon:A0,B0,<{NameNummer}>


######################################################
# Anrufliste NameNummer
######################################################
sub
NameNummer()
{
   { if (ReadingsVal("Callmon", "C0", 99) eq "unknown") {fhem("list Callmon D0")} else {fhem("list Callmon C0")}}

}
# End NameNummer


Das was mich jetzt noch stört ist das es mir auch das Devise und das Datum mit ausgibt
Callmon 2014-02-05 21:19:31 Gymnasien u. Realschulen , Gymnasium

Bekommt man das weg oder ist der weg falsch?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: maxritti am 06 Februar 2014, 20:14:22
Hi,

ich probiere mir gerade ein wenig einen Wolf.
Und zwar wollte ich mittels ReadingsGroup ein wenig Übersicht schaffen.
Gerne wollte ich den Batteriestatus der Devices und auch den Zustand von meinen Fensterkontakten anzeigen lassen.

So wie im Anhang sieht es derzeit aus.

Allerdings möchte ich bei den Devices, die kein Fensterkontakt sind, lediglich den Batteriestatus anzeigen lassen.
Daher habe ich das mal so definiert:

define rg_Uebersicht readingsGroup TF_.*:battery,state BM_.*:battery Voralarm.*:battery Alarm.*:battery
attr rg_Uebersicht alias Übersicht
attr rg_Uebersicht group Status
attr rg_Uebersicht mapping %ALIAS
attr rg_Uebersicht room zzSystem
attr rg_Uebersicht valueIcon {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red', 'state.closed' => 'fts_window_1w@lightgreen', 'state.open' => 'fts_window_1w_open@red'}


Nur was ist das für ein Datum hinter den letzten Devices?
In der Definition habe ich da doch nur battery definiert.

Dieses Posting habe ich auch schon x-mal wohl eher mit mässigem Erfolg gelesen.

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

Ich hoffe mir kann jemand helfen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 06 Februar 2014, 20:21:30
sobald für ein device nur ein reading angegeben ist ist der default den timestamp mit anzuzeigen.

wenn du das nicht willst kannst du es mit dem attribut notime abschalten.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: maxritti am 06 Februar 2014, 20:35:22
Prima. Danke Dir. Das passt soweit.
Du hast doch bestimmt noch eine Idee, wie man die Darstellung so hinbekommt, dass die Hintergrundfarbe bei den letzten Zeilen komplett alternierend schwarz/grau hinbekommt?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 06 Februar 2014, 20:51:01
schau dir mal valueColumns an. damit kannst du ein reading über mehr als eine spalte gehen lassen. allerdings wird es dann auch zentriert. wenn du das nicht magst gib einfach ein ,< > hinter den batterie readings an. das fügt eine leere spalte an. dann brauchst du auch das notime nicht.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: maxritti am 06 Februar 2014, 21:07:21
Hm,

irgendwie passiert gar nichts.
Wobei mir valueColumns auch noch nicht wirklich klar ist, was ich da anzugeben habe.
Das gilt doch dann eigentlich für alle Zeilen meiner Readingsgroup oder?

Ich habe jetzt schon diverse valueColumns ausprobiert

{notime=>'colspan="2"'}

und

{buxtehude=>'colspan="2"'}

und

{state=>'colspan="2"'}

Allerdings ändert sich gar nicht in den letzten 4 Zeilen der ReadingsGroup.

Der Tip mit ,< > anstatt ,notime hörte sich erst vielversprechend an.
Ändert aber auch nichts.

Sollte ich heute lieber die Finger von der FHEM-Config lassen?  ;)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 06 Februar 2014, 21:17:00
du hast gerade einiges durcheinander geschmissen :)

- bei valueColumns musst du als key den namen des readings angeben. also bei dir z.b.: 'Voralarm.battery'
- das < > gibst du zusätzlich bei den devices an die nur battery haben. also z.b. so:define rg_Uebersicht readingsGroup TF_.*:battery,state BM_.*:battery,< > Voralarm.*:battery,< > Alarm.*:battery,< >

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: maxritti am 06 Februar 2014, 21:31:15
Zitat von: justme1968 am 06 Februar 2014, 21:17:00
du hast gerade einiges durcheinander geschmissen :)
Das kann ich nur unterschreiben und scheint gerade noch weiter zu gehen  ???

Also noch mal für mich.

Entweder valueColumns oder < >.
Richtig?

Schau bitte mal in meinen letzten Screenshot aus #253 (http://forum.fhem.de/index.php/topic,14425.msg134419.html#msg134419).
Da habe ich ja genau Alarm.*:battery,< > als letztes Reading eingegeben. Das Ergebnis sieht aber nicht so aus wie erwartet/erhofft.

Gebe ich bei Voralarm.battery colspan='2' ein, sehe ich wieder keine Änderung.
Und wieder ein Screenshot...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 06 Februar 2014, 21:36:08
sorry mein fehler. da darf kein leerzeichen zwischen den <> stehen.

define rg_Uebersicht readingsGroup TF_.*:battery,state BM_.*:battery,<> Voralarm.*:battery,<> Alarm.*:battery,<>

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: maxritti am 06 Februar 2014, 21:42:05
Yes, yes, yes.

Du brauchst Dich doch nicht entschuldigen.

Ich danke Dir und noch einen schönen Abend.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 07 Februar 2014, 15:41:08
Moin,

ich würde gerne wissen wie man den Namen des Readings anpassen kann.
Ich habe ein eignes Modul welches mir ein Device erstellt welches als Readings alle Kalendereinträge des Modules 57_Calendar.pm beinhaltet.
Der Name des Readings ist das Datum und die Uhrzeit des Termines und der Wert der Text des Termines (siehe screenshot "CALVIEW").
Darauf habe ich nun eine readingsGroup gepackt. Wie kann ich nun die im Screenshot 2 rot markierten Wert ausblenden lassen?

Über mapping %ALIAS kann ich ja nur den Namen des Readings verbergen, es soll aber genau anderst rum sein.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 Februar 2014, 15:51:13
ich bin mir nicht sicher ob ich es ganz richtig verstanden habe.

du hat in mapping nicht nur %ALIAS zur verfügung sondern auch %DEVICE, %ROOM, %GROUP and %READING. dein device hat keinen alias also wird %DEVICE:%READING als default verwendet.

bei dir sollte das hier passen:attr kalenderTermine mapping %READING

ansonsten musst du aufpassen. leereichen sind in reading namen eigentlich nicht erlaubt. ich vermute das geht nur so lange gut wie du keine notifys oder sonstiges darauf ansetzen willst.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 07 Februar 2014, 16:05:23
Danke schön, funktioniert. Das mit dem  Leerzeichen werd ich auch gleich fixen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: holzwurm83 am 08 Februar 2014, 00:38:22
Hallo chris1284, kannst du mir dein Kalendermodul zur Verfügung  stellen?


Sent from my iPod touch using Tapatalk
Titel: Antw:Neues Modul readingsGroup
Beitrag von: yogiflop am 08 Februar 2014, 12:47:56
Zitat von: holzwurm83 am 08 Februar 2014, 00:38:22
Hallo chris1284, kannst du mir dein Kalendermodul zur Verfügung  stellen?


Sent from my iPod touch using Tapatalk

Das Kalendermodul würde mich auch interessieren, chris1284

gruß
Marc
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 08 Februar 2014, 13:19:05
http://forum.fhem.de/index.php/topic,19922.0.html

aber auf eigene Gefahr  :)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: yogiflop am 09 Februar 2014, 07:52:37
Guten Morgen,

Ich habe da nochmal eine allgemeine Frage .....
kann es sein, das der Rahmen der readingsGroup max 80% der Breite einer group nutzt ?? Ist das irgendwie oder irgendwo definiert ??
Ich habe immer noch Zeilenumbrüche, obwohl die volle Breite nicht ausgenutzt wurde.

Gruß und schönen Sonntag

Marc
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhainz am 09 Februar 2014, 09:24:53
Welchen Style verwendest du?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: yogiflop am 09 Februar 2014, 09:59:16
Zitat von: fhainz am 09 Februar 2014, 09:24:53
Welchen Style verwendest du?

darkstyle
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhainz am 09 Februar 2014, 10:01:36
Ich denke es liegt an deinem Style. Schalte mal testweise auf das iOS7 Style um. Da wird die readingsGroup sicher auf der kompletten Bildschirmbreite dargestellt.

Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: yogiflop am 09 Februar 2014, 10:12:49
Zitat von: fhainz am 09 Februar 2014, 10:01:36
Ich denke es liegt an deinem Style. Schalte mal testweise auf das iOS7 Style um. Da wird die readingsGroup sicher auf der kompletten Bildschirmbreite dargestellt.

Grüße

Also daran scheint es nicht liegen ......
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 09 Februar 2014, 10:21:37
jetzt verstehe ich das problem. ich fürchte es lässt sich nicht per css lösen.

bitte teste mal ob es für weblink und svg plot in der gleichen gruppe genau so passiert. und ob es nur im dashboard oder auch auf einer normalen fhemweb seite passiert.

wenn ja muss man in fhemweb und/oder dashboard für alle devices die ein $hash->{FW_atPageEnd} gesetzt haben colspan=2 setzen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhainz am 09 Februar 2014, 10:22:03
Eigentlich liegt es an den Tabellen HTML von fhem. Das Problem bei dir ist das die readingsGroup in der 1. Zeile in der 1. Spalte steht, die 2. Spalte leer. In der 2. Zeile steht in der 1.Spalte zB. Lichtdiff Lampe und in der 2. Spalte aus. Das Design verschiebt sich.

Die Lösung könnte sein, die ReadingsGroup in eine Dashboard Gruppe zu stecken und die 2 Devices auch in eine Gruppe.

Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: yogiflop am 09 Februar 2014, 10:30:03
Zitat von: fhainz am 09 Februar 2014, 10:22:03
Eigentlich liegt es an den Tabellen HTML von fhem. Das Problem bei dir ist das die readingsGroup in der 1. Zeile in der 1. Spalte steht, die 2. Spalte leer. In der 2. Zeile steht in der 1.Spalte zB. Lichtdiff Lampe und in der 2. Spalte aus. Das Design verschiebt sich.

Die Lösung könnte sein, die ReadingsGroup in eine Dashboard Gruppe zu stecken und die 2 Devices auch in eine Gruppe.

Grüße


Ich habe es nun mal in eine eigene Gruppe gepackt, und da wird es tatsächlich über die volle Breite angezeigt. Es ist zwar nicht das was ich wollte, aber fürs erste wird es so funktionieren ......
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhainz am 09 Februar 2014, 10:34:45
Du könntest dir die Umweltdaten auch noch in die readingsGroup schreiben, dann hast du alles an einem platz.

Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Waldmensch am 09 Februar 2014, 14:49:02
Hallo,

kurze Frage - wie kann ich die Readinggroups im Log ausschalten (telnet - info timer). Da kommt jedesmal ein haufen HTML durchgeschwirrt. Verbose = 0 zeigt keinen effekt als Atribut gesetzt. Ein "refresh readinggroup xyz" würde ja reichen im Log
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 09 Februar 2014, 15:01:12
das was du bei inform timer siehst oder im event monitor ist nicht das log.

das sind die events die z.b. für longpoll gebraucht werden. die kannst du nicht abschalten.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Waldmensch am 09 Februar 2014, 15:18:59
Okay, ich dachte nur, das man da nicht alles durchjagen müsste. Das macht die Telnet info fast nutzlos  :o

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 09 Februar 2014, 15:21:18
das sind halt die events zwischen den komponenten die du siehst. in dem fall die icons die aktualisiert werden. im event monitor siehst du es ach wirklich als icons.

inform timer solltest du auf die devices einschränken die dich wirklich interessieren. das ist normalerweise nicht dir readingsGroup sondern dir original devices. 

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: CQuadrat am 11 Februar 2014, 13:18:49
Hallo Zusammen,

da ich keine FHT sondern HM-CC-RT-DN (Homematic) besitze, habe ich das im Wiki http://www.fhemwiki.de/wiki/ReadingsGroup (http://www.fhemwiki.de/wiki/ReadingsGroup) aufgeführte Beispiel "Heizungswerte2" für meine Zwecke versucht anzupassen. Das gelingt mir leider nicht so erfolgreich :(. Folgende Probleme habe ich noch:

Leider habe ich keine FHT im Einsatz, sodass hier hier nicht selber Vergleiche anstellen kann.


Vielen Dank schon einmal für hilfreiche Tipps und viele Grüße

Christoph
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 Februar 2014, 14:20:20
schau mal in den original thread dazu: http://forum.fhem.de/index.php/topic,19126.0.html (http://forum.fhem.de/index.php/topic,19126.0.html). gegen ende werden auch die änderungen die für homematic nötig sind gezeigt.

zu 1:
das myUtils_HeizungUpDown wird immer dann aufgerufen wenn sich sich die temperaturen ändern. da die pfeile abhängig von den werten auch die farbe ändern.

ich bin immer noch dran die readingGroup so zu optimieren das sie nichts tut wenn sie nicht sichtbar ist. wenn dich der aufruf stört kannst du das @desired.* jeweils entfernen. dann werden die pfeile aber auch nicht mehr per longpoll aktualisiert.

zu 2.:
in dem anderen thread findest du ab hier: http://forum.fhem.de/index.php/topic,19126.msg135321.html#msg135321 (http://forum.fhem.de/index.php/topic,19126.msg135321.html#msg135321) auch beispiele wie du ein reading aus einem anderen device zusätzlich auf der gleichen zeile noch mit anzeigen kannst. auch als icon.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: CQuadrat am 11 Februar 2014, 15:58:26
Danke André,

das hat schon mal sehr viel weiter geholfen.

Aber irgendwie ist in der Routine myUtils_HeizungUpDown noch der Wurm drin. Ich kann immer nur um einen Step erhöhen/reduzieren.

Es sieht so aus, dass wenn ich das zweite Mal auf Up klicke, mir in der Zwischenzeit wegen der Tempänderung ein Down dazwischen funkt. Warum ist das nur bei mir so?


Viele Grüße

Christoph
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 Februar 2014, 16:00:20
veruch mal im anderen thread zu posten. da haben es ja welche am laufen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: CQuadrat am 12 Februar 2014, 07:42:19
Zitat von: justme1968 am 11 Februar 2014, 16:00:20
veruch mal im anderen thread zu posten. da haben es ja welche am laufen.

gruss
  andre

Auch hier nochmals vielen Dank! Ich bin fündig geworden und es scheint jetzt zu laufen.

Nur eine Frage habe ich noch: wie schnell sollten die Klicks auf die Pfeile denn umgesetzt werden? Ich habe beim Klicken ca. 2 Sekunden Verzögerung bis es im Frontend dargestellt wird. Ist das normal? Wo kann man ggf. optimieren, damit die Anzeige flüssiger reagiert? (Okay, waren jetzt drei Fragen  8))


Danke und Gruß

Christoph
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 12 Februar 2014, 07:46:58
der klick sollte sofort dazu führen das zwischen den pfeilen der gränderte wert eingeblendet bzw. geändert wird. und nach 3 sekunden ohne änderung der wert zwischen den pfeilen verschwindet und als neuer wert übernommen wird.

wo genau ist die verzögerung bei dir?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: CQuadrat am 12 Februar 2014, 07:53:36
Ich klicke auf einen Pfeil und dann dauert es ca. 2 Sekunden bis die neue Solltemperatur zwischen den Pfeilen angezeigt wird. Drücke ich nochmals auf den Pfeil (innerhalb der Wartefrist, die bei mir auf 5 Sekunden steht), dauert es wieder ca. 2 Sekunden bis die Solltemperatur noch um einen weiteren Step verändert wird. Und so weiter.

Mache ich dann fünf Sekunden nichts, wird der Befehl dann abgesetzt.

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 12 Februar 2014, 07:55:40
auf welcher plattform ist das? was passiert wenn du schneller hintereinander klickst?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: CQuadrat am 12 Februar 2014, 08:10:10
Zitat von: justme1968 am 12 Februar 2014, 07:55:40
auf welcher plattform ist das? was passiert wenn du schneller hintereinander klickst?

Platform ist Raspberry Pi (siehe Signatur). Wenn ich schnell hintereinander klicke "verschluckt" sich das System, d.h. die Befehle kommen nicht (alle) an. Ich musse warten, bis die neue Solltemperatur angezeigt wird.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Invers am 12 Februar 2014, 09:16:41
Das selbe Problem habe ich uaf dem Tab auch, am PC aber nicht. Deshalb habe ich die Anzeigezeit von 3 auf 30 Sekunden hochgesetzt, damit ich das Problem überbrücken kann. Irritiert aber leicht.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: CQuadrat am 12 Februar 2014, 12:31:15
Zitat von: Invers am 12 Februar 2014, 09:16:41
Das selbe Problem habe ich uaf dem Tab auch, am PC aber nicht. Deshalb habe ich die Anzeigezeit von 3 auf 30 Sekunden hochgesetzt, damit ich das Problem überbrücken kann. Irritiert aber leicht.

Verwendest Du die Version für den FHT oder angeänderte Version für Homematic? Ich habe das Gefühl, dass bei der Homatic-Anpassung die Routine zu oft getriggert wird.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Invers am 12 Februar 2014, 13:19:27
Alles FHT
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 12 Februar 2014, 17:04:31
ich hatte gerade eben beim testen auch ein performance problem das ursprünglich beim entwickeln nicht da war. nach einem update hat es sich aber wieder gelegt.

ist deine fhem version aktuell ?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Invers am 12 Februar 2014, 17:06:36
Ich mache täglich um 8 Uhr ein Update, auch heute.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: CQuadrat am 12 Februar 2014, 17:13:38
Mein letztes Update war gestern.


gesendet von unterwegs...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 13 Februar 2014, 15:43:34
@yogiflop: mit dem aktuellen dashboard update geht die anzeige einer readingsGroup jetzt über die ganze spaltenbreite. es ist also kein group workaround mehr nötig.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: yogiflop am 13 Februar 2014, 20:52:27
Zitat von: justme1968 am 13 Februar 2014, 15:43:34
@yogiflop: mit dem aktuellen dashboard update geht die anzeige einer readingsGroup jetzt über die ganze spaltenbreite. es ist also kein group workaround mehr nötig.

gruss
  andre

Ich danke euch

gruß

Marc
Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 14 Februar 2014, 19:21:39
Zitat von: holzwurm83 am 03 Februar 2014, 19:36:46
da ich keine Pfeile brauche habe ich in der 99_myUtilsTelefon die Pfeile gegen "in" und "out" getauscht und dann diese attr gesetzt.

ich finde dies eine tolle Sache mit den Icons und habe das auch mal probiert, aber bei mir wird immer "in" oder eben "out" angezeigt, kann es in dem Fall sein das er die Icons nicht findet, die da heißen "phone_call"

EDIT:// so jetzt sind die Icons auch da, aber ehe die sich aktualisieren dauert schon, erst kommt immer in oder out un dann dauert es noch ein wenig bis sie da sind. Ist das so normal..?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 16 Februar 2014, 10:27:14
Hallo,

Kann ich eigentlich bei den HM-RTs, wo mehrere Channels unterschiedliche Readings haben, bestimmten Readings in einer Readingsgroup zusammen fassen?

Hier meine bisher gescheiterten Versuche aus dem Device und dem Channel Clima je eine Zeile mit allen gewünschten Werten zu erstellen:

DEF1 <%sani_heating>,<Act>,<Soll>,<Ist>,<Modus>,<Batterie> hz.*_Clima:ValvePosition,desired-temp,measured-temp,mode hz.*:battery => Screen_1, hier haut er eine extra Zeile für jedes Battery-Reading rein
DEF2 <%sani_heating>,<Act>,<Soll>,<Ist>,<Modus>,<Batterie> hz.*_Clima:ValvePosition,desired-temp,measured-temp,mode,hz.*:battery => Screen_2, hier lässt es leer

Als Workaround habe ich zur Zeit 2 Readingsgroup. EInmal Battery, einmal den Rest. Beides in einem Wäre super. Und was auch noch toll wäre wenn mir jemad sagen könnte wie man die Battery-Readings von dem Zeitstempel befreien kann.

Danke vorab!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Februar 2014, 10:34:16
wenn du weiter oben im thread schaust findest du beispiele für beides. in der commandref steht es auch.

- um die timestamps weg zu machen: notime

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

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 16 Februar 2014, 11:02:35
Danke Andre,

Notime, funktioniert aber das Mischen nicht. Es funktioniert nur wenn ich das Device2 genau benenne, macht ja kein sinn da bei allen 3 Rts dann der Wert des einen steht.
$DEVICE greift auch nicht weil er scheinbar immer in hz.[device]_Clima schaut. Wenn ich den _Clima irgendwie wegnehmen könnte würde es denke ich gehen. Oder:

Kann ich an die Variable $DEVICE noch ein "_Clima" anhängen?

<%sani_heating>,<Act>,<Soll>,<Ist>,<Modus>,<Batterie> hz.*:battery,
<{ReadingsVal('$DEVICE_Clima','ValvePosition','')}>,
<{ReadingsVal('$DEVICE_Clima','desired-temp','')}>,
<{ReadingsVal('$DEVICE_Clima','measured-temp','')}>,
<{ReadingsVal('$DEVICE_Clima','mode','')}>


So funktioniert es leider nicht.
Titel: Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Februar 2014, 11:05:38
du  musst es mit doppelten anführungszeichen schreiben.
...,<{ReadingsVal($DEVICE."_Clima",'ValvePosition','')}>,...

in perl werden variablen zwischen einfachen Anführungszeichen nicht expandiert.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 16 Februar 2014, 11:16:48
<%sani_heating>,<Act>,<Soll>,<Ist>,<Modus>,<Batterie> hz.*:battery,<{ReadingsVal("$DEVICE",'ValvePosition','')}>

So liefert er z.B: die 0 % aber leider auch alle leeren Channels in denen es ValvePosition garnicht gibt und in einer neuen Zeile. Siehe Screenshot

<%sani_heating>,<Act>,<Soll>,<Ist>,<Modus>,<Batterie> hz.*:battery,<{ReadingsVal("$DEVICE_Clima",'ValvePosition','')}>

Den Channel an Device dranhängen liefert keine Werte
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Februar 2014, 11:29:30
schau noch mal oben. ich hatte es noch mal geändert. der name muss anders zusammen gebaut werden.

ansonsten musst du zu auf jeden fall den device teil ganz am anfang der definition so spezifisch machen das dir devices bzw. channel die du nicht dabei haben willst auch nicht mit matchen

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: stromer-12 am 16 Februar 2014, 11:35:40
Zitat von: chris1284 am 16 Februar 2014, 11:16:48
<%sani_heating>,<Act>,<Soll>,<Ist>,<Modus>,<Batterie> hz.*:battery,<{ReadingsVal("$DEVICE_Clima",'ValvePosition','')}>


Trenne "$DEVICE_Clima", da es als ein Variable betrachtet wird, welche nicht existiert.
Mit "$DEVICE"."_Clima" sollte es funktionieren.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 16 Februar 2014, 13:54:13
Jetzt muss ich es nur noch schaffen die leeren Devices auszublenden.
Zitat
ansonsten musst du zu auf jeden fall den device teil ganz am anfang der definition so spezifisch machen das dir devices bzw. channel die du nicht dabei haben willst auch nicht mit matchen

Das wird denke ich nicht gehen bei den RTs. Der Aufbau ist aber auch schlecht! Das Device [bla] ohne Channels hält fasst alle Readings als Zusammenfassung, aber leider nur fast.

Ich habe das ganze auch schon anderst herum probiert, aber da wird natürlich der Baterie-Level nicht angezeigt da $DEVICE = hz.[device]_Clima.

Kann ich statt $DEVICE auch sowas wie nur den string device minus 6 zeichen von rechts angeben? So eine Art trim (was perl scheinbar so nicht kennt)

EDIT:


substr("$DEVICE",0,length("$DEVICE")-6) liefert mir genua den device-String den ih brauche, allerdings nimmt fhem es nicht / stürtzt ab  ;D
In der Padre IDE funktioniert es :

Zitat$DEVICE = "hz.Bad_Clima";
$test = substr("$DEVICE",0,length("$DEVICE")-6);

print $test;
Ausgabe ist "hz.Bad"

Wenn ich das in das Redingsval mit hineinbekomme wäre es super:

<%sani_heating>,<Act>,<Soll>,<Ist>,<Modus>,<Batterie> hz.*_Clima:ValvePosition,desired-temp,measured-temp,mode,<{ReadingsVal('substr("$DEVICE",0,length("$DEVICE")-6)','Baterie','n.A.')}>
geht schonmal nicht.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: erwin am 17 Februar 2014, 11:34:51
Hi Andre,

erstmal von mir ein großes DANKE für das super Modul!
ich hab aber auch eine Frage:

attr valueIcon {"state.off" => "fts_shutter_" . ReadingsVal("Jalousie_Balkon_posstatus","state","0")}  #funktioniert
attr valueIcon {"state.off" => "fts_shutter_" . "%DEVICE"}  #funktioniert
attr valueIcon {"state.off" => "fts_shutter_" . ReadingsVal("%DEVICE","state","0")}  #funktioniert nicht, egal ob in single oder dquotes, ich vermute weil zuerst eval und dann substitution gemacht wird.


und zweitens auch eine Bitte:
ich wünsch mir folgenden Konstruktion:
define myRG readingsGroup Jalousie_.+_movestatus:state, usw.....
und möchte dann in der weitern definition (und auch in den attributen den match-string als variable verwenden. (analog zu %DEVICE, %ALIAS, usw....
das würde die Definitonen und auch die attribute wesentlich übersichtlicher gestalten.

l.g. erwin

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Februar 2014, 12:18:04
die ganzen => hash Konfigurationen werden nur ein mal am anfang durch eval geschickt und dürfen aktuell nur einen string zurück geben und nicht noch device abhängigen perl code aufrufen. ich bin gerade dabei das zu erweitern. dann wird es so funktionieren:attr valueIcon {"state.off" => {"fts_shutter_" . ReadingsVal("$DEVICE","state","0")} } was aber jetzt schon gehen sollte ist das hier:attr valueIcon {"state.off" => "fts_shutter_%VALUE"}

deinen zweiten punkt habe ich noch nicht ganz verstanden. du hast doch in %DEVICE den kompletten namen. was genau möchtest du mit dem match-string tun?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: erwin am 17 Februar 2014, 13:26:49
Hi Andre,

danke für die Antwort, ich hab mein Problem möglichweis zu sehr verkürzt dargestellt.....
attr valueIcon {"state.off" => "fts_shutter_%VALUE"}
funktioniert bestens, hilft mir aber nicht, weil ich den value eines anderen devices für das brauche. Den hab ich mit Readingsvalue("anderesdevice","state",0) zu holen versucht.
Hintergrund: ich versuche EIB devices (genauer Jalousien) zu steuern, und beim EIB Module gibts ausschließlich ein state attr, dafür brauche ich pro Jalousie mehrere FHEM devices (z.b. eins für Auf/Ab ein für Stop, eins für Absoltue Position setzen, eins für Rückmeldung absolute Position, usw....
Und dann ist auch noch entscheidend, mit welchem "Device" ich die Readingsgroup triggere, z.B.: Ein Absoluter Positionsstatus ist nur dann gültig, wenn das "Jalousie_xxx_movestatus" device auf aus steht....

Das war dann meine Idee, per namenskonvention die Devices zu gruppieren:

z.B:
Jalousie_<Raum1>_movestatus # Status: Jal in Bewegung
Jalousie_<Raum1>_posstatus # Status: Absolute Position der Jal (0-100%)
Jalousie_<Raum1>_AufAb # CMD: Auf=0 Ab=1
Jalousie_<Raum1>_Stop # CMD: Stop=1
Jalousie_<Raum1>_Absposition #Cmd: absolute Position setzen (0-100%)
usw...

daher kommt die Bitte nach dem match string. Damit könnte ich in der Readingsgroup eine Jalousie pro Zeile darstellen und undercover die EIB-Devicenamen modifizieren.
Beispiel:

define myRG readingsGroup Jalousie_.+_movestatus:state, <{sprintf("%3d %%",ReadingsValStrip("Jalousie_$DEVMATCH_posstatus","state","0"))}@state>, ,usw...

Das define matched auf alle meine Jalousien - das funktioniert ja bestens und liefert mir pro Jalousie EINE zeile.
Der match-string würde mir die Möglichkeit schaffen,  ein "weiteres EIB-Device abzufragen.. (im Beispiel mit $DEVMATCH markiert). Selbiges auch für attr valueIcon...
ich hoffe das war verständlich.

danke erwin
PS: Das wirkliche Problem ist, das EIB.pm den readingsupdate mechanismus nicht implementiert hat und damit auch keine userreadings funktionieren.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Februar 2014, 13:31:15
jetzt hab ich es verstanden. ich fürchte aber das ist nicht ganz einfach. ich muss mal überlegen.

wäre es nicht auch ein weg mit dummy oder readingsProxy jeweils ein device pro jalousie zu bauen das dann intern das verteilen macht und die readingsGroup nur noch auf diese kombinierten devices los zu lassen?

ich schau aber mal ob man die teile aus der regex durchreichen kann.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: erwin am 17 Februar 2014, 13:38:50
Hi Andre,

nochmals Danke für die Antwort,
falls das mit dem match-string zu viel Kopfzerbrechen macht, ist das auch kein Problem.
Für meinen speziell Fall hab ich mir eine kleine sub geschrieben, das den namen extrahiert und das funktioniert auch im define nicht jedoch beim attr valueIcon.
ich habs auch mit %ALIAS versucht, aber selbes Ergebnis beim attr valueIcon.
ich formuliere nochmal anders:

attr valueIcon {"state" => "myfunct('%DEVICE')"}

liefert %DEVICE in die funktion.
l.g. erwin
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 17 Februar 2014, 16:56:04
Hi Andre,

hats du evtl noch eine Idee wie ich die Funktion substr("$DEVICE",0,length("$DEVICE")-6) sauber in ein
<{ReadingsVal([HIER MUSS SIE REIN],'Baterie','n.A.')}> hineinbekomme bzw ist sowas überhaupt möglich? Substr an sich und auch length funktionieren zusammen wenn ich sie hinten als default -Wert angebe, nur nicht vorn als device.

Gruß

Christiab
Titel: Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Februar 2014, 17:32:06
ich habe gerade eben einen bug repariert der zugeschlagen hat wenn eine 0 in der parameterliste aufgetaucht ist.

das sollte an morgen gehen.

als workaround müsste 1-1 gehen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Februar 2014, 17:53:40
@erwin: ich hab gerade mal geschaut wie ich die capture groups/match variablen bereut stellen kann und es geht nicht wirklich. das matchen der devices passiert nur zur definitions zeit (bzw. wenn in fhem neue devices angelegt werden).

wenn später die web seite aufgebaut wird habe ich  nur noch die liste der devices die tatsächlich relevant sind.

das würde ich auch ungern ändern weil ich dann nicht mehr optimieren kann.

wenn es wirklich nicht so wichtig ist würde ich es erst mal ruhen lassen bis mindestens noch jemand damit kommt :)

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: erwin am 18 Februar 2014, 10:56:24
Hi Andre,
Zitatwenn es wirklich nicht so wichtig ist ...
Wie schon geschrieben, dieses Problem kann ich anders lösen.

Wenn du das implementieren könntest, wäre mein Problem schon gelöst:
Zitatich bin gerade dabei das zu erweitern. dann wird es so funktionieren:
attr valueIcon {"state.off" => {"fts_shutter_" . ReadingsVal("$DEVICE","state","0")} }

Danke erwin
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 18 Februar 2014, 17:56:06
Hi Andre, funktioniert mit dem substring nach dem Update, bekomme nun die Batterie-Werte.

Allerdings scheint ein einfaches valueIcon {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red'} nicht mehr auf die Werte der Batterie zu greifen.
Iconpfad usw alles i.O. valueIcon {'mode.auto' => 'sani_heating_automatic','battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red'} grift zumindest bei mode und in einer 2 Readingsgroup nur mit battery greift das icon auch.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 18 Februar 2014, 18:24:44
das mappen der der readings werte auf ein icon mit valueIcon geht nur mit 'echten' readings. nicht mit den strings die mit <{...}> eingefügt werden.

dazu gibt es zwei mögliche Lösungen:
- du verwendest valueFormat um den reading wert durch den wert zu ersetzen den du brauchst. etwas so:attr <rg> valueFormat {battery =>{ReadingsVal(substr($DEVICE,0,length("$DEVICE")-6),'Baterie','n.A.')} }

- deine <{...}> routine liefert direkt den namen des icons mit vorangestelltem % zurück. am besten über eine eigene rouinte in 99_myUtils.pm die du dann in etwas so aufrufst ...,<{myBat2Icon($DEVICE)}>,...


gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 18 Februar 2014, 21:14:55
Danke für die schnelle Rückmeldung

Zitat von: justme1968
- du verwendest valueFormat um den reading wert durch den wert zu ersetzen den du brauchst. etwas so:attr <rg> valueFormat {battery =>{ReadingsVal(substr($DEVICE,0,length("$DEVICE")-6),'Baterie','n.A.')} }
Das haut in alle anderen Werte
ZitatHASH(0x14e64a8)
rein statt der gelesenen Werte.

Zitat von: justme1968
- deine <{...}> routine liefert direkt den namen des icons mit vorangestelltem % zurück. am besten über eine eigene rouinte in 99_myUtils.pm die du dann in etwas so aufrufst ...,<{myBat2Icon($DEVICE)}>,...
http://forum.fhem.de/Themes/fhem-curve-green/images/bbc/quote.gif

Funktioniert, direkt in der ReadingsGroup 
Zitat<%sani_heating>,<Act>,<Soll>,<Ist>,<Modus>,<Batterie> hz.*_Clima:ValvePosition,desired-temp,measured-temp,mode,<{if(ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-6),"battery","n.A.")eq"ok"){"%batterie\@green"}else{"%batterie\@red"}}>

Danke und Gruß

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 18 Februar 2014, 21:19:07
die erste version sollte eigentlich mit der aktuellen readingaGroup funktionieren.

wenn nicht nimm trozdem die varuante aber als { if($READING eq "battery") ... }

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 20 Februar 2014, 16:24:57
Hallo,

die folgende Definition wollte ich vereinfachen:


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


in dem ich eine regex verwende:
define Anrufliste readingsGroup <Pos>,<Art>,<Datum>,<Name>,<Nummer>,<Dauer> meineFB:[A-E][0-4]
oder meineFb:A[0-4],B[0-4],C[0-4]..

zumindest für den letzten Fall hatte ich gehofft, dass mir die Liste angezeigt wird. Die readings sind belegt....
Wo liegt da der Denkfehler?

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 20 Februar 2014, 16:27:18
regex ist zur zeit nur für devices und nicht für readings möglich.

da die regex auch keine sortierung erlaubt würde es dir nicht helfen.

gruss
andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: svenson08 am 20 Februar 2014, 20:54:47
Ich hab mir eine readingsGroup zusammen gestellt. Dabei ist mir die Frage aufgekommen ob es möglich ist den einzelnen Einträgen ein Icon voranzustellen?

Gruß Svenson
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 20 Februar 2014, 21:01:31

- du kannst mit name icon den zeilen titel durch ein icon erstetzen
- du kannst mit <%icon> an beliebiger stelle ein icon hinzufügen also auch vor jeden reading wert.

wenn du ein icon und den device namen möchtest geht das in dem du den zeilen titel durch eine icon ersetzt und z.b. mit <{$ALIAS}> den alias in die readings liste mit einfügst.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: strauch am 21 Februar 2014, 14:02:38
Hallo Andre,

Da mein Fhem, wenn ich die fhem.cfg speicher, abstürzt. Bin ich gerade dabei alle Fehlermeldungen zu debuggen.

Eine hab ich bei der readingsgroup. Die Fehlermeldung sieht folgendermaßen aus:
Argument "2.9 V" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 711.

Ich hab eine Readingsgroup, die den Batteriestatus aller meiner Geräte zusammenfasst. Die neuen Homematic DN-RT Regler, geben ja auch die Batteriespannung aus, ich hab dann einfach noch ein V hinten drangehangen, bei anderen macht das keine Probleme. Hier der Bereich aus meiner fhem.cfg:
define reading_battStatus readingsGroup .*:[Bb]attery,batteryLevel
attr reading_battStatus alias Batterie Status
attr reading_battStatus mapping %ALIAS
attr reading_battStatus notime 1
attr reading_battStatus valueFormat {"batteryLevel" => "%.1f V"}


Sagt dir der Fehler was?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 21 Februar 2014, 14:18:36
es gab vor einiger zeit mal eine solche meldung. das sollte inzwischen aber in den meisten fällen behoben sein.

in der zeile 711 gibt es kein sprintf mehr. ich vermute du bist nicht ganz auf dem aktuelles stand.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: strauch am 21 Februar 2014, 14:24:45
Danke, ich prüf das mal, ich hab vorhin noch ein Update gemacht, vielleicht gibt es da Zugriffsprobleme. Ausgerechnet das Problem hab ich nicht gegoggelt nur das mit meinem Sonos :-) Sorry.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 21 Februar 2014, 14:28:34
die aktuelle version ist

Zitat# $Id: 33_readingsGroup.pm 5004 2014-02-20 19:52:01Z justme1968 $

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: strauch am 21 Februar 2014, 14:44:32
Danke, ich hab jetzt mal ein "update force" gemacht jetzt hab ich die Version, bisher ist der Fehler weg.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 23 Februar 2014, 11:05:40
Hallo Andre,

wie gebe ich denn ein "%" - Zeichen über valueFormat in einer readingsGroup aus?
Wenn ich valueFormat so angebe:
'Laststellung' => '%d %'
bekomme ich in der readingsGroup eine Fehlermeldung, dass der Formatstring nicht vollständig ist. Klar.
Wenn ich:
'Laststellung' => '%d \%'
stattdessen eingebe, so erscheint allerdings dann der \ in der Ausgabe:
17 \%
Den Wert vorher formatieren über sprinft und dann im valueFormat als %s ausgeben, ist etwas unglücklich, denn wenn ich den Wert dann über ReadingsVal abfrage, ist er nicht mehr nummerisch und beim rechnen bringt perl dann Warnungen. Ich müsste ihn dann immer nach jeder Abfrage mit ReadingsVal über ein split vom "%" "befreien....

Gruß


Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 23 Februar 2014, 11:11:25
Laststellung' => '%d %%

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 23 Februar 2014, 11:41:28
Danke!!!! Du bist einfach der Größte!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: svenson08 am 23 Februar 2014, 22:02:17
Hallo Andre,

Zitat- du kannst mit name icon den zeilen titel durch ein icon erstetzen
- du kannst mit <%icon> an beliebiger stelle ein icon hinzufügen also auch vor jeden reading wert.

wenn du ein icon und den device namen möchtest geht das in dem du den zeilen titel durch eine icon ersetzt und z.b. mit <{$ALIAS}> den alias in die readings liste mit einfügst.

Mir gelingt es nicht ein Icon vor den reading wert zu bekommen. Den kniff mit dem <{$ALIAS}> bekomm ich nicht hin.
Ich kann zwar ein Icon anstelle des Titels anzeigen, aber das einfügen eines "beliebigen" Text nach dem Icon und vor dem Wert bekomm ich nicht hin.

Die readingGroup basiert in meinem Fall auf dem Weather Modul.

MyWeather:temperature,
MyWeather:humidity,
MyWeather:pressure,
MyWeather:wind_speed,
MyWeather:condition,


Hast du noch einen Tipp für mich?

Gruß Svenson
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 23 Februar 2014, 23:06:32
%ALIAS war falsch. es murr natürlich %READING sein.

also zum beispiel so:define rgWetter readingsGroup MyWeather:temperature MyWeather:humidity MyWeather:pressure
attr rgw nameIcon {temperature => 'temp_temperature', humidity => 'weather_humidity', pressure => 'weather_baraometric_pressure' }
attr rgw valueFormat <td>%READING<td>%s


oder ab morgen (ich hab eben noch ein layout problem repariert) einfach so:define rgw readingsGroup MyWeather:<%temp_temperature>,<temperature>,temperature MyWeather:<%weather_humidity>,<humidity>,humidity MyWeather:<%weather_baraometric_pressure>,<pressure>,pressure

ich hoffe jedenfalls so soll es aussehen.

gruss
  andre

edit: die beispiele oben machen aus dem icon mit absicht eine extra spalte. wenn man das icon in die gleiche spalte wie den text einfügt hat man dann das gleiche problem wie mit den icons für die fhem devices die dan nicht mehr vertikal zum text zentriert sind.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: svenson08 am 24 Februar 2014, 19:23:46
Hallo Andre,

Update habe ich gemacht. Und es sieht schon mal etwas besser aus

ZitatMyWeather:<%temp_temperature>,<Temperatur>,temperature MyWeather:<%weather_humidity>,<Relative-Feuchte>,humidity MyWeather:<%weather_baraometric_pressure>,<Luftdruck>,pressure MyWeather:<%Icon_Fisch>,<Wind>,wind_speed MyWeather:<%Icon_Fisch>,<Wetter>,condition

führt aber dazu das alle Readings in einer Reihe stehen und nicht mehr zeilenweise.

Zitatdefine rgw readingsGroup MyWeather:<%temp_temperature>,<temperature>,temperature MyWeather:<%weather_humidity>,<humidity>,humidity MyWeather:<%weather_baraometric_pressure>,<pressure>,pressure
Dein Beispiel führt bei mir auch zu einer Anzeige in einer Reihe, statt in einzelnen Reihen.

Ist das so gewollt? Und was müsste ich tun um jedes Reading in eine eigene Zeile zu bekommen?

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 24 Februar 2014, 19:25:28
bei mir ist es nicht in einer reihe. siehe screenshot.

ich schaue gleich mal ob beim einchecken was schief gegangen ist.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 24 Februar 2014, 19:40:59
gerade probiert und und es geht. direkt aus dem post kopiert.

bist du sicher das das update ok war? da es genau das layout problem (fehlender zeilenumbruch wenn das erste objekt auf einer zeile ein icon ist) war das ich gestern repariert habe.

readingsGroup sollte jetzt diese version sein:
Zitat# $Id: 33_readingsGroup.pm 5032 2014-02-23 22:02:16Z justme1968 $

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: svenson08 am 24 Februar 2014, 19:44:05
ach mist, schlag mich. jetzt hab ich gut eine halbe Stunde rumprobiert und war zu blöd auch mal shutdown restart nach dem Update zu machen..... geht natürlich.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: svenson08 am 24 Februar 2014, 19:46:53
Jetzt hab ich trotzdem noch eine Kleinigkeit

ZitatMyWeather:<%weather_humidity>,<Relative Feuchte>,humidity
Text "Relative Feuchte"wird nicht angezeigt

ZitatMyWeather:<%weather_humidity>,<Relative-Feuchte>,humidity
Text "Relative-Feuchte" wird angezeigt.

Leerzeichen gehen dort scheinbar nicht. Ich kann mir aber so behelfen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 24 Februar 2014, 19:48:55
ja. leerzeichen sind nicht erlaubt. du kannst statt dessen &nbsp; verwenden. das problem ist die parse routine die nicht besonders intelligent ist.

wenn &nbsp; nicht reicht kannst du auf <{...}> ausweichen und eine sub aufrufen die den string mit leerzeichen zurück geben kann.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Gerhard am 24 Februar 2014, 20:40:05
Hi, noch eine Kleinigkeit,

wenn ich deinen beispiel in eine group tue und das ganze dann in eine Spalte einbinde (siehe Bild) wird das readingsGroup zusammen gedrückt. Ist diese group keiner Spalte (column) zugewiesen, wird sie richtig angezeigt.

Gerhard
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 24 Februar 2014, 20:55:17
schau mal ob dir das hilft: http://forum.fhem.de/index.php/topic,20643.msg141701.html#msg141701 (http://forum.fhem.de/index.php/topic,20643.msg141701.html#msg141701)

ansonsten schau dir mal DASHBOARD an. da wird die readingsGroup richtig dargestellt.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Gerhard am 24 Februar 2014, 21:11:08
o.k.

ich habe darkstyle.css wie vorgeschlagen geendert (siehe Bild), alles gut.

@rudi: das wollte Uli am WE testen, hier das Ergebniss.

Gerhard
Titel: Antw:Neues Modul readingsGroup
Beitrag von: strauch am 26 Februar 2014, 12:24:06
@Andre

der Fehler ist wieder aufgetaucht, aber andere Zeile: Argument "2.9 V" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 493.

Ich hab folgende Version im Einsatz:
# $Id: 33_readingsGroup.pm 5004 2014-02-20 19:52:01Z justme1968 $

Ich hab gesehen es gibt auch schon wieder ein Update, werde ich mal einspielen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 26 Februar 2014, 12:26:42
zeig mal bitte die definition deiner readings group. je nach wert musst du mehr machen als nur %1.f zu verwenden. wenn im reading z.b. wie in deinem fall noch eine einheit dahinter steht.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: strauch am 26 Februar 2014, 12:35:42
define reading_battStatus readingsGroup .*:[Bb]attery,batteryLevel
attr reading_battStatus alias Batterie Status
attr reading_battStatus mapping %ALIAS
attr reading_battStatus notime 1
attr reading_battStatus valueFormat {"batteryLevel" => "%.1f V"}


Danke fürs prüfen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: micomat am 26 Februar 2014, 21:33:43
Hi,

ich habe ein Reading das wie folgt aussieht:
outside_temp: 6.1 flow_temp: 26.8 return_temp: 27.5 hot_gas_temp: 58.9 dhw_temp: 46.8 flow_temp_HC2: -60 evaporator_temp: 1.9 condenser_temp: 28.3 Mixer_open: 0 Mixer_closed: 1 HeatPipeValve: 0 DiverterValve: 0 DHW_Pump: 0 HeatingCircuit_Pump: 0 Solar_Pump: 0 Compressor: 0 BoosterStage3: 0 BoosterStage2: 0 BoosterStage1: 0 HighPressureSensor: 1 LowPressureSensor: 0 EvaporatorIceMonitor: 0 SignalAnode: 0 EVU_release: 1 OvenFireplace: 0 STB: 0 OutputVentilatorPower: 17 InputVentilatorPower: 17 MainVentilatorPower: 0 OutputVentilatorSpeed: 21 InputVentilatorSpeed: 19 MainVentilatorSpeed: 0 Outside_tempFiltered: 6.5 Rel_humidity: 0 DEW_point: 532 P_Nd: 5.32 P_Hd: 12.6 Actual_power_Qc: 0 Actual_power_Pel: 0 collector_temp: 6.5
Ich moechte in einer Readingsgroup aber nicht den ganzen Schlauch, sondern nur gezielt einzelne Werte hieraus haben um diese letztendlich im Dashboard anzuzeigen.

Ich hab leider nicht rausgefunden wie das funktioniert. Alternativ war ich einfach zu blind :)

Hoffe ihr habt ne Loesung :)

Danke,
Markus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 26 Februar 2014, 21:50:38
readingsGroup ist hauptsächlich dafür gemacht aus einzelnen readings eine eine formatierte übersicht zu machen. das was du möchtest geht zumindest nicht einfach und effizient.

wo kommen denn die ganzen werte her? warum stecken sie alle in einem reading?

den bandwurm wieder auseinander zu nehmen ist nicht der optimale weg. erst recht wenn das ganze per longpoll aktualisiert werden soll.

wenn es irgend wie geht solltest du die werte als einzelne readings irgendwo haben und erst in einem zweiten schritt eine readingsGroup zum anzeigen verwenden.

wenn du tatsächlich nur das lange ding hast würde ich das zuerst mal auftrennen und einzelne readings draus machen. per userReadings oder mit einem notify.

gruss
  andre

Titel: Antw:Neues Modul readingsGroup
Beitrag von: micomat am 26 Februar 2014, 21:55:24
das kommt vom Modul thz

muss mir die User readings mal ansehen.

danke
markus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Gerhard am 27 Februar 2014, 17:31:13
hallo andre,

sind (werden) die änserungen in darkstyle.css eingechekt??, rudi hat sich dazu nicht geäusert, oder wartet noch auf tests von Uli?

Gerhard
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 Februar 2014, 17:32:02
ich weiss nicht mehr als du...

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: stromer-12 am 02 März 2014, 14:06:09
Hi,

Ich habe ein Problem mit meiner readingsGroup.

Internals:
   DEF        <%sani_heating>,<Mode>,<Ventil>,<Temp>,<Wunsch>,<Fenster> TYPE=FHT:mode,actuator,measured-temp,desired-temp,window
   NAME       Heizungswerte
   NR         705
   NTFY_ORDER 50-Heizungswerte
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     az.hz      1
     ba.hz      1
     ku.hz      1
     sz.hz      1
     ve.hz      1
     wz.hz      1
   DEVICES:
     ARRAY(0x187cfc0)
     ARRAY(0x14819a0)
     ARRAY(0x18a7238)
     ARRAY(0x16dac50)
     ARRAY(0x1555ae0)
     ARRAY(0x14a8ab8)
     ARRAY(0x16d27b0)
   Fhem:
     last_update 1393764656.6148
Attributes:
   commands   { 'mode.manual' => 'set $DEVICE mode auto', 'mode.auto' => 'set $DEVICE mode manual', 'desired-temp' => 'desired-temp:' }
   fp_1_Veranda 5,5,0,
   group      Heizungswerte
   noheading  1
   nolinks    1
   room       Heizung
   sortDevices 1
   valueFormat {"measured-temp" => "%.1f°C"}
   valueIcon  { "mode.auto" => "sani_heating_automatic\@green", "mode.manual" => "sani_heating_manual\@yellow", "window.closed" => "fts_window_1w\@green", "window.open" => "fts_window_1w_open\@red" }


Es wird kann nur die erste Temperatur im Floorplan gesetzt werden. Bei den anderen kommt folgende Fehlermeldung:
ERROR: Floorplan 1_Veranda&arg.sz.hz=desired-temp&dev.sz.hz=sz.hz&val.sz.hz=11.5&cmd.sz.hz=set not defined

Unter fhemweb funktionieren alle Links.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 03 März 2014, 13:36:59
betrifft es nur das menü für desired-temp oder auch die direkten links?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 03 März 2014, 17:01:33
Hallo Andre,

probiere gerade mit dem attr xx comands herum. Sieht ja Klasse aus, habe aber da doch ein paar Fragen.
1. Hatte mit
attr Hz_rg valueFormat {'Anlagenfrostschutz' => '%.1f C'}
und so ähnlich mir formatierte Ausgaben für die readings der HzAnlage definiert.
Nun kommt jetzt die Eingabe dazu:
attr Hz_rg commands {'HzAnlage.Anlagenfrostschutz' => "Anlagenfrostschutz:textField"}
definiert und ein mapping für die Namen in der ersten Spalte.
Nach der Definition von commands rutsch der Wert in die dritte Spalte und der Namen wird wiederholt (Klar, steht ja auch da vor dem textField und geöhrt ja zum  notify, welches nach Eingabe an die HzAnlage gesandt wird?)
Aber mir fehlt jetzt das Format, sprich das "Grad C". Wie bekomme ich das hinter das Textfeld?
2. Ich habe zum Teil mehrere Werte in einer Zeile, z.B. Solarvorlauftemp,Solarrücklauftemp, so dass das mapping so aussieht:
'Solarvorlauftemp' => 'Solar Temp. (Vor/Rück)'
Den Text vor dem Textfeld kann man wohl nicht unterdrücken?
3. Wenn man die Beschriftungen vor den Eingabefeldern beibehalten muss, könnte man auf die Bezeichner in der ersten Spalte ja dann eigentlich verzichten. Kann man das mapping für die erste Spalte unterdrücken, so dass das/die Textfelder mit Bezeichner ganz nach links rutschen?
4. Was ja ganz witzig ist:
Habe in dem Modul mir für die set-Funktion auch die ? - Option implementiert und da die HzAnlage  Bereichsgrenzen für eine gültige Eingabe liefert, habe ich die mal durch 10 dividiert und mir die Werte für ein Menü gleich hinter der set-Ausgabe angehängt.
Setzt man nun bei commands statt "textField" nichts ein, so erscheint automatisch diese Menüliste. Sehr schön!

Aber ev. hast Du für 1. und 2. einen Tipp?

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 03 März 2014, 17:07:38

du kannst den text vor dem textfeld bzw dem drop down menü über mapping auf "" bzw &nbsp; (d.h. nichts) mappen. dann verschwindet es (fast).

damit sollte 1. und 2. dann besser aussehen.

ja. genau. so sollte es sein. wenn du nichts angibst wird der interne default von fhemweb genommen. du kannst aber auch etwas angeben das nur eine untermenge des defaults ist. also z.b. desired-temp auf einen bestimmten bereich beschränken.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 03 März 2014, 17:19:54
Hallo Andre,

das ging ja flott.
Mapping: Geht denn das auf jede Spalte? Ich dachte immer nur auf die Erste?
Müsste das dann so heissen:
..mapping {HzAnlage.Anlagenfrostschutz' => 'Temp. für 'Anlagenschutz', 'Anlagenfrostschutz:' => ""} ?
wenn wie oben das command = Anlagenfrostschutz:textField lautet?
Und gibt es noch eine Möglichkeit hinter dem Textfeld die Einheit auszugeben? (K, l/min, Grad C usw)?

Gruß
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 03 März 2014, 17:23:43
das mapping geht immer dort wo automatisch ein reading name eingeblendet wird. das ist normalerweise nur die erste spalte. der text for den commands ist die ausnahme wo das dann auch geht.

du kannst die einheiten in einer eigenen spalte mit <text> dahinter schreiben (also <K>,<l/min>,...). es dürfen nur keine leerzeichen enthalten sein.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: stromer-12 am 03 März 2014, 22:09:06
Zitat von: justme1968 am 03 März 2014, 13:36:59
betrifft es nur das menü für desired-temp oder auch die direkten links?

Die direkten Links funktionieren.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 04 März 2014, 08:57:18
Hallo Andre,

noch Mal eine Frage zum Textfeld/Menü in der readingsGroup, wobei ich vermute, dass die Aussage / Frage allgemeinerer Natur is?
Ich baue ja gerade ein Modul für meine Heizungsanlage, die lesenden Werte kommen alle, schreiben in die Anlage bin ich gerade dabei.
Nun ist mir aufgefallen, dass wenn ich einen Wert in einem Textfeld ändere, der sofort auch im Reading der Heizungsanlage steht, ohne dass der natürlich tatsächlich an die Hz gesendet wurde. Klassisch würde ich jetzt ein notify an die Hz hängen und dass so abfangen. Aber in einem Modul hat ja ein anderes Modul nichts zu suchen. Also, wie bekommt jetzt das Modul mit, dass das Reading sich ändern möchte?
Gibt es da so etwas ähnliches, wie die AttrFN?

In der fhem.pl konnte ich da nichts adäquates finden.

Gruß


Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 04 März 2014, 09:01:08
über NotifyFn kannst du das mitbekommen. aber eigentlich ist das nicht sauber und auch nicht wirklich effizient.

wenn du ein eigenes modul  schreibst solltest du dafür ein set kommando vorsehen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 04 März 2014, 09:07:53
Hallo Andre,

Die entsprechende set - Funktion habe ich ja schon, die wird aber doch nicht automatisch aufgerufen, wenn die Eingabe im Textfeld / die MeMenü - Auswahl abgeschlossen ist.
Also bleibt doch n Wo ist das dokumentiert?
Parameter: Name, ReadingName, Value ? Oder statt Name den hash?
Und return undef, wenn das Reading vom Wert ok ist?

ur das NotifyFN.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 04 März 2014, 09:12:01
wenn das set nicht automatisch aufgerufen wird stimmt etwas anderes noch nicht.

NotifyFn funktioniert nur so einfach. und du kannst dort nicht mehr werte überprüfen. das ist schon zu spät. du kannst nur mitbekommen das er gesetzt wurde.

die setFn ist wirklich die richtige stelle.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 04 März 2014, 09:18:51
Verstehe ich aber trotzdem nicht, Deine Antwort.
Wenn ich in das Textfeld etwas eingebe, so wird sofort das Reading auf den neuen Wert gesetzt... Was ja ggfs. zu verhindern wäre.
Da nützt die Implementierung einer set-Funktion doch auch nichts.
Ich stehe da offensichtlich auf dem Schlauch...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 04 März 2014, 10:24:21
das mit dem sofort setzen sollte nur bei dummys so sein.

bei 'echten' devices mit einem passenden set sollte das nicht so sein.

bitte teste es mal mit einem menü oder slider.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 04 März 2014, 12:26:35
Hallo Andre,

also: Bei "Anlagenfrostschutz:texdtField" wird das Reading sofort gesetzt.
bei "Anlagenfrostschutz:-10,-5,0,5,10" passiert nach Auswahl des Menüpunktes nichts, der Wert des Readings bleibt auf dem alten Wert.
Wird da tatsächlich die setFN aufgerufen?
Ok. Steht im Log. Setze nur noch nicht den Wert an der HzAnlage (einmal für 10 und für -10):
2014.03.04 12:14:24 3: UNMETH_TEMP: low 100 high 0
2014.03.04 12:14:24 4: Wcmcom set HzAnlage Anlagenfrostschutz 10 low 100 high 0
2014.03.04 12:14:24 4: Wcmcom set.. telegram {"prot":"coco","telegramm":[[10,0,2,2560,0,0,100,0]]}
2014.03.04 12:15:13 3: UNMETH_TEMP: low 156 high 255
2014.03.04 12:15:13 4: Wcmcom set HzAnlage Anlagenfrostschutz -10 low 156 high 255
2014.03.04 12:15:13 4: Wcmcom set.. telegram {"prot":"coco","telegramm":[[10,0,2,2560,0,0,156,255]]}

Heißt also, ich muss verifizieren, was die Hz draus macht und dann das Reading danach selbst setzen?

Und was ist mit dem "textField"?
Ist das ein Bug und warum hat den bisher niemand bemerk?

Gruß

Elektrolurch

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 04 März 2014, 13:05:03
ja natürlich musst du die readings aus deinem set selber passend setzen. da gibt es keinen Automatismus. genau da kannst du ja dann passend reagieren.

textField war bis jetzt nur in verbindung mit einem dummy verwendent und über ein notify ausgewertet. ich habe jetzt hier: http://forum.fhem.de/index.php/topic,14701.msg145182.html#msg145182 (http://forum.fhem.de/index.php/topic,14701.msg145182.html#msg145182)einen kleinen patch gepostet bei dem angegeben werden kann ob set oder wie bisher setreading verwendet werden soll.

du würdest dann in einem modul <cmd>:textField,set verwenden.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 04 März 2014, 13:23:59
Ok, prima. Probiere ich morgen aus.
Das wäre auch eine sinnvolle Ergänzung zu Stefans "Einsteiger-Doku" für das programmiern von Modulen.
Ich bin da schon beim dummy drüber gestolpert, da musste ich nämlich auch einige Verrenkungen machen, um inkorrekte Datums- und Zeitangaben abzufangen, die nämlich auch dann immer schon im Reading standen. Ich hatte mir nämlich neben dem Textfeld dafür noch einen "set" - Knopf gesetzt, um auf Plausi checken zu können, bzw. mir ein notify auf die Redings  gesetzt (zweiter Fall). Also zwei verschiedene Wege...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: strauch am 04 März 2014, 16:44:21
Zitat von: strauch am 26 Februar 2014, 12:35:42
define reading_battStatus readingsGroup .*:[Bb]attery,batteryLevel
attr reading_battStatus alias Batterie Status
attr reading_battStatus mapping %ALIAS
attr reading_battStatus notime 1
attr reading_battStatus valueFormat {"batteryLevel" => "%.1f V"}


Danke fürs prüfen.

@andre kannst du hier noch mal drüber schauen ob ich einen Fehler habe?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 04 März 2014, 17:11:05
ich kann keinen fehler finden. bist du ganz sicher das das batteryLevel reading wirklich bei allen devices nur eine zahl ohne einheiten enthält?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: strauch am 05 März 2014, 15:22:22
Ah du hast recht. Das ist wohl irgendwann nachgepflegt worden. Früher stand noch kein V bei der Spannung inzwischen steht das so auch in den Readings. Danke. Habs entfernt, mal schauen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 05 März 2014, 15:32:20
Hallo,

das mit den Einheiten ist so ein generelles Problem, wenn das device die Einheiten im Reading mitliefert, hat man später Probleme mit dem Rechnen / Vergleichen. Zumindest spuckt perl dann immer Fehlermeldungen aus. Ich bin der Meinung, das Device soltle nur den Wert liefern, die Einheit gehört immer in die Darstellungsebene.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 März 2014, 15:33:16
ja.

eigentlich sollten alle readings ohne einheiten sein.

am besten fragst du mal beim modul autor an.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: strauch am 05 März 2014, 16:41:58
Dann schreib ich dem Martin mal ne PN. Wobei ich dachte dafür gibts %EVPART1 2 usw.?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: micomat am 08 März 2014, 09:59:59
hi leute,

ich hab seid n paar tagen folgenden fehler immer wieder mal im log:
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE Temp$/ at ./FHEM/33_readingsGroup.pm line 491.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE Temp$/ at ./FHEM/33_readingsGroup.pm line 496.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE Temp$/ at ./FHEM/33_readingsGroup.pm line 780.


meine readingsgroup-cfg sieht wie folgt aus:
define rgTHZ readingsGroup Mythz:*Temp
attr rgTHZ group THZ


kann mir hier jemand weiterhelfen?

danke
markus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 08 März 2014, 10:57:40
es muss .*Temp heißen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: micomat am 08 März 2014, 12:46:58
shitfuckmistpunkt! :) und ich such mir hier stundenlang einen nach dem fehler ab...
danke, funktioniert hats trotzdem.

gruß
markus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhainz am 16 März 2014, 01:10:54
Hallo!

Ich wollte gerade bei einer readingsGroup das nameStyle Attribut anwenden. Leider schaff ich es nicht nur einen Namen klein geschrieben darzustellen.

nameStyle { if($READING eq "clearDate"){ style="font-size:10px;" } }

Kann es sein das ich nur alle Namen gleichzeitig um-stylen kann und nicht jeden für sich selbst?


Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 März 2014, 12:14:07
das sollte auch unterschiedlich gehen. da steckt die gleiche routeine dahinter.

mach mal bitte ein komplettes beispiel das probleme hat.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhainz am 16 März 2014, 12:59:33
Hier die list meiner RG:
Internals:
   CFGFN      ./FHEM/readingsGroups.cfg
   DEF        d_stromverbrauchAllgemein:,<Aktuell>,power,<Durchschnitt Heute / Monat>,<{ReadingsVal("d_stromverbrauchAllgemein","power_avg_day","").' W / '.ReadingsVal("d_stromverbrauchAllgemein","power_avg_month","").' W';}>
d_stromverbrauchAllgemein:,<Min / Max Heute>,<{ReadingsVal("d_stromverbrauchAllgemein","power_min_day","").' W / '.ReadingsVal("d_stromverbrauchAllgemein","power_max_day","").' W';}>,<Min / Max Monat>,<{ReadingsVal("d_stromverbrauchAllgemein","power_min_month","").' W / '.ReadingsVal("d_stromverbrauchAllgemein","power_max_month","").' W';}>
hourCounterAllgemein:,<Heute>,countsPerDay,<Gestern>,appCountsPerDay
hourCounterAllgemein:,<Aktuelle Stunde>,appCountsPerHourTemp,<Letzte Stunde>,appCountsPerHour
hourCounterAllgemein:,<Aktuell Woche>,appCountsPerWeekTemp,<Letzte Woche>,appCountsPerWeek
hourCounterAllgemein:,<Aktuells Monat>,appCountsPerMonthTemp,<Letztes Monat>,appCountsPerMonth
hourCounterAllgemein:,<Gesamt>,countsOverall,<Start der Messung>,clearDate
   NAME       stromverbrauchAllgemeinRG
   NR         577
   NTFY_ORDER 50-stromverbrauchAllgemeinRG
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     d_stromverbrauchAllgemein 1
     hourCounterAllgemein 1
   DEVICES:
     ARRAY(0x7fe042bab0a8)
     ARRAY(0x7fe043ad9250)
     ARRAY(0x7fe043aea008)
     ARRAY(0x7fe045808ac8)
     ARRAY(0x7fe0458c8190)
     ARRAY(0x7fe043ccb660)
     ARRAY(0x7fe045a93240)
   Fhem:
     last_update 1394970913.34849
Attributes:
   alias      Stromverbrauch
   group      Stromverbrauch Allgemein
   mapping     
   nameStyle  { if($READING eq "clearDate"){ 'style="font-size:10px"' } }
   noheading  1
   room       5.2 Strom
   valueFormat { if($DEVICE eq "d_stromverbrauchAllgemein"){ sprintf("%.2f W", $VALUE);}elsif($READING eq "clearDate"){ sprintf("%s", $VALUE); } else{sprintf("%.2f kWh", $VALUE/1000);} }
   valueStyle { stromverbrauchGesamtAllgemeinRGvalueStyle($DEVICE,$READING,$VALUE); }


valueStyle aus 99_myUtils
sub stromverbrauchGesamtAllgemeinRGvalueStyle($$$){

  my $device = shift;
  my $reading = shift;
  my $value = shift;
 
  # hourCounter Values sind in W
 
  if( $reading eq "state" ){
    if( $value > 3000 ){
      'style="color:red"'
    }
    elsif( $value > 2000 ){
      'style="color:orange"'
    }
    else{
    'style="color:green"'
  }
  }
  elsif( ( $reading eq "power_avg_day" || $reading eq "power_avg_month" ) ){
    if( $value > 300 ){
      'style="color:red"'
    }
    elsif( $value > 250 ){
      'style="color:orange"'
    }
    else{
    'style="color:green"'
  }
  }
  elsif( ( $reading eq "countsPerDay" || $reading eq "appCountsPerDay" ) ){
    if( $value > 5000 ){
      'style="color:red"'
    }
    elsif( $value > 4000 ){
      'style="color:orange"'
    }
    else{
    'style="color:green"'
  }
  }
  elsif( ( $reading eq "countsPerWeek" || $reading eq "appCountsPerWeek" ) && $value > 35000 ){
    'style="color:red"'
  }
  elsif( ( $reading eq "countsPerMonth" || $reading eq "appCountsPerMonth" ) && $value > 140000 ){
    'style="color:red"'
  }
  elsif( $reading eq "clearDate" ){
    'style="font-size:10px"'
  }
  else{
    'style="color:green"'
  }
}


Ist mein code falsch?

Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: P.A.Trick am 16 März 2014, 13:11:43
Zitat von: fhainz am 16 März 2014, 12:59:33
Hier die list meiner RG:
Internals:
   CFGFN      ./FHEM/readingsGroups.cfg
   DEF        d_stromverbrauchAllgemein:,<Aktuell>,power,<Durchschnitt Heute / Monat>,<{ReadingsVal("d_stromverbrauchAllgemein","power_avg_day","").' W / '.ReadingsVal("d_stromverbrauchAllgemein","power_avg_month","").' W';}>
d_stromverbrauchAllgemein:,<Min / Max Heute>,<{ReadingsVal("d_stromverbrauchAllgemein","power_min_day","").' W / '.ReadingsVal("d_stromverbrauchAllgemein","power_max_day","").' W';}>,<Min / Max Monat>,<{ReadingsVal("d_stromverbrauchAllgemein","power_min_month","").' W / '.ReadingsVal("d_stromverbrauchAllgemein","power_max_month","").' W';}>
hourCounterAllgemein:,<Heute>,countsPerDay,<Gestern>,appCountsPerDay
hourCounterAllgemein:,<Aktuelle Stunde>,appCountsPerHourTemp,<Letzte Stunde>,appCountsPerHour
hourCounterAllgemein:,<Aktuell Woche>,appCountsPerWeekTemp,<Letzte Woche>,appCountsPerWeek
hourCounterAllgemein:,<Aktuells Monat>,appCountsPerMonthTemp,<Letztes Monat>,appCountsPerMonth
hourCounterAllgemein:,<Gesamt>,countsOverall,<Start der Messung>,clearDate
   NAME       stromverbrauchAllgemeinRG
   NR         577
   NTFY_ORDER 50-stromverbrauchAllgemeinRG
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     d_stromverbrauchAllgemein 1
     hourCounterAllgemein 1
   DEVICES:
     ARRAY(0x7fe042bab0a8)
     ARRAY(0x7fe043ad9250)
     ARRAY(0x7fe043aea008)
     ARRAY(0x7fe045808ac8)
     ARRAY(0x7fe0458c8190)
     ARRAY(0x7fe043ccb660)
     ARRAY(0x7fe045a93240)
   Fhem:
     last_update 1394970913.34849
Attributes:
   alias      Stromverbrauch
   group      Stromverbrauch Allgemein
   mapping     
   nameStyle  { if($READING eq "clearDate"){ 'style="font-size:10px"' } }
   noheading  1
   room       5.2 Strom
   valueFormat { if($DEVICE eq "d_stromverbrauchAllgemein"){ sprintf("%.2f W", $VALUE);}elsif($READING eq "clearDate"){ sprintf("%s", $VALUE); } else{sprintf("%.2f kWh", $VALUE/1000);} }
   valueStyle { stromverbrauchGesamtAllgemeinRGvalueStyle($DEVICE,$READING,$VALUE); }


valueStyle aus 99_myUtils
sub stromverbrauchGesamtAllgemeinRGvalueStyle($$$){

  my $device = shift;
  my $reading = shift;
  my $value = shift;
 
  # hourCounter Values sind in W
 
  if( $reading eq "state" ){
    if( $value > 3000 ){
      'style="color:red"'
    }
    elsif( $value > 2000 ){
      'style="color:orange"'
    }
    else{
    'style="color:green"'
  }
  }
  elsif( ( $reading eq "power_avg_day" || $reading eq "power_avg_month" ) ){
    if( $value > 300 ){
      'style="color:red"'
    }
    elsif( $value > 250 ){
      'style="color:orange"'
    }
    else{
    'style="color:green"'
  }
  }
  elsif( ( $reading eq "countsPerDay" || $reading eq "appCountsPerDay" ) ){
    if( $value > 5000 ){
      'style="color:red"'
    }
    elsif( $value > 4000 ){
      'style="color:orange"'
    }
    else{
    'style="color:green"'
  }
  }
  elsif( ( $reading eq "countsPerWeek" || $reading eq "appCountsPerWeek" ) && $value > 35000 ){
    'style="color:red"'
  }
  elsif( ( $reading eq "countsPerMonth" || $reading eq "appCountsPerMonth" ) && $value > 140000 ){
    'style="color:red"'
  }
  elsif( $reading eq "clearDate" ){
    'style="font-size:10px"'
  }
  else{
    'style="color:green"'
  }
}


Ist mein code falsch?

Grüße


Hallo fhainz, kannst du mir sagen wie du die einzelnen Werte im Reading ermittelst?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhainz am 16 März 2014, 13:13:45
Hallo!

Die bekomme ich vom HourCounter (http://www.fhemwiki.de/wiki/HourCounter) Modul.

Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: P.A.Trick am 16 März 2014, 13:20:15
Cool Danke!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 März 2014, 15:47:27
da das label von deinem clearDate nicht automatisch von der readingsGroup erzeugt wird sondern von dir über das <Start der Messung>. d.h. du kannst nicht auf clearDate prüfen. das readinsg oder der value auf den du prüfen musst heisst so wie das label das du selber vergeben hast. am besten baust du mal ein Log ein und schaust was wirklich ankommt.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhainz am 16 März 2014, 16:10:08
Zitat von: justme1968 am 16 März 2014, 15:47:27
da das label von deinem clearDate nicht automatisch von der readingsGroup erzeugt wird sondern von dir über das <Start der Messung>. d.h. du kannst nicht auf clearDate prüfen.
Aber klar, ich ja den Namen und nicht den Wert ändern. -.-

Danke nun klappts natürlich!

Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: CQuadrat am 24 März 2014, 14:39:37
Hallo Zusammen,

da ich Homematic-Geräte benutze, habe ich das Heizungswerte2-Beispiel aus dem Wiki (http://www.fhemwiki.de/wiki/ReadingsGroup) für mich etwas angepasst.

Durch einen eingebauten Log
  {Log 1, "myTemplisten_HeizungUpDown: return -> $ret "};
am Ende der Routine myTemplisten_HeizungUpDown($$) (unmittelbar vor dem return), habe ich festgestellt, dass diese Routine (auch bei Inaktivität) alle paar Minuten mehrfach aufgerufen wird, wenn ich die Readingsgroup im Webfrontend anzeigen lasse. Ist das normal?
Abgesehen davon, regiert das Setzen der "neuen" Temperaturen beim Klicken auf Up oder Down sehr träge.


(...)
2014.03.24 14:32:23.481 1: myTemplisten_HeizungUpDown: return -> %control_arrow_upward@red%setreading Hzkp_Flur desired-new 19.5
2014.03.24 14:32:23.512 1: myTemplisten_HeizungUpDown: return -> %control_arrow_downward@blue%setreading Hzkp_Flur desired-new 18.5
2014.03.24 14:32:23.986 1: myTemplisten_HeizungUpDown: return -> %control_arrow_upward@red%setreading Hzkp_Flur desired-new 19.5
2014.03.24 14:32:24.017 1: myTemplisten_HeizungUpDown: return -> %control_arrow_downward@blue%setreading Hzkp_Flur desired-new 18.5
2014.03.24 14:32:24.258 1: myTemplisten_HeizungUpDown: return -> %control_arrow_upward@red%setreading Hzkp_Flur desired-new 19.5
2014.03.24 14:32:24.289 1: myTemplisten_HeizungUpDown: return -> %control_arrow_downward@blue%setreading Hzkp_Flur desired-new 18.5
2014.03.24 14:32:24.528 1: myTemplisten_HeizungUpDown: return -> %control_arrow_upward@red%setreading Hzkp_Flur desired-new 19.5
2014.03.24 14:32:24.559 1: myTemplisten_HeizungUpDown: return -> %control_arrow_downward@blue%setreading Hzkp_Flur desired-new 18.5
2014.03.24 14:32:24.644 1: myTemplisten_HeizungUpDown: return -> %control_arrow_upward@red%setreading Hzkp_Flur desired-new 19.5
2014.03.24 14:32:24.973 1: myTemplisten_HeizungUpDown: return -> %control_arrow_upward@red%setreading Hzkp_Flur desired-new 19.5
2014.03.24 14:32:25.002 1: myTemplisten_HeizungUpDown: return -> %control_arrow_downward@blue%setreading Hzkp_Flur desired-new 18.5
2014.03.24 14:32:25.086 1: myTemplisten_HeizungUpDown: return -> %control_arrow_downward@blue%setreading Hzkp_Flur desired-new 18.5
2014.03.24 14:32:25.402 1: myTemplisten_HeizungUpDown: return -> %control_arrow_upward@red%setreading Hzkp_Flur desired-new 19.5
2014.03.24 14:32:25.432 1: myTemplisten_HeizungUpDown: return -> %control_arrow_downward@blue%setreading Hzkp_Flur desired-new 18.5
2014.03.24 14:32:25.661 1: myTemplisten_HeizungUpDown: return -> %control_arrow_upward@red%setreading Hzkp_Flur desired-new 19.5
2014.03.24 14:32:25.691 1: myTemplisten_HeizungUpDown: return -> %control_arrow_downward@blue%setreading Hzkp_Flur desired-new 18.5

(...)

2014.03.24 14:35:24.323 1: myTemplisten_HeizungUpDown: return -> %control_arrow_upward@red%setreading Hzkp_Flur desired-new 19.5
2014.03.24 14:35:24.386 1: myTemplisten_HeizungUpDown: return -> %control_arrow_downward@blue%setreading Hzkp_Flur desired-new 18.5
2014.03.24 14:35:25.410 1: myTemplisten_HeizungUpDown: return -> %control_arrow_upward@red%setreading Hzkp_Flur desired-new 19.5
2014.03.24 14:35:25.471 1: myTemplisten_HeizungUpDown: return -> %control_arrow_downward@blue%setreading Hzkp_Flur desired-new 18.5
2014.03.24 14:35:25.977 1: myTemplisten_HeizungUpDown: return -> %control_arrow_upward@red%setreading Hzkp_Flur desired-new 19.5
2014.03.24 14:35:26.037 1: myTemplisten_HeizungUpDown: return -> %control_arrow_downward@blue%setreading Hzkp_Flur desired-new 18.5
2014.03.24 14:35:26.527 1: myTemplisten_HeizungUpDown: return -> %control_arrow_upward@red%setreading Hzkp_Flur desired-new 19.5
2014.03.24 14:35:26.591 1: myTemplisten_HeizungUpDown: return -> %control_arrow_downward@blue%setreading Hzkp_Flur desired-new 18.5
2014.03.24 14:35:26.762 1: myTemplisten_HeizungUpDown: return -> %control_arrow_upward@red%setreading Hzkp_Flur desired-new 19.5
2014.03.24 14:35:27.473 1: myTemplisten_HeizungUpDown: return -> %control_arrow_upward@red%setreading Hzkp_Flur desired-new 19.5
2014.03.24 14:35:27.536 1: myTemplisten_HeizungUpDown: return -> %control_arrow_downward@blue%setreading Hzkp_Flur desired-new 18.5
2014.03.24 14:35:27.707 1: myTemplisten_HeizungUpDown: return -> %control_arrow_downward@blue%setreading Hzkp_Flur desired-new 18.5
2014.03.24 14:35:28.357 1: myTemplisten_HeizungUpDown: return -> %control_arrow_upward@red%setreading Hzkp_Flur desired-new 19.5
2014.03.24 14:35:28.420 1: myTemplisten_HeizungUpDown: return -> %control_arrow_downward@blue%setreading Hzkp_Flur desired-new 18.5
2014.03.24 14:35:28.902 1: myTemplisten_HeizungUpDown: return -> %control_arrow_upward@red%setreading Hzkp_Flur desired-new 19.5
2014.03.24 14:35:28.960 1: myTemplisten_HeizungUpDown: return -> %control_arrow_downward@blue%setreading Hzkp_Flur desired-new 18.5

(...)



Danke und Gruß

Christoph
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 24 März 2014, 14:42:59
je nach genauer konfiguration wird die routine bei jeder änderung an einem reading aufgerufen das einfluss auf die anzeige haben kann.

das kannst du minimieren wenn du bei allen beteiligten devices event-on-change-reading entsprechend setzt.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: CQuadrat am 24 März 2014, 14:46:05
Danke für den Hinweis - werde ich mal ausprobieren.

Kann das auch die Ursache für das träge Schaltverhalten sein?

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 24 März 2014, 14:47:29
da müsstes du mehr logs liefern.

bei allen tests die ich gemacht hatte hat das userinterface immer sofort reagiert. egel wie schnell geklickt habe.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: CQuadrat am 24 März 2014, 14:56:37
Wie man im obigen Log sieht, wird in der Routine myTemplisten_HeizungUpDown($$) bei einem Notify jeweils in die Zweige if( $CMD eq "up" ) { und if( $CMD eq "down" ) { verzweigt -  und das obwohl nicht im Frontend angeklickt wird. Das ist aber doch definitiv nicht normal. Oder?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 24 März 2014, 15:00:24
in meiner ursprünglichen version wurden die pfeile abhängig von der soll temperatur eingefärbt und deshalb würde da die routine z.b. bei jedem notify auf desired aufgerufen.

du kannst in der readingsGroup angeben für welche readings der code zuständig ist.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: CQuadrat am 24 März 2014, 19:31:33
Zitat von: justme1968 am 24 März 2014, 14:47:29
bei allen tests die ich gemacht hatte hat das userinterface immer sofort reagiert. egel wie schnell geklickt habe.

Das träge Schaltverhalten liegt ziemlich eindeutig am RasPI. Ich habe testhalber FHEM mal auf meinem Notebook laufen lassen. Ergebnis: sofortige Reaktion beim Klicken auf Up bzw Down.

Jetzt muss ich mal schauen, wo der RasPI hier bremst. Webfrontend ist sowieso recht langsam unter dieser Konfiguration. Vielleicht sollte ich auf eine andere Plattform ausweichen....
Titel: Antw:Neues Modul readingsGroup
Beitrag von: stromer-12 am 28 März 2014, 18:53:26
Ich habe mal im FLOORPLAN eine Logausgabe eingefügt.

Floorplan bringt Fehlermeldung:
ERROR: Floorplan 1_Veranda&arg.ba.hz=desired-temp&dev.ba.hz=ba.hz&val.ba.hz=17.5&cmd.ba.hz=set not defined

Im Logfile steht folgende URL-pfad
2014.03.28 18:42:14 3: FLOORPLAN:floorplan/1_Veranda&arg.ba.hz=desired-temp&dev.ba.hz=ba.hz&val.ba.hz=17.5&cmd.ba.hz=set

Bei funktionierenden Befehl steht noch "/Heizungswerte?" anstelle des 1. "&"  drin.
2014.03.28 18:42:53 3: FLOORPLAN:floorplan/1_Veranda/Heizungswerte?arg.ve.hz=desired-temp&dev.ve.hz=ve.hz&val.ve.hz=20.5&cmd.ve.hz=set

Wieso wird nur bei der ersten Zeile die Name der Readingroup eingefügt und bei den anderen nicht?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 28 März 2014, 21:56:26
ich kann das problem reproduzieren. ich habe aber noch überhaupt keine idee wie es dazu kommt.

auf den 'normalen fhemweb seiten' werden die dropdown menüs in der readings group so wie jedes andere element per POST abgesendet.

auf dem floorplan werden sie mit GET abgesendet. und dabei stimmt dann die url nicht. es schaut gerade eher so aus als ob es zufall ist das die erste zeile doch geht.

mal sehen was ich noch rausfinde....

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 28 März 2014, 22:26:10
ich habe eine lösungsidee mal sehen was ulim dazu sagt. es müsste dazu eine kleinigkeit am floorplan geändert werden.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 29 März 2014, 18:08:10
Hallo Andre,

war leider drei Wochen weg, komme aber noch Mal auf das Problem zurück, bei der Beschriftung von "Commands" (Textfelder,Menüs) in readingsGrouup:

1. Was ich haben möchte, ist folgendes:
..readingsGrup HzAnlage:Min-Volumenstrom,Max-Volumenstrom
attr meinerg commands {'HzAnlage.Min-Volumenstrom' => 'Min-Volumenstrom:', 'HzAnlage.Max-Volumenstrom' => 'Max-Volumenstrom:'}
Für Min- und Max-Volumenstrom gibt es im device eine setlist, so dass da ein Menü erscheint.

Die Zeile in der rg sollte nun so aussehen:

Volumenstrom min <Menü> max <menü>

Mache ich jetzt ein mapping auf 'Min-Volumenstrom' => 'min', dann steht natürlich auch in der ersten Spalte nicht mehr 'Volumenstrom', sondern 'min'.
Umgekehrt geht's auch nicht, dann steht vor dem ersten Menü 'Volumenstrom', und nicht 'min'.

Ich habe auch schon folgendes ausprobiert:
define meinerg readingsGroup <Volumentstrom>,HzAnlage:Min-Volumenstrom,Max-Volumenstrom

dann wird aber nichts ausgegeben.
Ich habe da recht viele Anwendungsfälle, wo ich in einer Zeile mehrere, gleichartige Werte mit akt,min,min,absenk usw. ausgeben möchte.

Wie könnte ich das lösen?
Oder anders herum gefragt: Wie kann man die erste Spalte in der rg unabhängig von den Readings beschriften?

Gruß


Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 01 April 2014, 12:23:26
ich verstehe das problem noch nicht ganz.

wenn du 'Min-Volumenstrom' => 'min' verwendest sollte das keinen einfluss auf die erste spalte haben. da steht ja nur Volumenstrom und das ist von dem mapping nicht betroffen.

kannst du bitte mal ein komplettes beispiel bei dem das auftritt mit ein paar dummys zusammenbauen. dann kann ich es nachstellen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 01 April 2014, 19:54:05
Hallo Andre,

hier mal ein Testcode:

define Strom dummy
attr Strom room ts
define Strom_rg readingsGroup Strom:Min-Volumenstrom,Max-Volumenstrom
attr Strom_rg alias Heizkreis 1 - Durchfluß
attr Strom_rg commands {'Min-Volumenstrom' => 'Min-Volumenstrom:10,20,30', 'Max-Volumenstrom' => 'Max-Volumenstrom:80,90,100'}
attr Strom_rg mapping {'Min-Volumenstrom' => 'min', 'Max-Volumenstrom' => 'max'}
attr Strom_rg nostate 1
attr Strom_rg notime 1
attr Strom_rg room ts


Die Ausgabezeile heißt jetzt:
min min <menu> max <menu>

Ich hätte aber gerne, dass da vorne nun das Wort "Volumenstrom" steht.

Vielleicht habe ich da ja auch ein Verständnisproblem zu dem attr commands:

Was bewirkt das mapping genau?

{von' => 'nach:10,10,30'}

1. Heißt dass, das an der Stelle von "von" nun das Reading "nach" ausgegeben wird?
oder
2. Wird das Reading "von" nur mit dem Beistelltext "nach" ausgegeben?
Wenn 2) zutreffend wäre, wäre damit ja mein Problem gelöst.
Bislang bin ich aber immer davon ausgegangen, dass "nach" = "von" sein muss, damit auch wirklich der Wert des entsprechenden Readings an der Stelle ein- und ausgegeben wird. Die Doku ist da vielleicht etwas ungenau ... :-)
Die Idee ist mir aber erst jetzt beim erstellen des Beispiels gekommen, da ich da einen Tippfehler drin hatte.

Stimmt das also mit Interpretation 2?
Wäre ja dann etwas anderes im Verhalten, als es bei einem reinen dummy der Fall wäre....

Gruß


Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 02 April 2014, 13:58:03
ich habe eben einen fehler gefunden durch den beim mapping des zeilentitels der name des ersten readings mit verwendet wurde. deshalb zwei mal min. ich hab es repariert und eingecheckt.

die zeile heisst jetzt:
Strom min <menu> max <menu>

mapping ändert nur den angezeigten namen. also interpretation 2.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 02 April 2014, 20:37:07
Hallo Andre,

leider geht das aber nicht so, wie ich dachte. Noch mal ein Beispiel:

define HzAnlage_GAS_P_RG readingsGroup HzAnlage:Hk1-Betriebsart
..commands {'Hk1-Betriebsart' => 'Prog:Programm-1,Programm-2,Programm-3,Sommer,Standby'}
...mapping {'Hk1-Betriebsart' => 'Betriebsart'}

ergibt in der Ausgabe (wie gewünscht:

Betriebsart    prog <Menü>

Wählt man nun aber einen Menüpunkt aus, so erhält das Device das Event "prog Sommer" und nicht "Hk1-Betriebsart Sommer", d.h. ich kann den TExt vor dem Menü nicht abändern, da sich auch das Event somit ändert, also doch nicht Variante 2 (siehe Post davor).

Es muss also ..commands {'Hk1-Betriebsart' => 'Hk1-Betriebsart:'}
heißen.

Da aber für "Hk1-Betriebart" bereits ein Mapping besteht, wird die Ausgabe nun so:

Betriebsart    Betriebsart  <Menü>

Das Event stimmt zwar nun, aber die Anzeige ist nicht so wie gewünscht.

Ich habe nun Ausgabezeilen vom gleichen Typ (Volumenstrom) mit mehreren Einzelwerten (min,max,diff usw) -> also ideal für eine readingsGroup, aber ich möchte vor den Auswahlmenüs natürlich nicht immer den kompletten readings-Namen stehen haben und in der ersten Spalte davor nur den gemeinsamen Überbegriff.
Derzeit sehe ich keine Möglichkeit, dies zu realisieren oder was habe ich da übersehen?

Das Mapping in dem attr commands ändert ja nicht nur das Label vor dem Eingabebereich, sondern auch das Event,
das attr mapping zwar dann das Label vor dem Eingabebereich, aber dann auch die erste Spalte.

Gruß


Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 02 April 2014, 23:08:50
das mit der ersten spalte hab ich ja vorhin repariert. das ist morgen im update.

das andere muss ich mir noch mal anschauen. ich bin mir aber eigentlich ziemlich sicher das das nicht so ist. das label ist wirklich nur ein label. entweder gibt es noch einen fehler oder in deiner konfiguration ist noch etwas anders.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 03 April 2014, 10:01:01
Hallo Andre,

ich befürchte, dass das mit dem Label leider so nicht funktioniert:

commands {'Hk-1Betriebsart' => 'Hk1-Betriebsart:'}
macht in der Ausgabe:
Hk1-Betriebsart     Hk1-Betriebsart<Menu>
mit Menü = Programm-1,...Sommer usw, da im Device intern %sets für Hk1-Betriebsart mit den Menüeinträgen definiert ist.
Wird der Wert aus dem Menü ausgewählt, so setzt das Device den Wert auch.

commands {Hk1-Betriebsart' => 'prog:'}

erzeugt folgende Ausgabe:

Hk1-Betriebsart    Sommer   (Sommer als Link)
d.h. ohne die %sets für Hk1-Betriebsart zu verwenden (kein Menü).

commands {'Hk1-Betriebsart' => 'prog:Programm-1,Programm-2,....Sommer'}
erzeugt folgende Ausgabe:

Hk1-Betriebsart    prog <Menü> mit den oben definierten Einträgen.

Wird ein Menüpunkt ausgewählt, so meldet das von mir programmierte Device:

"set unknown reading prog, use: ..." und dann den Inhhalt von %sets.

Wie man also sieht, mapped das attr commands nicht nur rein auf den Anzeigentext, sondern auch auf die Ihnhaltsinterpretation (sowohl für die fhem Option-List zum Reading, als auch auf das Event).

Mit
attr mapping ('Hk1-Betriebsart' => 'Betriebsart'}
und
commands {'Hk1-Betriebsart' => 'Hk1-Betriebsart:}
bekommt man dann folgende Ausgabe:

Betriebsart   Betriebsart<Menü>
und das erzeugte Event ist dann auch "Hk1-Betriebsart Sommer".
d.h. attr mapping ändert zwar hier nun das Label, aber sinnvollerweise jetzt nicht das Event.

So sollte es ja eigentlich auch für das attr commands sein (früher als Punkt 2 im post bezeichnet), ist wohl aber so nicht.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 04 April 2014, 18:34:06
Hallo Andre,

habe das letzte Update von der readingsGroup eingespielt und bin jetzt ziemlich verwirrt.
In der ersten Spalte kommt nun kein Mapping mehr, d.h. es wird nun überall der statedes darzustellenden Devices ausgegeben und nicht mehr der per Mapping gewünschte (abgeänderte Namen) des Readings.

Vorher stand da z.B.

Außentemperatur    min 17  max 22

um in der ersten Spalte das Wort "Außentempeatur" erscheinen zu lassen, war folgendes definiert:
attr .. mapping {'HzAnlage.Min-Aussentemperatur' => 'Außentemperatur'} usw.
definiert ist die rg .. HzAnlage:Min-Aussentemperatur,Max-Aussentemperatur...

Jetzt verstehe ich nicht, wie ich per Mapping einen Text in die erste Spalte bekommen kann....
Ich dachte immer, das wäre das Mapping für den ersten Wert (2. Spalte).
Kann es sein, dass ich den "Bug" die ganze Zeit genutzt habe?
Jetzt stehe ich auf dem Schlauch.

Gruß

Elektrolurch

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 06 April 2014, 11:56:32
die erste spalte ist immer der zeilen titel. also der name des devices und des readings bzw. nur der device name bei mehreren readings pro zeile.

der fehler war das bei mehreren readings pro zeile trozdem der name des ersten readings beim mappen des zeilentitels verwendet wurde und dann der reading name zwei mal dort stand. ein mal als titel und dann das zweite mal für das eigeniche reading.

das habe ich repariert so das in der ersten spalte jetzt der device name steht.

was steht denn bei dir in der ersten spalte? da sollte niemals automatisch state stehen sondern der device alias oder wenn nicht vorhanden der name. wenn du dort per mapping etwas anderes anzeigen möchgest dann muss es so aussehen: ... <name> => 'txt' ...

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 06 April 2014, 14:01:31
Hallo Andre,

ok, dann habe ich für alle meine readingsGroup den Bug genutzt und das REading in der zweiten Spalte dazu verwendet, in der ersten Spalte einen Text auszugeben. Jetzt brauche ich aber doch mal Deine Hilfe, wie muss ich das denn jetzt lösen, wenn ich in einer readingsGroup bspw. alle Werte des Devices "HzAnlage" in mehreren Spalten darstellen möchte, wie z.B.:

Min-Volumenstrom,Max-Voluemenstrom
Akt-Kollektortemperatur,Min-Kollektortemperatur,Max-Kollektrotemperatur

und in der ersten Spalte dann stehen soll

Volumenstrom
Kollektortemperatur

mit mapping {'Min-Kollektortemperatur' => 'min'} bekomme ich dann vor dem Wert das Wort "min", aber was muss ich jetzt Mappen, um in der ersten Spalte "Kollektortemperatur" zu haben??

Und "überschreibt" jetzt das Mapping des attr commands das allgemeine "Mapping"?
Scheint so.
Im Augenblick habe ich die vorletzte Version der readingsGroup zurückgespielt, da meine ganzen Ausgaben nun "verhaut" sind.

Wäre es nicht sinnvoll, das Mapping der Readings mit ihren Werten in den Spalten 2. - n, vom Mapping der ersten Spalte zu trennen?
ZZum Beispiel mit einem neuen Attribut? (Label)
Das Vorhandensein eines beliebigen Readings in einer Zeile würde dann den Text in der ersten Spalte bestimmen? Dass heißt den Bug in ein neues Attribut überführen.

Gruß


Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 06 April 2014, 18:52:04
für deinen fall ist es das einfachste in der ersten spalte jeweils den titel direkt anzugeben. also so:

HzAnlage:<Volumenstrom>,Min-Volumenstrom,Max-Voluemenstrom
HzAnlage:<Kollektortemperatur>,Akt-Kollektortemperatur,Min-Kollektortemperatur,Max-Kollektrotemperatur

mapping und commands überschreiben sich nicht. mapping ist nur für die jeweiligen label zuständig. commands dafür das ein label ein kommando auslösen kann.

es gibt nur eine 'sorte' label. das sind die namen der readings. und der steht bei einer 'einfachen' readingsGroup jeweils in der ersten spalte vor jedem reading. bei einer readingsGroup mir mehreren readings pro zeile gibt es aber nur ein label pro zeile und da ist normalerweise nur der device name sinnvoll. der erscheint da auch automatisch.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 07 April 2014, 10:45:04
Ok. Das fehlte mir für die erste Spalte:

HzAnlage :<Volumenstrom>,...

Ich hatte es nämlich in der defs der rG so probiert:
<Volumenstrom>,HzAnlage:Min-Volumenstrom..

und das ging nicht.

Danke, das hilft mir jetzt für (fast) alle Fälle weiter.

Gruß


Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 April 2014, 10:54:53
vorsicht: vor und nach dem doppelpunkt darf natürlich kein leerzeichen sein.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Aeroschmelz am 07 April 2014, 19:16:59
Könntet ihr netterweise ein komplettes Beispiel zeigen? Das wäre zu meinem Verständnis super nett


Gesendet von meinem iPhone mit Tapatalk
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 April 2014, 19:18:23
ein beispiel wofür?

im wiki gibt es eine ganze seite mit beispielen...

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: UliM am 07 April 2014, 22:40:36
Hiho,
könnt ihr bitte mal mit der angehängten floorplan-Version testen?
Ins FHEM-Verzeichnis kopieren, danach reload oder restart nicht vergessen.

Falls es nicht funktioniert, bitte in den Zeilen 231-237 das Kommentarzeichen am Zeilenanfang entfernen, nochmal reload, dann Fehler produzieren und den Log-Auszug posten.

Gruß, Uli
Titel: Antw:Neues Modul readingsGroup
Beitrag von: stromer-12 am 07 April 2014, 22:53:17
Mit dem neuen Floorplan kann ich jetzt meine Werte schalten.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: UliM am 07 April 2014, 23:00:26
Zitat von: stromer-12 am 07 April 2014, 22:53:17
Mit dem neuen Floorplan kann ich jetzt meine Werte schalten.
D.h. aus Deiner Sicht sind damit alle Probleme behoben und ich kann's so einchecken?
Hab den Fred hier nicht verfolgt - hatte ausser Dir noch jemand Probleme und müsste bestätigen?
Gruß, Uli
Titel: Antw:Neues Modul readingsGroup
Beitrag von: stromer-12 am 07 April 2014, 23:11:49
Ich habe jetzt nur das von mir geschilderte Problem getestet, weitere Test habe ich nicht durchgeführt.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: micomat am 08 April 2014, 15:35:09
hi,

ich hab einen fehler und komm leider nicht ganz dahinter...
ich hab in der readingsgroup werte verschiedener typen.
wenn ich nun bei einigen ein icon und bei anderen den wert anzeigen will funktioniert das auch.
allerdings mit folgendem fehler im log:
Useless use of a constant (%1.f °C) in void context at (eval 24928) line 1.
Useless use of a constant (KollektorTemp) in void context at (eval 24928) line 1.

mein code fuer valueFormat:
{if($VALUE eq 'summer' || $VALUE eq 'winter') {($VALUE eq 'summer')?"weather_sun":"weather_frost"} else{AussenTemp => '%1.f °C', VorlaufTemp => '%1.f °C', AussenTemp=> '%1.f °C', RuecklaufTemp=> '%1.f °C', WWTemp=> '%1.f °C', KollektorTemp=> '%1.f °C'}}


help? =)

danke,
markus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 12 April 2014, 11:47:26
Hallo Andre,

noch Mal zum Thema "mapping":
Folgendes kann ich derzeit nicht abbilden:
In der ersten Spalte soll eine fortlaufende Nummer stehen, wie z.B. 1 ... 31. Sind die Readings für den entsprechenden Tag nicht gesetzt, soll die Zeile auch nicht angezeigt werden, d.h. so was geht nicht:
define myrg readingsGroup <Monatsstatistik>  Solardaten,<1.>,1-Solarenergie,1-Laufzeit ... Solardaten,<31>,31-Solarenergie,31-Laufzeit
Sind für den entsprechenden Tag die Readings nicht gesetzt, so erscheint trotzdem die leere Zeile mit der Tagesnummer.

Was hilfreich wäre, wäre eine Variable (wie z.B. %ROOM oder %DEVICE), die die Zeilennumer beinhaltet, z.B. %ROW,
dann könnte man das Mappping leicht vereinfachen, so z.B.
attr myrg mapping {'Solardaten' => "%ROW."}
oder
attr myrg mapping %ROW.  ?
dann würde in der ersten Spalte "1." .. "31." erscheinen, wenn dafür Readings bestehen.
Wäre das eine sinnvolle Ergänzung?
Ich habe 5 readingsGroup, bei denen ich das brauchen könnte und dies bislang unter Ausnutzung des Bugs realisiert.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 12 April 2014, 13:30:32
Hallo Andre,

warum dürfen in <> - Ausdrücken keine Leerzeichen vorkommen?
Beispiel:
HzAnlage:<Aktualisiert um>,UpdateTime-SOL_P
Die ganze Zeile wird nicht ausgegeben.
So geht's, ist aber nicht schön:
HzAnlage:<Aktualisiert-um>,UpdateTime-SOL_P
Den Text in " " oder ' ' setzen, bringt auch nichts, da dann diese Zeichen in der Ausgabe erscheinen.
Und hier noch ein Problem:
Dieser Ausdruck bringt fhem zum Absturz mit der Meldung: unmatched () in regex:
HzAnlage:<Leistung-(akt,max,um>,Leistung,Max-Leistung,Max-Leistung-Zeit

Ich hatte hinter dem "um" die ) vergessen.
Aber warum wird der Text als regex interpretiert? Könnte man zumindest für die <> - Ausdrücke noch '' oder "" auswerten, um zu verhindern, dass der Ausdruck geparst wird?

Und noch eine Frage?
Wie kann ich die Ausgabe in der ersten Spalte unterdrücken, so dass der statische Text von HzAnlage:<text> in der ersten Spalte ausgegeben wird?
Wenn ich kein mapping definiere, erscheint in der ersten Spalte das alias von HzAnlage, wenn ich
attr HzAnlage_SOL_P_rg mapping {'HzAnlage' => ''}
erscheint zwar kein Text in der ersten Spalte...
Welche Möglichkeit besteht also die erste Spalte ganz auszublenden?

Gruß

Elektrolurch

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 12 April 2014, 16:05:16
das mit der zeilennummer kann ich einbauen. kein problem.

zwischen den < > dürfen kein leerzeichen sein weil das parsen sonst zu unhandlich wird und ich bis jetzt zu faul war das richtig zu bauen. du kannst aber statt dem leerzeichen en &nbsp; verwenden.

ich schau mal woher die meldung und der absturz kommt. ich dachte ich hatte inzwischen alle stellen abgefangen. alles zwischen den <> wird interpretiert um dort für die <{...}> variante den perl code ausführen zu könne.

du kannst zur zeit die erste spalte nicht ganz weg lassen sondern nur mit etwas leerem füllen. z.b. &nbsp;

ich schau mal ob mir da was einfällt.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 12 April 2014, 16:12:18
Ok. Das wäre super. Wie wärs, wenn in den <> - Ausdrücken der TEil nicht geparst wird, der in "" oder '' steht?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 12 April 2014, 16:14:00
das ist leider nicht so einfach weil das leerzeichen schon der trenner viel weiter oben auf device ebene ist.

aber mit dem &nbsp; solltest du alles machen können was du im hinblick auf leerzeichen möchtest.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 12 April 2014, 23:43:18
Hallo Andre,
leider noch Mal zum Thema mapping. Es betrifft aber nur die Variante, in der ein Hash für das mapping verwendet wird.
define myrg def1:wert1
führt ohne mapping zur Ausage von
1. Spalte dev.ert1
2. Spalte <wert1>
define myrg readingsGroup dev1:wert1,wert2
führt zur Ausgabe von
1. Spalte dev1
2. Spalte <Wert1>
3. Spalte <wert2>
In der Version mit "Bug" führte das zur Ausgabe von
1. Spalte: dev1.wert1

Also ist der "Bug" noch immer zum Teil vorhanden, immer wenn nur ein Wert für eine Ausgabe definiert wurde.

Allerdings habe ich den "Bug" als ganz nützlich empfunden, da ich von ein und demselben Device Gruppen von Werten ausgeben möchte und die Gruppe dadurch gekennzeichnet wird, dass der erste Wert die Beschriftung der Zeile bestimmt (wie z.B. akt,min,max).

define myrg readingsGroup dev1:wert1 dev1:wert2,wert3
liefert jetzt in der Ausgabe:
Zeile1
Spalte 1: dev1.wert1
Spalte2: <wert1>
Zeile2:
Spalte1: dev
Spalte2: <wert2>
Spalte3: <Wert3>

Ich fand es eigentlich ganz nützlich, dass der Name des Readings "Wert2" über das mapping den Text in der Spalte 1 definierte, was jetzt durch die Beseitigung des "Bugs" bei mehr als  einem Wert für eine Zeile nicht mehr gegeben ist.

Die Möglichkeit, über <> einen statischen Text für den "Gruppenbezeichner" zu verwenden und über mapping den device-Namen verschwinden zu lassen, blendet leider derzeit die erste Spalte nicht aus. Außerdem wird auch die leere Zeile ausgegeben, wenn keine Werte vorhanden sind (<> erscheint trotztdem)

Ich habe den "Bug", wie schon oben gesagt, dazu benutzt, über den ersten Wert den Text in der 1. Spalte zu bestimmen und habe den Text vor den einzelnen Werten über valueFormat dann gesetzt, wie z.B.:
valueFormat {'wert2' => 'min %s', 'wert3' => 'max %s'}

Mit mapping kann man für jedes Reading einen Text vor die Ausgabe stellen oder mit valueFormat ausgeben, aber wenn es für die erste Spalte nur ein mapping des device-Namens gibt, so sollte per Attribut die erste Spalte auch unterdrückt werden können.

Alternativ könnte man den "But" auch rückgängig machen. Vielleicht kann man das auch in der endgültigen Version in der CommandRef noch Mal etwas ausführlicher beschreiben.

Wie ist denn ansonsten die Resonanz zu dieser Fragestelung?

Die readingsGroup, insbesondere jetzt auch mit der command-Option, sind ein Super-Modul. Also herzlichen Dank für Deine Arbeit. Wie Du an meinem regen Kontakt siehst, setze ich das Modul intensiv ein. Ich lasse mir gerade zur Steuerungsübernahme meiner Heizungsanlage über die rgs viele Werte anzeigen und das ist ganz nützlich, um ein eigenes Heizungsverhalten für die Anlage zu entwickeln.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 13 April 2014, 12:23:29
define myrg def1:wert1

das ist pro zeile ein reading. der zeilentitel enthält per default den namen des device und des readings. du kannst es ummappen wie du möchtest und hast dabei unter anderem zugriff auf das device und den reading namen.


define myrg readingsGroup dev1:wert1,wert2

das sind pro zeile mehrere readings. der zeilentitel enhält per default nur den namen des devices. du kannst es ummappen wie du möchtest hast aber keinen zugriff auf einen reading namen weil der titel sich auf mehr als ein reading bezieht.

der bug hatte zur folge das für den zeilentitel der name des ersten readings beim mappen verwendet wurde. das hat dann aber zur folge das du den zeilentitel und das eigentliche reading nicht mehr unterschiedlich nennen kannst.


define myrg readingsGroup dev1:wert1 dev1:wert2,wert3

hier mischst du beide formen. das ist vermutlich meist nicht sinnvoll.
 


ich schaue mal ob mir für deinen anwenungsfall noch etwas besseres einfällt. den bug wieder einzubauen ist keine gute idee weil dann einiges inkonsitent wird und zum anderen du dein altes problem das der reading name doppelt auftaucht wieder hast.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 18 April 2014, 14:01:42
Hallo Andre,

habe jetzt mal ein textField in einer readingsGroup mit eingebaut. Bisher hatte ich nur Menüs.
Dabei ist mir folgendes aufgefallen:
1. Vor dem textField gibt es eine leere Spalte
2. im Logfile steht folgendes:
Use of uninitialized value $values in pattern match (m//) at ./FHEM/01_FHEMWEB.pm line 2305.
Use of uninitialized value $values in pattern match (m//) at ./FHEM/01_FHEMWEB.pm line 2394.
Use of uninitialized value $values in string ne at ./FHEM/01_FHEMWEB.pm line 2339.
Use of uninitialized value $values in split at ./FHEM/01_FHEMWEB.pm line 2357.
Use of uninitialized value $htmlTxt in pattern match (m//) at ./FHEM/33_readingsGroup.pm line 580.

immer dann wenn sich die Seite mit der rg aufbaut.
Wenn ich richtig gezählt habe, wiederholt sich das log bis zum rg 4 mal, für jedes Textfeld einmal.
Definition: zwei dummy; Strom und Gas
define Strom dummy
define Gas dummy
define Verbrauch_rg readingsGroup Strom:Datum,Art,Verbrauch,speichern Gas:Datum,Art,Verbrauch,speichern
attr Verbrauch_rg alias Verbrauchsdaten
attr Verbrauch_rg commands {'Datum' => 'Datum:textField','Art' => 'Art:Ablesung,Abrechnung','Verbrauch' => 'Verbrauch:textField','Strom.speichern' => 'speichern:'}
attr Verbrauch_rg nolinks 0
attr Verbrauch_rg notime 1
attr Verbrauch_rg room Energie

Also nix spannendes. Die Readings haben auch alle Werte und werden angezeigt, trotzdem die leere Spalte vor den textField und die Warnungen im log.

Mal eine andere Frage: Leider sehen jetzt einige der rgs bei mir nach der Beseitigung des Bugs "etwas zerzaust" in den Zeilen aus, in denen mehrere Werte ausgegeben werden.
Die Probleme könnte ich ja umgehen, wenn es
a) eine Variable  $ROW bzw %ROW geben würde, damit könnte ich dann in der ersten Spalte schon mal was bei Statistiken hineinmappen
(z.B. mit mapping %ROW. oder bei der Definition mit <{GetMonth($ROW);;}>

und
b) ein Attribut, mit der die erste Spalte komplett unterdrückt werden kann.
Ich würde dann den "gesammlten" Text für die Zeile über das mapping des ersten Readingts in der Zeile ausgeben.

Ginge das noch "nachzurüsten?
Wäre super!

Gruß

Elektrolurch
 
Titel: Neues Modul readingsGroup
Beitrag von: justme1968 am 19 April 2014, 23:08:05
ich hab dich nicht vergessen. kommt fast alles. aber das modul kann inzwischen so viel und wird von einigen benutz. ich muss also testen und ich möchte gerne ein paar interne dinge vereinfachen.

gruss
   andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: strauch am 02 Mai 2014, 08:56:24
Neuer Monat und bei mir hagelts wieder Fehlermeldung. Das schon komisch. Ein Neustart und der Spuck ist vorbei. Mein Log ist voll mit folgenden Zeilen:
Argument "off" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 517.
Use of uninitialized value in string ne at ./FHEM/33_readingsGroup.pm line 730.
Argument "off" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 791.


Ich vermute das off kommt von der Heizung.

Die definitin sieht so aus:
define reading_HM_Heizung readingsGroup <>,<Temp>,<Soll>,<Ventil>,<Fenster>,<Mode> .*Heizung:measured-temp,desired-temp,actuator,window,mode
attr reading_HM_Heizung alias Status
attr reading_HM_Heizung mapping %ROOM
attr reading_HM_Heizung room Haus
attr reading_HM_Heizung valueFormat {"measured-temp" => "%.1f°C", "desired-temp" => "%.1f°C"}


Ich vermute das das "desired-temp" => "%.1f°C" diesen Fehler verursacht, wenn dann keine Zahl sondern off dort steht? Warum taucht das aber nur am Monatsanfang auf, bis ich einmal neu gestartet hab.

@andre kannst du da was machen, oder soll ich das rausnehmen?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 02 Mai 2014, 09:30:12
Hallo,

Du siehst das richtig:
attr reading_HM_Heizung valueFormat {"measured-temp" => "%.1f°C", "desired-temp" => "%.1f°C"}
"off" ist nun mal keine Zahl.
Setze stattdessen doch %s ein. Dann gibt's keine Fehler mehr.

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: strauch am 02 Mai 2014, 09:42:56
Danke für den Tipp.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: micomat am 02 Mai 2014, 12:57:56
Zitat von: micomat am 08 April 2014, 15:35:09
hi,

ich hab einen fehler und komm leider nicht ganz dahinter...
ich hab in der readingsgroup werte verschiedener typen.
wenn ich nun bei einigen ein icon und bei anderen den wert anzeigen will funktioniert das auch.
allerdings mit folgendem fehler im log:
Useless use of a constant (%1.f °C) in void context at (eval 24928) line 1.
Useless use of a constant (KollektorTemp) in void context at (eval 24928) line 1.

mein code fuer valueFormat:
{if($VALUE eq 'summer' || $VALUE eq 'winter') {($VALUE eq 'summer')?"weather_sun":"weather_frost"} else{AussenTemp => '%1.f °C', VorlaufTemp => '%1.f °C', AussenTemp=> '%1.f °C', RuecklaufTemp=> '%1.f °C', WWTemp=> '%1.f °C', KollektorTemp=> '%1.f °C'}}


help? =)

danke,
markus


sorry leute, ich habs noch immer nicht hinbekommen.
ziel sollte sein in der RG zwischen sommer/winter unterscheiden zu koennen und enstprechende symbole zu zeigen, und alles andere (else) dann wie gehabt zu behandeln.

help² =/

markus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 08 Mai 2014, 20:57:30
Hallo Andre

hätte da auch mal eine Frage. Readingsgroup Heizung geht bei mir wunderbar, bis heute! Habe heute noch 2 RT´s in Empfang nehmen können und wollte diese in meine Heizungs ReadingsGroup einbinden. Leider ist das "optische Ergebnis" nicht berauschend.

DEF:
<%sani_heating>, < >,<Act>,<Soll>,<Ist>
Bad_Heizung_ClimRT_tr|WZ_links_Heizung_Clima|Kueche_Heizung_ClimRT_tr|SZ_Heizung_links_ClimRT_tr|SZ_Heizung_rechts_ClimRT_tr|Kinderzimmer_Heizung_links_ClimRT_tr|Kinderzimmer_Heizung_rechts_ClimRT_tr|Flur_Heizung_Clima:ValvePosition,desired-temp,measured-temp,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired.*>,desired.new,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired.*>,window,batterie


Fhem, siehe Screenshot!

Wo liegt mein Fehler?

VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 08 Mai 2014, 23:04:47
DEF ist:
<%sani_heating>, < >,<Act>,<Soll>,<Ist>
Bad_Heizung_ClimRT_tr|Kueche_Heizung_ClimRT_tr|SZ_Heizung_links_ClimRT_tr|SZ_Heizung_rechts_ClimRT_tr|Kinderzimmer_Heizung_links_ClimRT_tr|Kinderzimmer_Heizung_rechts_ClimRT_tr|Flur_Heizung_Clima:ValvePosition,desired-temp,measured-temp,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired.*>,desired.new,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired.*>,window,battery


VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 Mai 2014, 18:12:03
wenn du die beiden letzten zeilen meinst: vermutlich ist über deine regex jeweils noch ein device rein gerutscht das keine der gewünschten readings hat.

mach mal ein list auf die readingsGroup. unter Content: siehst du die devices die gematched haben.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 10 Mai 2014, 18:21:47
Danke Andre, in dem Moment, wo du mir geantwortet hast, habe ich das Thema einen Thread weiter oben nochmal angesprochen. Entschuldigung! Schon gelöscht!

Wenn ich ein list Heizungswerte2 mache, sieht das eigendlich OK für mich ausInternals:
   DEF        <%sani_heating>, < >,<Act>,<Soll>,<Ist>
Bad_Heizung_ClimRT_tr|Kueche_Heizung_ClimRT_tr|SZ_Heizung_links_ClimRT_tr|SZ_Heizung_rechts_ClimRT_tr|Kinderzimmer_Heizung_links_ClimRT_tr|Kinderzimmer_Heizung_rechts_ClimRT_tr|Flur_Heizung_Clima|WZ_links_Heizung_Clima|WZ_rechts_Heizung_Clima:ValvePosition,desired-temp,measured-temp,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired.*>,desired.new,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired.*>
   NAME       Heizungswerte2
   NR         703
   NTFY_ORDER 50-Heizungswerte2
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CHANGETIME:
   Content:
     Bad_Heizung_ClimRT_tr 1
     Flur_Heizung_Clima 1
     Kinderzimmer_Heizung_links_ClimRT_tr 1
     Kinderzimmer_Heizung_rechts_ClimRT_tr 1
     Kueche_Heizung_ClimRT_tr 1
     SZ_Heizung_links_ClimRT_tr 1
     SZ_Heizung_rechts_ClimRT_tr 1
     WZ_links_Heizung_Clima 1
     WZ_links_Heizung_Climate 1
     WZ_rechts_Heizung_Clima 1
   DEVICES:
     ARRAY(0xa7ab47c)
     ARRAY(0xa765d08)
     ARRAY(0xa765d94)
     ARRAY(0xa765e0c)
     ARRAY(0xa765e84)
     ARRAY(0xa765efc)
     ARRAY(0xa765f88)
     ARRAY(0xa766000)
     ARRAY(0xa766078)
     ARRAY(0xa7660c8)
     ARRAY(0xa766154)
   Helper:
     Dblog:
       Kinderzimmer_heizung_rechts_climrt_tr.valveposition:
         Mydblog:
           TIME       1399739387.82207
           VALUE      100
       Kinderzimmer_heizung_rechts_climrt_tr.desired-temp:
         Mydblog:
           TIME       1399739387.8153
           VALUE      22.5
       Kinderzimmer_heizung_rechts_climrt_tr.i1.item:
         Mydblog:
           TIME       1399739387.81758
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=setreading Kinderzimmer_Heizung_rechts_ClimRT_tr desired-new 19')"><svg class="icon control_arrow_downward blue" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="607pt" viewBox="0 0 468 607"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,607) scale(0.204367,-0.204367)" fill="blue" stroke="none"> <path d="M385 2955 c-22 -8 -45 -22 -52 -32 -17 -22 -18 -305 -2 -335 26 -48 28 -48 814 -48 786 0 788 0 814 48 15 28 14 294 0 326 -26 56 -24 56 -812 56 -597 -1 -729 -3 -762 -15z m1445 -200 l0 -75 -685 0 -685 0 0 75 0 75 685 0 685 0 0 -75z"/> <path d="M380 2399 c-58 -24 -60 -29 -60 -199 0 -149 1 -157 23 -177 12 -12 40 -26 62 -32 57 -15 1419 -15 1481 0 77 20 84 38 84 210 0 142 -1 149 -24 176 l-24 28 -759 2 c-486 1 -767 -2 -783 -8z m1450 -199 l0 -80 -685 0 -685 0 0 80 0 80 685 0 685 0 0 -80z"/> <path d="M380 1829 c-57 -23 -60 -32 -60 -166 l0 -123 -133 0 c-128 0 -134 -1 -156 -24 -14 -15 -21 -33 -19 -49 5 -39 1083 -1445 1113 -1453 13 -3 33 -3 44 1 21 6 1108 1421 1111 1446 4 27 0 39 -20 59 -18 18 -33 20 -155 20 l-135 0 0 116 c0 63 -5 124 -10 135 -27 50 -15 49 -812 48 -465 0 -752 -4 -768 -10z m1450 -199 l0 -80 -685 0 -685 0 0 80 0 80 685 0 685 0 0 -80z m197 -287 c-24 -32 -227 -299 -452 -593 -224 -294 -413 -541 -420 -548 -9 -10 -99 102 -446 554 -239 313 -447 585 -462 606 l-29 38 927 0 926 0 -44 -57z"/> </g> </svg></a>
       Kinderzimmer_heizung_rechts_climrt_tr.i2.item:
         Mydblog:
           TIME       1399739387.81998
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=setreading Kinderzimmer_Heizung_rechts_ClimRT_tr desired-new 21')"><svg class="icon control_arrow_upward red" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="607pt" viewBox="0 0 468 607"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,607) scale(0.204367,-0.204367)" fill="red" stroke="none"> <path d="M1096 2938 c-19 -18 -271 -343 -560 -722 -396 -519 -526 -695 -526 -716 0 -54 28 -65 176 -68 l134 -4 0 -106 c0 -122 10 -149 60 -174 32 -17 90 -18 757 -18 644 0 727 2 763 16 59 24 70 52 70 178 l0 104 134 4 c117 3 137 6 156 23 15 14 21 28 18 50 -3 21 -161 236 -541 732 -295 386 -547 709 -559 717 -32 23 -44 20 -82 -16z m517 -764 l459 -599 -467 -3 c-257 -1 -674 -1 -927 0 l-460 3 458 602 c253 331 464 600 469 599 6 -1 216 -272 468 -602z m217 -829 l0 -75 -685 0 -685 0 0 75 0 75 685 0 685 0 0 -75z"/> <path d="M383 979 c-56 -16 -63 -37 -63 -194 0 -158 7 -181 60 -207 32 -17 89 -18 755 -18 475 0 733 4 758 11 66 18 77 49 77 216 0 136 -1 143 -24 170 l-24 28 -754 2 c-444 1 -766 -2 -785 -8z m1447 -204 l0 -75 -685 0 -685 0 0 75 0 75 685 0 685 0 0 -75z"/> <path d="M400 428 c-19 -5 -45 -19 -57 -31 -22 -19 -23 -28 -23 -163 0 -90 4 -153 12 -169 27 -60 3 -58 811 -56 406 1 748 6 760 10 12 5 31 19 42 31 18 19 20 39 23 162 2 90 -1 150 -8 168 -23 56 -3 55 -795 57 -464 1 -743 -2 -765 -9z m1430 -208 l0 -80 -685 0 -685 0 0 80 0 80 685 0 685 0 0 -80z"/> </g> </svg></a>
       Kinderzimmer_heizung_rechts_climrt_tr.measured-temp:
         Mydblog:
           TIME       1399739387.81339
           VALUE      22.2
       Sz_heizung_rechts_climrt_tr.valveposition:
         Mydblog:
           TIME       1399739384.6692
           VALUE      0
       Sz_heizung_rechts_climrt_tr.desired-temp:
         Mydblog:
           TIME       1399739384.6627
           VALUE      22.0
       Sz_heizung_rechts_climrt_tr.i1.item:
         Mydblog:
           TIME       1399739384.66494
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=setreading SZ_Heizung_rechts_ClimRT_tr desired-new 19')"><svg class="icon control_arrow_downward blue" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="607pt" viewBox="0 0 468 607"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,607) scale(0.204367,-0.204367)" fill="blue" stroke="none"> <path d="M385 2955 c-22 -8 -45 -22 -52 -32 -17 -22 -18 -305 -2 -335 26 -48 28 -48 814 -48 786 0 788 0 814 48 15 28 14 294 0 326 -26 56 -24 56 -812 56 -597 -1 -729 -3 -762 -15z m1445 -200 l0 -75 -685 0 -685 0 0 75 0 75 685 0 685 0 0 -75z"/> <path d="M380 2399 c-58 -24 -60 -29 -60 -199 0 -149 1 -157 23 -177 12 -12 40 -26 62 -32 57 -15 1419 -15 1481 0 77 20 84 38 84 210 0 142 -1 149 -24 176 l-24 28 -759 2 c-486 1 -767 -2 -783 -8z m1450 -199 l0 -80 -685 0 -685 0 0 80 0 80 685 0 685 0 0 -80z"/> <path d="M380 1829 c-57 -23 -60 -32 -60 -166 l0 -123 -133 0 c-128 0 -134 -1 -156 -24 -14 -15 -21 -33 -19 -49 5 -39 1083 -1445 1113 -1453 13 -3 33 -3 44 1 21 6 1108 1421 1111 1446 4 27 0 39 -20 59 -18 18 -33 20 -155 20 l-135 0 0 116 c0 63 -5 124 -10 135 -27 50 -15 49 -812 48 -465 0 -752 -4 -768 -10z m1450 -199 l0 -80 -685 0 -685 0 0 80 0 80 685 0 685 0 0 -80z m197 -287 c-24 -32 -227 -299 -452 -593 -224 -294 -413 -541 -420 -548 -9 -10 -99 102 -446 554 -239 313 -447 585 -462 606 l-29 38 927 0 926 0 -44 -57z"/> </g> </svg></a>
       Sz_heizung_rechts_climrt_tr.i2.item:
         Mydblog:
           TIME       1399739384.66729
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=setreading SZ_Heizung_rechts_ClimRT_tr desired-new 21')"><svg class="icon control_arrow_upward red" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="607pt" viewBox="0 0 468 607"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,607) scale(0.204367,-0.204367)" fill="red" stroke="none"> <path d="M1096 2938 c-19 -18 -271 -343 -560 -722 -396 -519 -526 -695 -526 -716 0 -54 28 -65 176 -68 l134 -4 0 -106 c0 -122 10 -149 60 -174 32 -17 90 -18 757 -18 644 0 727 2 763 16 59 24 70 52 70 178 l0 104 134 4 c117 3 137 6 156 23 15 14 21 28 18 50 -3 21 -161 236 -541 732 -295 386 -547 709 -559 717 -32 23 -44 20 -82 -16z m517 -764 l459 -599 -467 -3 c-257 -1 -674 -1 -927 0 l-460 3 458 602 c253 331 464 600 469 599 6 -1 216 -272 468 -602z m217 -829 l0 -75 -685 0 -685 0 0 75 0 75 685 0 685 0 0 -75z"/> <path d="M383 979 c-56 -16 -63 -37 -63 -194 0 -158 7 -181 60 -207 32 -17 89 -18 755 -18 475 0 733 4 758 11 66 18 77 49 77 216 0 136 -1 143 -24 170 l-24 28 -754 2 c-444 1 -766 -2 -785 -8z m1447 -204 l0 -75 -685 0 -685 0 0 75 0 75 685 0 685 0 0 -75z"/> <path d="M400 428 c-19 -5 -45 -19 -57 -31 -22 -19 -23 -28 -23 -163 0 -90 4 -153 12 -169 27 -60 3 -58 811 -56 406 1 748 6 760 10 12 5 31 19 42 31 18 19 20 39 23 162 2 90 -1 150 -8 168 -23 56 -3 55 -795 57 -464 1 -743 -2 -765 -9z m1430 -208 l0 -80 -685 0 -685 0 0 80 0 80 685 0 685 0 0 -80z"/> </g> </svg></a>
       Sz_heizung_rechts_climrt_tr.measured-temp:
         Mydblog:
           TIME       1399739384.66073
           VALUE      22.1
   Fhem:
     last_update 1399739356.15456
Attributes:
   fp_Heizung_FP 40,250,0,
   group      Thermostate
   nameStyle  style="color:yellow"
   room       Heizung
   valueIcon  {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red', 'window.closed' => 'fts_window_1w@lightgreen', 'window.open' => 'fts_window_1w_open@red'}
   valueStyle {($VALUE eq "00")?'style="visibility:hidden"':''}


VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 Mai 2014, 18:53:09
und die devices haben auch alle wirklich die readings um die es geht?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 10 Mai 2014, 19:06:33
Seltsamerweise wird nicht nur auf ..._Clima sondern auch auf ClimaTeam und Climate vom RT gematcht. Habe die jetzt mal deaktiviert, da ich die Channels sowieso nicht brauche. Jetzt sieht das schon besser aus aber noch nicht ganz OK.

Content:
     Bad_Heizung_ClimRT_tr 1
     Flur_Heizung_Clima 1
     Kinderzimmer_Heizung_links_ClimRT_tr 1
     Kinderzimmer_Heizung_rechts_ClimRT_tr 1
     Kueche_Heizung_ClimRT_tr 1
     SZ_Heizung_links_ClimRT_tr 1
     SZ_Heizung_rechts_ClimRT_tr 1
     WZ_links_Heizung_Clima 1
     WZ_rechts_Heizung_Clima 1


Siehe Screenshot:
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 Mai 2014, 19:12:11
je nach regex kann das passieren. du musst richtig klammern oder selber ^und $ verwenden.

sobald die jede zeile ein mal bedient hast sollte die ausrichtung passen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 10 Mai 2014, 19:32:12
Danke, Andre. Probiere ich dann mal.

VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 12 Mai 2014, 22:52:43
Hallo Andre,

ich glaube, ich habe da noch einen kleinen Fehler in readingsGroup -> attr commands entdect:

define dummy dummy
attr dummy setList Uhrzeit:7:00,8:00,9:00
attr dummy webCmd Uhrzeit

gibt folgerichtig ein Klappmenü für die Uhrzeit aus.

Den Dummy in eine rg eingebunden:

define dummy_rg readingsGroup dummy:Uhrzeit
attr dummy_rg command {'dummy.Uhrzeit' => 'Uhrzeit:7:00,8:00,9:00'}

zeigt nur einen Link auf die im Reading gespeicherte Uhrzeit an.

Ich denke, dass die ":" den command-Befehlt stören, sprich, da ist wahrscheinlich ein split auf ":" implementiert, so dass die restliche Liste ignoriert wird.

Was machen Deine Umstellungsarbeiten an der rg?

Ich habe ja immer noch das Problem, dass ich zu  verschiedenen Readings des gleichen devicees über mapping keine  "Group" - Bezeichnung"  setzen kann. Und eine Variable "%ROW" wäre auch noch hilfreich für Statistiken.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 12 Mai 2014, 23:06:35
ja. da ist ein normales split drin.

versuch mal \x3a für die doppelpunkte in den uhrzeiten zu verwenden.

ich schau es mir an.

die %ROW kommt auf jeden fall.

sorry da es so lange dauert.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: peterk_de am 12 Mai 2014, 23:14:37
Hallo zusammen,

Ich habe da etwas merkwürdiges zu bieten. Folgendes klappt wie erwartet:


attr r valueStyle { if($READING eq "humidity" && $VALUE > 60) { 'style="color:red"'} }


Auch das hier geht:


attr r valueStyle { if($READING eq "humidity" && $VALUE < 40) { 'style="color:orange"'} }


Bei folgendem jedoch wird gar nichts mehr formatiert:


attr r valueStyle { if($READING eq "humidity" && $VALUE > 60) { 'style="color:red"'}elseif($READING eq "humidity" && $VALUE < 40) { 'style="color:orange"'} }


Und hierbei auch nicht (Zusätzliche else-Klausel):


attr r valueStyle { if($READING eq "humidity" && $VALUE > 60) { 'style="color:red"'}elseif($READING eq "humidity" && $VALUE < 40) { 'style="color:orange"'}else{'style="color:green"'} }


Ich habe die Syntax dank meiner mangelhaften Perl-Kenntnisse eigentlich inkl. Whitespaces dem Wiki entlehnt. Hab ich da was verpasst?

Version: # $Id: 33_readingsGroup.pm 5733 2014-05-03 13:48:48Z justme1968 $

LG!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 12 Mai 2014, 23:26:55
es muss elsif heißen nicht elseif. also ohne das e in der mitte.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: peterk_de am 12 Mai 2014, 23:30:21
ARGH du glaubst nicht wieviele Stunden meines Lebens ich daran bis eben vergeudet hatte... mindestens 2. DANKE!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 13 Mai 2014, 15:55:26
Hallo Andre,

ich habe eine Gruppe von dummys zur Rolladensteuerung und Programmierung der Öffnungs- und Schließzeiten nun in eine readingsGroup gepackt. Mit den einzelnen dummys klappte alles.
In der readingsGroup gibt es jetzt aber zwei Probleme:
1. Ich kann verschiedene werte einstellen und die dann mit "set" zu einer Aktion veranlassen.
Dazu habe ich folgendes command für die rg definiert:
attr Rolladen_rg commands {'RolladenOpenClose.Minuten' => 'Minuten:-,0,10,20', 'RolladenOpenClose.set' => 'set:set'...}

An dem RolladenOpenClose hängt ein notify, was einen Log-Eintrag generiert, wenn was eintrifft.
Werden die "Minuten" geändert, dann wird das notify getriggert. Beim Klick auf "set" in der readingsGroup kommt nichst, klicke ich auf das seperate dummy auf einer anderen room-Seite, kommt "set" als Event.
Was habe ich da in der rg falsch gemacht?
so habe ich es auch schon probiert: ...=> 'set:'
dann kommt aber auch nichts.
Auch im Eventmonitor ist nichts zu sehen.
2. Wird die Seite mit der Rolladensteuerung in der readingsGroup aufgerufen und ein Wert bspw. aus einem Klappmenü geändert, so kommen folgende Logeinträge:

Use of uninitialized value $htmlTxt in pattern match (m//) at ./FHEM/33_readingsGroup.pm line 580.
Use of uninitialized value $htmlTxt in pattern match (m//) at ./FHEM/33_readingsGroup.pm line 580.
Use of uninitialized value $htmlTxt in pattern match (m//) at ./FHEM/33_readingsGroup.pm line 580.
Use of uninitialized value $htmlTxt in pattern match (m//) at ./FHEM/33_readingsGroup.pm line 580.
Use of uninitialized value $htmlTxt in pattern match (m//) at ./FHEM/33_readingsGroup.pm line 580.
Use of uninitialized value in hash element at ./FHEM/01_FHEMWEB.pm line 1214.
Use of uninitialized value in split at ./FHEM/01_FHEMWEB.pm line 1221.
Use of uninitialized value in hash element at ./FHEM/01_FHEMWEB.pm line 1214.
Use of uninitialized value in split at ./FHEM/01_FHEMWEB.pm line 1221.
Use of uninitialized value in hash element at ./FHEM/01_FHEMWEB.pm line 1214.
Use of uninitialized value in split at ./FHEM/01_FHEMWEB.pm line 1221.

Jetzt habe ich mal vor die line 580 in der readingsGroup eine Log-Zeile eingebaut.
Da sieht man wie nacheinander RolladenSelektor mit Menü Raum, den Knopf set und danach der RolladenWochentagSelektor und die dummy RolladenOpen und RolladenClose mit den readings ab,Sperrzeit,Minuten,mode und set-Knopf aufgerufen werden.
Könnte es sein, dass das set-reading keinen value hat und daher die Ausgaben im Log kommen?
Und daher auch der Link nicht funktioniert?

2014.05.13 15:42:04 1: readingsGroup line 580 html_text <td colspan='2'><form method="post"><input type="hidden" name="arg.RolladenSelektor" value="Aktion"/><input type="hidden" name="dev.RolladenSelektor" value="RolladenSelektor"/><input type="hidden" name="room" value="Rolladen"/>Aktion&nbsp;<select onchange="submit()" id="RolladenSelektor-Aktion" informId="RolladenSelektor-Aktion" name="val.RolladenSelektor" class="dropdown"><option value='offen'>offen</option>
<option selected="selected" value='Sonnenschutz'>Sonnenschutz</option>
<option value='Dämmerung'>Dämmerung</option>
<option value='gesperrt'>gesperrt</option>
<option value='geschlossen'>geschlossen</option>
</select><input type="hidden" name="cmd.RolladenSelektor" value="set"/></form></td>
Use of uninitialized value $htmlTxt in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 579.
2014.05.13 15:42:04 1: readingsGroup line 580 html_text
Use of uninitialized value $htmlTxt in pattern match (m//) at ./FHEM/33_readingsGroup.pm line 580.
2014.05.13 15:42:04 1: readingsGroup line 580 html_text <td colspan='2'><form method="post"><input type="hidden" name="arg.RolladenWochentagSelektor" value="state"/><input type="hidden" name="dev.RolladenWochentagSelektor" value="RolladenWochentagSelektor"/><input type="hidden" name="room" value="Rolladen"/><select onchange="submit()" id="RolladenWochentagSelektor-state" informId="RolladenWochentagSelektor-state" name="val.RolladenWochentagSelektor" class="dropdown"><option value='Montag'>Montag</option>
<option value='Dienstag'>Dienstag</option>
<option value='Mittwoch'>Mittwoch</option>
<option value='Donnerstag'>Donnerstag</option>
<option value='Freitag'>Freitag</option>
<option value='Samstag'>Samstag</option>
<option value='Sonntag'>Sonntag</option>
<option value='Alle'>Alle</option>
<option selected="selected" value='Werktage'>Werktage</option>
<option value='Wochenende'>Wochenende</option>
</select><input type="hidden" name="cmd.RolladenWochentagSelektor" value="set"/></form></td>
2014.05.13 15:42:04 1: readingsGroup line 580 html_text <td colspan='2'><form method="post"><input type="hidden" name="arg.RolladenOpen" value="ab"/><input type="hidden" name="dev.RolladenOpen" value="RolladenOpen"/><input type="hidden" name="room" value="Rolladen"/>ab&nbsp;<select onchange="submit()" id="RolladenOpen-ab" informId="RolladenOpen-ab" name="val.RolladenOpen" class="dropdown"><option value='aus'>aus</option>
<option value='Uhrzeit'>Uhrzeit</option>
<option selected="selected" value='Sonnenaufgang'>Sonnenaufgang</option>
</select><input type="hidden" name="cmd.RolladenOpen" value="set"/></form></td>
Use of uninitialized value $htmlTxt in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 579.
2014.05.13 15:42:04 1: readingsGroup line 580 html_text
Use of uninitialized value $htmlTxt in pattern match (m//) at ./FHEM/33_readingsGroup.pm line 580.
2014.05.13 15:42:04 1: readingsGroup line 580 html_text <td colspan='2'><form method="post"><input type="hidden" name="arg.RolladenOpen" value="Minuten"/><input type="hidden" name="dev.RolladenOpen" value="RolladenOpen"/><input type="hidden" name="room" value="Rolladen"/>Minuten&nbsp;<select onchange="submit()" id="RolladenOpen-Minuten" informId="RolladenOpen-Minuten" name="val.RolladenOpen" class="dropdown"><option value='-'>-</option>
<option value='0'>0</option>
<option value='15'>15</option>
<option value='30'>30</option>
<option value='45'>45</option>
<option value='60'>60</option>
</select><input type="hidden" name="cmd.RolladenOpen" value="set"/></form></td>
2014.05.13 15:42:04 1: readingsGroup line 580 html_text <td colspan='2'><form method="post"><input type="hidden" name="arg.RolladenOpen" value="mode"/><input type="hidden" name="dev.RolladenOpen" value="RolladenOpen"/><input type="hidden" name="room" value="Rolladen"/>mode&nbsp;<select onchange="submit()" id="RolladenOpen-mode" informId="RolladenOpen-mode" name="val.RolladenOpen" class="dropdown"><option value='-'>-</option>
<option selected="selected" value='normal'>normal</option>
<option value='soft'>soft</option>
</select><input type="hidden" name="cmd.RolladenOpen" value="set"/></form></td>
Use of uninitialized value $htmlTxt in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 579.
2014.05.13 15:42:04 1: readingsGroup line 580 html_text
Use of uninitialized value $htmlTxt in pattern match (m//) at ./FHEM/33_readingsGroup.pm line 580.
2014.05.13 15:42:04 1: readingsGroup line 580 html_text <td colspan='2'><form method="post"><input type="hidden" name="arg.RolladenClose" value="ab"/><input type="hidden" name="dev.RolladenClose" value="RolladenClose"/><input type="hidden" name="room" value="Rolladen"/>ab&nbsp;<select onchange="submit()" id="RolladenClose-ab" informId="RolladenClose-ab" name="val.RolladenClose" class="dropdown"><option value='aus'>aus</option>
<option value='Uhrzeit'>Uhrzeit</option>
<option selected="selected" value='Sonnenuntergang'>Sonnenuntergang</option>
</select><input type="hidden" name="cmd.RolladenClose" value="set"/></form></td>
Use of uninitialized value $htmlTxt in concatenation (.) or string at ./FHEM/33_readingsGroup.pm line 579.


Wird die Seite mit den einzelnen dummys aufgerufen und dort ein Wert geändert, so kommen keine Log-Einträge.
Die darzustellenden Werte sind auch alle definiert.
Keine Ahnung, was da falsch ist.

Das dritte Problem ist die "0" in einer Aufklappliste. Das gehört wahrscheinlich hier nicht hin, aber ev. weißt Du ja, an wen ich das adressieren kann.

Beispiel:

define td dummy
attr td room td
attr td setList Minuten:-,0,1,2
attr td webCmd Minuten

Setzt man das reading auf 2, so ist auch das Klappmenü vorselektiert auf 2.
Setzt man das reading auf 0, so kommt der oberste Eintrag "-" stattdessen.
Der oberste Eintrag kommt immer dann, wenn das reading einen Wert hat, den es im Menü nicht finden kann.
In dem Fall "0" ist aber der Wert in der Menüliste, wird trotzdem aber nicht angezeigt.


Den "-" benötige ich, wenn ich von mehreren devices gleiche readings einsammele und die nicht vom Wert identisch sind, z.B. die Minuten nach Sonnenuntergang, wenn die Rolladen schließen sollen.
Dann kann man einen Wert auswählen und den auf allen devices dann identisch setzen.

Da ist bestimmt irgendwo in der fhemweb eine Abrage auf if(!$value... und da müsste wahrscheinlich ein If(!defined($value ... hinein?

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 21 Mai 2014, 09:54:57
Hallo Andre,

zu meinem obigen post:

Könnte es sein, dass ich beim Modifier "set:" kein Event bekomme, weil es von der readingsGroup als Kommando der Form "set <devicename> <wert>" interpretiert wird?

wird der dummy solo, also ohne Einbindung in die rg angeklickt, dann kommt ja das Event an, nur nicht, wernn der dummy in einer Zeile in der rg steht.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 21 Mai 2014, 11:44:20
das set wird intern genau so weiter gereicht wie ein set aus devStateIcon oder aus webCmd. auf fhem seite wird es genau so abgearbeitet wie ein set das per telnet oder in der command box eingegeben wird.

siehst du irgendetwas im event Monitor?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 21 Mai 2014, 13:55:29
Hallo Andre,

an dem dummy hängt ein notify. Klicke ich auf den "set" link des dummys (das ist ein reading, dass "set" heißt) so kommt das Event im notify an. In der Zeile der readingsGroup, wo das dummy eingebaut ist, gibt es für den "set" Link weder im notify noch im Eventmonitor irgendein Ereignis. Alle anderen Readings des dummys, wie z.B. Minuten und Uhrzeit (beides sind Auswahlmenüs), funktionieren sowol direkt am dummy, als auch in der ReadingsGroup einwandfrei. Nur halt das "set" nicht.
Daher meine Vermutung, dass attr commands rg {'RolladenSelektor.set' => 'set:'}
wegen dem Schlüsselwort "set" nicht als readings - Name, sondern als set - Befehl interpretiert werden könnte.

Gruß
Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 21 Mai 2014, 15:30:23
jetzt verstehe ich was du meinst. das hängt unter umständen davon ab wie genau es konfiguriert ist.

kannst du bitte mal ein komplettes beispiel machen das das problem zeigt. ich schaue es mir dann an.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 21 Mai 2014, 17:00:37
Hallo Andre,

ich hänge Dir mal die 00-utilsRolladen.cfg und die zwei Perl-Module dazu an.
Da das über dummys und einem FS20 funktioniert, sollte man das so testen können.
Die dummys RolladenSelektor,RolladenOpen,RolladenClose haben jeweils einen "set" - Knopf um die Daten der Zeitprogrammierung bei den Rolladen zu hinterlegen, bzw. den ausgewählten Rolladen direkt zu verfahren.
An den drei dummys hängen notifys und da werden die verschiedenen Einstellmöglichkeiten weiterverarbeitet (z.B. Die Uhrzeit mit ":", welches rg derzeit noch nicht mag -> kein Menü :-))

Unten in der cfg-Datei ist dann die rg definiert.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 26 Mai 2014, 11:12:43
Hallo Andre,

nochmal an einem ganz primitiven Beispiel, in der readingsGroup wird definitiv nicht der link von "set" aufgerufen,´beim dummy schon.

define td dummy
attr td room td
attr td setList Minuten:-,0,1,2,3
attr td webCmd Minuten:set

define td_rg readingsGroup <meinDummy> td:Minuten,set
attr td_rg commands {'Minuten' => 'Minuten:-,0,1,2,3,4', 'set' => 'set:'}
attr td_rg room td
define td_not notify td:.* {td_not($NAME,$EVENT);;}

# und die Sub dazu



sub td_not($$)
{
my ($name,$event) = @_;
Log(3,"td_not: name: $name event $event");
my $hash = $defs{$name};

my ($rd,$val) = split(' ',$event);
($rd) = split(':',$rd);
if($rd eq 'Minuten')
{
readingsSingleUpdate($hash,$rd,$val,1);
}
elsif($rd eq 'set')
{
readingsSingleUpdate($hash,'set','set',1);
}

} # end sub td_not
###################

Wenn man in der ReadingsGroup bei dem dummy td auf "set" klickt, kommen statt dem Event folgende Fehlermeldungen:

Use of uninitialized value $values in pattern match (m//) at ./FHEM/01_FHEMWEB.pm line 2419.
Use of uninitialized value $values in pattern match (m//) at ./FHEM/01_FHEMWEB.pm line 2394.
Use of uninitialized value $values in pattern match (m//) at ./FHEM/01_FHEMWEB.pm line 2483.
Use of uninitialized value $values in string ne at ./FHEM/01_FHEMWEB.pm line 2428.
Use of uninitialized value $values in split at ./FHEM/01_FHEMWEB.pm line 2446.
Use of uninitialized value $htmlTxt in pattern match (m//) at ./FHEM/33_readingsGroup.pm line 580.


Bei Auswahl von "Minuten" aus dem Menü steht korrekt im Log:

2014.05.26 10:49:48 3: td_not: name: td event Minuten 3

Bitte kläre mich auf, aber ich kann da bei mir keinen Fehler erkennen....
Außerdem: versuche mal in dem Beispiel den Wert "0" für Minuten auszuwählen, dann kommt nicht "0" in der Anzeige, sondern der erste Menüeintrag, alsos "-".
Obwohl im Log korrekt steht und per singleUpdate das Reading auf 0 gesetzt wird:
2014.05.26 11:06:07 3: td_not: name: td event Minuten 0
2014.05.26 11:06:07 3: td_not return value: Minuten: 0

Irgendwie können die Menülisten nicht korrekt mit dem Wert "0" umgehen.


Und könntest Du das bei Gelegenheit mit dem ":" fixen, damit so was auch geht:

..comands {'uhrzeit' => 'Uhrzeit:19:00:20:00:21:00'}
Mit der ersatzweisen Verwendung von "\x03a.. ist nicht so schön, da dann die Definitionen unlesbar wären.

Gruß


Elektrolurch

 
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 26 Mai 2014, 14:08:43
ich dachte ich hatte das problem verstanden aber ich glaube es wird mir erst jetzt mit dem kurzen beispiel klar...

ich muss noch mal fragen was das set denn genau machen soll. der dummy kann damit nichts anfangen. als webCmd ist es unvollständig und als 'set...' kommando auch.

wenn ich es richtig verstehe soll einfach nur ein event generiert werden. dafür brauchst du in deinem commands doch nur ein mapping 'set' => "trigger $DEVICE set"damit wird dein event getriggert.

zu der sache mit dem doppelpunkt: ich weiss jetzt woran es liegt. hab es aber noch nicht repariert. kommt heute oder morgen mit einem kleinen update.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 26 Mai 2014, 14:18:46
Genau, ich will ein Event Triggern, was set heißt. Mit attr td webCmd Minuten:set funktioniert es ja genau so und da Du geschrieben hast, dass die Events nur einfach "durchgereicht" werden, habe ich mich schon stark gewundert.
Aber warum funktioniert es dann mit dem Menü "Minuten"?

Das da:
'set' => "trigger $DEVICE set"
ist mir völlig neu.
Meine Bitte: Könntest Du das in die commandref mit aufnehmen, dann wäre es perfekt...
Danke.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 26 Mai 2014, 15:18:42
das das set bei den webCmds funktioniert ist zufall. es ist so als würdest du 'set <device>' eingeben. ohne parameter. auf der commandozeile wird das mit einer fehlermeldung abgefangen.

das set: funktioniert nicht weil du in der setList kein zugehöriges set definiert hast sondern nur die Minuten. und das set dort kannst du nicht konfigurieren weil es eben keine parameter hat.

in der command ref sind zwei möglichkeiten für das commands mapping beschrieben:
- ein beliebiges fhem kommando wie du es auch auf der kommando zeile scheinen würdest
- die version die ein dropdown menü oder slider oder anderes widget zur auswahl des parameters einblendet.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 26 Mai 2014, 15:25:32
das mit dem : bei den uhrzeiten ist repariert.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 27 Mai 2014, 10:39:54
Perfekt und vielen Dank.
Jetzt fehlt mir nur noch die MMöglichkeit, die erste Spalte individuell zu gestalten oder zumindest komplett auszublenden.
Ich habe ja rg's im Einsatz, in dem ich zu ein und demselben device in verschiedenen Zeilen jeweils mehrere Werte anzeigen möchte und da macht es keinen Sinn, dass in der ersten Spalte immer der device-Namen oder das alias steht. Ich würde da gerne so individuelle Worte wie:
Puffertemperatur .. und dann kommen akt,min,max
Kollektortemperatur ... akt,min,max
voranstellen.

Leider kann man mit:
attr meinerg mapping <{undef}> oder  durch Löschen des Attributes "mapping" die erste Spalte nicht verschwinden lassen.
Mit ..maping<&nbsp;> steht zwar dann da kein Text mehr da, aber die Spalte bleibt trotzdem da.
Ich habe schon alles mögliche ausprobiert, aber ohne Erfolg.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Haecksler am 28 Mai 2014, 09:59:56
Hallo zusammen,
gibt es auch die Möglichkeit ein Icon größer Darzustellen, wie man das z.B. mit dem Text machen kann?

Ich würde gerne den Füllstand meiner Zisterne visualiseren, sprich ein Icon mit Behälterzeichnung und unterschiedlichem Füllstand.

Das mit den unterschiedlichen Icons in Abhängigkeit vom Füllstand bekomme ich (vermutlich 8)) hin, stellt sich nur noch die Frage wie ich die Icons größer bekomme.

Hat jemand eine Idee?

Gruß,
Stefan
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 28 Mai 2014, 10:26:27
die größe der icons wird über die stylesheets bestimmt. du kannst versuchen die relevanten parameter über die unterschiedlichen style attribute zu ändern.

den füllstsand kann man ausser mit icons auch noch mit direktem html code darstellen. vielleicht ist das ja auch etwas für dich. schau mal hier für ein beispiel: http://forum.fhem.de/index.php/topic,11609.msg68591.html#msg68591 (http://forum.fhem.de/index.php/topic,11609.msg68591.html#msg68591)

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Haecksler am 28 Mai 2014, 13:20:59
Zitat von: justme1968 am 28 Mai 2014, 10:26:27
die größe der icons wird über die stylesheets bestimmt. du kannst versuchen die relevanten parameter über die unterschiedlichen style attribute zu ändern.

den füllstsand kann man ausser mit icons auch noch mit direktem html code darstellen. vielleicht ist das ja auch etwas für dich. schau mal hier für ein beispiel: http://forum.fhem.de/index.php/topic,11609.msg68591.html#msg68591 (http://forum.fhem.de/index.php/topic,11609.msg68591.html#msg68591)

gruss
  andre

Vielen Dank für deine schnelle Rückantwort.
Mit dem styl attr in der ReadingsGroup geht da also nichts?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 28 Mai 2014, 13:26:27
dich. es müsste gehen. wie oben geschrieben: du kannst versuchen die relevanten parameter über die unterschiedlichen style attribute zu ändern.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: stromer-12 am 04 Juni 2014, 20:42:34
Nabend,

ist es möglich für nicht gefundene Readings Platzhalter zu erstellen, um die Tabellenstruktur zu erhalten?

Gruß
Gerd
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 04 Juni 2014, 20:51:53
nein das geht nicht direkt aber z.b. mit

  <{ReadinsVal($DEVICE,"reading","default")}@reading>

warum haben deine devices nicht alle readings?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: stromer-12 am 04 Juni 2014, 20:56:15
Ich lasse mir eine Tabelle mit den RSSI Werten und Zeit des Empfangs Anzeigen, und jedes Devices empfängt aber nicht alles.

Geht das Auch mit INTERNALS? (erledigt geht auch)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: marvin78 am 04 Juni 2014, 20:57:10
Oder wenn man Temperatur und Humidity in einer Gruppe hat, aber auch Sensoren aufnehmen möchte, die bspw. nur die Temperatur können.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 04 Juni 2014, 21:01:46
@stromer-12: das wäre dann InternalVal statt ReadingsVal.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 Juni 2014, 10:26:30
@matvin78:  ...:temperature,<{ReadinsVal($DEVICE,"humidity","")}@humidity>
Titel: Antw:Neues Modul readingsGroup
Beitrag von: maxritti am 07 Juni 2014, 09:08:34
Mich wundert gerade etwas bei meiner Readingsgroup.
Und zwar habe ich da HM-SEC und HM-SEC-2 Kontakte drin, wo ich den Status und die Batterie überwache.
Nun wollte ich auch cyclicInfoMsg überwachen und habe die Definition und valueIcons abgeändert.
Komisch ist, dass bei 2 von den Kontakten nach wie vor der Begriff "on" und nicht das Icon dargestellt wird.
Bei den anderen aber schon.

Irgendwie finde ich den Fehler nicht.
Kann mir da jemand einen Tip geben?

Internals:
   CFGFN
   DEF        .*_TK_.*:battery,state,R-cyclicInfoMsg BM_.*:battery,<> EG_wz_xx_Voralarm.*:battery,<> KG_k2_xx_Alarm.*:battery,<> .*_BM_.*:battery,<>
   NAME       rg_Batterie_TK
   NR         69
   NTFY_ORDER 50-rg_Batterie_TK
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CHANGETIME:
   Content:
     DG_hz_TK_Dachfenster 1
     DG_wz_TK_Dachfenster 1
     EG_fl_TK_Haustuer 1
     EG_ku_TK_Strasse 1
     EG_wc_BM_Motion 1
     EG_wz_TK_Carport 1
     EG_wz_TK_Terrasse 1
     EG_wz_xx_Voralarm 1
     KG_k2_xx_Alarm 1
     OG_bz_BM_Motion 1
     OG_kz_TK_SchlafenTim 1
     at_addLog_DG_hz_TK_Dachfenster 1
     at_addLog_DG_wz_TK_Dachfenster 1
     at_addLog_EG_fl_TK_Haustuer 1
     at_addLog_EG_ku_TK_Strasse 1
     at_addLog_EG_wz_TK_Carport 1
     at_addLog_EG_wz_TK_Terrasse 1
     at_addLog_OG_kz_TK_SchlafenTim 1
     no_TK_Strasse_closed 1
     no_TK_Terrasse_closed 1
     pl_TK_All  1
   DEVICES:
     ARRAY(0x9d1b334)
     ARRAY(0xa10482c)
     ARRAY(0x9d31de4)
     ARRAY(0x9d31ea4)
     ARRAY(0x9d94e44)
     ARRAY(0x9d94f24)
     ARRAY(0xa10483c)
     ARRAY(0xa03f78c)
     ARRAY(0xa0c0934)
     ARRAY(0x9fff81c)
     ARRAY(0x9fdc49c)
     ARRAY(0xa125f14)
     ARRAY(0xa072e2c)
     ARRAY(0xa05bbdc)
     ARRAY(0xa02f90c)
     ARRAY(0xa0c00f4)
     ARRAY(0xa05ba1c)
     ARRAY(0x9e6598c)
     ARRAY(0x9d2d9dc)
     ARRAY(0xa045034)
     ARRAY(0xa05bbac)
   Helper:
     Dblog:
       Dg_hz_tk_dachfenster.battery:
         Mydblog:
           TIME       1402054724.58585
           VALUE      <img class='icon Batterie_full' src="/fhem/images/default/Batterie.full.png" alt="ok" title="ok">
       Dg_hz_tk_dachfenster.state:
         Mydblog:
           TIME       1402067729.09723
           VALUE      <svg class="icon fts_window_1w green" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="492pt" viewBox="0 0 468 492"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,492) scale(0.192593,-0.192593)" fill="green" stroke="none"> <path d="M73 2520 c-68 -41 -64 57 -61 -1241 3 -1145 3 -1175 22 -1200 11 -14 31 -34 45 -45 25 -19 52 -19 1138 -19 1106 0 1112 0 1140 21 15 11 38 40 51 64 l22 44 0 1143 c0 1259 3 1193 -62 1233 -33 20 -47 20 -1148 20 -1088 0 -1116 -1 -1147 -20z m2217 -765 l0 -415 -34 0 c-45 0 -86 -33 -86 -70 0 -41 34 -70 82 -70 l38 0 -2 -527 -3 -528 -1059 -3 c-774 -1 -1062 1 -1072 9 -12 10 -14 182 -14 1015 l0 1004 1075 0 1075 0 0 -415z"/> </g> </svg>
       Dg_wz_tk_dachfenster.r-cyclicinfomsg:
         Mydblog:
           TIME       1402054762.81685
           VALUE      on
       Dg_wz_tk_dachfenster.battery:
         Mydblog:
           TIME       1402054751.15109
           VALUE      <img class='icon Batterie_full' src="/fhem/images/default/Batterie.full.png" alt="ok" title="ok">
       Dg_wz_tk_dachfenster.state:
         Mydblog:
           TIME       1402067729.11378
           VALUE      <svg class="icon fts_window_1w green" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="492pt" viewBox="0 0 468 492"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,492) scale(0.192593,-0.192593)" fill="green" stroke="none"> <path d="M73 2520 c-68 -41 -64 57 -61 -1241 3 -1145 3 -1175 22 -1200 11 -14 31 -34 45 -45 25 -19 52 -19 1138 -19 1106 0 1112 0 1140 21 15 11 38 40 51 64 l22 44 0 1143 c0 1259 3 1193 -62 1233 -33 20 -47 20 -1148 20 -1088 0 -1116 -1 -1147 -20z m2217 -765 l0 -415 -34 0 c-45 0 -86 -33 -86 -70 0 -41 34 -70 82 -70 l38 0 -2 -527 -3 -528 -1059 -3 c-774 -1 -1062 1 -1072 9 -12 10 -14 182 -14 1015 l0 1004 1075 0 1075 0 0 -415z"/> </g> </svg>
       Eg_fl_tk_haustuer.battery:
         Mydblog:
           TIME       1402067225.1402
           VALUE      <img class='icon Batterie_full' src="/fhem/images/default/Batterie.full.png" alt="ok" title="ok">
       Eg_fl_tk_haustuer.state:
         Mydblog:
           TIME       1402067728.92285
           VALUE      <svg class="icon fts_window_1w green" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="492pt" viewBox="0 0 468 492"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,492) scale(0.192593,-0.192593)" fill="green" stroke="none"> <path d="M73 2520 c-68 -41 -64 57 -61 -1241 3 -1145 3 -1175 22 -1200 11 -14 31 -34 45 -45 25 -19 52 -19 1138 -19 1106 0 1112 0 1140 21 15 11 38 40 51 64 l22 44 0 1143 c0 1259 3 1193 -62 1233 -33 20 -47 20 -1148 20 -1088 0 -1116 -1 -1147 -20z m2217 -765 l0 -415 -34 0 c-45 0 -86 -33 -86 -70 0 -41 34 -70 82 -70 l38 0 -2 -527 -3 -528 -1059 -3 c-774 -1 -1062 1 -1072 9 -12 10 -14 182 -14 1015 l0 1004 1075 0 1075 0 0 -415z"/> </g> </svg>
       Eg_ku_tk_strasse.battery:
         Mydblog:
           TIME       1402035913.72139
           VALUE      <img class='icon Batterie_full' src="/fhem/images/default/Batterie.full.png" alt="ok" title="ok">
       Eg_ku_tk_strasse.state:
         Mydblog:
           TIME       1402067728.91489
           VALUE      <svg class="icon fts_window_1w green" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="492pt" viewBox="0 0 468 492"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,492) scale(0.192593,-0.192593)" fill="green" stroke="none"> <path d="M73 2520 c-68 -41 -64 57 -61 -1241 3 -1145 3 -1175 22 -1200 11 -14 31 -34 45 -45 25 -19 52 -19 1138 -19 1106 0 1112 0 1140 21 15 11 38 40 51 64 l22 44 0 1143 c0 1259 3 1193 -62 1233 -33 20 -47 20 -1148 20 -1088 0 -1116 -1 -1147 -20z m2217 -765 l0 -415 -34 0 c-45 0 -86 -33 -86 -70 0 -41 34 -70 82 -70 l38 0 -2 -527 -3 -528 -1059 -3 c-774 -1 -1062 1 -1072 9 -12 10 -14 182 -14 1015 l0 1004 1075 0 1075 0 0 -415z"/> </g> </svg>
       Eg_wc_bm_motion.battery:
         Mydblog:
           TIME       1402084295.48211
           VALUE      <img class='icon Batterie_full' src="/fhem/images/default/Batterie.full.png" alt="ok" title="ok">
       Eg_wz_tk_carport.battery:
         Mydblog:
           TIME       1402046946.14508
           VALUE      <img class='icon Batterie_full' src="/fhem/images/default/Batterie.full.png" alt="ok" title="ok">
       Eg_wz_tk_carport.state:
         Mydblog:
           TIME       1402067728.90599
           VALUE      <svg class="icon fts_window_1w green" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="492pt" viewBox="0 0 468 492"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,492) scale(0.192593,-0.192593)" fill="green" stroke="none"> <path d="M73 2520 c-68 -41 -64 57 -61 -1241 3 -1145 3 -1175 22 -1200 11 -14 31 -34 45 -45 25 -19 52 -19 1138 -19 1106 0 1112 0 1140 21 15 11 38 40 51 64 l22 44 0 1143 c0 1259 3 1193 -62 1233 -33 20 -47 20 -1148 20 -1088 0 -1116 -1 -1147 -20z m2217 -765 l0 -415 -34 0 c-45 0 -86 -33 -86 -70 0 -41 34 -70 82 -70 l38 0 -2 -527 -3 -528 -1059 -3 c-774 -1 -1062 1 -1072 9 -12 10 -14 182 -14 1015 l0 1004 1075 0 1075 0 0 -415z"/> </g> </svg>
       Eg_wz_tk_terrasse.battery:
         Mydblog:
           TIME       1402062075.20193
           VALUE      <img class='icon Batterie_full' src="/fhem/images/default/Batterie.full.png" alt="ok" title="ok">
       Eg_wz_tk_terrasse.state:
         Mydblog:
           TIME       1402067728.89772
           VALUE      <svg class="icon fts_window_1w green" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="492pt" viewBox="0 0 468 492"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,492) scale(0.192593,-0.192593)" fill="green" stroke="none"> <path d="M73 2520 c-68 -41 -64 57 -61 -1241 3 -1145 3 -1175 22 -1200 11 -14 31 -34 45 -45 25 -19 52 -19 1138 -19 1106 0 1112 0 1140 21 15 11 38 40 51 64 l22 44 0 1143 c0 1259 3 1193 -62 1233 -33 20 -47 20 -1148 20 -1088 0 -1116 -1 -1147 -20z m2217 -765 l0 -415 -34 0 c-45 0 -86 -33 -86 -70 0 -41 34 -70 82 -70 l38 0 -2 -527 -3 -528 -1059 -3 c-774 -1 -1062 1 -1072 9 -12 10 -14 182 -14 1015 l0 1004 1075 0 1075 0 0 -415z"/> </g> </svg>
       Eg_wz_xx_voralarm.battery:
         Mydblog:
           TIME       1402063136.22731
           VALUE      <img class='icon Batterie_full' src="/fhem/images/default/Batterie.full.png" alt="ok" title="ok">
       Kg_k2_xx_alarm.battery:
         Mydblog:
           TIME       1402063134.44329
           VALUE      <img class='icon Batterie_empty' src="/fhem/images/default/Batterie.empty.png" alt="low" title="low">
       Og_bz_bm_motion.battery:
         Mydblog:
           TIME       1402084423.73882
           VALUE      <img class='icon Batterie_full' src="/fhem/images/default/Batterie.full.png" alt="ok" title="ok">
       Og_kz_tk_schlafentim.state:
         Mydblog:
           TIME       1402067728.93172
           VALUE      <svg class="icon fts_window_1w green" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="492pt" viewBox="0 0 468 492"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,492) scale(0.192593,-0.192593)" fill="green" stroke="none"> <path d="M73 2520 c-68 -41 -64 57 -61 -1241 3 -1145 3 -1175 22 -1200 11 -14 31 -34 45 -45 25 -19 52 -19 1138 -19 1106 0 1112 0 1140 21 15 11 38 40 51 64 l22 44 0 1143 c0 1259 3 1193 -62 1233 -33 20 -47 20 -1148 20 -1088 0 -1116 -1 -1147 -20z m2217 -765 l0 -415 -34 0 c-45 0 -86 -33 -86 -70 0 -41 34 -70 82 -70 l38 0 -2 -527 -3 -528 -1059 -3 c-774 -1 -1062 1 -1072 9 -12 10 -14 182 -14 1015 l0 1004 1075 0 1075 0 0 -415z"/> </g> </svg>
   Fhem:
     last_update 1402124352.08163
Attributes:
   alias      Batterien/TF-Kontakte
   group      Status
   icon       Batterie.empty
   mapping    %ALIAS
   valueIcon  {'battery.ok' => 'Batterie.full', 'battery.low' => 'Batterie.empty', 'state.closed' => 'fts_window_1w@green', 'state.open' => 'fts_window_1w_open@red', 'R-cyclicInfoMsg.on' => 'im_checkmark@green', 'R-cyclicInfoMsg.off' => 'im_close'} 
Titel: Antw:Neues Modul readingsGroup
Beitrag von: tpm88 am 10 Juni 2014, 21:05:02
 Hallo Andre,

mir ist es nicht gelungen, ein Reading, welches die Werte 0 und 1 annehmen kann, in einer readingsGroup mit den Attributen commands und valueIcon vernünftig zu verwenden.

Kurz zum Hintergrund - Dietmar hat in die Module WeekdayTimer und Heating_Control auf meinen Wunsch ein reading "disabled" eingeführt, welches beim Timer das attribut "diable" widerspiegelt. D.h. Attribut disable=1 bedeutet Reading disabled=1. Siehe auch: http://forum.fhem.de/index.php/topic,10011.msg175605.html#msg175605 (http://forum.fhem.de/index.php/topic,10011.msg175605.html#msg175605)

Die numerischen Werte 0 und 1 für "disabled" machen wie folgt Schwierigkeiten. Edit: lässt sich nicht mehr reproduzieren.

Es funktioniert nicht: Edit: Funktioniert sehr wohl.
commands { 'disabled.0' => 'set $DEVICE disable', 'disabled.1' => 'set $DEVICE enable' }
valueIcon { 'disabled.0' => 'Restart', 'disabled.1' => 'Shutdown' }


Liefert das Reading "disabled" jedoch stattdessen z.B. die Strings yes und no, funktionieren die readingsGroup Attribute einwandfrei:
commands { 'disabled.no' => 'set $DEVICE disable', 'disabled.yes' => 'set $DEVICE enable' }
valueIcon { 'disabled.no' => 'Restart', 'disabled.yes' => 'Shutdown' }


Hier für Details noch die komplette Definition der readingsGroup:
list rg_Timer_Wasser

Internals:
   DEF        timer_Wasser_..:disabled,+DEF,<{rg_timer_Wasser_show_conditional($DEVICE)}@disabled>
   NAME       rg_timer_Wasser
   NR         212
   NTFY_ORDER 50-rg_timer_Wasser
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     timer_Wasser_01 1
     timer_Wasser_02 1
   DEVICES:
     ARRAY(0x16eebd8)
     ARRAY(0x165c0f0)
   Readings:
   Fhem:
     last_update 1402397337.40354
   Helper:
Attributes:
   alias      Scheduling
   commands   { 'disabled.no' => 'set $DEVICE disable', 'disabled.yes' => 'set $DEVICE enable' }
   group      Bewässerung
   notime     1
   room       Terrasse
   sortDevices 1
   style      style="border:0px;background:none;box-shadow:none"
   valueFormat { if ( $READING =~ m/.*DEF/ ) {      my @text = split(" ", $VALUE); shift @text; return join(" ", @text) }}
   valueIcon  { 'disabled.no' => 'Restart', 'disabled.yes' => 'Shutdown' }


Funktionieren die Attribute commands und valueIcon mit der Syntax '<reading>.<value>' => 'command' bzw. 'icon' generell nur, wenn value ein String ist? Oder machen nur die numerischen Werte 0 und 1 (in Perl mit Sonderbedeutung) hier Probleme?

Edit: Wie Andre zwei Beiträge weiter unten ausführt, darf es da keine Probleme geben, da auch numerische Readings wie Strings behandelt werden.

Danke & Gruß
Tobias

PS: Ich gestehe schon vorweg, dass ich nicht alle Seiten dieses Threads vorher durchgegangen bin. Möglicherweise wurde die Frage also schon einmal beantwortet.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 10 Juni 2014, 21:25:44
Hallo,

möglicherweise liegt das gar nicht an der readingsGroup, sondern an 01-fhemweb. Da gibt es nämlich bei der Darstellung von commands mit dem Wert 0 ein Problem.
Ich habe das Problem bei Menüs:
commands {'meinrd' => 'meinrd:aus,0,1,2,3'...

Hat meinrd den wert aus,1,2,3 wird er koorekt von fhemweb vorselektiert, bei dem Wert 0 erscheint statt dessen der oberste Menüeintrag "aus".

Denke, dass die 0 für das widgetes von webCmd ein Problem darstellt.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 Juni 2014, 21:41:59
ich habe es eben mit einem dummy und einem WeekdayTimer probiert und dein problem nicht nachvollziehen können.

da für die readignsGroup jedes reading ein string ist und vor allem an der stelle wo das mapping gemacht wird nur mit srings gearbeitet wird  füllt mir auch kein grund ein warum es mit yes/no gehe aber 0/1 nicht.

was genau macht rg_timer_Wasser_show_conditional?

was genau meinst du mit 'vernünftig zu verwenden.' ?

kannst du das problem mit einem dumm und 'setreading <dummy> disabled 0' bzw 'setreading <dummy> disabled 1' reproduzieren?

siehst du auf der javascript konsole etwas?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: tpm88 am 10 Juni 2014, 22:36:40
Hallo Andre, Elektrolurch,

peinlich - aber ich kann das Problem auch nicht mehr nachvollziehen. Habe mit zwei neuen Dummy WD-Timern eine zusätzliche RG angelegt und es hat auf Anhieb mit 0/1 auch funktioniert.

Nach dem Rückbau der ursprünglichen RG für die Bewässerungstimer funktioniert diese jetzt auch. Ich kann mir eigentlich nur erklären, dass ich beim Testen heute früher am Tag irgendwo einen kleinen Typo (z.B. disable statt disabled o.ä.) drin hatte.

Sorry und danke für eure Bereitschaft, das vermeintliche Problem nachzuvollziehen.

Gruss
Tobias
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Phil__ am 13 Juni 2014, 13:08:50
Hallo,

ich habe versucht mit einer readingsGroup Temperatur, Luftfeuchte; Soll-Temp und Batterie anzuzeigen. Das ganze wird gemessen durch ein HM-CC-TC.
Mir gelingt es aber nicht mit valueFormat °C und % auszugeben.

Was mache ich falsch?
Hier ein Screeshot und mein Code:

define Heizungswerte readingsGroup <%sani_heating>,<Ist>,<Hum>,<Soll>,<Bat> WZ_WTH:measured-temp,humidity,desired-temp,battery
attr Heizungswerte nameStyle style="color:black;;font-weight:bold"
attr Heizungswerte valueIcon {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red'}
attr Heizungswerte valueStyle {($VALUE eq "00")?'style="visibility:hidden"':}
attr Heizungswerte room Technik
attr Heizungswerte valueFormat {measured-temp => '%.1f °C', humidity => '%.1f %%', desired-temp => '%.1f °C' }


Viele Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 13 Juni 2014, 13:10:49
measured-temp und desired-temp müssen jeweils in anführungszeichen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Phil__ am 13 Juni 2014, 13:15:55
Zitat von: justme1968 am 13 Juni 2014, 13:10:49
measured-temp und desired-temp müssen jeweils in anführungszeichen.

gruss
  andre

Danke, funktioniert!
Aber, verständnisshalber, mit welchem Hintergrund nur measured-temp und desired-temp? humidity ohne Anführungszeichen?

Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 13 Juni 2014, 13:24:06
alles was perl von sich als als string erkennt kann an dieser Stelle ohne anführungszeichen geschrieben werden.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 13 Juni 2014, 17:52:45
Hallo Andre,

mir ist da noch eine Kleinigkeit aufgefallen:
Wenn der Wert eines readings = undef ist, wird er ja nicht angezeigt. Wenn aber für den Wert ein command definiert ist, wird fhemweb aufgerufen und liefert den Wert "0" als Link zurück. Außerdem gibt perl wegen dem regex-Anweisung einen Fehler.
Habe das wie folgt ausgebessert:
# Elektrolurch: $cmd kann leer sein

          if($cmd && $cmd =~ m/^([\w-]*):(\S*)?$/ ) {


Hintergrund: Wenn der Status meiner Heizungsanlage wechselt, dann werden manche einstellbaren readings undef.Ich glaube, dass das zweimal vorkommt.

Gruß

Elektrolurch

Titel: Antw:Neues Modul readingsGroup
Beitrag von: MaJu am 14 Juni 2014, 13:08:59
Ich bitte euch um Hilfe.
Ich nutze FHEM ausschließlich für einen Floorplan, der auf einem Display im Flur angezeigt wird.
Nun möchte ich von dutzenden Dummys, die alle einzeln auf dem Display platziert werden müssen, zu readingsGroup umschwenken, befinde mich hier noch am Anfang.

Ziel: Pro Zeile sollen alle Infos zu einem Raum dargestellt werden, dafür müssen Readings aus dem Heizungssensor und vom Fenstersensor rein. Das funktioniert soweit auch. Allerdings möchte ich auch beim Fenster-Sensor den Akku-Status als Icon sehen und dann auch wieder Icons je Fensterzustand.

So sieht die DEF aus:<>,<IST>,<SOLL>,<Ventil>,<>,<Fenster>,<>

Sensor_Wohnzimmer:measured-temp,desired-temp,actuator,battery,<{ReadingsVal("Fenster_Wohnzimmer","state","0")}@reading>,<{ReadingsVal("Fenster_Wohnzimmer","battery","0")}@reading>

Sensor_Katzenzimmer:measured-temp,desired-temp,actuator,battery,<{ReadingsVal("Fenster_Katzenzimmer","state","0")}@reading>,<{ReadingsVal("Fenster_Katzenzimmer","battery","0")}@reading>

Sensor_Schlafzimmer:measured-temp,desired-temp,actuator,battery,<{ReadingsVal("Fenster_Schlafzimmer","state","0")}@reading>,<{ReadingsVal("Fenster_Schlafzimmer","battery","0")}@reading>


Folgendes habe ich bei valueIcon, ich habe absichtlich überall zum Test erstmal das Batterie-Icon verwendet, da dieses ja teilweise funktioniert. Auch erstmal nur für das erste Fenster:{'battery.ok' => 'batterie@grey', 'battery.low' => 'batterie@red', 'state.open' => 'batterie@grey', 'Fenster_Wohnzimmer.open' => 'batterie@grey'}

Frage:
Warum wird beim obersten Fenster-Wert nicht das Batterie-Icon angezeigt, sondern das Wort "open" (siehe Anhang)? Warum wird für den Batteriewert der Sensoren das Batterie-Icon angezeigt, bei den Fensterkontakten aber nicht, obwohl das Reading auch "battery" heißt?

Was mir aufgefallen ist: Ich habe nameStyle als linksbündig formatiert, valueStyle rechtsbündig. Das funktioniert beim Namen und den Werten der Sensoren auch. Die Werte der Fensterkontakte werden aber nicht rechtsbündig dargestellt wie bei "valueStyle" eingestellt, sondern rechtsbündig wie für "nameStyle" definiert.

Ich bin eben den gesamten Thread durchgegangen, das Thema wurde mehrfach angesprochen, aber leider habe ich damit keine Lösung erzielt.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 14 Juni 2014, 13:19:56
@Elektrolurch: ich schau es mir an.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 14 Juni 2014, 18:07:38
@MaJu:

- es wird open statt einem icon angezeigt weil das was zwischen den <> steht kein reading ist sondern nur ein string der angezeigt wird.

- wenn du möchtest das hier ein icon angezeigt wird geht das am einfachsten in dem der <{...}> perl ausdruck direkt den namen des icons mit vorangestelltem % zurück gibt.

- du musst statt @reading den tatsächlichen namen des readings verwenden.

- wenn deine sensoren immer das schema aus dem beispiel haben und du ein passendes room attribut gesetzt hast kannst du das ganze auf eine zeile vereinfachen:Sensor_.*:measured-temp,desired-temp,actuator,battery,<{'%'.ReadingsVal("Fenster_$ROOM","state","0")}@state>,<{ReadingsVal("Fenster_$ROOM","battery","0")}@battery>hier wird aus open und closed gleich ein %open bzw. %closed was direkt als icon angezeigt wird wenn du icons mit entsprechendem namen hast.

- alles innerhalb der <> zählt als name und nicht als value. deshalb die formatierung nach nameStyle.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Phil__ am 14 Juni 2014, 19:34:28
Hallo,

eine kurze Frage...

lasse mir den Battery-Status meine HM Komponenten anzeigen.
In der Ausgabe steht dann "alias:battery und das Symbol"
Wie bekomme ich das :battery hinter dem ALias weg?

define rg_battery readingsGroup TYPE=CUL_HM:[Bb]attery
attr rg_battery alias Batteriestatus
attr rg_battery group BatterieStatus
attr rg_battery notime 1
attr rg_battery room Technik
attr rg_battery valueIcon {'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red'}



Grüße

Phil
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 14 Juni 2014, 19:37:55
zum beispiel mitattr rg_battery mapping %ALIAS

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: MaJu am 14 Juni 2014, 20:54:22
KORREKTUR:
Ich habe nun mal noch ein Bild "open.png" und auch eins "ok.png" gespeichert. Und nun werden diese Icons angezeigt. Die Icon-Definitionen werden hierbei scheinbar völlig ignoriert.

Hallo Andre,
danke für deine Mühe. Leider führt sie nicht zum Erfolg.
Ich habe es angepasst ('%'. mit rein und das Reading hinten geändert).[...]

Leider werden weiterhin nur Worte zurückgegeben wie zuvor, obwohl Icons im Ordner (www-images-default) vorhanden sind (Fenster_Wohnzimmer.open.png state.open.png battery.ok).
Obwohl ja sonst auch erstmal die Definitionen aus valueIcon greifen sollten.

FHEM-Version: Dev 5.5, aktuellste Updates geladen (gerade nochmal getestet) und schon mehrfach neu gestartet. Auf einen RasperryPi mit Raspbian. Bei den bisherigen Dummys funktionieren die Icons tadellos.
Ich habe es auch beim FHEM der Schwiegereltern (gleiche Hardware und Version wie bei mir) getestet, auch dort funktioniert es nicht mit den Icons.

__________________________________

Das vereinfachen auf eine Zeile ist eine super Sache, danke für das Schreiben!

Ich habe beim letzten Element auch noch '%'. vor das ReadingsVal gesetzt, da du es beim Reading davor auch reingeschrieben hast. Ist das richtig?

Für die Thermostate ("Sensor_...") klappt es, alle 3 werden mit den definierten Sachen ausgegeben. Die Fenster-Sensoren aber werden nicht dargestellt (auch wenn ich die Zeile ungeändert so nutze wie du sie geschrieben hast).
Ja, ich habe die 3 Raumnamen. Im Raum "Wohnzimmer" befinden sich das Thermostat "Sensor_Wohnzimmer" und auch "Fenster_Wohnzimmer". Die Anzeige "Lebensraum" kommt vom Alias bei "Sensor_Wohnzimmer", aber ändert ja am Raum nichts.

Da ich hierüber aber die Reihenfolge der Räume nicht mehr so einfach ändern kann, ist die Vereinfachung für mich weniger relavant. Bei 3 (bzw. 5) Räumen ist das bei der geringen Anzahl an Werten noch sehr überschaubar.
__________________________________

Und noch was Neues:
Der Zeitstempel wird nicht mehr ausgewiesen bei mehr als 1 Reading. Wie bekomme ich ihn aber doch ausgegeben?
Warum? Ich möchte den letzten Auslesezeitpunkt anzeigen lassen und wenn möglich soll er rot werden wenn für mehr als 10 Minuten keine aktuelle Meldung von einem Gerät kam.
Damit sehe ich, wenn es für den Außensensor zu schlechte Empfangsbedingungen waren und der Wert "uralt" ist bzw. wenn sich irgendein Gerät aufgehangen hat (ist bei der Entkalkungsfahrt des Venils passiert ...).

Danke ... Mario
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 14 Juni 2014, 22:33:49
die icon definitionen sind nur für 'normale' readings. die <> ausdrücke sind normalerweise eher statisch.

der <> ausdruck muss den namen des icons zurück geben.

wenn das bei dir Fenster_Wohnzimmer.open.png ist dann muss %Fenster_Wohnzimmer.open zurück kommen. zum beispiel durch so etwas:<{'%'."$ALIAS.".ReadingsVal(...)}>statt dem $ALIAS. kannst du z.b. auch fts_window_1w verwenden und bekommst dann das fts_window_1w_open.svg svg icon.

der timestamp ist deshalb weg weil bei mehreren readings auf einer zeile du nicht mehr einen einzigen timestamp hast. wenn du einen möchtest kannst du mit <{ReadingsTimestamp("device","reading","")}@reading> selber bestimmen von welchem reading der timestamp sein soll.

wenn du hier etwas komplizierteres vor hast ist es besser das in eine sub in 99_myUtils.pm auszulagern und diese aufzurufen:<{meinIcon(...)}>im wiki gibt es auch hierzu beispiele.

ich würde an deiner stelle aber nicht zu viele dinge in die gleiche readingsGroup packen. empfang prüfen würde ich z.b. nicht im raum in dem ich etwas normalerweise bediene sondern in einem extra raum system und wenn es irgendwie geht automatisch per notify benachrichtigen. je nach system das du verwendest geht das mit dem ActionDetector oder dem DeviceMonitor.

wenn du trotzdem wert darauf legst in der normalen übersicht zu sehen ob es ein problem dann lass dir nur ein allgemeines problem ja/nein anzeigen. du kannst dann immer noch genau nachschauen was es ist.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: MaJu am 15 Juni 2014, 00:21:00
Danke Andre, das mit den Icons funktioniert nun wie gewünscht.
Auch ReadingTimestamp klappt, manchmal ist ein solcher Anstoß sehr hilfreich :-)

Nur eines noch: Wie kann ich den Timestamp auf nur die Uhrzeit (möglichst auch noch ohne Sekunden) kürzen?
Bei nur 3 (bzw. 5) auszulesenden Zeitstempeln würde ich das wenn möglich gern in der readingsGroup machen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Phil__ am 15 Juni 2014, 09:32:44
Hallo,

Ich lasse mit dem Modul dewpoint den Taupunkt berechnen. Dieser wird ja dann unter Internals dem State hinzugefügt: Bsp.: state T:xy H:xy D:xy
Das ganze steht ja aber nicht unter Readings im State.

Wie kann ich denn Taupunkt auch auslesen und meiner ReadingsGroup hinzufügen?

Viele Grüße

phil
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 15 Juni 2014, 10:33:00
@MaJu: z.b. mit substr oder split den für dich relevanten treil rausschneiden.

@Phil_: du kannst in der definition von dewpoint angeben das ein normales reading erzeugt werden soll. das kannst du dann ganz normal überall verwenden. mit stateFormat bekommt du es auch wieder in den STATE deines device wenn du das möchtest.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: MaJu am 15 Juni 2014, 14:05:59
Nochmals Danke, ich wusste nicht, wo/wie ich das substr eintragen muss. Habe es mit probieren rausgefunden. Falls auch jemand anderes danach sucht:<{substr(ReadingsTimestamp("Balkon","state","0"),11,5)}@state>

Nun noch etwas. Ich möchte einzelne Werte hervorheben. In Antwort 208/209 wurde das schonmal besprochen, es klappt aber bei mir nicht.
Eigentlich müsste es rot geschrieben werden. Der String führt aber jeweils dazu, dass die gesamte Zeile nicht mehr angezeigt wird:<{nameStyle="color:red"}Balkon>

und auch:

<{{nameStyle="color:red"}ReadingsVal("Balkon","temperature","0").'°C'}@temperature>,


Wie muss der String richtig lauten?

Gruß ... Mario
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Phil__ am 15 Juni 2014, 17:48:19
Zitat von: justme1968 am 15 Juni 2014, 10:33:00
@Phil_: du kannst in der definition von dewpoint angeben das ein normales reading erzeugt werden soll. das kannst du dann ganz normal überall verwenden. mit stateFormat bekommt du es auch wieder in den STATE deines device wenn du das möchtest.
gruss
  andre

Hallo,

Danke für die schnellen Antworten. Habe es teilweise hinbekommen.

Für den State:
define dew_state dewpoint dewpoint .* T H D
Für das Reading:
define dew_all dewpoint dewpoint .* temperature humidity dewpoint


Allerdings funktioniert das nur bei meinen HM-TC-IT-WM-W-EU und den     
HM-WDS10-TH-O, bei den HM-CC-TCs wird nur der Taupunkt in State erzeugt, nicht die Readings.
Aber dafür ist das hier der falsche Thread.

Grüße
Philipp

Edit:
define dew_all dewpoint dewpoint .* measured-temp humidity dewpoint

So gehts ;-)[/i]
Titel: Antw:Neues Modul readingsGroup
Beitrag von: MaJu am 16 Juni 2014, 15:06:09
Eine weitere Frage: Ich möchte gerne zu einer Überschrift zwei Readings in den darunterliegenden Zeilen einbringen.

Ist es möglich, in einer Zeile ein Feld über 2 "Zellen" zu bringen? Wie in Excel die Funktion "Zellen verbinden". Ich hatte hier irgendwo gelesen, dass der Text dann zentriert dargestellt wird (ist genau was ich auch brauche), aber ich habe keine "Anleitung" gefunden wie das Verbinden geht.

_______

Ist es möglich, bei einem Reading einen separaten Style-Befehl mit einzubringen? (siehe 2 Posts drüber)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Juni 2014, 15:14:04
schau dir die commandref zu nameStyle und den anderen style attributen an. für welche werte welcher style gelten soll wird im attribut selber konfiguriert.

für die spalten gibt es das valueColumns attribut.

zu allem findest du beispiele im wiki.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Phil__ am 16 Juni 2014, 18:01:12
ZitatnameIcon
Specify the icon to be used instead of the reading name. Can be a simple string or a perl expression enclosed in {} that returns a hash that maps reading names to the icon name. e.g.:
attr devices nameIcon $DEVICE

Hallo,

Wie oben stehend kann man ja den Devicenamen durch ein deviceicon ersetzen.
ist es auch möglich ein Icon vor dem Device Namen anzeigen zu lassen, also beides?

Viele Grüsse
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Juni 2014, 18:15:54
nicht automatisch aber mit etwas handarbeit. ich glaube auch dazu gibt es im thread oder wiki beispiele.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Phil__ am 16 Juni 2014, 19:09:11
Mmmh,

Kann im Wiki kein passendes Beispiel finden.

Nur zB.
Device:<%iconname>,<%alias>,....

Aber dann stehen Icon und Name in zwei seperaten Spalten, würde das aber beides gerne zusammen in der ersten Spalte haben.

@Andre:
Kannst du mir da auf die Sprünge helfen?

Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Juni 2014, 19:13:42
das stimmt. zur zeit geht nur jeweils eine eigene spalte für icon und namen. du kannst aber über den style den rand dazwischen so schmal machen das es fast nicht auffällt.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Phil__ am 16 Juni 2014, 19:15:19
Ist der Rand dann aber zwischen allen Spalten ganz schmal, oder geht das auch nur zwischen erster und zweiter Spalte?

Gesendet von meinem Nexus 5 mit Tapatalk

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Juni 2014, 19:26:12
für die icon spalte den rechten und für die namen spalte den linken rand.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Phil__ am 16 Juni 2014, 20:38:56
Zitat von: justme1968 am 16 Juni 2014, 19:26:12
für die icon spalte den rechten und für die namen spalte den linken rand.

Wie mache ich das?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Juni 2014, 21:57:53
in dem du in die commandref, ins wiki, ins forum und in die css dokumentation schaust.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Phil__ am 17 Juni 2014, 07:38:24
Hallo Andre,

leider bin ich in solchen Sachen nicht so sehr fitt.
Im Forum und im Wiki kann ich nichts finden wie ich den Rand einer speziellen Spalte beeinflussen kann.
Auch die CSS Doku hilft mir leider nicht all zu sehr weiter.
Hättest du vllt doch einen Tipp für mich?

Viele Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Juni 2014, 08:54:11
das hier vielleicht: http://de.selfhtml.org/css/eigenschaften/randabstand.htm (http://de.selfhtml.org/css/eigenschaften/randabstand.htm).

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Phil__ am 17 Juni 2014, 10:02:10
Zitat von: justme1968 am 17 Juni 2014, 08:54:11
das hier vielleicht: http://de.selfhtml.org/css/eigenschaften/randabstand.htm (http://de.selfhtml.org/css/eigenschaften/randabstand.htm).

gruss
  andre

Hi,
ok ich muss margin-right bzw margin-left setzen für die entsprechenden Spalten.
Ich bin aber wohl leider zu sehr Anfänger um das hinzubekommen.

Wäre super wenn mir jemand helfen könnte...
Hier mein Code zu den ReadingsGroups und die Entsprechenden Screenshots.
Die in den Screenshots markierten Bereiche sind die, um die es geht. Dort soll der Abstand der Spalten verringert werden.

define Heizungswerte readingsGroup <%sani_heating>,<>,<%temp_temperature>,<%weather_humidity>,<%fts_window_1w>,<%sani_heating_temp>,<%control_plus>,<>,<%control_minus> \
WZ_WTH:<%scene_livingroom>,<Wohnzimmer>,measured-temp,humidity,dewpoint,desired-temp,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired-temp>,desired-new,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired-temp> \
KU_WTH:<%scene_cooking>,<Küche>,measured-temp,humidity,dewpoint,desired-temp,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired-temp>,desired-new,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired-temp> \
SZ_WTH:<%scene_sleeping>,<Schlafzimmer>,measured-temp,humidity,dewpoint,desired-temp,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired-temp>,desired-new,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired-temp> \
BA_WTH_Climate:<%scene_bath>,<Bad>,measured-temp,humidity,dewpoint,desired-temp,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired-temp>,desired-new,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired-temp> \
attr Heizungswerte nameStyle style="color:black;;font-weight:bold"
attr Heizungswerte group Thermostate
attr Heizungswerte room Technik
attr Heizungswerte valueFormat {"measured-temp" => '%.1f °C', humidity => '%.0f %%', "dewpoint" => '%.1f °C', "desired-temp" => '%.1f °C' }
attr Heizungswerte valueStyle {($VALUE eq "00")?'style="visibility:hidden"':}



define BK_TH_WETTER_LINE readingsGroup BK_TH:<%temp_temperature>,temperature,<%weather_humidity>,humidity,<%temp_frost>,dewpoint
attr BK_TH_WETTER_LINE group Balkon
attr BK_TH_WETTER_LINE room Balkon


Hoffe mir kann geholfen werden... ;-)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: MaJu am 17 Juni 2014, 22:28:04
Zitat von: justme1968 am 14 Juni 2014, 18:07:38- wenn deine sensoren immer das schema aus dem beispiel haben und du ein passendes room attribut gesetzt hast kannst du das ganze auf eine zeile vereinfachen:Sensor_.*:measured-temp,desired-temp,actuator,battery,<{'%'.ReadingsVal("Fenster_$ROOM","state","0")}@state>,<{ReadingsVal("Fenster_$ROOM","battery","0")}@battery>hier wird aus open und closed gleich ein %open bzw. %closed was direkt als icon angezeigt wird wenn du icons mit entsprechendem namen hast.

Hallo Andre,

leider funktioniert longpoll beim Reading nicht. Ich habe folgendes Demo-Beispiel in DEF beim readingsGroup als Auszug des gesamten DEF:Fenster_Wohnzimmer:battery,state,<>

Sensor_Wohnzimmer:<{'%'."Batterie.".ReadingsVal("Fenster_Wohnzimmer","battery","0")}@battery>,<{'%'."Fenster.".ReadingsVal("Fenster_Wohnzimmer","state","0")}@state>,measured-temp


In diesem Test wird also zweimal untereinander der Batterie- und Öffnungsstatus des Fensters ausgegeben, in der unteren Zeile auch die vom Thermostat gemessene Temperatur.

Durch das aktivierte longpoll werden die Werte sofort bei Änderung auch angezeigt (bzw. das entsprechende png-Bild). Allerdings nur bei der ersten Zeile, in der das Device direkt drin steht. Bei der zweiten Zeile ändert sich die Anzeige der gemessenen Temperatur live.
Die Ausgaben der Perl-ReadingsVal ändern sich jedoch nicht live. Erst nach einem Seiten-Refresh sind die Änderungen sichtbar.

Warum, bzw. wie kann man auch hier longpoll "aktivieren"?
"alwaysTrigger" habe ich testweise auf "1" gesetzt, aber das ändert nicht.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhainz am 29 Juni 2014, 20:18:18
Hallo andre,

ich hab eine readingsGroup in einer Gruppe die ich nur wenn ich sie benötige einblenden will. (disable = 0/3). Leider steht aber auch bei disable 3 "Initialized".
Wenn ich die Gruppe lösche ist wie rg wie gewünscht verschwunden.

Könntest du dir das mal bei Zeiten ansehen?


Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 29 Juni 2014, 21:31:52
Hallo, da ich auch schon darüber gestolpert bin, habe ich die rg über "deleteattr myrg room" ausgeblendet.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 Juni 2014, 22:17:50
da ganze liegt nur indirekt an der readingsGroup sonderen daran das fhem web als fallback STATE anzeigt wenn gar nichts als html zurückgegeben wird. aber scheinbar nur wenn das ganze in einer gruppe ist.

ab morgen sollte es gehen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhainz am 03 Juli 2014, 18:23:50
Hallo andre,

danke, sieht schon viel besser aus. Bekommst du das freie Feld noch komplett weg?


Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 03 Juli 2014, 18:30:53
leider nein. zumindest nicht innerhalb der readingsGroup. das ganze drum rum wird ja von fhemweb erzeugt und das komm mit devices die 'unsichtbar' sind nicht klar.

da würde nur ein patch für fhemweb helfen. da komme ich aber gerade leider nicht dazu.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhainz am 03 Juli 2014, 18:32:51
Kein Problem! Ist für mich auch so ok.

Danke für die Mühe!


Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: P.A.Trick am 05 Juli 2014, 17:18:00
Andre, ich habe eine Bitte. Ich habe bei mir MAX! Regler in einer rg. Jetzt im Sommer habe ich
die Regler auf off gesetzt. Dann hat das state-Attribut den Wert off anstatt einer Zahl.

Bedingt durch:
valueFormat {temperature => "%.0f °C", desiredTemperature => "%.0f °C", valveposition =>"%.0f %%",maxValveSetting =>"%.0f %%" }
finden sich im Log dann unschöne Meldungen wie diese hier:

Argument "off" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 529.
Argument "off" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 529.
Argument "off" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 529.
Argument "off" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 529.
Argument "off" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 529.
Argument "off" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 529.
Argument "off" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 529.

Kann man dagegen etwas tun?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 Juli 2014, 17:58:02
versuch mal ob ein zusätzliches ...,valveposition.off =>"%s",... ausgewertet wird. ich kann aber gerade nicht nachschauen ob das an dieser stelle geht.

wenn nicht  musst statt dem einfachen format string "%.0f %%" selber etwas perl code schreiben der den unterschied berücksichtig und als string in {} packen. da kannst du dann etwas in der art einbauen:..., valveposition => '{ ($VALUE eq "off")?"%s":"%.0f %%"}', ...

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: P.A.Trick am 05 Juli 2014, 18:25:23
Zitat von: justme1968 am 05 Juli 2014, 17:58:02
versuch mal ob ein zusätzliches ...,valveposition.off =>"%s",... ausgewertet wird. ich kann aber gerade nicht nachschauen ob das an dieser stelle geht.

Perfekt hat funktioniert! Super vielen lieben Dank!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Heiner am 07 Juli 2014, 10:52:11
Hi, ich habe ein kleines Problem mit dem codeing:

Dieser Code hier funktioniert nicht und ich vermute weil die readigs einen "." im Namen haben. Was muss ich tun damit das klappt?


define ReadingGroup_THZ readingsGroup Heizung:<%sani_boiler_temp@BD7800>,<Wasser>,WWTemp Wechselrichter:<%scene_day@yellow>,<Sonnenminuten>,sunshine.duration Wechselrichter:<%weather_summer@orange>,<UV-Index>,UV.Index Wechselrichter:<%scene_pool@lightblue>,<Pool-Temp>,sensor.1
attr ReadingGroup_THZ valueFormat { WWTemp => '%1.f °C', sunshine.duration => '%1.f °C',sensor.1 => '%1.f °C' }


Ebenfalls toll waere wenn mir jemand sagt wie ich die Soonendauer von Minuten in Stunden umrechnen kann. Ich meine nicht "einfach durch 60 Teilen" sondern wie der code ausehen muesste.

Vielen Dank fuer die Hilfe.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 Juli 2014, 10:59:17
anführungszeichen drum rum machen:attr ReadingGroup_THZ valueFormat { WWTemp => '%1.f °C', 'sunshine.duration' => '%1.f min','sensor.1' => '%1.f °C' }

für die umrechnung auf stunden z.b. etwas in der art:...,'sunshine.duration' => '{int($VALUE/60) ."h ". $VALUE%60 ."min";}',...

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 07 Juli 2014, 17:10:05
hallo leute,

ich probiere gerade readingsgroup aus, und komme jetzt nicht weiter. vielleicht kann mir jemand auf die sprünge helfen. hier meine definitionen:
Internals:
   DEF        <Raum>,<Tist>,<Tsoll>,<Mode>,<Tnight>,<Tday>,<Hum>,<battery>,<Vist>,<Vsoll> Thermostat.(WZ|OZ|AZ|Bad|Kueche|SZ|GZ|Bad.OG):measured-temp,desired-temp,controlMode,night-temp,day-temp,humidity,battery,<{ReadingsVal("Ventil.".substr($DEVICE,11),"ValvePosition","?")}@ValvePosition>,<{ReadingsVal("Ventil.".substr($DEVICE,11),"ValveDesired","?")}@ValveDesired> Broetje:ToutIst
   NAME       myTemp
   NR         455
   NTFY_ORDER 50-myTemp
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Broetje    1
     Thermostat.AZ 1
     Thermostat.Bad 1
     Thermostat.Bad.OG 1
     Thermostat.GZ 1
     Thermostat.Kueche 1
     Thermostat.OZ 1
     Thermostat.SZ 1
     Thermostat.WZ 1
   DEVICES:
     ARRAY(0x14abd48)
     ARRAY(0x12ac840)
     ARRAY(0x14af7d8)
     ARRAY(0x149bfc8)
     ARRAY(0x14af1e8)
     ARRAY(0x1495f30)
     ARRAY(0x14afc30)
     ARRAY(0x149c018)
     ARRAY(0x149c128)
     ARRAY(0x14abd58)
   Fhem:
     last_update 1404742143.40404
   Helper:
     Bm:
       Readingsgroup_get:
         cnt        1
         dmx        0
         mAr
         max        0
         tot        0
       Readingsgroup_notify:
         cnt        894
         dmx        0
         max        342
         tot        11469
         mAr:
           HASH(0x13a4698)
           HASH(0x12b7070)
Attributes:
   commands   { 'desired-temp' => 'desired-temp:','controlMode' => 'controlMode:' }
   mapping    { 'Broetje' => 'Garten','Thermostat.AZ' => 'EG Arbeitszimmer','Thermostat.SZ' => 'OG Schlafzimmer','Thermostat.WZ'=>'EG Wohnzimmer','Thermostat.Kueche' => 'EG Küche','Thermostat.GZ' => 'OG Gästezimmer','Thermostat.Bad' => 'EG Bad','Thermostat.Bad.OG' => 'OG Bad','Thermostat.OZ' => 'EG Kaminzimmer','desired-temp' => '' }
   nameStyle  style="color:yellow"
   notime     1
   room       info
   valueFormat { 'measured-temp' => "%2.1f °C",'ToutIst' => "%2.1f °C",'night-temp' => "%2.1f °C",'day-temp' => "%2.1f °C",'humidity' => "%2i %" }
   valueIcon  {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red'}


ich versuche in einer zeile readings eines weiteren devices zu integrieren. mit folgendem code
<{ReadingsVal("Ventil.".substr($DEVICE,11),"ValvePosition","?")}@ValvePosition>
bekomme ich im prinzip auch die richtigen daten an die richtige stelle. leider sind diese daten vom typ "name" und nicht "value". dadurch bekommen sie die gleiche farbe wie meine überschriften. nicht so schön. das geschieht bestimmt durch die spitzen klammern. aber ohne gibt es nur ärger. ist mein vorhaben nicht umsetzbar, oder kenne ich den trick noch nicht?

eine 2. frage wäre, wie könnte ich den hintergrund einer bestimmten, kompletten zeile farblich verändern? in abhängigkeit eines readings zb.

ps: welcher thread ist eigentlich der richtige für fragen? dieser oder update readingsgroup?

gruss frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 Juli 2014, 18:50:27
zu 1.:
ich bin gerade dabei einzubauen das man direkt das ein reading eines anderen device referenzieren kann. das ganze wird dann so aussehen:define <rg> readingsGroup define:reading1,reading2,readingx@device,reading4an den reading namen wird also mit @ der andere device name angehängt.

das reading ist dann ein 'echtes' reading das mit valueStyle und valueFormat beeinflusst werden kann.

es ist aber zur zeit nur möglich den anderen device namen fest einzutragen. d.h. den namen aus dem aktuellen device zu erzeugen geht noch nicht. da gibt es noch ein kleines logisches problem das ich erst lösen muss.

ich habe mal eine test version mit dem aktuellen stand angehängt.

zu 2.:
das geht zur zeit nicht. ich könnte mir vorstellen ein attribut rowStyle einzubauen.

gruss
  andre

edit: aktualisierte test version im nächsten post.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 Juli 2014, 19:30:25
ich habe das ganze noch etwas erweitert. der @device teil kann jetzt auch @{...} sein und man kann von dort eine eigene sub aufrufen die dann den passenden device namen abhängig vom aktuellen device erzeugt.

also das reading so:...,ValvePosition@{valveOfDevice($DEVICE)},...

und in 99_myUtils.pm:sub
valveOfDevice ($) {
  my ($DEVICE) = @_;

  return "Ventil.".substr($DEVICE,11);
}


in deinem fall enthält der code kein leerzeichen und es würde auch direkt gehen:...,ValvePosition@{"Ventil.".substr($DEVICE,11)},...

gruss
  andre

ps: die readings aus einem anderen device werden wie die <{...}> variante auch noch nicht per longpoll aktualisiert. dazu muss ich erst noch ein paar dinge umbauen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 07 Juli 2014, 21:03:20
hallo andre,

vielen dank für den blitz-service. hier kommen die updates ja schneller, als man updaten kann.  ;)

augenblicklich stürzt fhem regelmässig nach dem modify der definition ab. ich wollte jedes mal die direkte variante probieren, also
...,ValvePosition@{"Ventil.".substr($DEVICE,11)},....

da nicht zu jedem "primär"-device ein "sekundär"-device existiert, vermute ich diesen umstand als ursache. es wird also auf nicht existierende readings zugegriffen, sofern dass nicht abgefangen wird. ich werde aber nochmal die version mit 99-utils probieren, um diese fälle zu unterbinden.

gruss frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 Juli 2014, 21:35:18
nicht existierende readings und nicht existierende devices sollten kein problem sein. bei meinen tests geht es auch damit.

bitte kontrolliere noch mal das du keine leerzeichen eingebaut hast.

steht bei dem absturz etwas im log oder auf der console?

anbei noch mal eine aktualisierte version bei der auch longpoll für die reading@device einträge geht.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 07 Juli 2014, 22:21:00
im fhem.log habe ich bei global verbose=1 keine hinweise gefunden. mit der neuesten version gibt es keinen absturz. dafür auch keine daten. anbei mal ein list
Internals:
   DEF        <Raum>,<Tist>,<Tsoll>,<Mode>,<Tnight>,<Tday>,<Hum>,<battery>,<Vist>,<Vsoll> Thermostat.(WZ|OZ|AZ|Bad|Kueche|SZ|GZ|Bad.OG):measured-temp,desired-temp,controlMode,night-temp,day-temp,humidity,battery,ValvePosition@{"Ventil.".substr($DEVICE,11)},ValveDesired@{"Ventil.".substr($DEVICE,11)} Broetje:ToutIst
   NAME       myTemp
   NR         455
   NTFY_ORDER 50-myTemp
   STATE      Initialized
   TYPE       readingsGroup
   alwaysTrigger 1
   mayBeVisible 1
   Content:
     Broetje    1
     Thermostat.AZ 1
     Thermostat.Bad 1
     Thermostat.Bad.OG 1
     Thermostat.GZ 1
     Thermostat.Kueche 1
     Thermostat.OZ 1
     Thermostat.SZ 1
     Thermostat.WZ 1
   Content2:
   DEVICES:
     ARRAY(0x164a5f8)
     ARRAY(0x16afee8)
     ARRAY(0x1680ff8)
     ARRAY(0x1676300)
     ARRAY(0x14970f8)
     ARRAY(0x1656118)
     ARRAY(0x1497628)
     ARRAY(0x16b0058)
     ARRAY(0x16afeb8)
     ARRAY(0x1497a48)
   DEVICES2:
   Fhem:
     last_update 1404763414.70858
   Helper:
     Bm:
       Readingsgroup_define:
         cnt        1
         dmx        0
         max        57
         tot        57
         mAr:
           HASH(0x13a30d0)
           myTemp readingsGroup <Raum>,<Tist>,<Tsoll>,<Mode>,<Tnight>,<Tday>,<Hum>,<battery>,<Vist>,<Vsoll> Thermostat.(WZ|OZ|AZ|Bad|Kueche|SZ|GZ|Bad.OG):measured-temp,desired-temp,controlMode,night-temp,day-temp,humidity,battery,ValvePosition@{"Ventil.".substr($DEVICE,11)},ValveDesired@{"Ventil.".substr($DEVICE,11)} Broetje:ToutIst
       Readingsgroup_get:
         cnt        2
         dmx        0
         mAr
         max        0
         tot        0
       Readingsgroup_notify:
         cnt        361
         dmx        0
         max        609
         tot        5846
         mAr:
           HASH(0x13a30d0)
           HASH(0x12babd0)
Attributes:
   alwaysTrigger 1
   commands   { 'desired-temp' => 'desired-temp:' }
   mapping    { 'Broetje' => 'Garten','Thermostat.AZ' => 'EG Arbeitszimmer','Thermostat.SZ' => 'OG Schlafzimmer','Thermostat.WZ'=>'EG Wohnzimmer','Thermostat.Kueche' => 'EG Küche','Thermostat.GZ' => 'OG Gästezimmer','Thermostat.Bad' => 'EG Bad','Thermostat.Bad.OG' => 'OG Bad','Thermostat.OZ' => 'EG Kaminzimmer','desired-temp' => '' }
   nameStyle  style="color:yellow"
   notime     1
   room       info
   valueFormat { 'measured-temp' => "%0.1f °C",'ToutIst' => "%.1f °C",'night-temp' => "%.1f °C",'day-temp' => "%.1f °C",'humidity' => "%.0f %" }
   valueIcon  {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red'}

gruss frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 Juli 2014, 22:39:55
ich habe den fehler gefunden.

- im {...} teil sind (wie überall sonst auch) ausser leerzeichen auch keine kommas erlaubt. die direkte version geht also in deinem beispiel auch nicht.
- wenn du die version mit sub in 99_myUtils.pm verwendest sollte deine version schon funktionieren.

- ich habe noch mal eine reparierte version angehängt die verhindert das alles leer bleibt wenn kein device für das @device gefunden wird.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 07 Juli 2014, 22:59:36
alles klar, besten dank.
gruss frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Heiner am 08 Juli 2014, 09:01:13
Hi,

vielen Dank an "justme1968" funktioniert bestens.

.... (wenn man das Semikolon bei der Umrechnung in Stunden weglaesst).
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 08 Juli 2014, 11:40:33
@frank: ich habe den aktuellen stand inzwischen eingecheckt.

es wäre schön wenn du dein komplettes beispiel inklusive screenshot ins wiki stellen oder zumindest noch mal hier posten könntest.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 08 Juli 2014, 12:27:37
mit der myutils-methode funktioniert es bestens. auch longpoll.

ich hatte die direkt-methode noch mal mit
ValvePosition@{$DEVICE=~s/Thermostat/Ventil/}
versucht. ging leider nicht. vielleicht hast du zu dieser idee noch einen verbesserungsvorschlag? masquierung oder umschiffung mit etwas vergleichbarem wie "&nbsp", aber für komma, hättest du wohl schon erwähnt? direkt-methode wäre schon komfortabler.  ;)

so etwas wie spaltensortierung (min, max nach bestimmter spalte) hast du wohl nicht im angebot? ich habe nur sortDevices (alias,devicename,sortby) entdeckt.

wiki kann ich nicht, aber screenshot im anhang und ein list hier
Internals:
   DEF        <Raum>,<Tist>,<Tsoll>,<Mode>,<Tnight>,<Tday>,<Hum>,<BatTC>,<Vist>,<Vsoll>,<Verr>,<BatVD> Thermostat.(WZ|OZ|AZ|Bad|Kueche|SZ|GZ|Bad.OG):measured-temp,desired-temp,controlMode,night-temp,day-temp,humidity,battery,ValvePosition@{valveOfDevice($DEVICE)},ValveDesired@{valveOfDevice($DEVICE)},R-valveErrorPos@{valveOfDevice($DEVICE)},battery@{valveOfDevice($DEVICE)} Broetje:ToutIst
   NAME       myTemp
   NR         455
   NTFY_ORDER 50-myTemp
   STATE      Initialized
   TYPE       readingsGroup
   alwaysTrigger 1
   mayBeVisible 1
   Content:
     Broetje    1
     Thermostat.AZ 1
     Thermostat.Bad 1
     Thermostat.Bad.OG 1
     Thermostat.GZ 1
     Thermostat.Kueche 1
     Thermostat.OZ 1
     Thermostat.SZ 1
     Thermostat.WZ 1
   Content2:
     Ventil.AZ.Nord 1
     Ventil.Bad 1
     Ventil.Kueche 1
     Ventil.SZ  1
     Ventil.WZ  1
   DEVICES:
     ARRAY(0x18ce010)
     ARRAY(0x18cdf50)
     ARRAY(0x18c3470)
     ARRAY(0x18bb1e0)
     ARRAY(0x18cfd40)
     ARRAY(0x18ce1e0)
     ARRAY(0x1884720)
     ARRAY(0x17ba598)
     ARRAY(0x13e03e0)
     ARRAY(0x1884c60)
   DEVICES2:
     ARRAY(0x18ce010)
     ARRAY(0x18cdf50)
     ARRAY(0x18c3470)
     ARRAY(0x18bb1e0)
     ARRAY(0x18cfd40)
     ARRAY(0x18ce1e0)
     ARRAY(0x1884720)
     ARRAY(0x17ba598)
     ARRAY(0x13e03e0)
     ARRAY(0x1884c60)
     ARRAY(0x18c2a18)
     ARRAY(0x1884e60)
     ARRAY(0x8825f0)
     ARRAY(0x1876a40)
     ARRAY(0x17fa040)
     ARRAY(0x17ef1e0)
     ARRAY(0x18cc398)
     ARRAY(0x1898008)
     ARRAY(0x1884b80)
     ARRAY(0x18cc338)
     ARRAY(0x18c2a88)
     ARRAY(0x1884d60)
     ARRAY(0x18c28d8)
     ARRAY(0x1884070)
     ARRAY(0x180cd18)
     ARRAY(0x1884cf0)
     ARRAY(0x18ce170)
     ARRAY(0x18cc568)
     ARRAY(0x18cbdd8)
     ARRAY(0x18843a0)
   Fhem:
     last_update 1404809349.66305
   Helper:
     Bm:
       Readingsgroup_attr:
         cnt        2
         dmx        0
         mAr
         max        0
         tot        0
       Readingsgroup_define:
         cnt        4
         dmx        0
         max        111
         tot        389
         mAr:
           HASH(0x13a30b0)
           myTemp readingsGroup <Raum>,<Tist>,<Tsoll>,<Mode>,<Tnight>,<Tday>,<Hum>,<Bat>,<Vist>,<Vsoll>,<Verr>,<Bat> Thermostat.(WZ|OZ|AZ|Bad|Kueche|SZ|GZ|Bad.OG):measured-temp,desired-temp,controlMode,night-temp,day-temp,humidity,battery,ValvePosition@{valveOfDevice($DEVICE)},ValveDesired@{valveOfDevice($DEVICE)},R-valveErrorPos@{valveOfDevice($DEVICE)},battery@{valveOfDevice($DEVICE)} Broetje:ToutIst
       Readingsgroup_get:
         cnt        10
         dmx        0
         mAr
         max        0
         tot        0
       Readingsgroup_notify:
         cnt        12245
         dmx        0
         max        1158
         tot        244435
         mAr:
           HASH(0x13a30b0)
           HASH(0x12b7440)
Attributes:
   alwaysTrigger 1
   commands   { 'desired-temp' => 'desired-temp:' }
   mapping    { 'Broetje' => 'Garten','Thermostat.AZ' => 'EG Arbeitszimmer','Thermostat.SZ' => 'OG Schlafzimmer','Thermostat.WZ'=>'EG Wohnzimmer','Thermostat.Kueche' => 'EG Küche','Thermostat.GZ' => 'OG Gästezimmer','Thermostat.Bad' => 'EG Bad','Thermostat.Bad.OG' => 'OG Bad','Thermostat.OZ' => 'EG Kaminzimmer','desired-temp' => '' }
   nameStyle  style="color:yellow"
   notime     1
   room       info
   valueFormat { 'measured-temp' => "%0.1f °C",'ToutIst' => "%.1f °C",'night-temp' => "%.1f °C",'day-temp' => "%.1f °C",'humidity' => "%.0f %",'ValvePosition' => "%.0f %",'ValveDesired' => "%.0f %",'R-valveErrorPos' => "%.0f %" }
   valueIcon  {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red'}

und myutils
######################################################
# readingsgroup
######################################################

sub valveOfDevice ($) {
  my ($DEVICE) = @_;
 
  if ($DEVICE =~ m/AZ/) {
  return "Ventil.".substr($DEVICE,11).".Nord";
  }
  else {
  return "Ventil.".substr($DEVICE,11); 
  }
}


gruss frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 08 Juli 2014, 12:42:59
- der =~ operator liefert nicht den wert zurück sondern die anzahl der ersetzungen. du bekommst also keinen device namen so. du musst das ergebnis auch noch zurück geben. das hier sollte gehen:ValvePosition@{$DEVICE=~s/Thermostat/Ventil/;$DEVICE;}

- das mit ersetzen durch &nbsp ist keine wirkliche lösung weil damit dann verbaut wird dasn &nbsp wirklich zu verwenden.
  wenn es komplizierter wird ist die sub eigentlich eine saubere lösung und macht die def auch kürzer.

- wenn ich dazu komme baue ich den kompletten parser um. aber das ist eine größere Baustelle.

- ein sortieren könnte man per javascript einbauen. wenn es freiwillige gibt gerne :)

- das alwaysTrigger solltest du entfernen wenn du es nicht wirklich brauchst. damit werden events und damit die longpoll updates auch getriggert wenn die readingsGroup in keinem browser fenster sichtbar ist. das ist normalerweise völlig überflüssig.

- du je nach dem ob du für deine devices passende alias vergeben hast oder ein passendes room attribut vergeben hast kannst du das mapping mit $ALIAS oder $ROOM eventuell einfacher machen.

- die % anzeige solltest du mit %% maskieren sonst bekommst du fehler im log.

danke für den screensot. ich setze es selber ins wiki.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 08 Juli 2014, 16:03:42
danke für die vielen tipps.

das substituieren
ValvePosition@{$DEVICE=~s/Thermostat/Ventil/;$DEVICE;}
funktioniert auch wunderbar.

das mapping hätte ich auch lieber einfacher gehabt. aber mit meinen alias- und roomattributen leider nicht möglich. da die userreadings sehr viel freude bereiten, wird eine umstellung wohl nicht mehr lange dauern.  ;)

übrigens: cmd-select-listen aus verschiedenen devices (hm-channel) funktionieren auch sehr gut.

gruss frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: harry66 am 10 Juli 2014, 20:11:16
Hallo

ich brauch mal einen Denkanstoß :-[

ich habe folgende readingsGroup gebastelt:
Internals:
   DEF        %sani_heating@lightblue>, <>,<Mode>,<IST-Temp>,<Batterie>,<Einstellung> HT_.*:mode,temperature,battery,desiredTemperature
   NAME       Heizungswerte
   NR         166
   NTFY_ORDER 50-Heizungswerte
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     HT_Badezimmer 1
     HT_Flur    1
     HT_Kueche  1
     HT_Niklas  1
     HT_Patrick 1
     HT_Wohnzimmer_links 1
     HT_Wohnzimmer_rechts 1
   Content2:
   DEVICES:
     ARRAY(0x13bd5a8)
     ARRAY(0x13c9110)
     ARRAY(0x13c9160)
     ARRAY(0x13c91b0)
     ARRAY(0x13c9200)
     ARRAY(0x13c9250)
     ARRAY(0x13c92a0)
     ARRAY(0x13c92f0)
   Fhem:
     last_update 1404971258.58113
Attributes:
   commands   { 'Heizungswerte.auto' => 'set $DEVICE desiredTemperature auto', 'Heizungswerte.manuell' => 'set $DEVICE desiredTemperature manual', 'desiredTemperature' => 'desiredTemperature:' }
   group      Heizungen
   mapping    { 'desiredTemperature' => '' }
   nameStyle  style="color:lightblue;font-weight:bold"
   room       Heizung
   valueFormat { 'desiredTemperature' => "%.1f&deg;C", 'temperature' => "%.1f&deg;C" }
   valueIcon  {'mode.auto' => 'sani_heating_automatic@lightgreen', 'mode.manual' => 'sani_heating_manual@yellow','state.closed' => 'fts_window_1w@lightgreen', 'state.open' => 'fts_window_1w_open@red'}


jetzt möchte ich noch meine 2 Fensterkontakte in die entsprechenden Zeilen mit einem Icon sichtbar machen?

einen von MAX!
Internals:
   CHANGED
   DEF        ShutterContact 0cade0
   IODev      ml
   LASTInputDev ml
   MSGCNT     738
   NAME       FK_Patrick
   NR         237
   STATE      closed
   TYPE       MAX
   addr       0cade0
   backend    ml
   ml_MSGCNT  738
   ml_TIME    2014-07-10 20:05:09
   rferror    0
   serial     KEQ0841064
   type       ShutterContact
   Readings:
     2014-07-10 20:05:09   MAXLAN_error    0
     2014-07-10 20:05:09   MAXLAN_errorInCommand
     2014-07-10 20:05:09   MAXLAN_initialized 1
     2014-07-10 20:05:09   MAXLAN_isAnswer 0
     2014-07-10 20:05:09   MAXLAN_valid    1
     2014-07-10 20:05:09   battery         ok
     2014-07-10 07:47:38   firmware        1.4
     2014-07-10 07:47:38   groupid         4
     2014-07-10 20:05:09   onoff           0
     2014-07-10 20:05:09   state           closed
     2014-07-10 07:47:38   testresult      15
   Internals:
     interfaces switch_active;battery
Attributes:
   IODev      ml
   devStateIcon closed:fts_window_1w@lightgreen opened:fts_window_1w_open@red
   event-on-change-reading .*
   fp_Oben    200,185,0,
   group      Fenster
   room       06Patrick


und einen von Homematic:
Internals:
   DEF        26937C
   HMLAN1_MSGCNT 14
   HMLAN1_RAWMSG E26937C,0000,185E4504,FF,FFB7,1CA64126937CAABB01011964
   HMLAN1_RSSI -73
   HMLAN1_TIME 2014-07-10 17:59:38
   IODev      HMLAN1
   LASTInputDev HMLAN1
   MSGCNT     14
   NAME       FK_Wohnzimmer_mitte
   NR         239
   STATE      tilted
   TYPE       CUL_HM
   lastMsg    No:1C - t:41 s:26937C d:AABB01 011964
   protLastRcv 2014-07-10 17:59:38
   protSnd    14 last_at:2014-07-10 17:59:38
   protState  CMDs_done
   rssi_at_HMLAN1 avg:-77.5 min:-84 max:-73 lst:-73 cnt:14
   Readings:
     2014-07-10 07:47:40   Activity        alive
     2014-07-09 20:17:53   CommandAccepted yes
     2014-07-09 20:17:52   D-firmware      2.4
     2014-07-09 20:17:52   D-serialNr      LEQ0143457
     2014-07-09 20:17:53   PairedTo        0xAABB01
     2014-07-09 20:17:53   R-cyclicInfoMsg off
     2014-07-09 20:17:54   R-eventDlyTime  0 s
     2014-07-09 20:17:54   R-ledOnTime     0.5 s
     2014-07-09 20:17:54   R-msgRhsPosA    closed
     2014-07-09 20:17:54   R-msgRhsPosB    open
     2014-07-09 20:17:54   R-msgRhsPosC    tilted
     2014-07-09 20:17:53   R-pairCentral   0xAABB01
     2014-07-09 20:17:53   R-transmDevTryMax 6
     2014-07-09 20:17:54   R-transmitTryMax 6
     2014-07-09 20:17:53   RegL_00:        02:01 09:00 0A:AA 0B:BB 0C:01 10:01 14:06 00:00
     2014-07-09 20:17:54   RegL_01:        08:00 20:6C 21:00 22:64 30:06 00:00
     2014-07-09 20:18:00   alive           yes
     2014-07-10 17:59:38   battery         ok
     2014-07-10 17:59:38   contact         tilted (to HMLAN1)
     2014-07-09 20:18:00   cover           closed
     2014-07-09 20:18:00   recentStateType info
     2014-07-10 17:59:38   state           tilted
   Helper:
     mId        0030
     rxType     4
     Io:
       newChn     +26937C,00,01,FE1F
       nextSend   1405007978.42529
       prefIO
       rxt        0
       vccu
       p:
         26937C
         00
         01
         FE1F
     Mrssi:
       mNo        1C
       Io:
         HMLAN1     -71
     Prt:
       bErr       0
       sProc      0
       Rspwait:
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
     Rpt:
       IO         HMLAN1
       flg        A
       ts         1405007978.34201
       ack:
         HASH(0x134d8b8)
         1C8002AABB0126937C00
     Rssi:
       At_hmlan1:
         avg        -77.5
         cnt        14
         lst        -73
         max        -73
         min        -84
Attributes:
   IODev      HMLAN1
   actCycle   028:00
   actStatus  alive
   autoReadReg 4_reqStatus
   devStateIcon closed:fts_window_1w@lightgreen opened:fts_window_1w_open@red tilted:fts_window_1w_tilt@orange
   event-on-change-reading .*
   expert     2_full
   firmware   2.4
   fp_Unten   10,460,0,
   model      HM-SEC-RHS
   peerIDs    00000000,
   room       01Wohnzimmer
   serialNr   LEQ0143457
   subType    threeStateSensor


wenn ich das richtig verstanden habe sollte das ja jetzt funktionieren?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 10 Juli 2014, 20:55:03
...,state@{$DEVICE=~m/name_des_thermostats_von_patrick/?"FK_Patrick":""},...
ungetestet. nur als denkanstoss.  ;)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: harry66 am 10 Juli 2014, 21:26:04
was ich an der Geschichte nicht ganz verstehe ist wie die Zuordnung der zusätzlichen state@{$DEVICE.... zu den vorhandenen Zeilen zu handhaben sind.
Das bedeutet ich möchte ja den FK_Patrick auch in der Zeile HT_Patrick stehen haben.

Gruß Rolf
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 Juli 2014, 21:40:12
...,state@{$DEVICE=~m/name_des_thermostats_von_patrick/?"FK_Patrick":""},...geht leider wegen dem doppelpunkt so nicht direkt. du musst das ganze in eine sub in 99_myUtils.pm auslagern so wie weiter oben beschrieben.

also etwa so:define Heizungswerte readingsgroup %sani_heating@lightblue>, <>,<Mode>,<IST-Temp>,<Batterie>,<Einstellung> HT_.*:mode,temperature,battery,desiredTemperature,state@{FK2HT($DEVICE)}

das prinzip dahinter ist das die sub pro zeile aufgerufen wird und du das aktuelle device prüfst und wenn es das passende ist gibst du den fenster kontakt zurück. sonst nichts. wenn ein leeres device zurück kommt wird kein reading angezeigt.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: harry66 am 10 Juli 2014, 22:02:43
Danke für die Erklärung, jetzt hab ich schon mal die Logik verstanden. Dan fange ich mal an meine Programmierkenntnisse aufzufrischen ;D

Gruß Rolf
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 10 Juli 2014, 22:39:45
gibt es eigentlich eine möglichkeit, die readings an eine bestimmte spalte zu binden?

ich habe eine titelzeile mit ca 10 namen (spalten). wenn dann in den folgenden zeilen readings fehlen (zb momentan nicht definiert/existent), rücken ja die nachfolgenden readings der zeile um die fehlenden positionen nach vorne. fehlt gleich das erste reading, ist die zuordnung der übrigen schon völlig durcheinander. ich hoffe das ist verständlich.

gruss frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 Juli 2014, 23:56:14
nein. das geht zur zeit nicht.

das problem ist das die readings in der definition reguläre ausdrücke sind und die position dort nichts über die endgültige position in der tabelle aussagt und mir bis jetzt noch nichts vernünftiges eingefallen war.

du hast mich aber eben auf eine idee gebracht :)

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 11 Juli 2014, 00:08:38
Zitatdu hast mich aber eben auf eine idee gebracht :)
da kann ich ja jetzt gar nicht mehr einschlafen.  ;)

gruss frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 Juli 2014, 14:39:19
sie hier: http://forum.fhem.de/index.php?board=19.0 (http://forum.fhem.de/index.php?board=19.0)

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 11 Juli 2014, 14:46:33
ich möchte wettericons vom weather modul in readingsgroup einfügen. diese befinden sich in fhem/www/images/default/weather.

- kann/muss dieser pfad irgendwo eingetragen werden?
- wo müssen sich die icons befinden?
- welche formate (png, svg, gif, ...) sind für icons erlaubt?

gruss frank

ps: da muss ich wohl mal zu svn.

edit: der link von andre sollte bestimmt dieser sein. http://forum.fhem.de/index.php/topic,25297.0.html (http://forum.fhem.de/index.php/topic,25297.0.html)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 Juli 2014, 14:48:58
die icons müssen da sein wo fhem sie auch sonst findet. die formate könne alles sein was fhem auch sonst versteht.

alle icons die du in der übersicht bei 'Select Icon' siehst kannst du verwenden.

du musst einfach nur den namen des icons mit vorangestelltem % in einem <> angeben oder mit <{}> zurück geben oder mit valueIcon zuordnen.

gruss
  andre

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Mitch am 11 Juli 2014, 14:50:14
Hallo Zusammen,

bin gerade am basteln meiner readingsGroup für meine Heizungen.
Funktioniert soweit sehr gut, allerdings habe ich ein Problem mit dem Einbinden des Dropdown für die desired-Temp.

Wenn ich attr myTemp commands { 'desired-temp' => 'desired-temp:' } das angebe, erscheint zwar ein Dropdown, aber nicht nur mit der Temperature, sondern mit dem Namen und der Temperatur (siehe Bild im Anhang).

Hier meine Config:
define temperatures readingsGroup <%sani_heating_temp>,<Act>,<Soll>,<Ist>,<Modus>,<Fenster>,<Batterie>,< >,< >,< >,< > TYPE=FHT:actuator,desired-temp,measured-temp,mode,window,battery
attr temperatures alias Heizungen
attr temperatures commands { 'desired-temp' => 'desired-temp:' }
attr temperatures group Info
attr temperatures icon temp_temperature
attr temperatures mapping %ALIAS
attr temperatures noheading 0
attr temperatures room Heizung
attr temperatures valueFormat {"desired-temp" => "%.1f °C", "measured-temp" => "%.1f °C", "temperature" => "%.1f °C", "humidity" =>"%.1f %%", "voc" =>"%.0f CO2" }
attr temperatures valueIcon {'battery.ok' => 'batterie', 'battery.low' => 'batterie@red', 'window.open'=>'fts_window_2w_open_lr', 'window.closed'=>'fts_window_2w', 'mode.auto'=>'sani_heating_automatic', 'mode.manual'=>'sani_heating_manual'}



Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 Juli 2014, 14:55:11
dein bild fehlt :)

wenn du das level vor dem drop down weg bekommen willst musst du es mit mapping auf einen leeren/unsichtbaren string mappen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Mitch am 11 Juli 2014, 15:06:21
Super, Danke, das wars.

Bild habe ich trotzdem nochmal angefügt  ;D
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 11 Juli 2014, 16:46:37
Zitatalle icons die du in der übersicht bei 'Select Icon' siehst kannst du verwenden.
danke das war es. wen es noch interessiert der pfad lautet: fhem/www/images/default. die icons aus dem weathermodul liegen eine ebene tiefer und sind so nicht erreichbar. also habe ich sie erstmal rüberkopiert. wahrscheinlich bis zum nächsten update. wenn man hier etwas reinkopiert, muss fhem erst rebooten, damit es die neuen icons kennt.

frage:
ich habe readings definiert. ...icon,fc1_icon,fc2_icon...
die icon namen lauten wie der wert der readings. mit zb
attr valueicon {'battery.ok' => 'batterie@lightgreen','battery.low' => 'batterie@red','icon' => '%VALUE','fc1_icon' => '%VALUE','fc2_icon' => '%VALUE','fc3_icon' => '%VALUE','fc4_icon' => '%VALUE','fc5_icon' => '%VALUE'}
bekomme ich die icons auch angezeigt.

gibt es einen trick dieses zu vereinfachen? so etwas funktioniert leider nicht.
'.*icon' => '%VALUE'

ausserdem. gibt es möglichkeiten die icons in der grösse zu manipulieren? zb ...@50%.

gruss frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 Juli 2014, 17:06:39
du kannst den pfad zu den icons einfach deim icon Path attribut der fhemweb instanz hinzufügen. dann musst du nichts kopieren.

wenn du openautiomation und fhemsvg mit in den iconPath steckst bekommst du noch eine reihe icons mehr.

wenn du den iconPath änderst oder neue icons hin kopierst musst du ein 'set <webinstanz> rereadicons' machen damit die neuen icons bekannt sind.

du kannst das mappng der icons abkürzen wenn du die perl code variante verwendest und alles in eine eigene sub steckst und die icons über einen if/elsif/else baum selber zuweist.

du kannst du auch <{'%'.ReadingsVal($DEVICE,'reading',"")}@reading> verwenden statt die readings anzugeben und mit valueIcon zu mappen.

die größe der icons kannst du nur über die style attribute oder die css files ändern.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: MaJu am 11 Juli 2014, 17:10:01
Zum Wetter: bei mir heißen die Icons zum Beispiel Wetter.03.png.

Mit folgendem Attr im readingsGroup klappt das Mapping:

attr Wetter valueIcon {'fc1_code' => 'Wetter.%VALUE', 'fc2_code' => 'Wetter.%VALUE', 'fc3_code' => 'Wetter.%VALUE', 'fc4_code' => 'Wetter.%VALUE', 'fc5_code' => 'Wetter.%VALUE'}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 11 Juli 2014, 20:24:43
hallo maju,
das mapping ansich klappt bei mir ja. ich wollte nur gerne aus 5 einzelnen mappings ein gemeinsames mapping erzeugen. da die readings alle ähnliche namen haben, dachte ich, man könnte da etwas einfaches zusammenbauen.
mit einer ausgelagerten funktion geht das dann wohl auch, aber das möchte ich mir eigentlich auch wiederum ersparen.

trotzdem danke für den hinweis.

gruss frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: harry66 am 11 Juli 2014, 22:20:24
Hallo

ich wollte nur danke sagen, euer Denkanstoß und ein wenig "perl Grundkurs" haben zu einem "fast" zufriedenstellenden Ergebnis geführt ;D

Mit folgender DEF:
%sani_heating@lightblue>, <>,<Mode>,<IST-Temp>,<Batterie>,<Einstellung>,<Fenster> HT_.*:mode,temperature,battery,desiredTemperature,state@{FK2HT($DEVICE)}

und sub in 99_myUtils.pm:
sub FK2HT ($) {
  my ($DEVICE) = @_;
 
  {
  return "FK_".substr($DEVICE,3);
  }
}


Ach ja und für die Optik noch:
valueIcon  {'mode.auto' => 'sani_heating_automatic@lightgreen', 'mode.manual' => 'sani_heating_manual@yellow','state.closed' => 'fts_window_1w@lightgreen', 'state.opened' => 'fts_window_1w_open@red'}

Für HT_Wohnzimmer_mitte noch ein dummy (gibt ja kein HT in der mitte weil dort die Terrassentür ist  ;) )

Jetzt müsste ich nur noch die Spalte für das Fenster-Icon bei HT_Wohnzimmer_mitte nach hinten schieben können?
Hat hier noch jemand eine Idee??

Gruß

Rolf
Titel: Antw:Neues Modul readingsGroup
Beitrag von: MaJu am 11 Juli 2014, 22:40:09
@frank: Leider weiß ich auch keine Vereinfachung. Auch "fc[1-5]_code" oder "fc[1|2|3|4|5]_code" wird ignoriert.

Vielleicht kann mir jemand helfen, ich stelle mich da wahrlich doof an. Wie kann ich die Breite einer Spalte anpassen? Ich benötige teilweise Abstände zwischen den Texten, habe im Moment einfach etliche leere Spalten eingefügt. Das ist aber alles andere als übersichtlich.

YahooWetter:<heute>,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,fc2_day_of_week,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,fc3_day_of_week,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,fc4_day_of_week,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,fc5_day_of_week

YahooWetter:fc1_code,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,fc2_code,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,fc3_code,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,fc4_code,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,fc5_code

YahooWetter:fc1_high_c,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,fc2_high_c,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,fc3_high_c,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,fc4_high_c,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,fc5_high_c

YahooWetter:fc1_low_c,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,fc2_low_c,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,fc3_low_c,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,fc4_low_c,<>,<>,<>,<>,<>,<>,<>,<>,<>,<>,fc5_low_c


Danke.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 11 Juli 2014, 22:54:20
@ andre
iconpath und rereadicons war genau das richtige. danke.
Zitatdie größe der icons kannst du nur über die style attribute oder die css files ändern.
meinst du die style attribute von readingsgroup?

@rolf
4 leere spalten einfügen. ...,< >,< >,< >,< >,...

gruss frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 Juli 2014, 23:24:34
harry66: das icon verschieben geht ab morgen mit valueColumn. siehe hier: http://forum.fhem.de/index.php/topic,25297.0.html

@MaJu: das geht mit dem alten valueColumns attribut.

@frank: du musst probieren ob es mit einem der style attribute geht oder du das css direkt erweitern musst.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: MaJu am 12 Juli 2014, 00:38:37
@Andre:
Danke, leider verstehe ich "valueColumns" nicht genau.
Damit gebe ich also für alle Werte oder Überschriften der ReadingsGroup an, über wie viele Spalten sie gehen sollen? Ich hatte die Hoffnung, das geht einzeln.

Also das oben genannte Beispiel dann in etwa so:
YahooWetter:<heute>,<'colspan="5"'>,fc2_day_of_week,<'colspan="2"'>,fc3_day_of_week,<'colspan="3"'>,fc4_day_of_week,<'colspan="5"'>,fc5_day_of_week

YahooWetter:fc1_code,<>,fc2_code,<>,fc3_code,<>,fc4_code,<>,fc5_code

YahooWetter:fc1_high_c,<>,fc2_high_c,<>,fc3_high_c,<>,fc4_high_c,<>,fc5_high_c

YahooWetter:fc1_low_c,<>,fc2_low_c,<>,fc3_low_c,<>,fc4_low_c,<>,fc5_low_c
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 12 Juli 2014, 08:48:16
das funktioniert genauso wie alle anderen auch:

und

attr <name> valueColumn { <reading> => 3 }

gruss
  andre
attr <name> valueColumns { <reading> => 'colspan="4"' }

Titel: Antw:Neues Modul readingsGroup
Beitrag von: harry66 am 12 Juli 2014, 19:03:26
Danke Andre

jetzt ist es Perfekt ;D ;D ;D

Gruß
Rolf
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Navigator am 16 Juli 2014, 00:13:39
Seit dem vorletzten Update bekomme ich öfters die Meldung...

Use of uninitialized value $regex in pattern match (m//) at ./FHEM/33_readingsGroup.pm line 553.

An meinen ReadingsGroup habe ich eigentlich nichts geändert.

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Juli 2014, 09:46:33
hab die warnung behoben.

gruss
  andre

ps: deine zeilennummer hat nicht ganz gestimmt. du bist nicht auf dem aktuellsten stand.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Navigator am 16 Juli 2014, 10:31:35
Guten Morgen...

ja stimmt, mit ersterem Update war es noch die 553, einen? Tag später mit dem nächsten Update später ist es die 559.  Hab noch mal ein Update gemacht, eine readingsGroup.pm war diesmal aber nicht dabei. Mein Logfile schwillt leider noch immer mit Meldung an und der Zeilennummer 559.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Juli 2014, 10:39:37
die files für das update werden ein mal pro tag gegen 8 ihr zusammengestellt. die reparierte version steht also morgen per update zur verfügung.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Navigator am 16 Juli 2014, 11:08:22
alles klar...danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Palm_Maniac am 18 Juli 2014, 10:55:27
Hallo und Hilfe...

zunächst mal Vielen Dank an den Entwickler für das tolle Modul. Ich weiß nicht wie es ohne gehen würde. :)

Nun zu meinem Problem im Zusammenhang mit dem Modul.

Im Sommer, also jetzt, habe ich alle meine Thermostate auf OFF stehen. In dem Moment, als ich das erste auf OFF gestellt hatte, wurde und wird mein Log mit der Meldung
Argument "off" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 892.
Argument "off" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 606.

überflutet. Mit ist klar, dass OFF oder ON keine Zahl ist, aber diese Einstellung wird nunmal für die Thermostate angeboten und auch ausgeführt und genutzt. Es sind immer nur die beiden Zeilen 892 und 606.

Meine Logs sind kaum noch scrollbar und extrem unübersichtlich geworden, da diese Meldungen mehrfach pro Sekunde eingetragen werden. Auch FHEM wird dadurch bei mir etwas träger in der Reaktion.

Ich hoffe, ich bin mit der Meldung im richtigen Threat. :) Eingesetzt wird die MAX-Hardware.

Vielen Dank im voraus für die Hilfe.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 18 Juli 2014, 10:58:44
schau mal hier: http://forum.fhem.de/index.php/topic,14425.msg181577.html#msg181577 (http://forum.fhem.de/index.php/topic,14425.msg181577.html#msg181577)

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 18 Juli 2014, 12:20:33
Beruhigend, dass ich nicht der einzige war, dem das passiert ist.

Du kannst im valueFormat statt die Ausgabe der Temperatur als Zahl mit %d(bzw. %.1f) einfach %s verwenden.

Gruß

Elektrolurch
$s
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Palm_Maniac am 18 Juli 2014, 13:26:18
Hallo,

vielen Dank für den Tip. Wie in den verlinkten Threat zu lesen, war es bei mir aber nicht das Problem mit dem valveposition Reading. Das gibt bei OFF immer ne 0 aus. Das Reading desiredTemperature übermittelt hier das ON oder OFF, welches dann auch im Reading STATE auftaucht. Seitdem ich den Tip dann auf das desiredTemperature Reading angewendet hatte, kamen keine neuen Meldungen mehr im Log vor.

Bei mir sieht die Zeile jetzt so aus:

attr Erdgeschoss valueFormat { 'desiredTemperature.off' => "%s", 'desiredTemperature' => "%.1f&deg;;C", 'temperature' => "%.1f&deg;;C", 'valveposition' => "%.0f %%" }

Vielen Dank nochmal. Jetzt bläht sich endlich das Log nicht mehr so aus. :D
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 21 Juli 2014, 23:52:31
ich würde gerne die farbe der values des readings dewpoint in abhängigkeit des readings measured-temp einstellen. die readings beziehen sich auf das selbe device in der gleichen zeile. kann das funktionieren und ich mache etwas falsch? oder funktioniert das erst in einer zukünftigen version?  ;)

der folgende code ist ein ausschnitt vom attr valuestyle.

elsif($READING eq "dewpoint"){
    if($DEVICE.measured-temp > ($VALUE + 3)){'style="color:lightgreen"'}
    elsif($DEVICE.measured-temp > $VALUE){'style="color:yellow"'}
    else{'style="color:orangered"'}}


gruss frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 21 Juli 2014, 23:55:03
du musst dir den wert von measured-temp jeweils selber mir ReadingsVal holen. readibgsGroup übergibt dir immer nur die werte für das aktuelle reading.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 21 Juli 2014, 23:55:39
du musst dir den wert von measured-temp jeweils selber mir ReadingsVal holen. readibgsGroup übergibt dir immer nur die werte für das aktuelle reading.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 22 Juli 2014, 00:08:36
danke, perfekt.

gruss frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Philip am 28 Juli 2014, 10:55:43
Hallo zusammen,

das Modul readingsGroup ist spitze!

Ich nutze mehrere Türkontakte. Für diese habe ich mit valueIcon 'state.open' => '...', 'state.closed' => '...' Türsymbole gesetzt.
Einer dieser Türkontakte ist aber am Garagentor eingebaut. Kann ich für diesen einen ein anderes Symbol setzen? So etwas wie 'Tor:state.open' => '...' 'Tor:state.closed' => '...'?

Vielen Dank,

Philip
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 28 Juli 2014, 11:20:39
'state.closed' => '{if($DEVICE eq "Tuer"){return tuer_icon}elsif($DEVICE eq "Tor"){return tor_icon}}'
eventuell so etwas.

gruss frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 28 Juli 2014, 11:42:33
nein. das geht nicht direkt über das mapping.

du kannst entweder wie im beispiel von frank auf die perl code version ausweichen

oder du kannst mit valueFormat  das closed und open für die garage in etwas anderes umwandeln. z.b. garageOpen und garageClosed und dies dann im valueIcon verwesen

oder wenn es sich sowieso um state dreht die icons schon im original device mit devStateIcon zuweisen und dann in der readingsGroup dann einfach %devStateIcon als mappng verwenden. die readingsGroup nimmt dan das aktuelle devStateIcon des device.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Philip am 28 Juli 2014, 11:54:08
Vielen Dank, mit %devStateIcon hat es geklappt. Wald -> Bäume  8)

Gruß, Philip
Titel: Antw:Neues Modul readingsGroup
Beitrag von: awel am 29 Juli 2014, 22:54:15
Ausrichtung 1.Spalte mit SVG bei Style SmallScreen

Hallo und vielen Dank für das tolle Modul.

Ich habe ein Problem bei Verwendung eines Styles vom Typ SmallScreen (darksmallscreen, ios7smallscreen und [default] smallscreen):

Es handelt sich um eine Anrufliste mit der svg-Garfik in der ersten Spalte. Beim Style Smallscreen wird diese erste Spalte unnötig breit -breiter als alle anderen Elemente des rooms- dargestellt, während gleichzeitig die svg-Grafik ganz rechts in der Spalte sitzt.
Wie bekomme ich im Smallscreen die readingsgroup-Tabelle passend?
Als Anlage 2 Screenshots.

Vielen Dank für jede Hilfe oder Anpassung des Moduls,
awel




Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 30 Juli 2014, 11:07:45
bitte poste mal die definition deiner readingsGroup.

am aller besten wäre es wenn du das problem mit ein paar dummys reproduzieren kannst und dann die konfiguration poststes.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: awel am 30 Juli 2014, 17:43:41
Hallo Andre,

Danke für die schnelle Reaktion. Das Ganze ist ein Beispielprojekt aus dem Wiki, ohne Änderungen 1:1 übernommen (Callmonitor mit Anruferliste und Zusatzfunktionen (http://www.fhemwiki.de/wiki/Callmonitor_mit_Anruferliste_und_Zusatzfunktionen)).

Readingsgroup lautet darin wie folgt:
# Anzeige der Anrufliste generieren:
define Anrufliste readingsGroup my_callmonitor:A0,B0,C0,D0,E0 my_callmonitor:A1,B1,C1,D1,E1 my_callmonitor:A2,B2,C2,D2,E2 my_callmonitor:A3,B3,C3,D3,E3 my_callmonitor:A4,B4,C4,D4,E4
#attr Anrufliste fp_9_Telefon 370,206,0,Anrufliste
attr Anrufliste mapping &nbsp
attr Anrufliste nameStyle style="font-weight:bold"
attr Anrufliste noheading 0
attr Anrufliste nolinks 1
attr Anrufliste nostate 1
attr Anrufliste notime 1
attr Anrufliste room 0_Überblick
attr Anrufliste style style="font-size:20px"
attr Anrufliste valueIcon {'A0.out_connected' => 'phone_call_out@lightgreen', 'A0.out_notconnected' => 'phone_call_out@red','A0.in_connected' => 'phone_call_in@lightgreen','A0.in_notconnected' => 'phone_call_in@red', 'A0.AB' => 'audio_volume_mid@lightgreen', 'A1.out_connected' => 'phone_call_out@lightgreen', 'A1.out_notconnected' => 'phone_call_out@red','A1.in_connected' => 'phone_call_in@lightgreen','A1.in_notconnected' => 'phone_call_in@red', 'A1.AB' => 'audio_volume_mid@lightgreen','A2.out_connected' => 'phone_call_out@lightgreen', 'A2.out_notconnected' => 'phone_call_out@red','A2.in_connected' => 'phone_call_in@lightgreen','A2.in_notconnected' => 'phone_call_in@red', 'A2.AB' => 'audio_volume_mid@lightgreen','A3.out_connected' => 'phone_call_out@lightgreen', 'A3.out_notconnected' => 'phone_call_out@red','A3.in_connected' => 'phone_call_in@lightgreen','A3.in_notconnected' => 'phone_call_in@red', 'A3.AB' => 'audio_volume_mid@lightgreen','A4.out_connected' => 'phone_call_out@lightgreen', 'A4.out_notconnected' => 'phone_call_out@red','A4.in_connected' => 'phone_call_in@lightgreen','A4.in_notconnected' => 'phone_call_in@red', 'A4.AB' => 'audio_volume_mid@lightgreen'}


Als Anfänger interpretiere ich mal:
Ich habe noch etwas mit readingsGroup ohne Grafiken oder Icons gespielt: Da scheint generell bei Smallscreen-Styles die erste Namensspalte deutlich breiter angezeigt zu werden als bei den anderen Styles.
Welches css spielt da in der Kombination bei allen Smallscreens nicht richtig mit readingsGroup zusammen, bei den Normalen Bildschirmbreiten/Styles allerdings doch?

Gruss
Achim
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 30 Juli 2014, 18:47:42
ja da ganze hängt mit dem css zusammen. nonames ist neu. das gibt es erst seit kurzem. davor war das mapping auf &nbsp; der einzige weg 'nichts' in der ersten spate anzuzeigen. schau mal was passiert wenn du nonames verwendest und mit <> noch eine zusätzliche spalte vor alle anderen setzt.

aber eigentlich sollte mit nonames und ohne extra spalte der platz optimal ausgenutzt werden.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: awel am 30 Juli 2014, 19:20:04
dann ist da wohl in denn css der SmallScreens noch eine kleine Macke, wenn die sich so anders verhalten.

Ich habe jetzt mit nonames die Spalte ausgeblendet und in dem valueStyle ein padding-left und ein padding-right eingefügt, um kleine Abstände zwischen den Tabellenzellen zu erhalten.
Sieht sogar besser aus als vorher  ;D

Danke für Deine Mühen und einen schönen Urlaub
Achim
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 30 Juli 2014, 19:43:57
es wäre schön wenn jemand das um wiki ergänzen würde.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: oniT am 10 August 2014, 16:53:30
Hallo Andre,

ist auch ein DropDownfeld für ein Dummy oder ein Device möglich. Also dort wo man zum Beispiel Werte über setList eintragen kann? Und wenn es bereits funktionieren sollte, wie kann ich dies einbinden?

Danke

Gruß
Tino
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 August 2014, 17:43:36
um anklickbare links oder dropdown menüs zu bekommen ist das commands attribut.

beispiele im wiki oder hier im forum.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 15 August 2014, 10:17:02
Hallo Andre, vielleicht kannst du mir weiterhelfen? Ich habe eine Readingsgroup, ähnlich der im WIKI, für die Heizung. Der Name der Readingsgroup ist Heizungswerte2. Ich brauche diese Readingsgroup OHNE den Namen "Heizungswerte2" in einem Floorplan. Hast du eine Idee, wie ich den Namen unterdrücken kann?

define notifyHeizungUpDown notify .*:desired-new.* { myUtils_HeizungUpDownNotify($NAME,$EVTPART1);; }
attr notifyHeizungUpDown DbLogExclude .*
define Heizungswerte2 readingsGroup <%sani_heating>, < >,<Act>,<Soll>,<Ist> \
Bad_Heizung_ClimRT_tr|Kueche_Heizung_ClimRT_tr|SZ_Heizung_links_ClimRT_tr|SZ_Heizung_rechts_ClimRT_tr|Kinderzimmer_Heizung_links_ClimRT_tr|Kinderzimmer_Heizung_rechts_ClimRT_tr|Flur_Heizung_Clima|WZ_links_Heizung_Clima|WZ_rechts_Heizung_Clima:ValvePosition,desired-temp,measured-temp,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired.*>,desired.new,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired.*>
attr Heizungswerte2 fp_Heizung_FP 40,250,0,
attr Heizungswerte2 fp_Status 120,1050,0,
attr Heizungswerte2 group Thermostate
attr Heizungswerte2 nameStyle style="color:yellow"
attr Heizungswerte2 room Heizung
attr Heizungswerte2 valueIcon {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red', 'window.closed' => 'fts_window_1w@lightgreen', 'window.open' => 'fts_window_1w_open@red'}
attr Heizungswerte2 valueStyle {($VALUE eq "00")?'style="visibility:hidden"':''}
#


VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 15 August 2014, 10:56:19
attr Heizungswerte2 noheading 1

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 15 August 2014, 11:03:35
Danke, solche "Feinheiten" kennt der DAU natürlich nicht  :)

VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Invers am 18 August 2014, 15:16:02
Hallo, Andre,

Du hattest mir mal bei Readingsgroup geholfen, folgendes zu erstellen:
define Stromverbrauch readingsGroup <%time_eco_mode>,<Ampere>,<Watt>,<Gesamt>,<°C> TYPE=FBDECT:current,power,energy,temperature
attr Stromverbrauch group Verbrauch
attr Stromverbrauch nameStyle style="color:yellow;;font-weight:bold"
attr Stromverbrauch room FHT
attr Stromverbrauch valueFormat { return $VALUE if( $READING ne "energy");; $VALUE=~s/ Wh//;; sprintf('%.3f kWh', $VALUE/1000) }
attr Stromverbrauch valueStyle style="text-align:right"


Nun wird ja die Temperatur inzwischen angezeigt, und ich möchte die auch nutzen. Leider sieht das Ergebnis nicht so toll aus. Kannst du mir noch einmal helfen, dass nur die Gradzahl angezeigt und der Rest ausgeblendet wird? Ich bekomme das nicht gebacken. Guck mal Bild unten. Für dich ist das bestimmt ein Klacks. :-)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 18 August 2014, 16:03:11
abschneiden kannst du  das z.b. mit$VALUE=~s/ .measured.//das baust du in ein eigenes if an den anfang deines valueFormat. z.b. so:attr Stromverbrauch valueFormat { if( $READING eq "temperature"){ $VALUE=~s/ .measured.//;return $VALUE;} return $VALUE if( $READING ne "energy"); $VALUE=~s/ Wh//; sprintf('%.3f kWh', $VALUE/1000) }

oder vielleicht auf dauer übersichtlicher so:attr Stromverbrauch valueFormat { energy => '{$VALUE=~s/ Wh//; sprintf('%.3f kWh', $VALUE/1000) }', temperature => '{$VALUE=~s/ C .*/ &deg;C/};$VALUE}' }

gruss
  andre

das oben ist zum direkten eintragen im web frontend. als nichts extra maskiert oder verdoppelt.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Invers am 18 August 2014, 19:51:32
Danke für die detaillierte Erklärung und die Lösung. Wie immer sehr gut verständlich.
Beispiel 1 funktioniert, Beispiel 2 nicht. Ist aber nicht schlimm, denn es läuft ja.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 19 August 2014, 22:11:36
Hi,

ich habe den FritzBox Callmonitor um die UserReadings F0-F4 erweitert. Im entsprechenden Modul 99_MyUtilsTelefon.pm dann ebenfalls Coding an bestimmten Stellen eingefügt, die das jeweilige valueIcon gleich mitliefert.  Beispielsweise
        if ( $lastPhoneEvent[$callID] eq "call" )
        {
            if ( $intCallDuration eq 0 )
            {
                $A[$callID] = "out_notconnected";
                $F[$callID] = "phone_ring_out\@red";
                # hier notieren was passieren soll, wenn es ein eingehender Anruf war,
                # der nicht angenommen wurde


Ergebnis siehe Bild userReadings.

Dann dachte ich, solle das valueIcon dynamisch aus den userReadings F0-F4 gezogen werden. Und an dieser Stelle bin ich dann hängen geblieben. Wäre dies überhaupt möglich, damit ich nicht diesen ellenlangen Konstrukt verwenden muss:
attr Anrufliste valueIcon { 'A0.out' => 'phone_call@lightgreen', 'A0.in_connected' => 'phone_call@red', 'A0.AB' => 'audio_volume_mid@lightgreen', 'A1.out' => 'phone_call@lightgreen', 'A1.in_connected' => 'phone_call@red', 'A1.AB' => 'audio_volume_mid@lightgreen', 'A2.out' => 'phone_call@lightgreen', 'A2.in_connected' => 'phone_call@red', 'A2.AB' => 'audio_volume_mid@lightgreen', 'A3.out' => 'phone_call@lightgreen', 'A3.in_connected' => 'phone_call@red', 'A3.AB' => 'audio_volume_mid@lightgreen', 'A4.out' => 'phone_call@lightgreen', 'A4.in_connected' => 'phone_call@red', 'A4.AB' => 'audio_volume_mid@lightgreen' }

Ich habe natürlich schon ein wenig rumprobiert:
attr Anrufliste valueIcon { "A%" => ReadingsVal("$DEVICE","F%","0") }
oder
attr Anrufliste valueIcon { state => 'FritzBox:F*' }
Aber ich glaub da bin ich jetzt auf dem Holzweg. Wie gesagt, eventuell ist es ja gar nicht möglich sowas zu verwenden?

Grüße,
Michael

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 19 August 2014, 22:46:24
es geht zur zeit tatsächlich nur über die lange version und nicht dynamisch.

der perl ausdruck wird zur zeit ein mal am anfang vor dem aufbau der html tabelle ausgewertet und nicht wie bei den meisten anderen attributen dynamisch für jedes reading neu.

der code ist zwar schon da aber noch nicht aktiv weil ich angst habe das es nicht ganz rückwärts kompatibel ist.

ich versuche das noch mal anzugehen wenn ich die readingsGroup etwas aufgeräumt habe. ich weiss aber noch nicht wann ich dazu komme.

gruss
  andre

ps: eventuell geht es dynamisch wenn du zuerst mit valueFormat dynamisch aus dem wert den icon namen machst und dann in valueIcon einfach nur noch $VALUE verwendest.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 19 August 2014, 22:57:08
Zitat von: justme1968 am 19 August 2014, 22:46:24
ps: eventuell geht es dynamisch wenn du zuerst mit valueFormat dynamisch aus dem wert den icon namen machst und dann in valueIcon einfach nur noch $VALUE verwendest.

Wäre prima, wenn dies im Standard implementiert werden würde. Das mit valueFormat würde aber m.E. bedeuten, dass ich dort auch sämtliche möglichen Werte bezogen auf die "Spalte" A0 angeben müsste.

Sowas wie attr AnrufListe valueFormat { "A0.out" => "phone_call@lightgreen"}

Da würde ich mir aber rein gar nichts sparen, sondern nur von valueIcon nach valueFormat verlagern. Oder ich kapiers nicht ganz, wie das anders zu lösen wäre.

Michael
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 20 August 2014, 20:23:14
in valueFormat kannst du eine perl routine setzen die dann dymanisch für jedes reading aufgerufen wird.

aber noch mal zurück. du hast als reading wert schon dynamisch den namen des richtigen icon stehen? so wie es auf dem screenshot oben ist ? dan brauchst du doch nur ein einfachesattr AnrufListe valueIcon %VALUE

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 20 August 2014, 20:32:29
Hmm ja, sieht so aus, als ob es damit möglich wäre  ;) nur woher weiß das Script von welcher Variablen Ax bis Fx es den Wert lesen soll? Das Icon steht in F0 - F4.

Wenn ich es so mache wie von dir vorgeschlagen, dann kommt das heraus wie es im Anhang zu sehen ist  >:(

Michael
Titel: Antw:Neues Modul readingsGroup
Beitrag von: idi am 22 August 2014, 08:14:39
Hallo

Bin noch ziemlicher Anfänger, und hab ein Problem mit readingsgroups.
Wie im Anhang zu sehen, möchte ich die Werte lauf Grafik anordnen.

Kann mir da jemand helfen ?

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: wkarl am 25 August 2014, 12:40:55
Hallo Idi,

ich vermute mal es handelt sich um unterschiedliche devices. Du findest folgend als Beispiel eine meiner Definitionen unterschiedlicher devices in einer 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"}
Der erste screenshot zeigt wie es aussieht.
Der zweite den code mit den unterschiedlichen Zugriffen, es handelt sich dabei um TC und DN Thermostate.

ciao walter
Titel: Antw:Neues Modul readingsGroup
Beitrag von: idi am 25 August 2014, 14:43:22
Hallo wkarl

Erstmal danke für deine Antwort.
Leider ist mir das noch alles etwas zu viel.
Wie könnte das in meinem Fall jetzt aussehen um gewünschtes Ergebnis zu erlangen ?

Es gibt die beiden Devices, die es gilt neben einander dar zu stellen.

Besten Dank nochmal
Titel: Antw:Neues Modul readingsGroup
Beitrag von: idi am 26 August 2014, 10:53:35
Hallo nochmal

Möcht mich nochmal bedanken.
Habs jetzt trotzdem hinbekommen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 26 August 2014, 17:50:41
Hallo Andre,

habe da ein kleines Problem mit der Aktualisierung der Bildschirmanzeige einer readingsGroup, obwohl die readings geschrieben wurden, wird die Anzeige nicht aktualisiert. Erst nach Drücken von F5.

Also:
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

mapping {'meineFB' => '{sprintf("%d.",$ROW-1);}'}
noheading 0
nolinks 1
nostate 1
notime 1
room Telefon

Nutze aktuellen Firefox.
attr WEB longpoll 1
ist auch gesetzt.

Die Werte werden mit folgendem Code in die readings geschrieben:

my $update = 1;
...

readingsBeginUpdate($hash);

for ($i=$maxlines;$i>0; $i--)
{
foreach $j ('A'..'F')
{
my $k = $j . ($i-1);
$tt = $rhash->{$k}{VAL};
next if(!defined($tt));

# $tt = ReadingsVal($meineFB,$j.($i-1),"-");
readingsBulkUpdate($hash,$j.$i,$tt,$update);
} # end j
} # end i

foreach my $k ('A'..'F')
{
# Log3($name,4,"Updater first line: k $k val $callmem{$ID}{$k}");
  readingsBulkUpdate($hash,$k."0",$callmem{$ID}{$k},$update);
}
  readingsEndUpdate($hash, $update);

meine FB ist vom type FB_CALLMONITOR

Sollte also eigentlich alles richtig sein.
Einen Tipp, woran es liegen könnte?

Gruß


Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 26 August 2014, 18:04:52
ich versuche das nachzustellen sobald ich dazu komme. da ich weder fritzbox noch callmonitor habe wäre es hilfreich wenn du mir eine komplette konfiguration (inklusive dummys) machen kannst bein der das problem auftritt.

in der zwischenzeit schau mal bitte im event monitor ob events von der readingsGroup kommen.

schau dir auch mit
firebug mal die fhem web seite an. die einzelnen zellen der tabelle sollten ein inform id tag haben zu dem das event jeweils passen muss.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 26 August 2014, 19:01:08
Hallo Andre,

danke für das Angebot. Jetzt habe ich für den Test eine Umstellung gemacht und speichere die Informationen der Anrufe nicht mehr bei der Fritzbox, sondern in einem eigenen dummy -> und siehe da, jetzt wird zumindest bei einem Anruf die erste Zeile aktualisiert. Tue mich da beim Testen wegen Scrrenreader etwas schwer, kann ja auch noch sein, dass der das Update auf dem Scrren nicht mitbekommt.

Mich wundert das etwas, da müsste ja das FBCallMonitor - Modul etwas mit den Events machen, wenn ich da readings hinterlege, die ihm ursprünglich ja nicht bekannt waren....

Werde da mal weiter forschen....

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 27 August 2014, 12:21:14
Zitat von: justme1968 am 26 August 2014, 18:04:52
schau dir auch mit
firebug mal die fhem web seite an. die einzelnen zellen der tabelle sollten ein inform id tag haben zu dem das event jeweils passen muss.
Andre,

ich habe das jetzt mal geprüft, siehe angehängte Datei und hier als Ausschnitt noch eingefügt, Taebllenzeile 1, Spalte 1 sowie Spalte 2
<td informid="Anrufliste-FritzBox.A0">
<div informid="Anrufliste-FritzBox.B0">11:19:08 27.08.2014</div>


Ich weiß jetzt nicht genau was "zum event passen" genau bedeutet. Deshalb hier der Auszug aus der fhem.cfg:
define FritzBox FB_CALLMONITOR 192.168.6.1:1012
attr FritzBox local-area-code 0xxxx
attr FritzBox reverse-search all
attr FritzBox reverse-search-cache 1
attr FritzBox reverse-search-cache-file ./log/FritzBox_Cache.txt
attr FritzBox reverse-search-phonebook-file ./log/FritzBox_Telefonbuch.xml
attr FritzBox userReadings eing0 eing1 eing2 eing3 eing4 A0 A1 A2 A3 A4 B0 B1 B2 B3 B4 C0 C1 C2 C3 C4 D0 D1 D2 D3 D4 E0 E1 E2 E3 E4 F0 F1 F2 F3 F4
attr FritzBox verbose 0
attr FritzBox unique-call-ids 1

define FileLog_FritzBox FileLog ./log/FritzBox-%Y.log FritzBox
attr FileLog_FritzBox logtype text

# Normale Anrufe
#define not.FBCallNotify notify FritzBox:.* { FB_TelefonMonitor ($NAME,$EVENT);; }
define not.FBCallNotify notify FritzBox:.* { FB_TelefonMonitor ($EVENT);; }
attr not.FBCallNotify room Telefon
attr not.FBCallNotify sortby C01

define Anrufliste readingsGroup FritzBox:A0,B0,C0,D0,E0 FritzBox:A1,B1,C1,D1,E1 FritzBox:A2,B2,C2,D2,E2 FritzBox:A3,B3,C3,D3,E3 FritzBox:A4,B4,C4,D4,E4
attr Anrufliste mapping &nbsp
attr Anrufliste nameStyle style="font-weight:bold"
attr Anrufliste noheading 0
attr Anrufliste nolinks 1
attr Anrufliste nostate 1
attr Anrufliste notime 1
attr Anrufliste room Telefon
attr Anrufliste style style="font-size:20px"
attr Anrufliste valueIcon {'A0.out_connected' => 'phone_ring_out@green', 'A0.in_connected' => 'phone_ring_in@green', 'A0.AB' => 'audio_volume_mid@lightgreen', 'A0.in_notconnected' => 'phone_ring_in@red', 'A0.out_notconnected' => 'phone_ring_out@red', 'A1.out_connected' => 'phone_ring_out@green', 'A1.in_connected' => 'phone_ring_in@green', 'A1.AB' => 'audio_volume_mid@lightgreen', 'A1.in_notconnected' => 'phone_ring_in@red', 'A1.out_notconnected' => 'phone_ring_out@red', 'A2.out_connected' => 'phone_ring_out@green', 'A2.in_connected' => 'phone_ring_in@green', 'A2.AB' => 'audio_volume_mid@lightgreen', 'A2.in_notconnected' => 'phone_ring_in@red', 'A2.out_notconnected' => 'phone_ring_out@red', 'A3.out_connected' => 'phone_ring_out@green', 'A3.in_connected' => 'phone_ring_in@green', 'A3.AB' => 'audio_volume_mid@lightgreen', 'A3.in_notconnected' => 'phone_ring_in@red', 'A3.out_notconnected' => 'phone_ring_out@red', 'A4.out_connected' => 'phone_ring_out@green', 'A4.in_connected' => 'phone_ring_in@green', 'A4.AB' => 'audio_volume_mid@lightgreen','A4.in_notconnected' => 'phone_ring_in@red', 'A4.out_notconnected' => 'phone_ring_out@red', }


Also mein Event heißt schon Mal anders, als die IDs im HTML Coding. Weiß nicht, ob du das gemeint hast?

Grüße,
Michael
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 27 August 2014, 13:59:08
Mal ein etwas anderes Problem mit den readingsGroup. Ich habe MAX Fensterkontakte, die beispielsweise wie folgt lauten: KellerHeizung, KellerWerkstatt, GarageRechts, GarageLinks.

Während die mit Keller tatsächlich den Zustand von Fenster (opened,closed) repräsentieren, sind geben die mit Garage den Zustand der Garagentore an.

Ich möchte jetzt den Zustand der Fenster mit den Symbolen der Fenster und den Zustand der Garagentore mit anderen Symbolen darstellen. Da aber der Zustand nur über das Reading state geht, und dort immer der gleiche Inhalt drin steht, kann ich nicht unterscheiden, ob der Zustand von den Fenstern oder den Toren kommt. Zumindest ich kann es bisher nicht:

Das folgende Attribut stellt derzeit ALLE Kontakte mit dem Symbol Fenster offen oder Fenster geschlossen dar. Das mit den Toren kann ich, wie gesagt, momentan nicht:

attr Oeffnungszeiten valueIcon {'state.closed' => 'fts_window_roof@green', 'state.opened' => 'fts_window_roof_open_2@red', 'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red'}

Die Symbole, die ich für die Tore verwenden möchte: closed:fts_garage_door_100@green opened:fts_garage@red.

Dann habe ich noch ein kleines Darstellungsproblem, siehe angefügtes Bild.

define Oeffnungszeiten readingsGroup <%temp_temperature>,< >,<Raum>,<Zustand>,<Batterie> TYPE=MAX:state,battery
attr Oeffnungszeiten alias Öffnungszeiten
attr Oeffnungszeiten mapping %ALIAS
attr Oeffnungszeiten room Keller
attr Oeffnungszeiten notime 1
attr Oeffnungszeiten valueIcon {'state.closed' => 'fts_window_roof@green', 'state.opened' => 'fts_window_roof_open_2@red', 'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red'}
attr Oeffnungszeiten nameStyle style=color:yellow;;font-weight:bold;;text-align:left


Und zwar mit den Überschriften und den Werten. Die Überschriften sind zu weit rechts, die Werte würden passen. Im Wiki sind bei allen Beispielen die Überschriften und die darunter stehenden Werte immer unter einander.

Kann mir hier jemand einen Tipp geben?

Danke,
Michael


Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 August 2014, 14:06:25
zu der frage mit den unterschiedlichen symbolen für tür und garage gibt es weiter oben schon etwas. du hast beim mapping auch zugriff auf device namen.

du hast vor ein leeres <> zu viel in der überschriften zeile.

alles andre muss ich mir in ruhe anschauen. vermutlich erst nächste woche.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 27 August 2014, 14:34:34
Hallo,

ich baue mir gerade eine ReadingsGroup zur Handbedienung meiner Heizkörper (hm-cc-rt-dn) zusammen. Hierbei möchte ich nicht den Wert desired-temp setzen, sondern den Wert für controlManu. Da es für controlManu aber kein Reading gibt, dachte ich, ich könnte den Wert von desired-temp zur Auswahl des korrekten Wertes des Liste controlManu nehmen - funktioniert aber leider nicht :(

Hat jemand eine Idee, wie ich den korrekten Wert in der Liste vorselektieren kann?

Hier meine ReadingGroup:

define DG.wz.HZ.Heizkoerperventil.RG readingsGroup <%sani_heating>,< >,< >,< >,< >,< >,< > <Ist>,<Soll>,<Mode>,<bis>,<Bat>,<Ventil> DG.wz.HZ.Heizkoerperventil.Clima:measured-temp,desired-temp,controlMode,<{getHeatingModeUntil($DEVICE)}@controlMode>,battery@{getHeatingDeviceName($DEVICE)},ValvePosition,<{getHeatingStateIcon($DEVICE)}@state>,<{getHeatingStateValue($DEVICE)}@state>
attr DG.wz.HZ.Heizkoerperventil.RG commands { 'desired-temp' => 'desired-temp:' }
attr DG.wz.HZ.Heizkoerperventil.RG fp_Wohnzimmer 341,343,0,
attr DG.wz.HZ.Heizkoerperventil.RG mapping {'desired-temp' => ''}
attr DG.wz.HZ.Heizkoerperventil.RG nameStyle style="color:yellow;;font-weight:bold;;text-align:center"
attr DG.wz.HZ.Heizkoerperventil.RG noheading 1
attr DG.wz.HZ.Heizkoerperventil.RG nonames 1
attr DG.wz.HZ.Heizkoerperventil.RG room Wohnzimmer
attr DG.wz.HZ.Heizkoerperventil.RG valueFormat { 'measured-temp' => "%0.1f&deg;;C",'ValvePosition' => "%.0f%%"}
attr DG.wz.HZ.Heizkoerperventil.RG valueIcon {'battery.ok' => 'batterie_lightgreen', 'battery.low' => 'batterie_red', 'state' => '%VALUE', 'controlMode.manual' => 'sani_heating_manual', 'controlMode.auto' => 'sani_heating_automatic'}
attr DG.wz.HZ.Heizkoerperventil.RG valueStyle style="text-align:center"


Zu Info noch die Auszüge aus der myUtils:

sub
getHeatingStateIcon($)
{
  my ($device) = @_;
  if ($device !~ /.Clima$/)
  {
    $device = $device.'.Clima';
  }
  my $state = Value($device);
  if ($state =~ /^set_controlManu/)
  {
    return '%CMDs_pending';
  }
  else
  {
    return '%CMDs_done';
  }
}

sub
getHeatingStateValue($)
{
  my ($device) = @_;
  if ($device !~ /.Clima$/)
  {
    $device = $device.".Clima";
  }
  my $state = Value($device);
  if ($state =~ /^set_controlManu/)
  {
    my @values=split(/ /,$state);
    return $values[1].'°C';
  }
  else
  {
    return ' ';
  }
}

sub
getHeatingModeUntil($)
{
  my ($device) = @_;
  if ($device !~ /.Clima$/)
  {
    $device = $device.".Clima";
  }
  my $controlMode = ReadingsVal($device, "controlMode", " ");
  $device = $device.".at.DoAuto";
  my $until = InternalVal($device, "NTM", " ");
  if ($until eq " ")
  {
    return "";
  }
  else
  {
    if ($controlMode eq "auto")
    {
      return '%CMDs_pending';
    }
    else
    {
      return $until;
    }
  }
}

sub
getHeatingDeviceName($)
{
  my ($device) = @_;
  if ($device !~ /.Clima$/)
  {
    return $device;
  }
  else
  {
    my @values=split(/.Clima/,$device);
    return $values[0];
  }
}


Ronny
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 August 2014, 14:37:23
erzeuge dir das controllManu reading einfach selber. per setreading oder user reading.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 27 August 2014, 14:54:01
Dank für den Tip, so geht's :)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: wkarl am 28 August 2014, 11:32:18
Hallo,

eine Frage aus Neugierde und da ich keinen Informationen dazu finde: schalte controlManu automatisch in den manuellen Status, falls das device vorher im Status auto war? Oder welchen Zweck hat diese Option?

Danke und ciao walter
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 28 August 2014, 11:38:37
Zitat von: wkarl am 28 August 2014, 11:32:18
schalte controlManu automatisch in den manuellen Status, falls das device vorher im Status auto war? Oder welchen Zweck hat diese Option?

Genau so ist es, und ich schalte dann mit einem at nach 1,5h wieder in Auto, sodass dann wieder das Auto-Soll aktiviert wird...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 28 August 2014, 16:39:22
Zitat von: justme1968 am 27 August 2014, 14:06:25
du hast vor ein leeres <> zu viel in der überschriften zeile.

Danke Andre,

wenn ich das < > entferne, ich hatte das schon Mal vor dem Posten probiert, dann sieht es so aus, wie unten angefügt. Hat also auch nicht wirklich viel gebracht  :(

Michael
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 28 August 2014, 18:06:46
ich sehe im screenshot drei spalten überschrift, zwei spalten icons und in der dfinition noch viel mehr readings.

readings die es im device nicht gibt werden von der readingsGroup ausgelassen und alle folgenden spalten rutschen eins nach links.

wenn du das nicht willst musst du das valueColum attribut verwenden und einem reading eine feste spalte zuweisen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 28 August 2014, 20:34:10
define Oeffnungszeiten readingsGroup <%temp_temperature>,<Raum>,<Zustand>,<Batterie> TYPE=MAX:state,battery

Bin nicht der Spezi, aber ich habe hier ein Symbol, den Raum (mit Alias aus den jeweiligen Geräten), den eine Spalte mit State und eine weitere mit Battery.

Welche Readings hast du außer state und battery noch im Auge?

Meine Definition sollte doch im Grunde genommen das gleiche sein, wie hier im Wiki unter "Heizungswerte inklusive Batterie- und Fensterstatus" beschrieben:
define Heizungswerte readingsGroup <%sani_heating>,< >,<Act>,<Soll>,<Ist> TYPE=FHT:actuator,desired-temp,measured-temp,<%18>,<%20>,<%22>,window,battery

Das Ergebnis, im Bild angefügt, sieht dann allerdings anders aus, wie bei mir. Oder macht es einen Unterschied, weil ich noch zusätzlich attr Oeffnungszeiten mapping %ALIAS verwendet habe?

Ich denke nicht, aber wo ist dann mein Problem? Die zusätzliche Überschrift "Raum"? Ja, das war es! Das bedeutet, dass das Symbol auch eine eigene Überschrift ist und zu der Spalte mit den Raumnamen gehört. Ich kann der readingsGroup also kein Symbol geben und an gleicher Stelle nicht auch noch einen Text zuweisen?

Michael




Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 28 August 2014, 21:37:31
Zitat von: justme1968 am 27 August 2014, 14:06:25
zu der frage mit den unterschiedlichen symbolen für tür und garage gibt es weiter oben schon etwas. du hast beim mapping auch zugriff auf device namen.
Andre,

meine Frage hat sich erledigt: mit dem Hinweis von dir weiter vorne im Thread
Zitatoder wenn es sich sowieso um state dreht die icons schon im original device mit devStateIcon zuweisen und dann in der readingsGroup dann einfach %devStateIcon als mappng verwenden. die readingsGroup nimmt dan das aktuelle devStateIcon des device.
konnte ich es folgendermassen lösen:

attr Oeffnungszeiten valueIcon {state => '%devStateIcon', 'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red'}

Danke und Grüße,
Michael
Titel: Antw:Neues Modul readingsGroup
Beitrag von: piet_pit am 02 September 2014, 21:44:12
Hallo Zusammen,

ich habe einen PCA in FHEM integriert und möchte jetzt gerne die Verbrauchsdaten grafisch aufbereiten und anzeigen. Dazu versuche ich mich an dem Beispiel aus dem WIKI (readingsgroup), sieht ja einfach aus.
Es gelingt mir aber nicht, die Werte (z.B. kwh) sichtbar zu machen, was mache ich falsch oder was habe ich vergessen :(

#Verbrauch_Gartenpumpe
define Verbrauch_Gartenpumpe readingsGroup Type=PCA301:state,power,consumptionTotal
attr Verbrauch_Gartenpumpe group Gartenpumpe
attr Verbrauch_Gartenpumpe mapping %room %alias
attr Verbrauch_Gartenpumpe room Garten
attr Verbrauch_Gartenpumpe valueFormat {power => "%.1f", consumptionTotal => "%.2f kWh"}
define SVG_FileLog_PCA301_0EB4A7_1 SVG FileLog_PCA301_0EB4A7:SVG_FileLog_PCA301_0EB4A7_1:CURRENT


ich bin irgendwie ratlos, kann doch eigentlich nicht so schwer sein...
VG
Pit
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 02 September 2014, 21:57:17
als erstes mal "TYPE". ebenso "ALIAS" und "ROOM".

gruss frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Newbie am 02 September 2014, 22:26:21
Hallo Pit,


Doku zu SVG und Filelog gelesen?

ZitatNormalerweise müssen SVG-Geräte nicht manuell erzeugt werden, da FHEMWEB es für den Nutzer einfach macht: man muss in der Detailansicht eines FileLogs wechseln und auf "Create SVG instance" klicken.


vg Jens
Titel: Antw:Neues Modul readingsGroup
Beitrag von: piet_pit am 03 September 2014, 17:31:27
Hallo Zusammen,

ich habe den Code über die WebIf eingegeben, ohne Anführungsstriche wie im WIKI Codeschnipsel ReadingsGroup vorgesehen.

Eigentlich möchte ich in einem ersten Schritt nur die Grafik "RgVerbrauchPCA301" aus diesem WIKI erstellen, erst einmal nur mit den Werten wie "kwh", Formatierung kommt dann später.

Hat das etwas mit dieser "SVG-Instanz" zu tun :-[
VG
Pit

Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 03 September 2014, 17:40:45
beachtest du die tips gar nicht, oder hast du es nicht verstanden? http://forum.fhem.de/index.php/topic,14425.msg196924.html#msg196924 (http://forum.fhem.de/index.php/topic,14425.msg196924.html#msg196924)

du musst auf gross- und kleinschreibung achten. also:

define Verbrauch_Gartenpumpe readingsGroup TYPE=PCA301:state,power,consumptionTotal

gruss frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Newbie am 03 September 2014, 20:07:33
Hallo Pit,

wenn Du keine "Diagramm-Grafik" brauchst, SVG bitte weglassen und die Tipps von frank beherzigen.

also

#Verbrauch_Gartenpumpe
define Verbrauch_Gartenpumpe readingsGroup TYPE=PCA301:state,power,consumptionTotal
attr Verbrauch_Gartenpumpe group Gartenpumpe
attr Verbrauch_Gartenpumpe mapping %ROOM %ALIAS
attr Verbrauch_Gartenpumpe room Garten
attr Verbrauch_Gartenpumpe valueFormat {power => "%.1f", consumptionTotal => "%.2f kWh"}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: piet_pit am 03 September 2014, 21:18:19
Hallo Zusammen,

sorry, ich war blind.... :-[
VG
PIT
Titel: Antw:Neues Modul readingsGroup
Beitrag von: karl0123 am 09 September 2014, 10:04:58
Dieser Fix von Rudi führt offenbar dazu, dass die Dropdowns (mit Kommandos) in der ReadingsGroup nicht mehr funktionieren. Das entsprechende Modul (bei mir Squeezebox) erhält dann offenbar falsche Kommandos:

http://forum.fhem.de/index.php/topic,26897.0/topicseen.html (http://forum.fhem.de/index.php/topic,26897.0/topicseen.html)

Bei der alten Version des Dropdowns ohne Javascript und reload der Seite hat das wunderbar funktioniert.Praktisch find' ich ein Dropdown ohne reload dennoch.

DEF:

<%audio_sound> TYPE=SB_PLAYER:power,prev,playStatus,next,volume,currentArtist,currentTitle,favorites,shuffle,repeat,sync

command (für Favoritenauswahl):

'favorites'=>'favorites:'
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 09 September 2014, 10:38:16
das muss ich mir anschauen. betrifft es die raum übersicht, einen floorplan oder beides?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: karl0123 am 09 September 2014, 11:00:36
Sorry für die fehlende Info. Ich nutze keinen Floorplan. Es wurde nur in einem Raum getestet.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 09 September 2014, 11:02:43
hab gerade getestet und der normalen übersicht im frontend geht es. es ist also vermutlich im floorplan?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: karl0123 am 09 September 2014, 11:05:50
Wie gesagt, kein Floorplan. So wie das Log aussieht, wird dort offenbar kein

set <device> favorites <name>

gesendet, sondern ein

set <device> <name>

Zitat2014.09.09 10:10:04.113 3: SB_PLAYER_Set: unsupported command given
2014.09.09 10:10:04.112 5: SB_PLAYER_Set: called with AntenneThuering
2014.09.09 10:09:55.742 5: SB_PLAYER_Set: called with ?
2014.09.09 10:09:51.523 5: SB_PLAYER_Set: called with ?
2014.09.09 10:09:50.548 5: SB_PLAYER_Get: SqueezeboxBuero: unkown argument
2014.09.09 10:09:50.548 1: SB_PLAYER_Get: called with SqueezeboxBuero ?
2014.09.09 10:09:50.546 5: SB_PLAYER_Set: called with ?

(Log ist von unten nach oben zu lesen)

Man muss noch dazu sagen, dass das Device kein reading favorites hat. Dieses setze ich per setreading. Das Kommando funktioniert jedoch direkt und auch ohne das neue Dropdown.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 09 September 2014, 11:26:35
ups. sorry für das durcheinander.

hab es gerade auch gesehen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: karl0123 am 09 September 2014, 11:27:39
Und ich habe festgestellt, dass es gar nichts mit der readingsGroup zu tun hat:

http://forum.fhem.de/index.php/topic,26313.msg198626.html#msg198626 (http://forum.fhem.de/index.php/topic,26313.msg198626.html#msg198626)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 09 September 2014, 11:29:25
ich auch :)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: karl0123 am 09 September 2014, 11:31:08
Sorry, dass ich dich zuerst aufgescheucht habe. Hätte das zuerst mit webCmd testen sollen. Aber so habe ich wenigstens einen Fürsprecher ;)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 09 September 2014, 21:48:56
Hi,

ich versuche gerade mit Hilfe der readingsGroup die Zustände der MAX! Fensterkontakte als auch deren Batteristatus abzubilden.

Die funktioniert soweit mit
define Oeffnungszeiten readingsGroup <Raum>,<Zustand>,<Batterie> TYPE=MAX:state,battery
Mein Problem ist jetzt, dass auch mein Test-Heizungsthermostat, ebenfalls von MAX!, auch mit angezeigt wird.

Die Gerätenamen der Fensterkontakte sind nicht anhand des Namens alle auf einmal greifbar: FensterKind1, FensterKind2, KellerFensterSueden, KellerFensterPartyraum, Garagentuer, KellerTuer usw. so dass ich auch nicht irgendetwas wie ... Fenster(Kind1|Kind2):state,battery... verwenden kann.

Kann mir jemand einen Tipp geben wie ich es doch noch gebacken bekomme?

Danke,
Michael
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spiff am 09 September 2014, 22:02:39
Hi Michael,

probier mal sowas:

define Oeffnungszeiten readingsGroup FensterKind1:state,battery FensterKind2:state,battery KellerFensterSueden:state,battery KellerFensterPartyraum:state,battery Garagentuer:state,battery KellerTuer:state,battery 

Gruß
Spiff
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 09 September 2014, 22:24:28
Prima Danke! Das hat mir schon Mal einen Anhaltspunkt geliefert wie ich es machen kann:

define Oeffnungszeiten readingsGroup Fenster.*:state,battery Keller.*:state,battery Garage.*:state,battery KellerFenster.*:state,battery Terasse.*:state,battery

Ist zwar ein wenig unübersichtlich, aber es läuft.

Dann habe ich noch ein Thema mit dieser Definition hier zu meinem Max! Thermostat:

define Heizungswerte readingsGroup <%sani_heating>,<Ventil>,<Soll-Temp>,<Ist-Temp>,<Modus>,<Batterie> Heizung(Eltern|):valveposition,desiredTemperature,temperature,mode,battery
attr Heizungswerte mapping %ROOM
attr Heizungswerte nameStyle style=color:yellow;;font-weight:bold
attr Heizungswerte valueFormat {temperature => "%.0f °C", desiredTemperature => "%.0f °C", valveposition =>"%.0f %%" }
attr Heizungswerte room Heizungswerte
attr Heizungswerte valueIcon {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red', 'mode.manual' => 'sani_heating_manual@red', 'mode.auto' => 'sani_heating_automatic@green'}


Ich würde bei dieser Defintion davon ausgehen, dass ein Symbol (sani_heating_automatic bzw. sani_heating_manual) für den Modus Auto (mode.auto) bzw. Modus Manuell (mode.manual) angezeigt wird. Tut es aber nicht. Stattdessen bleibt der jeweilige Text stehen.
Was mache ich falsch?

Michael
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 10 September 2014, 13:14:22
Hallo,

erstmal muss ich sagen, dass dies ein prima Modul ist, das sehr mächtig ist. Ich habe mir u.a. eine ReadingsGroup zur Bedienung meiner Heizkörper im Floorplan gemacht. Und da habe ich ein Problem mit dem/eine Frage zum LongPoll. Hier zunächst meine ReadingsGroup:

define DG.wz.HZ.Heizkoerperventil.RG readingsgroup <%sani_heating>,<>,<>,<>
DG.wz.HZ.Heizkoerperventil.Clima:<Ist>,measured-temp,<>,<>
DG.wz.HZ.Heizkoerperventil.Clima:<Soll>,controlManu,<{getHeatingStateIcon($DEVICE)}@state>,<{getHeatingStateValue($DEVICE)}@state>
DG.wz.HZ.Heizkoerperventil.Clima:<Mode>,controlMode,<{getHeatingModeUntil($DEVICE)}@controlMode>,<>
DG.wz.HZ.Heizkoerperventil.Clima:<Bat>,battery@{getHeatingDeviceName($DEVICE)},<>,<>
DG.wz.HZ.Heizkoerperventil.Clima:<Ventil>,ValvePosition,<>,<>


Diese stellt u.a. die Ist-Temperatur dar und bietet die Möglichkeit, die Soll-Temperatur aus einer Dropdownliste auszuwählen (diese setzt das Heizkörperventil in den Handmodus). Die Übernahme der Soll-Temperatur beim HM-CC-RC-DN dauert eine Weile: zunächst wird der state des Geräts  DG.wz.HZ.Heizkoerperventil.Clima auf "set_controlManu xx.x" gesetzt. Wenn dies der Fall ist, wird in der ReadingsGroup eine Sanduhr und die zu setzende Temperatur angezeigt.
Außerdem wird durch ein notify ein at aktiviert, welches das Heizkörperventil nach 1,5h wieder in Automatik setzt. Daher wird neben dem Symbol für den Modus beim Handbetrieb auch der Zeitpunkt für das Rücksetzen angezeigt. Soweit der Plan und bei manueller Aktualisierung klappt das auch (siehe Anhang).

Nun zu meinen Problemen:

1. Zum einen habe ich gehofft, dass durch <{Funktion()}@reading> bei Aktualisierung des reading auch die Funktion erneut aufgerufen und der aktualisiert wird. Das schein jedoch wenn dann nur sporadisch zu funktionieren. Kann es vielleicht sein, dass es Probleme gibt, wenn ich mehrmals das gleiche reading (z.B. @state) nutze?

2. Zum anderen habe ich das Problem, dass in der Zelle für das Icon der Handbedienung (Zeile 3 Spalte 3) und dem Zeitpunkt für das Rücksetzen in Automatik (Zeile 4 Spalte 3) manchmal gleiche Werte drin stehen. Ein Blick in den HTML-Quellcode der Seite bringt mich zu folgender Vermutung: scheinbar wird die informid (ich meine, die ist für das LongPoll da) aus Name der ReadingsGroup + Name des Gerätes + Spalte zusammengebaut, was dazu führt, dass die div-Container in den beiden Zellen die gleiche informid (DG.wz.HZ.Heizkoerperventil.RG-DG.wz.HZ.Heizkoerperventil.Clima.i2.item) haben.

Kann jemand etwas dazu sagen?

Vielen Dank
Ronny
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 September 2014, 13:19:36
das hängt beides zusammen. zur zeit gibt es die mehr oder weniger implizite annahme das pro device ein reading nur ein mal in der readingsGroup vorkommt.

bei mehrfach verwendung kann es dann sein das manches nicht so funktioniert wie erwartet.

ich muss mal schauen was man hier tun kann.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 10 September 2014, 15:09:59
Ich muss mich noch mal melden, da ich voller Begeisterung gerade festgestellt habe, dass sich meine kleine Funktion (http://forum.fhem.de/index.php/topic,26913.0.html) zum Verstecken von Floorplan-Inhalten eins zu eins so in einer ReadingsGroup einsetzen lässt: So habe ich ein Chart-Symbol in meiner ReadingsGroup, mit welchem ich mir durch anklicken den Chart der Heizung (DG.wz.PL.Klima) einblenden kann:

<{hideButtonHTML("KlimaDiagramm", "DG.wz.PL.Klima", "/fhem/images/default/chart.png", "40")}>

Ich kann mich nur wiederholen: Super Modul
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 September 2014, 15:22:56
hier im wiki (http://www.fhemwiki.de/wiki/ReadingsGroup#Links_und_Trigger (http://www.fhemwiki.de/wiki/ReadingsGroup#Links_und_Trigger)) ist auch etwas das zu dem thema passt. mit den passenden html Elementen vor dem eigentlichen 'button' kannst du ihn z.b. auch ganz ans ende hinter die readingsGroup bekommen und und z.b. auch elemente oder deren aussehen in der readingsGroup beeinflusse.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 10 September 2014, 15:43:11
Ich habe gerade die Idee, unwichtige Zeilen der readingsGroup standardmäßig auszublenden und mittels Button einzublenden. Meine Idee momentan ist, zwei readingsGroups übereinander zu legen und die untere mittels Button einzublenden. Gibt es noch eine andere Möglichkeit z.B. für einzelne Zeilen das visible-Attribut zu setzen?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 September 2014, 15:52:26
wenn die valueFormat ein undef liefert wird das reading ausgeblendet, wenn eine komplette zeile kein reading enthält wird die komplette zeile ausgeblendet. schau mal im wiki. da gibt es glaube ich auch dazu ein beispiel wie man den inhalt dynamisch ändern kann. die readings und zeilen sind aber wirklich komplett weg und werden beim longpoll update nicht berücksichtigt. zum wieder einblenden muss dann die readingsGroup bzw die ganze seite aktualisiert werden.

ansonsten bin ich gerade dabei ein row/column/cell style einzubauen (siehe hier: http://forum.fhem.de/index.php/topic,25195.msg185665.html#msg185665) (http://forum.fhem.de/index.php/topic,25195.msg185665.html#msg185665)). ist aber noch nicht ganz fertig. damit könnte man dann über visibility zeilen/spalten/elemente unsichtbar machen und auch wieder einblenden ohne das alles neu aufgebaut werden muss. irgendwo ist aber noch ein kleiner fehler drin :)

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 11 September 2014, 14:34:43
Zitat von: Roaster am 09 September 2014, 22:24:28
Dann habe ich noch ein Thema mit dieser Definition hier zu meinem Max! Thermostat:

define Heizungswerte readingsGroup <%sani_heating>,<Ventil>,<Soll-Temp>,<Ist-Temp>,<Modus>,<Batterie> Heizung(Eltern|):valveposition,desiredTemperature,temperature,mode,battery
attr Heizungswerte mapping %ROOM
attr Heizungswerte nameStyle style=color:yellow;;font-weight:bold
attr Heizungswerte valueFormat {temperature => "%.0f °C", desiredTemperature => "%.0f °C", valveposition =>"%.0f %%" }
attr Heizungswerte room Heizungswerte
attr Heizungswerte valueIcon {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red', 'mode.manual' => 'sani_heating_manual@red', 'mode.auto' => 'sani_heating_automatic@green'}


Ich würde bei dieser Defintion davon ausgehen, dass ein Symbol (sani_heating_automatic bzw. sani_heating_manual) für den Modus Auto (mode.auto) bzw. Modus Manuell (mode.manual) angezeigt wird.

Niemand eine Idee zu den nicht dargestellten Symbolen bei Readings mode (auto/manual)?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 11 September 2014, 14:50:10
Was wird denn stattdessen angezeigt? Wird der Name des Symbols angezeigt, dann findet er das Symbol nicht.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 11 September 2014, 15:10:20
Zitat von: RoBra81 am 11 September 2014, 14:50:10
Was wird denn stattdessen angezeigt? Wird der Name des Symbols angezeigt, dann findet er das Symbol nicht.

Der Wert des Readings wird angezeigt: auto bzw. manual. Ich habe gerade nochmals den Namen des Symbols gecheckt, beide existieren.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 11 September 2014, 15:12:49
Hast du mal einen Screenshot? Ich habe keine MAX!-Komponenten.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 11 September 2014, 15:17:03
Kein Problem...

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 September 2014, 15:26:14
gerade eben mit deinen value icons in meiner definition und auch deiner komplette definition getestet und es geht beides ...

das problem muss also woanders sein.

ist dein fhem aktuell ?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spiff am 11 September 2014, 15:29:49
Es sieht so aus, als wären die Icon-Verzeichnisse richtig definiert, sonst würde er das Gruppensymbol nicht anzeigen. Ich frag trotzdem:

Ist dein Verzeichnis, in dem die beiden Icons drin sind, für dein fhemweb definiert?
attr WEB iconPath fhemSVG:openautomation:default

Was passiert, wenn du das auf jeden Fall funktionierende Batteriesymbol (und erstmal nur das) verwendest?
attr Heizungswerte valueIcon {'mode.manual' => 'batterie@lightgreen', 'mode.auto' => 'batterie@red'}

Gruß
Spiff
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 11 September 2014, 15:30:01
Sieht für mich erstmal so aus, als müsste es gehen. Wie gesagt, wenn er das Symbol nicht finden würde, würde der Name des Symbols dastehen. Da der Wert dasteht, findet er das Mapping gar nicht. Wenn deine gepostete Version mit deiner Konfiguration übereinstimmt sehe ich erstmal keine Fehler (Gro- und Kleinschreibung, Leerzeichen, ...). Vielleicht hat ja das Reading an sich ein Leerzeichen zu viel, das man einfach nicht sieht? Nur so eine Idee, da ich ansonsten ratlos bin: Kannst du dir mal den Quelltext der HTML-Seite ansehen (im Chrome zum Beispiel sehr einfach durch Rechtsklick auf das 'auto' -> Element untersuchen) und gucken, ob zwischen den <div></div> wirklich nur 'auto' ohne zusätzliche Leerzeichen steht?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 11 September 2014, 16:43:51
Zitat von: Spiff am 11 September 2014, 15:29:49
Ist dein Verzeichnis, in dem die beiden Icons drin sind, für dein fhemweb definiert?
attr WEB iconPath fhemSVG:openautomation:default
Davon gehe ich aus, da die anderen Icons auch funktionieren. Die genannte Zeile habe ich dennoch nicht in der fhem.cfg.

Zitat von: Spiff am 11 September 2014, 15:29:49
Was passiert, wenn du das auf jeden Fall funktionierende Batteriesymbol (und erstmal nur das) verwendest?
attr Heizungswerte valueIcon {'mode.manual' => 'batterie@lightgreen', 'mode.auto' => 'batterie@red'}

Auch das ändert nichts...

OHH MANN ich bin so blöd! Mit den Tests, die du vorgeschlagen hast, habe ich nun festgestellt dass ich eine zweite Zeile mit attr Heizungswerte valueIcon drin hatte  ::) Nach dem Entfernen hat sich mein Problem jetzt auch in Luft aufgelöst.

Danke an euch alle fürs Lesen und die Fehlersuche!

Michael
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 September 2014, 16:50:37
noch ein grund die fhem.cfg nicht direkt zu bearbeiten sondern so viel wie nur möglich im frontend und der detail ansicht zu machen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 11 September 2014, 17:00:58
Ja, wieder mal erwischt  ;)

Zu meiner Verteidigung muss ich sagen, dass ich in meinem Fall das Beispiel aus dem Wiki zu readingsGroup kopiert und mit anderen Beispielen aus dem Forum ergänzt habe.

Und das WebUi ist auch nicht gerade bedienfreundlich, gerade was bspw .die Definition zu valueIcon angeht. Da ist die Eingabezeile einfach viel zu kurz und da gibt es noch zig andere Beispiele bei denen ich den Text erst in einem externen Editor aufbauen muss um diesen dann in das entspr. Wertefeld zu kopieren.

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spiff am 11 September 2014, 17:01:49
Zitat von: justme1968 am 11 September 2014, 16:50:37
noch ein grund die fhem.cfg nicht direkt zu bearbeiten sondern so viel wie nur möglich im frontend und der detail ansicht zu machen.

Dann aber daran gewöhnen, im richtigen Augenblick die Config zu speichern...  ::)

Aber ist doch super, dass es jetzt funktioniert.

Gruß,
Spiff
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Herr 3x am 11 September 2014, 19:20:26
Hallo,

ich probiere gerade mit der readingsGroup herum und wollte ein Icon darstellen, wenn ein Wert größer als eine Konstante ist:

define HK11_fp readingsGroup HK11_Clima:ValvePosition
attr HK11_fp fp_Status 467,197,0,
attr HK11_fp noheading 1
attr HK11_fp nolinks 1
attr HK11_fp nonames 1
attr HK11_fp notime 1
attr HK11_fp room EG_Buero
attr HK11_fp valueFormat {if($VALUE > 10){'ValvePosition' =>"on"}else{'ValvePosition' => 'off'}}
attr HK11_fp valueIcon {'ValvePosition' => 'HKV_Kueche_Sw_01.%VALUE'}

Es gibt ein Icon mit Heizungssymbol und ein leeres Icon. Das Icon wird dargestellt, wenn ValvePosition > 10 ist. Das klappt soweit. 8)

Allerdings würde ich gern auch noch die Temperatur anzeigen:

define HK11_temp_fp readingsGroup HK11_Clima:measured-temp\
HK11_Clima:desired-temp
attr HK11_temp_fp fp_Status 460,73,0,
attr HK11_temp_fp noheading 1
attr HK11_temp_fp nolinks 1
attr HK11_temp_fp nonames 1
attr HK11_temp_fp notime 1
attr HK11_temp_fp room EG_Buero
attr HK11_temp_fp valueFormat {"measured-temp" => "%.1f°C","desired-temp" => "%.1f°C" }
attr HK11_temp_fp valueStyle style="font-size:20px"


Das klappt auch schon mal.
Was ich dann aber nicht hin bekommen habe: Die beiden Readings in eines zusammen zu fassen. Eigentlich müsste ich nur das define zusammenfassen und das valueFormat anpassen. Ich bin aber immer an dem "if" gescheitert :-[ Irgendwie so ähnlich müsste das aussehen, aber ich blicks nicht:

attr HK11_fp valueFormat {"measured-temp" => "%.1f°C","desired-temp" => "%.1f°C", (if($VALUE > 10){'ValvePosition' =>"on"}else{'ValvePosition' => 'off'}}

Wie muss das aussehen?

Gruß und Dank,
Herr 3x
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 September 2014, 19:51:15
zum beispiel so:attr HK11_fp valueFormat {"measured-temp" => "%.1f°C", "desired-temp" => "%.1f°C", "ValvePosition" => '{return "on" if($VALUE > 10); return "off"}' }

gruss
  andre

ps: das dein erstes beispiel wirklich geht kann ich nicht so ganz glauben. wenn doch dann ist es zufall. die syntax ist falch.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Herr 3x am 11 September 2014, 21:01:35
Hallo Andre,

danke für den Hinweis, allerdings erzeugt das ein "Unknown command return, try help." Sollte nicht innerhalt der {} perl-code ausgeführt werden?
Über den Syntaxfehler würde ich mich natürlich freuen, nur aus korrigierten Fehlern kann ich lernen ;)

Danke

Herr 3x
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 September 2014, 21:08:05
wo und wann genau erzeugt das den fehler?

du musst die zeile genau wie sie ist in der device detail ansicht im fhemweb eingeben nach dem du neben attr valueFormat ausgewählt hast bzw. auf valueFormat in der liste der attribute geklickt hast. danach auf attr klicken.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Herr 3x am 11 September 2014, 21:28:19
Ah, o.k. ich habe die in die fhem.cfg kopiert. Über das fhemweb klappt es.
Der Unterschied ist dann ein ;; statt eines ;.

Wenn ich jetzt noch aus valvePosition ein ValvePosition mache funktioniert es!  :)
Vielen Dank.

Ach ja, kann man das nicht ins Wiki aufnehmen? Einen Iconkomperator habe ich bei den Beispielen vermisst.

Grüße

Herr 3x

Titel: Antw:Neues Modul readingsGroup
Beitrag von: krikan am 11 September 2014, 21:33:07
ZitatAch ja, kann man das nicht ins Wiki aufnehmen?
Klasse Idee von Dir, wir brauchen noch Wiki-Schreiber. Und bitte mit Bild (edit: nicht von Dir, screenshot von readingsgroup reicht..). Wenn Du noch keinen Wiki-Zugang hast, Mail an Peter...  ;)
Gruß, Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 12 September 2014, 10:21:42
Hallo,

ich habe ja weiter oben beschrieben, wie ich mir einen Button zum dynamischen einblenden von Floorplan-Inhalten in die ReadingsGroup gebaut habe. Nun möchte ich statt der PNG-Symbole gern die vorhandenen SVG-Symbole verwenden. Dies gelingt insofern, dass ich sie normal im IMG-Tag ins HTML einbauen kann. Ich würde jedoch gern von der Möglichkeit der Farbwahl (symbol@farbe) Gebrauch machen. Wie kann ich die SVGs in meiner MyUtils so in den HTML-Code einbauen, dass es wie z.B. in der ReadingsGroup funktioniert (da wird das SVG ja scheinbar auseinander genommen und direkt ins HTML eingebaut). Alternativ brächte ich in der ReadingsGroup eine Möglichkeit, statt eines set xx yy-commands eine JavaScript-Funktion der  Floorplanseite aufzurufen. Ginge das denn?

Noch eine andere Frage: Kann man die Größe der Icons in der ReadingsGroup konfigurieren?

Vielen Dank
Ronny
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 12 September 2014, 11:01:50
das einfärben der svg icons geht nur wenn sie in die seite eingebettet sind weil genau dabei die farb definition innerhalb des svg geändert wird.

explizit kannst du so ein icon mit etwas in dieser art einbetten: <{FW_makeImage(...)}>. aber das icon hat dann keinen namen und du kannst kein commands mapping machen. du musst also alles inklusive des onClick selber bauen.

du kannst aber einfach <%xyz> verwenden und dann <rg>.<xyz> per commands mappen. wenn xyz schon ein passendes icon ist wird es statt dem text xyz angezeigt. wenn nicht kannst du es per valueIcon auf den passenden icon namen inklusive farbe mappen. das icon muss hierbei aber innerhalb der readingsGroup sein.

wenn du command z.b. auf 'trigger <rg> abc' mappst kannst dann direkt (oder per notify das an der rg hängt) über diese methode hier: http://www.fhemwiki.de/wiki/Browsersteuerung,_Seiten_per_JS_autom._aufrufen (http://www.fhemwiki.de/wiki/Browsersteuerung,_Seiten_per_JS_autom._aufrufen) direkt java script aufrufen.

die idee dahinter ist das fhemweb automatisch alle fhemweb_xxx.js files nachladen kann und dort die per trigger versendeten longpoll daten ankommen und ausgewertet werden können.

die große der icons solltest du über einen passenden style eintrag konfigurieren können.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 21 September 2014, 08:00:45
Hallo,

würde gerne in einer readingsGroup das Attribut eines devices per Menü änderbar machen.

define Anrufliste readingsGroup  TM:A0,B0,C0,D0 TM:<Monitor-Type>,?monitor-type

attr Anrufliste commands {'monitor-type' => 'monitor-type:all,incoming,outgoing,missed-calls'}

generiert mir ja leider nur einen set TM monitor-type all
Befehl an fhem.
.

Jemand eine Idee, wie man ohne große Klimmzüge ein Attribut so setzen kann?

Gruß

Elektrolurch

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 21 September 2014, 09:19:32
ich glaube das einfachste ist den umweg über einen dummy zu gehen und dann per notify auf den dummy das attribut zu setzen

gruss
  andre
Titel: Neues Modul readingsGroup
Beitrag von: justme1968 am 21 September 2014, 09:21:55
ich glaube das einfachste ist den umweg über einen dummy zu gehen und dann per notify auf den dummy das attribut zu setzen.   

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 23 September 2014, 17:09:01
Hallo Andre, habe heute mit der "Heizperiode" begonnen, da die Temperaturen frostig sind  :)
Dabei habe ich festgestellt, dass nach betätigen des up Buttons, dieser nicht wieder in die "Ausgangslage" zurückgeht. Die Utils stammt aus dem WIKI. Anbei ein Screenshot um das Verhalten zu verdeutlichen. Betätigt habe ich Bad HZ up.

Hast du einen Tipp?



VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 23 September 2014, 18:40:19
umgekehrt wird ein schuh draus :)

bei allen devices die noch nicht bedient wurden hat der button die falsche lage. so ist es zumindest zur zeit gebaut. wenn du alle ein mal bedient hat zappelt später nichts mehr. das finde ich besser als ein button der sich beim bedienen erst einmal bewegt und dann wieder zurück.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 23 September 2014, 18:42:02
Alles klar, wie gesagt lange nicht bedient. Danke Andre.

VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 26 September 2014, 20:38:50
Hi,

ich bin nach wie vor auf der Suche nach einer Vereinfachung dieser Monsterzeile hier in einer readingsGroup:
attr Anrufliste2 valueIcon { 'A0.incoming' => 'phone_ring_in@green', 'A0.incoming_noconnect' => 'phone_ring_in@red', 'A0.outgoing' => 'phone_ring_out@green', 'A0.outgoing_noconnect' => 'phone_ring_out@red', 'A0.AB' => 'phone_answersing@blue', 'E0.connected' => 'phone_ring@yellow', 'A1.incoming' => 'phone_ring_in@green', 'A1.incoming_noconnect' => 'phone_ring_in@red', 'A1.outgoing' => 'phone_ring_out@green', 'A1.outgoing_noconnect' => 'phone_ring_out@red', 'A1.AB' => 'phone_answersing@blue', 'E1.connected' => 'phone_ring@yellow', 'A2.incoming' => 'phone_ring_in@green', 'A2.incoming_noconnect' => 'phone_ring_in@red', 'A2.outgoing' => 'phone_ring_out@green', 'A2.outgoing_noconnect' => 'phone_ring_out@red', 'A2.AB' => 'phone_answersing@blue', 'E2.connected' => 'phone_ring@yellow', 'A3.incoming' => 'phone_ring_in@green', 'A3.incoming_noconnect' => 'phone_ring_in@red', 'A3.outgoing' => 'phone_ring_out@green', 'A3.outgoing_noconnect' => 'phone_ring_out@red', 'A3.AB' => 'phone_answersing@blue', 'E3.connected' => 'phone_ring@yellow', 'A4.incoming' => 'phone_ring_in@green', 'A4.incoming_noconnect' => 'phone_ring_in@red', 'A4.outgoing' => 'phone_ring_out@green', 'A4.outgoing_noconnect' => 'phone_ring_out@red', 'A4.AB' => 'phone_answersing@blue', 'E4.connected' => 'phone_ring@yellow' }

Wie man sieht wiederholen sich die Werte bzw. die Readings. Kann man das nicht einfacher und vor allem wartungsfreundlicher fassen?

Die komplette Definition sieht wie folgt aus:
define Anrufliste2 readingsGroup <Pos>,<Art>,<Datum>,<Name>,<Nummer>,<Dauer> CallMon:A0,B0,C0,D0,E0 CallMon:A1,B1,C1,D1,E1 CallMon:A2,B2,C2,D2,E2 CallMon:A3,B3,C3,D3,E3 CallMon:A4,B4,C4,D4,E4
attr Anrufliste2 mapping {'CallMon' => '{sprintf("%d.",$ROW-1);;}'}
attr Anrufliste2 nameStyle style="font-weight:bold"
attr Anrufliste2 style style="font-size:20px"
attr Anrufliste2 noheading 0
attr Anrufliste2 nolinks 1
attr Anrufliste2 nostate 1
attr Anrufliste2 notime 1
attr Anrufliste2 room Telefon2
attr Anrufliste2 valueIcon { 'A0.incoming' => 'phone_ring_in@green', 'A0.incoming_noconnect' => 'phone_ring_in@red', 'A0.outgoing' => 'phone_ring_out@green', 'A0.outgoing_noconnect' => 'phone_ring_out@red', 'A0.AB' => 'phone_answersing@blue', 'E0.connected' => 'phone_ring@yellow', 'A1.incoming' => 'phone_ring_in@green', 'A1.incoming_noconnect' => 'phone_ring_in@red', 'A1.outgoing' => 'phone_ring_out@green', 'A1.outgoing_noconnect' => 'phone_ring_out@red', 'A1.AB' => 'phone_answersing@blue', 'E1.connected' => 'phone_ring@yellow', 'A2.incoming' => 'phone_ring_in@green', 'A2.incoming_noconnect' => 'phone_ring_in@red', 'A2.outgoing' => 'phone_ring_out@green', 'A2.outgoing_noconnect' => 'phone_ring_out@red', 'A2.AB' => 'phone_answersing@blue', 'E2.connected' => 'phone_ring@yellow', 'A3.incoming' => 'phone_ring_in@green', 'A3.incoming_noconnect' => 'phone_ring_in@red', 'A3.outgoing' => 'phone_ring_out@green', 'A3.outgoing_noconnect' => 'phone_ring_out@red', 'A3.AB' => 'phone_answersing@blue', 'E3.connected' => 'phone_ring@yellow', 'A4.incoming' => 'phone_ring_in@green', 'A4.incoming_noconnect' => 'phone_ring_in@red', 'A4.outgoing' => 'phone_ring_out@green', 'A4.outgoing_noconnect' => 'phone_ring_out@red', 'A4.AB' => 'phone_answersing@blue', 'E4.connected' => 'phone_ring@yellow' }


Gruß,
Michael

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Pjg am 27 September 2014, 12:46:57
Trau mich fast nicht zu fragen, aber warum bekomme ich immer eine Leerzelie?

Soviel kann doch hier nihct falsch sein, oder?

define reading_Bahnhof readingsGroup Bahnhofstrasse:temperature
attr reading_Bahnhof mapping Temperatur Bahnhofstrasse
attr reading_Bahnhof noheading 1
attr reading_Bahnhof nostate 1
attr reading_Bahnhof room Wetter

Wie gesagt, ich bekomme die Temperatur angezeigt, nur leider anschließend noch eine leere Zeile?
Was fehlt denn da?
Danke.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 September 2014, 12:51:27
klar geht das einfacher. nicht die hash version verwenden sondern per perl if/elsif schauen ob es incomming, outgoing, ... ist und den icon namen zurück liefern.

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 September 2014, 12:52:28
zeig mal bitte ein list auf deine readingsGroup und einen screenshot.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Pjg am 27 September 2014, 16:23:23
Also wenn ich gemeint war:
Screenshot bekomme ich gerade nicht hin. Sitze an einem raspberry und weiß nicht wie das da geht.
Es wird halt eine leere Zeile unter der Zeile mit der Temperatur dargestellt.
Die readingsgroup habe ich ja oben geposted. Mehr ist da nicht.

Habe hier im Forum auch nach Leerzeile gesucht. Das gab's schon einmal und wurde aber wohl behoben?

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Pjg am 27 September 2014, 16:31:28
So, jetzt an einem anderen Rechner. Screenshot der Leerzeile
und die cfg dazu
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 September 2014, 16:37:30
ich möchte die ausgabe vonlist reading_Bahnhof

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Pjg am 27 September 2014, 18:35:06
Bin Anfänger, sorry:

Internals:
   CFGFN
   DEF        Bahnhofstrasse:temperature
   NAME       reading_Bahnhof
   NR         464
   NTFY_ORDER 50-reading_Bahnhof
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Bahnhofstrasse 1
   Content2:
   DEVICES:
     ARRAY(0x1083fc8)
   Fhem:
     lastDefChange 14
     last_update 1411810846.46233
Attributes:
   group      Wetterstationen
   mapping    Temperatur Bahnhofstrasse
   noheading  1
   nostate    1
   room       Wetter
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 September 2014, 21:07:00
das schaut komisch aus. gibt es das problem auch wenn die readingsGroup nicht in einer gruppe steckt?

welche version hast du? ausgabe vonversion

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Pjg am 28 September 2014, 00:24:20
Ja, auch wenn nicht in einer Gruppe

6262 16.7.2014
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tweak am 28 September 2014, 18:56:16
Hallo,
ich hoffe ich darf hier diese Frage stellen, wollte eigentlich keinen eigenen Thread dafür aufmachen.

Wie schaffe ich es, zusätzlich zu diesem Valuestyle:

valueStyle { if($DEVICE eq "Aussentemperatur" && $READING eq "temperature" && $VALUE > 30) { 'style="color:red"'}elsif($DEVICE eq "Aussentemperatur" && $READING eq "temperature" && $VALUE > 20) { 'style="color:orange"'}elsif($DEVICE eq "Aussentemperatur" && $READING eq "temperature" && $VALUE < 5) { 'style="color:blue"'}elsif($READING eq "rel-Humidity-outside" && $VALUE > 65) { 'style="color:red"'}elsif($READING eq "rel-Humidity-outside" && $VALUE > 60) { 'style="color:orange"'}else{'style="color:white"'} }

auch noch für alle Attribute geltend text-center dazu zu bekommen?
Ich tüfftle schon so lange herum aber leider reichen meine Kentnisse wohl nicht aus :(

Danke!

Mfg
Manuel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 28 September 2014, 19:28:47
@Pjg: ich kann das problem nicht reproduzieren. bitte zeig mir mal ein list von Bahnhofstrasse und schau mal ob es mit einem anderen style auch passiert.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 28 September 2014, 19:42:48
Zitat von: justme1968 am 27 September 2014, 12:51:27
klar geht das einfacher. nicht die hash version verwenden sondern per perl if/elsif schauen ob es incomming, outgoing, ... ist und den icon namen zurück liefern.
Andre, du kannst mich jetzt schlagen oder vielleicht auch einfach weiterhelfen  8)

Ich habe das nun auf verschiedene Art und Weise probiert, aber es klappt bei mir nicht. Ich habe grundsätzlich ein Verständnisproblem, wenn ich mir die verschiedenen Möglichkeiten Coding direkt in den Attributen der readingsGroup einzufügen. Wenn ich mir den Wikieintrag so betrachte, dann gibt es für mich (als Laie) zig verschieden Mlglichkeit hier was eigenes einzubauen - zumindest hat es für mich den Anschein.

Ich habe so etwas in der Art probiert:
attr Anrufliste2 valueIcon { if ( $VALUE =~ "incoming" ) ? "phone_ring_in@green" }
und weiteres Conding, das ich versucht habe aus anderen gefundenen Schnipseln zusammen zu bauen.

Im Wiki finde ich beispielsweise so etwas:
attr rg valueFormat {($VALUE eq '1')?"fts_window_roof":"fts_window_roof_open_2"}
Dies betrifft zwar das Format, aber ich dachte, so ähnlich kann ich auch bei valueIcon vorgehen. Ich ging davon aus, dass $VALUE den Wert der jeweiligen Spalte und Zeile enthält und in meinem Fall incoming, outgoing und so weiter liefert, das ich dann durch einnen Symbolnamen ersetzen kann - funktioniert aber nicht.

Dann habe ich, auch aus dem Wiki, noch folgendes genommen
attr culRSSI valueStyle {return undef if($READING =~ m/TIME/); ($VALUE <= -85)?'style="color:red"':($VALUE <= -80)?'style="color:yellow"':undef}
Natürlich auch wieder auf das Attribut valueIcon umgemünzt, aber das gelang mmir auch wieder nicht so richtig.

Ich denke ich habe das Grundprinzip der readingsGroup und von $VALUE und $READING nich nicht richtig verstanden und wie man Perl-Code an entsprechender Stelle einbauen kann.

Vielleicht kann man den Wiki-Eintrag für eigenen Perl-Code bei valueIcon bei Gelegenheit ergänzen?

Gruß,
Michael
Titel: Neues Modul readingsGroup
Beitrag von: justme1968 am 28 September 2014, 20:33:55
in etwa so:attr Anrufliste2 valueIcon { if ( $VALUE =~ "incoming_noconnect" ) { return "phone_ring_in@red";}; if ( $VALUE =~ "incoming" ) { return "phone_ring_in@green";} }

aber ich würde empfehlen es so zu machen:
eine sub in 99_myUtils.pm das das icon liefert:sub myPhoneIcon($)
{
  my($value) = @_;
  Log 3, $value;

  my $icon = "phone_ring_in";
  $icon = "phone_ring_out" if( $value =~ /outgoing/ );

  my $color = "green";
  $color = "red" if( $value =~ m/noconnect/ );

  Log 3, $icon ."@". $color;
  return $icon ."@". $color;
}


und in der readingsGroup nur die sub aufrufen:attr Anrufliste2 valueIcon {myPhoneIcon($VALUE);}

die Log... zeilen kannst du dann raus schmeißen wenn es so geht wie du willst.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 28 September 2014, 21:57:01
Hallo,
der letzte Post passt ja fast zu meinem Problem. Da mir die Definition von "valueIcon" zu viel wird, wollte ich dies auch in eine sub auslagern. Aber irgendwie funktioniert das nicht. Es wird leider nur der Wert angezeigt.


sub readingGroupValueIcon($$$) {
  my($DEVICE,$READING,$VALUE) = @_;
  Log 3, "readingGroupValueIcon() Device: '".$DEVICE."' READING: '".$READING."' VALUE: '".$VALUE."'";
 
  if($READING eq "controlMode") {
    return 'sani_heating_automatic@green'  if $VALUE eq "auto";
    return 'sani_heating_automatic@orange' if $VALUE eq "set_auto";
    return 'sani_heating_manual@red'       if $VALUE eq "manual";
    return 'sani_heating_manual@orange'    if $VALUE eq "set_manual";
  }
}


attr rg_Heizungswerte valueIcon { readingGroupValueIcon($DEVICE,$READING,$VALUE);; }
oder
attr rg_Heizungswerte valueIcon { readingGroupValueIcon($DEVICE,$READING,$VALUE); }

In die sub gelangt man aber erst garnicht.

Hat jemand eine Ahnung?`

Vielen Dank.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 28 September 2014, 22:01:57
nimm mal  bitte die version von hier:http://forum.fhem.de/index.php/topic,27218.msg203485.html#msg203485 (http://forum.fhem.de/index.php/topic,27218.msg203485.html#msg203485). wenn das noch nicht geht schreib es mal bitte so:attr rg_Heizungswerte valueIcon {"{ readingGroupValueIcon($DEVICE,$READING,$VALUE); }"}

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 28 September 2014, 23:06:22
Super. Die neue Version funktioniert. kommt die mit dem nächsten Update?
Danke noch für die schnelle Antwort.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 29 September 2014, 00:00:48
Gibt es eine Möglichkeit eines "entweder oder" für meinen Fall bei "batteryLevel|battery"?
Dann könnte man den doppelten Eintrag von "Wohnzimmer Wohnzimmer_Wandthermostat" entfernen. Dieses Device hat nämlich das Reading battery UND batteryLevel.


define rg_Batteriewerte readingsGroup \bWohnzimmer_Heizung\b|\bWohnzimmer_Wandthermostat\b|\bKinderzimmer_Heizung\b|\bKinderzimmer_Fenster\b:batteryLevel|battery
attr rg_Batteriewerte nameStyle style="font-weight:bold"
attr rg_Batteriewerte room Status
attr rg_Batteriewerte alias Batteriewerte
attr rg_Batteriewerte mapping %ROOM %ALIAS
attr rg_Batteriewerte sortDevices 1
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 September 2014, 07:36:06
das geht nicht direkt. aber du kannst dir ein valueFormat bauen das bei den zeilen die du ignorieren willst ein undef zurück gibt. zum beispiel in dem du prüfst ob das device beide readings hat.

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Pjg am 29 September 2014, 09:44:39
Es liegt tatsächlich am Style.
Ich verwende ios7, da kommt die Leerzeile. Bei den anderen nicht.
Und nun?
Wo muss ich da Eingreifen um die weg zu bekommen?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Pjg am 29 September 2014, 09:53:22
Jetzt aber:
wenn ich die Zeit raus nehme (notime), dann bekomme ich auch bei ios7 keine Leerzeile mehr.
Es gibt also eine unterschiedliche Anzahl von Zeichen pro Zeile?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cotecmania am 29 September 2014, 11:20:38
Hallo,

ich versuche jetzt schon eine Weile mit dem Wiki ein festes Icon vorne in jede Zeile meiner ReadingsGroup zu bekommen, schaffe es aber nicht.
Es handelt sich um Funksteckdosen von ELRO (IT) die nur das Reading "state" haben.

Definition (Alias und state erscheint) :
define RG_Steckdosen readingsGroup TYPE=IT:state
attr RG_Steckdosen mapping %ALIAS
attr RG_Steckdosen notime 1

Bei diesem Ansatz erscheint zwar das Icon aber kein Alias mehr :
define RG_Steckdosen readingsGroup TYPE=IT:<%ge_wht_steckdose>,state

Das geht auch nicht :
attr RG_Steckdosen mapping <%ge_wht_steckdose> %ALIAS

Hat jemand eine Lösung hierzu ?

Danke im Voraus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 September 2014, 12:44:53
das geht zum beispiel so:define RG_Steckdosen readingsGroup TYPE=IT:<%ge_wht_steckdose>,<{AttrVal($DEVICE,"alias",$DEVICE)}>,state

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cotecmania am 29 September 2014, 14:53:25
Perfekt !

muchas gracias .....
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 29 September 2014, 20:28:10
Zitat von: justme1968 am 29 September 2014, 07:36:06
das geht nicht direkt. aber du kannst dir ein valueFormat bauen das bei den zeilen die du ignorieren willst ein undef zurück gibt. zum beispiel in dem du prüfst ob das device beide readings hat.

gruß
  andre

Das habe ich gemacht. Sollte dann das Modul diese Zeile automatisch ignorieren oder muss ich da noch was machen?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 September 2014, 20:30:47
undef ohne anführungszeichen.

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 29 September 2014, 20:39:01
Zu früh gefreut. Leider nein.


sub readingsGroupValueFormat($$$) {
  my($DEVICE,$READING,$VALUE) = @_;
  Log 3, "readingsGroupValueFormat() DEVICE: '".$DEVICE."' READING: '".$READING."' VALUE: '".$VALUE."'";

  if ($READING eq "batteryLevel" or $READING eq "battery") {
    my $batteryLevelValue = ReadingsVal($DEVICE,"batteryLevel","undef");
    my $batteryValue = ReadingsVal($DEVICE,"battery","undef");

    # Falls beide Readings existieren und der aktuelle Reading = "battery", dann diesen ignorieren
    if ($batteryLevelValue ne "undef" and $batteryValue ne "undef" and $READING eq "battery") {
       return 'undef';
    }
  }
}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spiff am 29 September 2014, 20:42:26
Ohne Anführungszeichen = auch ohne Hochkomma, wenn ich mich nicht irre.

sub readingsGroupValueFormat($$$) {
  my($DEVICE,$READING,$VALUE) = @_;
  Log 3, "readingsGroupValueFormat() DEVICE: '".$DEVICE."' READING: '".$READING."' VALUE: '".$VALUE."'";

  if ($READING eq "batteryLevel" or $READING eq "battery") {
    my $batteryLevelValue = ReadingsVal($DEVICE,"batteryLevel","undef");
    my $batteryValue = ReadingsVal($DEVICE,"battery","undef");

    # Falls beide Readings existieren und der aktuelle Reading = "battery", dann diesen ignorieren
    if ($batteryLevelValue ne "undef" and $batteryValue ne "undef" and $READING eq "battery") {
       return undef;
    }
  }
}


Gruß
Spiff
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 September 2014, 20:44:42
ohne anführungszeichen. weder doppelt noch einfach. ganz ohne.

sub readingsGroupValueFormat($$$) {
  my($DEVICE,$READING,$VALUE) = @_;

  return undef if( $READING eq "battery" && ReadingsVal($DEVICE,"batteryLevel", undef) );
 
  return $VALUE;
}


gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 29 September 2014, 20:56:24
Wenn nur undef zurückgegeben wird, wird wieder die Zeile mit dem Batteriesymbol angezeigt.


sub readingsGroupValueFormat($$$) {
  my($DEVICE,$READING,$VALUE) = @_;
  Log 3, "readingsGroupValueFormat() DEVICE: '".$DEVICE."' READING: '".$READING."' VALUE: '".$VALUE."'";

  return "%0.1f &deg;C"   if($READING eq "desired-temp");
 
  return "%0.1f &deg;C"   if($READING eq "measured-temp");
 
  return "%0.1f %%"       if ($READING eq "ValvePosition");

  # Falls beide Readings existieren und der aktuelle Reading = "battery", dann diesen ignorieren
  return undef            if( $READING eq "battery" && ReadingsVal($DEVICE,"batteryLevel", undef) );
 
  return $VALUE;
}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 September 2014, 20:59:42
bitte teste das mal mit der offiziellen version die per update kommt. nicht. mit der aus dem thread. es kann sein das es genau da noch einen fehler gibt.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 September 2014, 21:07:04
ich habe die version hier: http://forum.fhem.de/index.php/topic,27218.msg203485.html#msg203485 (http://forum.fhem.de/index.php/topic,27218.msg203485.html#msg203485) noch mal aktualisiert. bitte nimm diese zum testen.

danke
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 29 September 2014, 21:13:30
Ok.
1. Über das Update habe ich keine aktuelle bekommen.
2. Deine aktualisierte funzt prima.

Vielen Dank für diesen schnellen Support.

Dann überlege ich mir mal noch weitere Dinge  ;)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 29 September 2014, 21:16:38
Zitat von: justme1968 am 28 September 2014, 20:33:55
in etwa so:attr Anrufliste2 valueIcon { if ( $VALUE =~ "incoming_noconnect" ) { return "phone_ring_in@red";}; if ( $VALUE =~ "incoming" ) { return "phone_ring_in@green";} }

aber ich würde empfehlen es so zu machen:
eine sub in 99_myUtils.pm das das icon liefert:sub myPhoneIcon($)
{
  my($value) = @;
  Log 3, $value;

  my $icon = "phone_ring_in";
  $icon = "phone_ring_out" if( $value =~ /outgoing/ );

  my $color = "green";
  $color = "red" if( $value =~ m/noconnect/ );

  Log 3, $icon ."@". $color;
  return $icon ."@". $color;
}

Andre, ich bekomme beim Speichern der 99_MyUtils.pm diesen Fehler hier angezeigt:
Zitatsyntax error at ./FHEM/99_MyUtils.pm line 89, near "@; Log " Global symbol "$value" requires explicit package name at ./FHEM/99_MyUtils.pm line 89.
Zeile 89 enthält in diesem Fall
Log 3, $value;

Edit: denke ich habe den Fehler gefunden: my($value) = @; Hier fehlte der underscore  :D

Ansonsten funktionierts prima, musste noch die ein oder andere kleine Anpassung vornehmen, aber als Grundlage hat's mir sehr gut weitergeholfen - DANKE!

Michael


Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 September 2014, 21:25:21
ja. stimmt. war nur schnell ohne testen hingeschrieben...

hab es oben korrigiert.

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 29 September 2014, 21:27:11
Zitat von: justme1968 am 29 September 2014, 21:25:21
ja. stimmt. war nur schnell ohne testen hingeschrieben...
Macht nichts ich hab' den Fehler ja sogar Mal selbst gefunden und dafür dass du es einfach so geschrieben hast: meine Respekt hast du  :-*

Danke,
Michael
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 29 September 2014, 21:31:10
Zitat von: justme1968 am 29 September 2014, 20:59:42
bitte teste das mal mit der offiziellen version die per update kommt. nicht. mit der aus dem thread. es kann sein das es genau da noch einen fehler gibt.

Dazu muss ich jetzt doch noch was fragen. Hätte ich nicht per Update heute eine aktuelle bekommen müssen?
Ist deine Aktualisierung aus http://forum.fhem.de/index.php/topic,27218.msg203485.html#msg203485 (http://forum.fhem.de/index.php/topic,27218.msg203485.html#msg203485) nicht im SVN enthalten? Zumindest deine Änderungen von gestern hätte ich doch bekommen müssen
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 September 2014, 21:33:00
die version ist noch nicht eingecheckt. ich hatte die aktuelle alte version aus dem svn gemeint. hab mich undeutlich ausgedrückt.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 01 Oktober 2014, 23:30:06
Hallo Andre, habe heute im Log eine Fehlermeldung welche die Heizungs ReadingsGroup betrifft. In meiner 99_myUtils:

package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}

#Heizung regeln in readingsGroup
sub
myUtils_HeizungUpDown($$)
{
  my($DEVICE,$CMD) = @_;

  my $icon = $CMD;
  my $VALUE = ReadingsVal($DEVICE,"desired-new","20" );
  $VALUE = ReadingsVal($DEVICE,"desired-temp","20" )
     if( !$VALUE || $VALUE == 0 );
  my $link;

  if( $CMD eq "up" ) {
    $icon = "control_arrow_upward";
    $VALUE += 1;

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

    if( $VALUE >= 18 ) {
      $icon .= "\@blue";
      $link = "setreading $DEVICE desired-new $VALUE";
    }
  }

  my $notify = "notifyHeizungUpDown";
  if( !defined($defs{$notify}) ) {
    CommandDefine(undef,
                   "$notify notify .*:desired-new.* "
                   ."{ myUtils_HeizungUpDownNotify(\$NAME,\$EVTPART1); }" );
  }

  my $ret = "%$icon";
  $ret .= "%$link" if( $link );

  return $ret;
}
sub
myUtils_HeizungUpDownNotify($$)
{
  my($DEVICE,$VALUE) = @_;

  return if( $VALUE == 0 );

  my $at = "triggerHeizungUpDown_$DEVICE";
  CommandDelete(undef, $at) if( defined($defs{$at}) );
  CommandDefine(undef,
                 "$at at +00:00:03 "
                 ."{my \$v = ReadingsVal(\"$DEVICE\",\"desired-new\",undef);"
                 ."fhem(\"set $DEVICE desired-temp \$v\") if( \$v );"
                 ."fhem(\"setreading $DEVICE desired-new 00\");}" );

  return undef;
}



Bringt seit heute folgende Fehlermeldung:

[Wed Oct  1 21:33:07 2014] fhem.pl: Argument "off" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 33.
[Wed Oct  1 21:33:07 2014] fhem.pl: Argument "off" isn't numeric in addition (+) at ./FHEM/99_myUtils.pm line 25.
[Wed Oct  1 21:33:50 2014] fhem.pl: Argument "off" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 33.
[Wed Oct  1 21:33:50 2014] fhem.pl: Argument "off" isn't numeric in addition (+) at ./FHEM/99_myUtils.pm line 25.
[Wed Oct  1 21:35:52 2014] fhem.pl: Argument "off" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 33.
[Wed Oct  1 21:35:52 2014] fhem.pl: Argument "off" isn't numeric in addition (+) at ./FHEM/99_myUtils.pm line 25.


In Line 33 : $VALUE -= 1;
In Line 25 : $VALUE += 1;

Vorher gehen die RT´s auf off, da die Außentemperatur über 18°C geht:
im Log:
2014.10.01 11:00:28 3: CUL_HM set 16_LED_11 led green
2014.10.01 11:08:40 3: CUL_HM set Kueche_Heizung_ClimRT_tr controlManu off
2014.10.01 11:08:40 3: CUL_HM set Flur_Heizung_Clima controlManu off
2014.10.01 11:08:40 3: CUL_HM set Bad_Heizung_ClimRT_tr controlManu off
2014.10.01 11:08:40 3: CUL_HM set Kinderzimmer_Heizung_links_ClimRT_tr controlManu off
2014.10.01 11:08:40 3: CUL_HM set Kinderzimmer_Heizung_rechts_ClimRT_tr controlManu off
2014.10.01 11:08:40 3: CUL_HM set SZ_Heizung_links_ClimRT_tr controlManu off
2014.10.01 11:08:40 3: CUL_HM set SZ_Heizung_rechts_ClimRT_tr controlManu off
[Wed Oct  1 11:08:42 2014] fhem.pl: Argument "off" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 33.
[Wed Oct  1 11:08:42 2014] fhem.pl: Argument "off" isn't numeric in addition (+) at ./FHEM/99_myUtils.pm line 25.
[Wed Oct  1 11:08:44 2014] fhem.pl: Argument "off" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 33.
[Wed Oct  1 11:08:44 2014] fhem.pl: Argument "off" isn't numeric in addition (+) at ./FHEM/99_myUtils.pm line 25.
[Wed Oct  1 11:08:54 2014] fhem.pl: Argument "off" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 33.
[Wed Oct  1 11:08:55 2014] fhem.pl: Argument "off" isn't numeric in addition (+) at ./FHEM/99_myUtils.pm line 25.

Danach fangen die Meldungen an. Habe gerade mal die letzten Septembertage nachgesehen, da trat die Meldung nicht auf.

VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 02 Oktober 2014, 10:14:45
das desired einen nicht numerischen wert haben kann wird in dieser version nicht berücksichtigt.

in der nächsten version wird das auch gehen.

ein erster workaround wäre nach zeile 20 etwas in der art einzubauen:$VALUE = 20 if( $VALUE eq "off" );


gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 02 Oktober 2014, 13:27:05
Hallo Andre, Zeile 20 ist gleich nach dem Header/Kommentar, Zeile 21 ist: package main; in welche sub müsste es? Arbeite auf dem MAC mit Editra, hab mal einen Screenshot angehangen.

VG
Frank

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 02 Oktober 2014, 13:29:05
zeile 20 in 99_myUtils vor my $link; oder als zusätzliches oder im if direkt davor.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 02 Oktober 2014, 13:40:22
Alles klar, war irrtümlicher Weise in der readingsGroup.pm unterwegs.  ;)

P.S. Danke Andre, Meldungen sind weg!

VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Christoph am 03 Oktober 2014, 19:07:13
Ich würde mir gerne ein readingsGroup mit mehreren Icons erstellen und damit dummys ein/ausschalten.
Ist sowas möglich ? Wenn ja hat mir jemand einen Tip wie ich das realisieren kann ?


Gruß Christoph
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 03 Oktober 2014, 20:02:24
natürlich geht das.

beschreib doch mal etwas genauer wie es aussehen und funktionieren soll.

ansonsten gibt es im wiki beispiele für alles mögliche.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: jschmitt am 04 Oktober 2014, 00:31:32
Hallo,

ich bekomme in einer ReadingsGroup keine Symbole angezeigt,
siehe Anhang. Die Zugriffsrechte stimmen. Ich habe ja auch einmal
auf die Dateien in /images/default und einmal auf das SVG- Verzeichnis
verwiesen. Mehrfach neu gestartet.

Wo ist hier wieder mal mein Fehler???

Viele Grüße,

Johannes
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 04 Oktober 2014, 10:36:26
was siehst du stat dessen in der readingsGroup?

siehst du die icons auf der 'Select icon' seite?

mach mal ein list auf das muelltermin device.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: jschmitt am 04 Oktober 2014, 18:45:53
Hallo,

in der ReadingsGroup sehe ich den Namen des Termins.
Hier: Gelber_Sack. Es soll aber das Bild dorthin.
Die Bilder sind da: Ich sehe sie, wenn ich "select Icon" klicke.

Ein "list muelltermine" ergibt:

*****
Internals:
   DEF        Muell 0
   INTERVAL   43200
   KALENDER   Muell
   MODES      modeStart
   NAME       muelltermin
   NR         187
   STATE      Initialized
   TYPE       CALVIEW
   CHANGETIME:
   Readings:
     2014-10-04 18:11:48   14-10-04@15:00-Muellabfuhr Muellabfuhr
Attributes:
   DbLogExclude .*
   maxreadings 1

*****
Nochmal ein "list Muellabfuhrtermin":

*****

Internals:
   DEF        muelltermin
   NAME       Muellabfuhrtermin
   NR         188
   NTFY_ORDER 50-Muellabfuhrtermin
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     muelltermin 1
   Content2:
   DEVICES:
     ARRAY(0xc97630)
   Fhem:
     lastDefChange 1
     last_update 1412439108.68079
Attributes:
   DbLogExclude .*
   group      Termine
   nonames    1
   notime     1
   room       Termine
   valueIcon  {'Muellabfuhr' => 'ampel_gruen', 'Gelber_Sack' => 'ampel_gelb'}

*****

Ich habe jetzt schon andere Symbole probiert und heute ist "testweise" Muellabfuhr statt Gelber_Sack.
Aber irgendwie zeigt mir fhem nur den Text des Termins an, kein Symbol.
-Solls am Modul CALVIEW liegen (das ist ja kein offizielles welches...)? Aber das sortiert doch nur...


Viele Grüße,

Johannes
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 04 Oktober 2014, 18:59:53
das reading in deinem device hat nicht den wert Muellabfuhr sondern 14-10-04@15:00-Muellabfuhr Muellabfuhr, da kann valueIcon nicht greifen. du musst zuerst den wert mit valueFormat passend machen. z.b. etwas in der art:attr muelltermin valueFormat { return "Muellabfuhr" if( $VALUE =~ m/Muellabfuhr$/); return "Gelber_Sack" if( $VALUE =~ m/Gelber_Sack$/ );} oder vielleicht geht es auch universeller so:attr muelltermin valueFormat { if( $VALUE =~ m/\s(.*)$/) { return $1; } }

danach kann valueIcon greifen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: jschmitt am 04 Oktober 2014, 19:45:47
Hallo Andre,

Danke für die schnelle Antwort!

Du meintest bestimmt "attr MUELLABFUHRTERMIN valueIcon...
Das hab ich jetzt so gemacht mit jeweils ein return Muellabfuhr_NEU und Gelber_Sack_NEU.

Hat so nicht direkt geholfen, aber so scheint es zu klappen:

*****
attr Muellabfuhrtermin valueFormat { return "tonne_grau" if( $VALUE =~ m/Muellabfuhr$/); return "tonne_gelb" if( $VALUE =~ m/Gelber_Sack$/ );}
UND:
attr Muellabfuhrtermin valueIcon  %VALUE
*****

DAS zeigt mir jetzt die graue Tonne.
Morgen sollte es dann die gelbe Tonne sein.
Ich warte lieber in Echtzeit ab, da ich die Techniken des Triggerns etc. eh' nicht verinnerlicht habe.
Ich werde berichten ob es geklappt hat.

Vielen Dank nochmal, denn dieses Konstrukt werde ich wohl noch öfter brauchen...

Nachtrag: Gelber Sack geht auch.

Viele Grüße,

Johannes
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhainz am 05 Oktober 2014, 12:34:23
Hallo Andre,

ich versuche gerade das Beispiel mit dem Heizungs UP, DOWN Pfeilen aus dem Wiki umzusetzen. So wie es im Wiki steht hat es bei mir nicht auf anhieb funktioniert. Die Pfeil-Links wurden nach dem klicken nicht aktualisiert also hab ich das @desired-temp auf @desired-new geändert. Anschließend funktioniert es bei mir.

Ich will in einer Zeile die Pfeile und Werte aus dem PID Modul anzeigen lassen.
Die Solltemperatur wird aber über ein kleines Hilfsmodul (Überwacht Fensterkontakte und setzte Temperaturen nach Zeitplan) gesetzt und nicht direkt ins PID Modul geschrieben. Das Modul schreibt bei Freigabe (zB Fenster geschlossen) den Wert dann ins PID Modul das die FHT-Ventile ansteuert.
Mein erster Versuch sah so:
szHeizung:<%sani_heating_temp>,<{rgLink("szHeizung","detail","Heizung")}>,<{myUtils_HeizungUpDown("szHeizungSollTemp","up")}@desired-new>,SollGrIst,<{myUtils_HeizungUpDown("szHeizungSollTemp","down")}@desired-new>,measured,actuation,<{rgLink("szFensterkontakt","detail",rgFensterMapping(ReadingsVal("szFensterkontakt","state","")))}@window>
szHeizung = PID Device
szHeizungSollTemp = Solltemp Device/Modul

Leider hängt wieder am aktualisieren der Links nach dem ersten mal klicken nachdem im PID-Device nicht das Reading desired-new vorhanden ist. Also hab ich versucht nach dem @ einen Perl aufruf zu setzten der die ReadingsVal aus szHeizungSollTemp ausließt. Funktioniert aber leider nicht :(

szHeizung:<%sani_heating_temp>,<{rgLink("szHeizung","detail","Heizung")}>,<{myUtils_HeizungUpDown("szHeizungSollTemp","up")}@{ReadingsVal("szHeizungSollTemp","desired-new","")}>,SollGrIst,<{myUtils_HeizungUpDown("szHeizungSollTemp","down")}@{ReadingsVal("szHeizungSollTemp","desired-new","")}>,measured,actuation,<{rgLink("szFensterkontakt","detail",rgFensterMapping(ReadingsVal("szFensterkontakt","state","")))}@window>

Hast du eine Idee?

Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 Oktober 2014, 12:41:29
der beispiel code geht davon aus das alles in einem reading steckt. das ist nötig damit die readingsGroup per notify mit bekommt wenn sich an dem wert etwas ändert. steck deine soll temperatur auch einfach mit setreading in ein device.

ich bin übrigens gerade dabei die heizungssteuerung noch mal komplett zu überarbeiten und dann auch so ein widget wie auf dem screenshot unten einzubauen. das ganze ist dann (fast) völlig device unabhängig und wird mit max, hm, fs20 und eigenbau steuerungen gehen. dauert aber noch ein klein wenig.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhainz am 05 Oktober 2014, 12:55:47
Ok ich versuche das mal.

Den Screenshot hab ich schon in deinem anderen Thread gesehen, schaut echt super aus! Auf das, und die anderen dinge die in dem Thread stehen freue ich mich schon sehr! ;)

Grüße

Edit:
Ich habe wiedermal viel zu kompliziert gedacht. Der Sollwert steht ja eh im PID Modul. Nun schreibe ich in der myUtils_HeizungUpDownNotify die solltemp hardcodete ins jeweilige Solltemp Device und hab nun auch hier die anschließenden prüfungen im modul bis das Widget fertig ist! :)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 05 Oktober 2014, 20:30:43
Hi,

hat schon Mal jemand die readingsGroup zum Einstellen/Darstellen der Heizungswerte von MAX! Heizkörperthermostaten verwendet, so wie hier: http://forum.fhem.de/index.php/topic,26479.msg203580.html#msg203580 (http://forum.fhem.de/index.php/topic,26479.msg203580.html#msg203580) für die HM Thermostate?

Ich denke zwar ich könnte es mir über Try and Error wahrscheinlich selbst erstellen, aber warum das Rad neu erfinden? Einen Teil habe ich bereits gelöst, um noch die Wochentags-Werte in die Thermostate zurückzuschreiben, da hänge ich momentan, weil mir das Format noch nicht so ganz klar ist.

Also, wenn jemand bereits funktionierendes Coding hat, um für die MAX! Thermostate die Heizwerte je Wochentag einstellen zu können, wäre ich dankbar wenn er dies hier Mal zur Verfügung stellen könnte.

Danke,
Michael

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 Oktober 2014, 20:36:17
die original version die in diesem thread hier: http://forum.fhem.de/index.php/topic,19126.0.html (http://forum.fhem.de/index.php/topic,19126.0.html) entstanden ist (nicht der von dir verlinkte) war für max.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 05 Oktober 2014, 20:55:11
Zitat von: justme1968 am 05 Oktober 2014, 20:36:17
die original version die in diesem thread hier: http://forum.fhem.de/index.php/topic,19126.0.html (http://forum.fhem.de/index.php/topic,19126.0.html) entstanden ist (nicht der von dir verlinkte) war für max.

Hmm, ja danke, die Möglichkeit kannte ich schon und so ähnlich läuft es ja auch bei mir bereits, ich habe lediglich Up-/Down Pfeile zum Einstellen der Temperatur verwendet.

Mein Plan wäre allerdings, wie im verlinkten Artikel, für jeden Wochentag erstens den Beginn und das Ende der Heizzeit und zweitens die dann gewünschte Temperatur einzustellen - nur eben für Max! Geräte.

Aber wie gesagt, wenn dies jemand bereits so oder so ähnlich im Einsatz hat - gerne her damit  ;D

Michael
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cotecmania am 06 Oktober 2014, 22:27:33
Wie kann ich denn in einer readingsGroup mit DropDown-Feld für das Setzen der Temperatur (desiredTemperature) die Schriftgröße innerhalb des Dropdowns verändern.
Mit valueStyle komme ich an alle Werte aber nicht an die in der DropDownListe.

#########################
# Heizung ReadingsGroup #
#########################
define RG_Heizungswerte readingsGroup TYPE=MAX:<%hc_wht_regler>,<{AttrVal($DEVICE,"alias",$DEVICE)}>,temperature,battery,desiredTemperature
attr RG_Heizungswerte alias Heizungswerte
attr RG_Heizungswerte commands { 'Heizungswerte.auto' => 'set $DEVICE desiredTemperature auto', 'Heizungswerte.manuell' => 'set $DEVICE desiredTemperature manual', 'desiredTemperature' => 'desiredTemperature:' }
attr RG_Heizungswerte fp_Tablet 100,750,0,
attr RG_Heizungswerte group Heizung
attr RG_Heizungswerte mapping { 'desiredTemperature' => '' }
attr RG_Heizungswerte room Heizung
attr RG_Heizungswerte valueFormat { 'desiredTemperature' => "%.1f&deg;;C", 'temperature' => "%.1f&deg;;C" }
attr RG_Heizungswerte valueIcon {'battery.ok' => 'batteryfull_32', 'battery.low' => 'batteryleer_32'}
#attr Heizungswerte nameStyle style="color:blue;;font-weight:bold"
attr RG_Heizungswerte valueStyle { if ($READING eq "desiredTemperature") {'style="font-size:20px"'} else {'style="font-size:10px"'} }
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 Oktober 2014, 09:41:40
schau mal ob du mit dem normalen style attribut weiter kommst. d.h. das als default für alles in der readingsGroup inklusive dem drop down menü setzen und dann für alles andere mit den spezifischeren optionen wieder überschreiben.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 16 Oktober 2014, 21:31:44
Hallo zusammen,

wenn ich folgendes mache

define rg_Systemstatus readingsGroup \
sysmon:,<CPU Temperatur>,cpu_temp_avg,<CPU Frequenz>,cpu1_freq \
sysmon:,<System up time>,uptime_text,<FHEM up time>,fhemuptime_text
attr rg_Systemstatus alias Systemstatus
attr rg_Systemstatus room 00 Übersicht

wird nur der Rahmen der readingsGroup ohne Inhalt angezeigt.

SYSMON habe ich wie folgt definiert:
define sysmon SYSMON 1 1 1 10

Darstellen wollte ich das ähnlich wie im Beispiel:
http://www.fhemwiki.de/wiki/ReadingsGroup#Wertabh.C3.A4ngige_Farbgebung (http://www.fhemwiki.de/wiki/ReadingsGroup#Wertabh.C3.A4ngige_Farbgebung)

Vielen Dank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Oktober 2014, 11:46:50
die , jeweils nach dem : sind überflüssig oder stören sogar. ich weiss aber nicht ob es daran liegt. ansonsten schreib mal bitte das komplette define in eine zeile.

mach mal bitte ein list auf die readingsGroup.

ist dein fhem aktuell?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 17 Oktober 2014, 12:40:51
Zitat
die , jeweils nach dem : sind überflüssig oder stören sogar. ich weiss aber nicht ob es daran liegt.
Hatte ich schon probiert. Daran lag es nicht. So steht es aber auch im Wiki.

Zitat
ansonsten schreib mal bitte das komplette define in eine zeile.
Hatte ich auch schon probiert. Daran lag es auch nicht.

Zitat
ist dein fhem aktuell?
Aber sicher doch (zu diesem Zeitpunkt)

Zitat
mach mal bitte ein list auf die readingsGroup.
Mache ich heute abend.


Folgendes funktionierte übrigens:

define rg_Systemstatus readingsGroup sysmon
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 17 Oktober 2014, 12:47:48
Die Leerzeichen (und das einsame Komma am Anfang) scheinen zu stören - so geht's (bei mir):

define rg_Systemstatus readingsGroup \
sysmon:<>,<CPU_Temperatur>,cpu_temp_avg,<CPU_Frequenz>,cpu1_freq \
sysmon:<>,<System_up_time>,uptime_text,<FHEM_up_time>,fhemuptime_text
attr rg_Systemstatus alias Systemstatus
attr rg_Systemstatus room 00 Übersicht
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 17 Oktober 2014, 13:17:42
Zitat von: RoBra81 am 17 Oktober 2014, 12:47:48
Die Leerzeichen (und das einsame Komma am Anfang) scheinen zu stören - so geht's (bei mir):
Mit den <> vor dem Komma hatte ich auch schon probiert ohne Erfolg.
Vermutlich hängts dann an den Leerzeichen. Ist natürlich blöd da ich dann die Text noch ummappen muss.

Vielen Dank. Ich werde es heute Abend probieren.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 17 Oktober 2014, 20:17:53
Ok. funktioniert. Es ist das Leerzeichen.
Folgendermaßen funktioniert es:

define rg_Systemstatus readingsGroup \
sysmon:,<CPU_Temperatur>,cpu_temp_avg,<CPU_Frequenz>,cpu1_freq \
sysmon:,<System_up_time>,uptime_text,<FHEM_up_time>,fhemuptime_text
attr rg_Systemstatus alias Systemstatus
attr rg_Systemstatus room 00 Übersicht


Aber glücklich bin ich damit nicht:
- Ich hätte gerne die Anzeige des Devices sysmon unterdrückt
- Die Underscores im Text sind nicht schön

Eigentlich so wie im Beispiel:
http://www.fhemwiki.de/wiki/ReadingsGroup#Alle_Readings_eines_Ger.C3.A4tes.2C_mit_Ausnahme_von... (http://www.fhemwiki.de/wiki/ReadingsGroup#Alle_Readings_eines_Ger.C3.A4tes.2C_mit_Ausnahme_von...)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Oktober 2014, 21:20:23
zeig mal bitte einen screenshot.

wenn du möchtest das der device name nicht auftaucht dann setzt das nonames atribut.

mach das komma nach dem doppelpunkt weg. das macht wirklich keinen sinn.

die leerzeichen bekommst du in der aktuellen version am einfachsten in den text wenn statt dessen jeweils &nbsp; schreibst.

gruss
  andre

Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 17 Oktober 2014, 21:37:56
soweit so gut. Bis auf die Darstellung der Leerzeichen mit &nbsp;
Anhang anbei.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Oktober 2014, 21:38:49
wo ist das problem ?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 17 Oktober 2014, 21:49:57
Wenn ich anstatt dem Underscore ein &nbsp; mache, kann das nicht aufgelöst werden.
Das hängt wohl am Semikolon.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Oktober 2014, 21:57:37
nicht die config direkt bearbeiten sondern im frontend in der detail ansicht DEF klicken und dort editieren.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 17 Oktober 2014, 22:05:49
Ich werd bekloppt. Das hat funktioniert. Vielen Dank.
Hab meinen Denkfehler auch gefunden. Ich hätte in der cfg auch ;; machen müssen  ;)

Ich hätte da noch was weiteres:
Gibt es eine komfortable Möglichkeit das Modul Weather inkl. den Icons zu integrieren, wie es z.B. mit

define wl_Wohnort weblink htmlCode {WeatherAsHtml("we_Wohnort")}

möglich ist?

Vielen Dank.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 19 Oktober 2014, 21:25:30
Hi,

ich hänge Mal wieder mit der readingsGroup  ::)

Ich habe insgesamt fünf Devices, deren Werte ich zum Teil untereinander als auch nebeneinander darstellen möchte. Siehe zunächst Mal Screenshot1.
Es gibt dort die Gruppe Garage mit den Zeile 1-3 und die Gruppe switch mit den Zeilen 1-2. Ich habe das gewünschte Ergebnis in Screenshot 2 angefügt.

Kurzum, die Zeilen 1-2 aus Gruppe switch sollten neben den analog numerierten Werten stehen. Dabei aber nur die Attribute WebCmd und battery. Für die dritte Zeile Garagentür gibt es kein entsprechendes Device!

Folgende Definition meiner readingsGroup hat mich schon fast zum Ergebnis geführt, aber die Werte (WebCmd, Battery) aus Gruppe switch bekomme ich noch nicht neben die Werte der Gruppe Garage.

define Garage readingsGroup <%fts_garage>,<Tor>,<Batterie>,<Taster>,<Batterie> (GaragenTorRechts|GaragenTorLinks|GaragenTuer):state,battery :state,battery,GaragentorRechtsToggle:webCmd,battery,GaragentorLinksToggle:webCmd,battery
attr Garage mapping %ALIAS
attr Garage nameStyle style=color:yellow;;font-weight:bold
attr Garage room Garage
attr Garage notime 1
attr Garage valueIcon {state => '%devStateIcon', 'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red'}


Kann mir vielleicht jemand noch einen Tipp geben?

Gruß,
Michael
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 19 Oktober 2014, 22:41:02
wenn du einen wert aus einem anderen device zusätzlich mit in einer Zeile anzeigen möchtest geht das mit der form <regex>@<device>

battery ist aber ziemlich sicher kein ttribut sondern ein reading.

das webCmd attribut kannst du mit +webCmd@device genau so mit anzeigen. aber es wird nur angezeigt. es ist nicht anklickbar. um etwas anklickbar zu machen musst du das commands attribut verwenden.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 20 Oktober 2014, 08:15:45
Ich bin gerade dabei für meine Heizkörperbedienung eine ReadingsGroup zu bauen. Momentan bin ich soweit zufrieden, dass ich den aktuellen Stand für alle Heizkörper/Räume vervielfältigen würde. Da ich mir aber nicht sicher bin, ob ich nicht doch irgendwann etwas ändern möchte, wollte ich mal fragen, ob es möglich ist, eine komplette ReadingsGroup in eine Funktion in die myUtils auszulagern (nur die def, keine Attribute)? Ich hätte das gern irgendwie zentral, sodass ich meine Anpassungen immer gleich für alle Floorplans habe...

Vielen Dank
Ronny
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 20 Oktober 2014, 08:56:52
nein. das geht nicht. nur die attribute kannst du auslagern.

du kannst aber im web frontend auf DEF klicken und das was dort steht per copy und paste in ein andere DEF kopieren.

ansonsten gibt es noch copy

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 21 Oktober 2014, 09:41:49
Hallo,

ich möchte mir mal wieder eine ReadingsGroup zusammenstellen und bin am verzweifeln: Ist es möglich, für eine Icon ein ColSpan (und vielleicht sogar einen style mit width und height) zu definieren? Ich bekomme den colspan für ein reading hin, bräuchte es aber auch für Icons (und auch bei Namen ala <heute> bräuchte ich es und habe es noch nicht hinbekommen)...

Vielen Dank
Ronny
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 21 Oktober 2014, 09:53:13
mit der eingecheckten version geht beides noch nicht.

in meiner version hier habe ich es schon eingebaut. schau dir mal die version von hier: http://forum.fhem.de/index.php/topic,27218.msg203485.html#msg203485 (http://forum.fhem.de/index.php/topic,27218.msg203485.html#msg203485) an. da könnte es für die namen eventuell schon gehen. oder über das cellStyle attribut für jede beliebige zelle.

ich fasse demnächst die ganzen test versionen zusammen und checke es ein.

je nach layout könnte eventuell ein workaround für dich über style beides global für die ganze readingsGroup vorzugeben und dann für jedes element das beides nicht gesetzt haben soll explizit wieder zurück zu setzen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 21 Oktober 2014, 17:57:05
Hallo,

ich habe bereits die Version aus dem Link, es geht aber trotzdem nicht: zum einen kann ich das colspan gar nicht mit style sondern nur mit ValueColumns setzen und da kann ich wie gesagt nur Value-Zellen die keine Icons sind beeinflussen. Zum anderen kann ich zwar width setzen, dies hat aber leider keinen Einfluss auf die Icons...

Vielleicht kommt da ja in einer neuen Version noch etwas für mich :-)

Ronny
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 22 Oktober 2014, 06:16:18
Hi,

ist es möglich eine feste Breite für eine Spalte festzulegen?
Habe mehrere RGs die alle ähnlich aussehen sollen, jedoch nicht immer die gleiche Anzahl an Elementen in einer Zeile haben. Darunter wird ein SVG platziert, dass die gleiche breite wie die RG hat.

Falls es dazu keine saubere Lösung gibt muss ich wohl einfach leere Spalten dazwischen einfügen.

Edit: seit gestern sieht meine Readingsgroup in der Firma so aus (siehe Anhang).
Es wurden zwischen noch funktionieren und nicht mehr funktioniereren "nur" eine Funktion in den myUtils bearbeitet, und ein update der Module

10_CUL_HM.pm
91_eventTypes.pm

durchgeführt.

define rg_12170_1 readingsGroup <Beleuchtung>,<Status>,<>,<Fenster>,<>,<Status>,<Batterie>\
EIB_1118:<Beleuchtung.1>,state,<>,<Fenster.1>,<>,state@CUL_HM_HM_SEC_SC_2_26AA3B,battery@CUL_HM_HM_SEC_SC_2_26AA3B\
EIB_1117:<Beleuchtung.2>,state,<>,<Fenster.2>,<>,state@CUL_HM_HM_SEC_SC_2_26AA4E,battery@CUL_HM_HM_SEC_SC_2_26AA4E\
EIB_1116:<Beleuchtung.3>,state,<>,<Fenster.3>,<>,state@CUL_HM_HM_SEC_SC_2_26AC38,battery@CUL_HM_HM_SEC_SC_2_26AC38\
CUL_HM_HM_SEC_SC_2_26B663:<>,<>,<>,<Fenster.4>,<>,state@CUL_HM_HM_SEC_SC_2_26B663,battery@CUL_HM_HM_SEC_SC_2_26B663\
<>,<>,<>,<>,<>,<>,<>\
<Raumklima>,<>,<>,<Heizung>,<Temperatur>,<Ventil>,<Batterie>\
CUL_HM_HM_CC_RT_DN_255103:<Solltemperatur>,dayTemp@d_ClimaControl_12170,<>,<Heizung.1>,measured-temp,actuator,battery\
CUL_HM_HM_CC_RT_DN_25510C:<>,<Start>,<Ende>,<Heizung.2>,measured-temp,actuator,battery\
CUL_HM_HM_CC_RT_DN_25528E:<Werktag>,weekday_start@d_ClimaControl_12170,weekday_end@d_ClimaControl_12170,<Heizung.3>,measured-temp,actuator,battery\
CUL_HM_HM_CC_RT_DN_255617:<Samstag>,saturday_start@d_ClimaControl_12170,saturday_end@d_ClimaControl_12170,<Heizung.4>,measured-temp,actuator,battery\
<>,<>,<>,<>,<>,<>,<>\
<Klimaanlage>,<Power>,<Status>,<Richtung>,<Temperatur>,<Geschwindigkeit>,<Filter>\
<Klimaanlage.1>,<%control_standby@lightgreen>,<kühlen>,<2>,<23.6 °C>,<%vent_ventilation_level_2>,<%sani_water_tap@lightgreen>\
<Klimaanlage.2>,<%control_standby@lightgreen>,<kühlen>,<2>,<22.9 °C>,<%vent_ventilation_level_1>,<%sani_water_tap@lightgreen>
attr rg_12170_1 commands {'EIB_1118.state' => 'trigger ntfy_toggle EIB_1118', 'EIB_1117.state' => 'trigger ntfy_toggle EIB_1117', 'EIB_1116.state' => 'trigger ntfy_toggle EIB_1116', 'dayTemp' => 'dayTemp:', 'weekday_start' => 'weekday_start:', 'weekday_end' => 'weekday_end:', 'saturday_start' => 'saturday_start:', 'saturday_end' => 'saturday_end:'}
attr rg_12170_1 mapping {'dayTemp' => '', 'weekday_start' => '', 'weekday_end' => '', 'saturday_start' => '', 'saturday_end' => ''}
attr rg_12170_1 nameStyle {($READING eq "Beleuchtung"||$READING eq "Status"||$READING eq "Fenster"||$READING eq "Batterie"||$READING eq "Raumklima"||$READING eq "Heizung"||$READING eq "Temperatur"||$READING eq "Ventil"||$READING eq "Klimaanlage"||$READING eq "Power"||$READING eq "Richtung"||$READING eq "Geschwindigkeit"||$READING eq "Filter")?'style="font-size:20px;;color:
attr rg_12170_1 noheading 1
attr rg_12170_1 nonames 1
attr rg_12170_1 room 1.2.170:Antriebstechnik
attr rg_12170_1 sortby 10
attr rg_12170_1 valueFormat {'measured-temp' => "%0.1f &deg;;C", 'actuator' => "%0.1f %%" }
attr rg_12170_1 valueIcon {'state.on' => 'li_wht_on', 'state.off' => 'li_wht_off', 'state.closed' => 'fts_window_1w','state.open' => 'fts_window_1w_tilt',  'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red'}
attr rg_12170_1 valueStyle style="font-size:16px"

Was fehlt sind die Freitexte die in <> stehen.

rg funktioniert wieder, es fehlte nur ein Teil des nameStyle attr -.-

Grüße
Igami

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 22 Oktober 2014, 18:29:46
Hallo,
ich brauche mal einen Tipp:
Habe folgende ReadingsGroup:
<>,<Player>,<Sender>,<>,<Status>
Sonos_Buero:<%icoSONOSPLAYER_icon-S3.png>,<Büro>,currentSender,currentAlbum,transportState,


Jetzt möchte ich mit dem Attribut valueStyle in Abhöngigkeit vom transportState die Farbe vom Reading "currentSender" ändern, kriege es aber nicht hin:
{
if($READINGS eq "currentSender" && ReadingsVal($DEVICE, "transportState", "") eq "PLAYING" )
{
'style="color:green"'
}
elseif ($READINGS eq  "currentSender" && ReadingsVal($DEVICE, "transportState", "") eq "STOPPED" )
{
'style="color:red"'
}
}


Wo mache ich den logischen Fehler?

Spartacus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 23 Oktober 2014, 10:14:45
es gibt keine $READINGS variable und es muss elsif statt elseif heissen.

also etwa so:{
  if($READING eq "currentSender" && ReadingsVal($DEVICE, "transportState", "") eq "PLAYING" ) {
    'style="color:green"'
  } elsif ($READING eq "currentSender" && ReadingsVal($DEVICE, "transportState", "") eq "STOPPED" ) {
    'style="color:red"' }
}


ein blick ins log file hätte zu beiden einen hinweis bringen müssen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 23 Oktober 2014, 12:56:50
Halle,
yep! Besten Dank! Das war es. Allerdings wird die Farbe nur bei einem Refresh im Browser geändert. Ist das so korrekt? Ich habe das im Wiki so verstanden, dass hier direkt geändert wird, wenn sich der state von "PLAYING" auf "STOPPED" ändert.

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 23 Oktober 2014, 13:00:26
wenn du möchtest das sich die farbe live ändert musst du entweder das reading einfärben das sich ändert. also bei transportState oder du muss dir <{...}@reading> version verwenden weil die readingsGroup sonst nicht weiß das transportState einfluss auf die darstellung von currentSender hat.

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 23 Oktober 2014, 14:15:48
Hi Andre,
sorry! Aber das raffe ich nicht!
Zitat von: justme1968 am 23 Oktober 2014, 13:00:26
wenn du möchtest das sich die farbe life ändert musst du entweder das reading einfärben das sich ändert. also bei transportState oder du muss dir <{...}@reading> version verwenden weil die readingsGroup sonst nicht weiß das transportState einfluss auf die darstellung von currentSender hat.
gruß
  andre

Kann man das irgendwo an einem Beispiel sehen? Habe keine Ahnung wonach ich suchen soll! Brauche noch nen Tipp! Sorry!

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 23 Oktober 2014, 15:43:23
Hallo,

gibt es irgendeine Möglichkeit die Ausgabe zu sortieren bzw. zu gruppieren?

Beispiel:
Es gibt mehrere Räume mit mehreren Heizungsthermostaten. Manche Räume haben auch noch ein Wandthermostat.
Nun möchte ich alle Thermostate eines Raumes gruppiert haben und falls in diesem Raum noch ein Wandthermostat existiert dieses an erster Stelle aufführen.

Code sieht ungefähr folgendermaßen aus (bitte Syntaxfehler ignorieren da frei aus dem Kopf erstellt):

define Heizungswerte readingsGroup <%sani_heating>,<Ventil>,<Soll>,<Ist> .*thermostat.*_Clima$:ValvePosition,desired-temp,measured-temp


Ergebnis soll sein:

Bad_Wandthermostat_Clima...
Bad_Heizungsthermostat_1_Clima...
Bad_Heizungsthermostat_2_Clima...
Kinderzimmer1_Heizungsthermostat_1_Clima...
Kinderzimmer1_Heizungsthermostat_2_Clima...
Kinderzimmer2_Wandthermostat_Clima...
Kinderzimmer2_Heizungsthermostat_1_Clima...
Kinderzimmer2_Heizungsthermostat_2_Clima...
Wohnzimmer_Heizungsthermostat_1_Clima...
Wohnzimmer_Heizungsthermostat_2_Clima...
Wohnzimmer_Heizungsthermostat_3_Clima...


Vermeiden möchte ich folgendes:

define Heizungswerte readingsGroup <%sani_heating>,<Ventil>,<Soll>,<Ist> \
Bad_Wandthermostat_Clima$:ValvePosition,desired-temp,measured-temp \
Bad_Heizungsthermostat_1_Clima$:ValvePosition,desired-temp,measured-temp \
Bad_Heizungsthermostat_2_Clima$:ValvePosition,desired-temp,measured-temp \
Kinderzimmer1_Heizungsthermostat_1_Clima$:ValvePosition,desired-temp,measured-temp \
Kinderzimmer1_Heizungsthermostat_2_Clima$:ValvePosition,desired-temp,measured-temp \
Kinderzimmer2_Wandthermostat_Clima$:ValvePosition,desired-temp,measured-temp \
Kinderzimmer2_Heizungsthermostat_1_Clima$:ValvePosition,desired-temp,measured-temp \
Kinderzimmer2_Heizungsthermostat_2_Clima$:ValvePosition,desired-temp,measured-temp \
Wohnzimmer_Heizungsthermostat_1_Clima$:ValvePosition,desired-temp,measured-temp \
Wohnzimmer_Heizungsthermostat_2_Clima$:ValvePosition,desired-temp,measured-temp \
Wohnzimmer_Heizungsthermostat_3_Clima$:ValvePosition,desired-temp,measured-temp


Ich hoffe es kann einer verstehen was ich meine  ???

Vielen Danke.

Gruß Daniel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 23 Oktober 2014, 15:57:10
du hast fünf möglichkeiten...

1. du setzt das sortDevices attribut und verwendest das sortby attribut

2. du setzt das sortDevices attribut und alle wird alphabetisch sortiert. deine wandthermostate landen dann aber jeweils am ende der gruppe. da kannst du aber durch sanftes umbenennen gegensteuern.

3. du kannst von hand gruppieren und die regex so wählen das du nicht alles hinschreiben musst:define Heizungswerte readingsGroup <%sani_heating>,<Ventil>,<Soll>,<Ist> \
Bad_W.*Clima$:ValvePosition,desired-temp,measured-temp \
Bad_H.*Clima$:ValvePosition,desired-temp,measured-temp \
Kinderzimmer1.*Clima$:ValvePosition,desired-temp,measured-temp \
Kinderzimmer2_W.*Clima$:ValvePosition,desired-temp,measured-temp \
Kinderzimmer2.*Clima$:ValvePosition,desired-temp,measured-temp \
Wohnzimmer.*Clima$:ValvePosition,desired-temp,measured-temp


4. du kannst alles so wie in deinem beispiel explizit hin schreiben

5. du verwendest pro raum eine eigene readingsGroup

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 23 Oktober 2014, 16:13:31
@Spartacus: etwas in der art:

- statt currentSender direkt in der liste anzugeben gibst du ,...<{ReadingsVal($DEVICE,"currentSender","")@ currentSender|transportState}

- statt valueFormat steckst du deine farbgebung in nameFormat

- für alle anderen werte setzt du ein default valueFormat mit der normalen farbe.

das ganze ist leider etwas umständlich. die readingsGroup weiss ja nicht das der eine wert einfluss auf die farbe des anderen haben soll und aktualisiert die farbe nicht automatisch.

einfacher ist wenn du direkt den wert einfärbst von dem die farbe auch abhängt.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 23 Oktober 2014, 20:03:52
Hallo,
also irgendwie habe ich die Syntax nicht durchblickt. Je länger ich mit den readingsGroup spiele desto verwirrter bin ich. Deshalb hier noch einmal ein paar Fragen und ein Überblick, was überhaupt Ziel der Anzeige über readingsGroup ist:

Diese Zeile im DEF-Bereich
Sonos_Buero:<%icoSONOSPLAYER_icon-S3.png>,<Büro>,currentSender,transportState,
erzeugt Folgende Dartstellung:
Sonos_Buero    -> ist das DEVICE
<%ico...>      -> Das Bild des Players
<Büro>         -> Ausgabe des Textes "Büro"
currentSender  -> Reading des Devices.currentSender
transportState -> Reading des Devices.transportState


Warum funktioniert bsp. ein Leerzeichen in den spitzen Klammern nicht z.B <Player Büro>?

Was will ich überhaupt erreichen...
Es soll neben dem Symbol des Players und dessen Name ein Button angezeigt werden, der den transportState anzeigt. Neben dem Button soll angezeigt werden, was gerade abgespielt wird. Dabei gibt es zwei Möglichkeiten:

1. Radiosender: Anzeige des readings "currentSender"
2. mp3: Anzeige des readings "currentAlbum (alternativ currentTitle)

Dabei tauchen folgende Probleme auf:
Der Wert der Readings "currentSender" bzw. "currentAlbum" wird nur gelöscht, wenn das jeweils andere Medium abgespielt wird. Wird der Player angehalten (z.B  Druck auf den "Stop"-Button) bleibt der Wert des zuletzt abgespielten Mediums (currentSender oder currentAlbum) erhalten. Deshalb sollte hier das jeweils gültige Reading nur beim transportState=PLAYING angezeigt werden. Wenn der transportState = STOPPED ist, sollte entweder nichts angezeigt werden, oder man könnte den Wert des zuletzt abgespielte Readings (currentSender oder currentAlbum)in einer blassen Farbe anzeigen.

Hier mein Ansatz, der so leider nicht funzt:
Sonos_Buero:<%icoSONOSPLAYER_icon-S3.png>,<Büro>, {if(ReadingsVal("$DEVICE","currentSender","") eq "") {"currentAlbum"}else{"currentSender"}} ,transportState,

Das Symbol in der readingsGroup zeigt an, ob der Player läuft, oder angehalten ist. Man kann auch durch einen Klick auf das Symbol zwischen "Play" und "Stop" umschalten. Das funktioniert mit nachstehendem Code:

commands:
{ 'transportState.PLAYING' => 'set $DEVICE Stop', 'transportState.STOPPED' => 'set $DEVICE Play' }
valueIcon:
{'transportState.PLAYING' => 'remotecontrol/black_btn_PLAY', 'transportState.STOPPED' => 'remotecontrol/black_btn_STOP'}
valueStyle:
{if($READING eq "currentSender" && ReadingsVal($DEVICE, "transportState", "") eq "PLAYING" ) { 'style="color:green"' } elsif ($READING eq "currentSender" && ReadingsVal($DEVICE, "transportState", "") eq "STOPPED" ) { 'style="color:red"' } }

Im Moment bin ich etwas überfordert, und weiß nicht so recht, wie ich das vernünftig aufgleisen kann und wo ich anfangen soll!

Sparatcus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 23 Oktober 2014, 20:43:21
ein Lesezeichen funktioniert nicht weil es das trennzeichen zwischen verschiedenen devices ist. du kannst einfach &nbsp; statt des leerzeichens verwenden, also ...,<Player&nbsp;Büro>,....

das was bei dir nicht funktioniert funktioniert aus den folgenden gründen nicht:
im folgenden setze ich mal voraus das dir das nicht anzeigen lieber wäre als das farbig machen.

zwei ideen in der readingsGroup:
und zwei ideen zum ausserhalb vorbereiten:
damit das ganze auch dann funktioniert wenn auf stop gedrückt wird musst du eine der ersten beiden ideen (die sind dazu da das bei play jeweils das richtige reading angezeigt wird) mit einer der letzten beiden (die sind dazu da das bei stop kein falsches reading mehr angezeigt wird) kombinieren.

gruss
  andre

ps: ich würde den play/stop knopf links vom titel anzeigen dann bewegt sich der knopf nicht horizontal abhängig von der tiel länge.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 23 Oktober 2014, 22:38:50
Hallo Andre,
ganz, ganz lieben Dank für die Tipps! Das hilft mir auf jeden Fall weiter!
Das userReading habe ich im Sonos angelegt und kopiere nun je nach Mucke currentSender oder currentAlbum rein, das klappt auch schon!

Ich melde mich, wenn ich weitere Unterstützung brauche!
Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 24 Oktober 2014, 11:54:24
Zitat von: justme1968 am 23 Oktober 2014, 20:43:21
......

  • du kannst auch über ein solches notify immer jeweils das neueste der beiden currentSender und currentAlbum in ein neues reading currentX kopieren (und dieses bei stop löschen) und dann currentX in der readingsGroup anzeigen.
........

Ich habe jetzt mal Folgendes ausprobiert:
userReadings:
[/list] currentX {if(ReadingsVal("Sonos_Buero", "currentSender", "") eq "" ) {ReadingsVal("Sonos_Buero", "currentAlbum", "")}  else {ReadingsVal("Sonos_Buero", "currentSender", "")}}
Notify:
define Sonos_Buero_Stop notify Sonos_Buero:transportState:.STOPPED
deletereading Sonos_Buero currentX


Das currentX lasse ich nun in meiner readingsGroup anzeigen.
Wahlweise steht nun currentAlbum oder currentSender drin. Wenn ich den Player anhalte, dann wird currentX gelöscht.

Allerdings wird dies auch erst nach einem Browser-Refresh in der readingsGroup angezeigt. Außerdem verändert sich die Größe des Anzeigefensters der Gruppe.

Das mit dem automatischen Refresh habe ich noch nicht durchblickt.
Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 24 Oktober 2014, 12:15:06
diese zeile currentX {if(ReadingsVal("Sonos_Buero", "currentSender", "") eq "" ) {ReadingsVal("Sonos_Buero", "currentAlbum", "")}  else {ReadingsVal("Sonos_Buero", "currentSender", "")}}verstehe ich nicht. hier fehlt der zusammenhang.

ich vermute das ist dein notify? ann geht es auch noch etwas einfacher denke ich:define currentX notify Sonos_Buero:currentSender|currentAlbum setreading Sonos_Buero currentX $EVTPART1

damit wird einfach currentX jeweils mit dem neuesten der beiden readings überschrieben.

das mit dem löschen war mein fehler. du musst das currentX reading auf einen leeren string setzen statt es zu löschen. ein gelöschtes reading erzeugt kein event.

statt einem leeren string kannst du natürlich auch jeden anderen text verwenden falls du auch bei nicht spielen etwas anzeigen willst. hier kannst du dann auch mit valueStyle ansetzen und anders einfärben.

die größe ändert sich natürlich abhängig vom inhalt so lange du über ein style attribut keine feste größe vorgibst.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 24 Oktober 2014, 14:16:11
Hi Andre,
ok! Danke.

attr Sonos_Buero userReadings currentX {if(ReadingsVal("Sonos_Buero", "currentSender", "") eq "" ) {ReadingsVal("Sonos_Buero", "currentAlbum", "")}  else {ReadingsVal("Sonos_Buero", "currentSender", "")}}

Hiermit lege ich das userReading an und schreibe curretAlbum oder current Sender hinein. Wird die Betriebsart vom Radio-Mode in den mp3-Mode geschaltet, wird currentSender automatisch gelöscht, umgekehrt wird currentAlbum gelöscht, wenn ich in den Radio-Mode zurückkehre. Dehalb ist m.E. sichergestellt, dass hier immer das aktuelle Reading in currentX geschrieben wird.

Christian

P.S.
define currentX notify Sonos_Buero:currentSender|currentAlbum setreading Sonos_Buero currentX $EVTPART1
Dieses notify funktioniert nicht! In currentX steht dann alles Mögliche, aber nicht currentSender bzw. currentAlbum. Mit meinem userReading stehen zumindet die korrekten Werte in currentX drin.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 24 Oktober 2014, 17:20:00
Hallo,
so! Das hier funktioniert soweit ganz gut!
attr Sonos_Buero userReadings currentX 
{
  if(ReadingsVal("Sonos_Buero", "transportState", "") eq "STOPPED" ) 
   {
    sprintf('nichts')
   }
elsif(ReadingsVal("Sonos_Buero", "currentSender", "") eq "" )
   {
     ReadingsVal("Sonos_Buero", "currentAlbum", "")
   }
   elsif(ReadingsVal("Sonos_Buero", "currentAlbum", "") eq "")
   {
     ReadingsVal("Sonos_Buero", "currentSender", "")
   }
}


Wenn ich jetzt das Reading cuurentX in der readingsGroup anzeigen lasse,
dann wechselt die Anzeige auch korrekt zwischen
Radiosender, Album und "nichts"
...ist das jetzt Zufall, bzw. nachvollziehbar?
Christian.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 24 Oktober 2014, 17:25:00
kein zufall sondern ziemlich genau das was ich oben vorgeschlagen hatte.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 24 Oktober 2014, 17:35:09
Hi andre,
;D ...aber ich brauche die notifys nicht! Das "userReading" ist der gesamte Code!  Jetzt muss ich das nur noch einfärben...

btw. wie kann man eigentlich den Wert eines Readings löschen? Habe irgendwie nen Knoten im Kopf!

Bis bald,
Sparatcus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 24 Oktober 2014, 17:37:39
du nimmst statt einem notify userReadings. das ist vom code menge her nicht wirklich ein unterschied. aber du hast weniger devices.

und das du nicht genau nachbaust was ich vorgeschlagen habe sondern selber was gefunden hast ist doch schön :)

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 24 Oktober 2014, 17:41:34
Zitatund das du nicht genau nachbaust was ich vorgeschlagen habe sondern selber was gefunden hast ist doch schön :)
.... war Zufall! :)

btw.
wie kann man eigentlich den Wert eines Readings löschen? Habe irgendwie nen Knoten im Kopf! Muss noch andere ReadingInhalte im Device löschen. z.B. den RDS-Text, der bei Stop nicht automatisch gelöscht wird und mit "deletereading" lösche ich das ganze Reading und nicht den Wert. Das will ich ja nicht!

Thanks,
Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 24 Oktober 2014, 18:07:50
das löschen bzw. mit 'nichts' füllen würde mit readingsSingleUpdate($defs{<device>},"<reading>", "", 1); gehen.

ps: du kannst in deinem userReadings statt Sonos_Buero auch $name verwenden. das ist automatisch das device zu dem die userReadings gehören.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 24 Oktober 2014, 18:36:40
Genial! Besten Dank!
Ich lerne.......
Spartacus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 24 Oktober 2014, 20:27:56
Hi,
jetzt muss ich doch noch mal nachhaken!

Die readingsGroup sieht so aus:
Sonos_Buero:<%icoSONOSPLAYER_icon-S3.png>,<Büro>,transportState,<es&nbspläuft...>,currentX,<br>,<{rgMarquee(ReadingsVal($DEVICE,"currentPlaying",""))}>,<>,<>,<>

In der zweiten Zeile lasse ich das Reading currentPlaying anzeigen, welches genau wie das currentX, als userReading ermittelt wird. In der myutils sieht das so aus:
sub rgMarquee($)
{           
  my ($txt) = @_;
  return "<marquee scrollamount=2 width=\"220\">$txt</marquee>";
}


Schalte ich nun zwischen Radio und mp3 um, wird automatisch das currentX aktualisiert. Allerding funktioniert das beim Lauftext erst nach Browser Resfresh. Warum klappt das beim currentX automatisch und beim currentPlaying nicht? Wenn ich die Readings im Device direkt anschaue, ändern sich beide zusammengesetzten Readings sofort!

Hier das userReading:
attr Sonos_Buero userReadings currentX 
{
if(ReadingsVal("Sonos_Buero", "transportState", "") eq "STOPPED" ) 
  {
   sprintf('nichts')
  }
elsif(ReadingsVal("Sonos_Buero", "currentSender", "") eq "" )
  {
   ReadingsVal("Sonos_Buero", "currentAlbum", "")
  }
elsif(ReadingsVal("Sonos_Buero", "currentAlbum", "") eq "")
  {
   ReadingsVal("Sonos_Buero", "currentSender", "")
  }
}, currentPlaying
{
if(ReadingsVal("Sonos_Buero", "transportState", "") eq "STOPPED" ) 
  {
   sprintf('kein Titel')
  }
elsif(ReadingsVal("Sonos_Buero", "currentSenderInfo", "") eq "" )
  {
   ReadingsVal("Sonos_Buero", "currentTitle", "")
  }
elsif(ReadingsVal("Sonos_Buero", "currentTitle", "") eq "")
  {
   ReadingsVal("Sonos_Buero", "currentSenderInfo", "")
  }
}


Christian.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 25 Oktober 2014, 00:23:14
du musst bei der <{...}> variante angeben welches reading dahinter steht wenn die aktualisierung greifen soll weil die readingsGroup sonst nicht weiss bei welchem reading da etwas aktualisiert werden soll.

es muss also so aussehen:...,<{rgMarquee(ReadingsVal($DEVICE,"currentPlaying",""))}@currentPlaying>,...

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 25 Oktober 2014, 07:20:42
Hi andre,
Stimmt, das hättest Du ja schon gesagt! Was mich verwirrt ist, warum das bei dem currentX ohne diese Angabe funktionier.  Das verstehe ich jetzt nicht. Muss das dann nicht im ersten Teil der Anweisung auch angegeben werden?

Gruss,
Christian.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 25 Oktober 2014, 09:22:27
currentX ist der reading name und die reasingsGroup weiß das es ein reading ist.
<{...}> ist ein beliebiger perl ausdruck bei dem die readingsGroup nicht automatisch weiß um welches reading es geht.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 28 Oktober 2014, 08:27:13
Hi Zusammen,

gibt es eine möglichkeit in der ReadingsGroup den Alias noch an einer anderen Stelle auszugeben?

device:alias

so inetwa. Ich muss es aber in einer Form bekommen, dass ich auch noch die Spaltenweite auf 3 setzen kann.

Danke und
Grüße
Igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 Oktober 2014, 10:02:14
wenn es über mehr als eine spalte gehen soll geht es in der offiziellen version noch nicht. in der nächsten version wird es gehen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhainz am 02 November 2014, 15:06:56
Hallo!

Gibt es eine Möglichkeit in einem <> einen : zu schreiben? Es soll ein Text (Uhrzeit) zB 00:00 angezeigt werden.
<00:00> funktioniert nicht <00:00> ebenso nicht.

Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 02 November 2014, 15:09:39
versuch mal \x3a

ansonsten den string aus einer sub zurückliefen.

gruß
  andre

Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhainz am 02 November 2014, 15:19:20
Zitat von: justme1968 am 02 November 2014, 15:09:39
versuch mal \x3a
Funktioniert leider nicht.

Zitat von: justme1968 am 02 November 2014, 15:09:39
ansonsten den string aus einer sub zurückliefen.
So klappt es

zB:
<{giveColon("00","00")}>

99_myUtils.pm:

#-------------------------------------------------------------------------#
#--------------           giveColon($text1,$text2)          --------------#
#-  Gibt einen Doppelpunkt zwischen $text1 und $text2 zurück             -#
#-  Return: $text1:$text2                                                -#
#-------------------------------------------------------------------------#
sub giveColon($$){
  my ($text1,$text2) = @_;

  return "$text1:$text2"; 
}



Danke für den Tipp!


Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 02 November 2014, 19:14:36
für sowas habe ich mir einen Dummy angelegt


define d_label dummy
setattr d_label 0000 00:00

in der rg dann einfach

...,0000@d_label,...

nutze ich auch wenn ich Überschriften über mehrere Spalten schreiben will.

Grüße
Igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Badflex am 04 November 2014, 15:12:39
Hallo, ich hab mal die Heizungswerte inklusive Batterie- und Fensterstatus aus dem Beispielen verwendet.

Kann mir jemand sagen wie ich bei einem Fenstergriff Kontakt das Fenstersymbol in die Heizungswerte bekomme.

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 04 November 2014, 15:13:37
icons bekommst du über das valueIcon attribut.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Badflex am 04 November 2014, 15:25:41
Ja, die sind ja drinn. Hab es erstmal genauso wie im Beispiel übernommen.
Batterie zeigt er an, aber vom Fenster keine spur.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Badflex am 04 November 2014, 15:27:40
Muss ich vielleicht statt window ne dem Griffkontakt was anderes eingeben?

define Heizungswerte readingsGroup <%sani_heating>,< >,<Act>,<Soll>,<Ist> TYPE=FHT:actuator,desired-temp,measured-temp,<%18>,<%20>,<%22>,window,battery
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 04 November 2014, 15:35:14
wie heißt denn das reading?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Badflex am 04 November 2014, 16:33:11
Heizungswerte inklusive Batterie- und FensterstatusHeizungswerte inklusive Batterie- und Fensterstatus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 04 November 2014, 16:33:58
bitte?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Badflex am 04 November 2014, 17:47:11
Na, von der Seite http://www.fhemwiki.de/wiki/ReadingsGroup (http://www.fhemwiki.de/wiki/ReadingsGroup)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 04 November 2014, 20:28:10
Gibt es die Möglichkeit einen weblink in eine Readingsgroup einzubauen? Ich nutze aus Anzeigegründen das Attribut nonames, würde aber trotzdem gerne an anderer Stelle auf das Device springen können.

Grüße
Igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 04 November 2014, 21:32:59
am einfachsten in dem du dir in 99_myUtils.pm eine sub definierst die den passenden html link zurück gibt und diese dann einfach aufrufst. etwa so:

...,<{myLink($DEVICE)}>,...

sub         
myLink($;$){
  my ($device,$name) = @_;
  $name = $device if( !$name );
             
  return "<a href=\"/fhem?detail=$device\">$name</a>";
}


gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 05 November 2014, 07:15:24
Besten Dank, funktioniert.
Nun habe ich nur wieder das Problem, dass ich den return Wert gerne wieder über zwei Spalten schreiben, und gezielt formatieren will, aber der hat ja nun keinen Namen mehr.
Habe das bisher über

valueStyle {($READING eq "alias" )?'style="font-size:11px;font-weight:bold;text-align:left"': 'style="text-align:right"'}

Wenn du da auch noch eine Idee hättest.

Grüße
Igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 November 2014, 08:41:23
formatieren geht im prinzip über nameStyle. aber nicht so spezifisch. du kannst aber selber in der sub ein div um den link bauen und dort stylen.

wenn du die beta version aus dem forum verwendest kannst du cellStyle verwenden.

das zweispaltig machen geht erst demnächst.

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 November 2014, 08:46:23
wenn deine devices einen alias haben und du den anklickbar darstellen willst kannst du statt der idee von oben auch ...,?alias,... in der readingsGroup verwenden und mit valueFormat den link drum rum bauen. dann hast du auch einen namen für valueStyle und valueColumns.

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 05 November 2014, 09:14:41
Bitte noch etwas genauer, habe nun folgendes Probiert

'alias' => '<a href=/fhem?detail=$DEVICE\>$READING</a>'

wird auch korrekt angezeigt und ist anklickbar, nur dann bekomme ich 'Unknown command'.

Danke und

Grüße
Igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 November 2014, 09:25:33
du hast hinter $DEVICE ein \ zu viel.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 05 November 2014, 09:41:10
Das kam noch aus dem Perl code  :-[

Aber auch ohne das funktioniert es nicht.
das $READING habe ich auch noch zu $VALUE geändert, aber das wäre ja nur eine Anzeige Sache, damit ich nicht 'alias' sondern den Wert von alias bekomme.

also noch eine Idee?

Grüße
Igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 November 2014, 10:31:21
ich habe es gerade bei mir getestet und es geht...

{ 'alias' => '<a href=/fhem?detail=$DEVICE>$VALUE</a>' }

vergleiche bitte mal die url aus einem solchen link mit der url von einer stelle aus der es funktioniert. z.b. ohne nonames.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 05 November 2014, 11:14:44
Habe nun eine neue rg zum testen erstellt.

define rg_link readingsgroup CUL_HM_HM_CC_RT_DN_KEQ0575305:?alias
attr rg_link commands { 'alias' => '<a href=/fhem?detail=$DEVICE>$VALUE</a>' }

Es funktioniert nicht. Beim Namen bekomme ich ganz normal den link angezeigt, beim alias nix.

# $Id: 33_readingsGroup.pm 6262 2014-07-16 07:46:03Z justme1968 $

Woran könnte das noch liegen?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 November 2014, 11:17:24
nicht commands. valueFormat.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 05 November 2014, 11:19:29
 :-[

Vielen Dank, nun geht's.  :)

Grüße
Igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 05 November 2014, 15:04:17
hallo,

ich möchte ein value eines readings erst splitten und anschliessend mit einem prozentzeichen als einheit formatieren. ich bekomme im log aber immer ein fehler:

2014.11.05 14:38:14.146 1: PERL WARNING: Invalid conversion in sprintf: end of string at ./FHEM/33_readingsGroup.pm line 922.

die anzeige ist aber korrekt. in valueformat gebe ich folgendes ein:

{'ValvePosition'=>'{sprintf("%.0f %%",[split(" ", $VALUE)]->[0])}'}

was kann ich tun?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 November 2014, 15:33:20
versuch es mal so:{'ValvePosition'=>'{sprintf("%.0f ",[split(" ", $VALUE)]->[0]) ."%"}'}

wenn das nicht hilft: geh mal in das 33_readingsGroup.pm file und ändere genau über der zeile mit der fehlermeldung das $value_format =~ m/%/in ein$value_format =~ m/%.+/

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 05 November 2014, 18:03:20
danke, fast. so funktioniert es (endlich).  :)

{'ValvePosition'=>'{sprintf("%.0f ",[split(" ", $VALUE)]->[0]) ."%%"}'}

schade, habe jetzt erst dein edit gesehen.

gruss frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cerberus am 06 November 2014, 17:00:45
Hallo, ich bekomme das irgendwie nicht hin dem dem textField.

Ich habe es nach dem Beispiel versucht, aber ich sehe keine Textfelder.

define Strom dummy
define Gas dummy
define Verbrauch_rg readingsGroup Strom:Datum,Art,Verbrauch,speichern Gas:Datum,Art,Verbrauch,speichern
attr Verbrauch_rg alias Verbrauchsdaten
attr Verbrauch_rg commands {'Datum' => 'Datum:textField','Art' => 'Art:Ablesung,Abrechnung','Verbrauch' => 'Verbrauch:textField','Strom.speichern' => 'speichern:'}
attr Verbrauch_rg nolinks 0
attr Verbrauch_rg notime 1
attr Verbrauch_rg room Energie


Gruß
cerberus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 06 November 2014, 17:04:52
readingsGroup ignoriert readings die nicht vorhanden sind. du musst sie ein mal mit setreading anlegen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cerberus am 06 November 2014, 17:23:43
Ah...super und danke, sowas hatte ich mir fast gedacht.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 07 November 2014, 15:11:31
Hallo zusammen,

ich hätte eine Frage zu der Darstellung aus dem Anhang:
Gibt es auch die Möglichkeit die Devices als Spaltenüberschrift zu setzen? Dann wären die Devices in der 1. Zeile und in der 2. Zeile dann der Wert des Readings.

Vielen Dank.

MfG
Daniel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 November 2014, 16:06:38
ud kannst mit <br> einen zeilenumbuch einbauen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 07 November 2014, 16:12:42
Ich glaube du hast mich missverstanden. Eigentlich das ganze Teil um 90 Grad im Uhrzeigesinn drehen.
Die Readingsgroupe hätte dann nur 2 Zeilen und mehr Spalten. Den Spaltentext würde ich dann natürlich noch kleiner machen (weniger Zeichen).
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 November 2014, 16:19:00
achso...

das geht zur zeit nicht. ich muss mal überlegen ob sich das einfach einbauen lässt.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 07 November 2014, 16:33:47
Brauchen tu ich das eigentlich für die Anwesenheitsansicht aus dem Anhang.
Alle nebeneinander würde besser aussehen finde ich und man würde keinen Platz verschwenden.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 November 2014, 16:42:29
wenn es eine feste liste von von geräten ist kannst du dir von hand helfen in dem du alles in der form reading@device selber hinschreibst. etwa so:define <rg> readingsGroup d1:+NAME,+NAME@d2,+NAME@d3 d1:state,state@d2,state@d3d1,d2 und d3 sind jeweils die devices. du solltest das nonames attribut setzen.

das ganze funktioniert aber nur für eine feste liste von devices.

wenn du die namen anklickbar haben möchtest geht das über ein passendes valueFormat. siehe etwas eine seite vorher in diesem thread.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 07 November 2014, 20:21:08
Vielen Dank. Soweit so gut. Habs hinbekommen. Der Link hat etwas gedauert.
Aber geht das nicht irgendwie einfacher? Das define

define rg_Anwesenheit readingsGroup \
presence_Handy_DC:<{createLink($DEVICE,'Daniel')}>,<{createLink('presence_Handy_MJ','Melanie')}@presence_Handy_MJ>,<{createLink('presence_Media_Onkyo','Onkyo')}@presence_Media_Onkyo>,<{createLink('presence_Media_Raspbmc','Raspbmc')}@presence_Media_Raspbmc>,<{createLink('presence_Media_Wii','Wii&nbsp;;U')}@presence_Media_Wii>,<{createLink('presence_Notebook_DC','NB&nbsp;;Daniel')}@presence_Notebook_DC>,<{createLink('presence_Notebook_MJ','NB&nbsp;;Melanie')}@presence_Notebook_MJ> \
presence_Handy_DC:state,state@presence_Handy_MJ,state@presence_Media_Onkyo,state@presence_Media_Raspbmc,state@presence_Media_Wii,state@presence_Notebook_DC,state@presence_Notebook_MJ
attr rg_Anwesenheit alias Anwesenheit
attr rg_Anwesenheit group Anwesenheit
attr rg_Anwesenheit mapping  { rgMapping($DEVICE,$READING,$VALUE);; }
attr rg_Anwesenheit nameStyle style="font-weight:bold"
attr rg_Anwesenheit noheading 0
attr rg_Anwesenheit nonames 1
attr rg_Anwesenheit nostate 1
attr rg_Anwesenheit notime 1
attr rg_Anwesenheit room 00 Übersicht
attr rg_Anwesenheit valueFormat { rgValueFormat($DEVICE,$READING,$VALUE);; }
attr rg_Anwesenheit valueIcon { rgValueIcon($DEVICE,$READING,$VALUE);; }
attr rg_Anwesenheit valueStyle { rgValueStyle($DEVICE,$READING,$VALUE);; }

kommt mir etwas zu kompliziert vor.

Noch eine 2. Sache: Mit
attr rg_Anwesenheit style style="border:0px;background:none;box-shadow:none"
wollte ich noch den doppelten Rahmen um die readingsGroup entfernen. So wie es im Wiki steht.
Nach einem Reload kommt aber:

Unknown command border:0px, try help.
Unknown command background:none, try help.
Unknown command box-shadow:none", try help.
Titel: Neues Modul readingsGroup
Beitrag von: justme1968 am 07 November 2014, 20:25:44
das ist nicht wirklich kompliziert :)

es geht leider zur zeit nicht einfacher weil alles 'von hand' gemacht wird.

für die laufzeit macht es aber fast keinen unterschied.

gib das attribut im frontend in das entsprechende feld ein und editiere nicht direkt das config file. sonst musst du dich ums maskieren der fhem sonderzeichen selber kümmern.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 07 November 2014, 20:46:25
Zitatgib das attribut um
frontens in das entsprechende feld ein und editiere nicht direkt das config file. sonst musst du dich ums maskieren der fhem sonderzeichen selber kümmern.

Das hat funktioniert. Mache momentan alles in der config.
Bin das nicht gewohnt über das Frontend. Dauert für mich irgendwie länger.
Aber ich sollte das wohl umstellen. Kann man ja überall im Forum lesen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 07 November 2014, 21:37:04
Und das nächste:

Ist es bei dem Attribut style nicht möglich Perl-Code anzugeben wie z.B. bei dem Attribut valueStyle?

Folgendes geht nicht:
attr rg_Anwesenheit style { rgStyle($DEVICE,$READING,$VALUE);; }

folgendes geht:
attr rg_Anwesenheit style style="text-align:center"
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 November 2014, 21:44:28
style gilt global für die ganze readingsGroup. da macht etwas dynamisches mit $DEVICE und $READING keinen sinn und diese variablen sind nicht gesetzt. du solltest eine entsprechende meldung im log sehen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 07 November 2014, 21:53:38
Ich lagere nur gerne redundante Sachen aus. Und wenn ich das Zeugs im style-Attribut in mehreren readingsgroups nutze, dann wäre das für mich ein Kanditat um diesen Code in die MyUtils zu verlagern.
Aber jetzt weiß ich ja bescheid.

Im Log hatte ich schon geschaut und nichts gesehen.
Steht bei mir auf
attr global verbose 3
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Doggiebert am 07 November 2014, 22:30:56
man müsste ja eigentlich auch valueFormat für sowas missbrauchen können, oder? Mit den entsprechenden Tags reinformatiert?
Titel: Neues Modul readingsGroup
Beitrag von: justme1968 am 08 November 2014, 09:12:23
@dancatt: perl code wird in der nächsten version auch für style gehen. eventuell geht es auch jetzt schon. aber eben nicht die variablen die du verwendet hattest.

@doggiebert: es kommt einfach drauf an für welche teile des layout der style sein soll. an den rahmen um alles kommt man z.b. per valueStyle nicht ran.
Titel: ReadingsGroup im Floorplan: Unerwünschte Umbrüche
Beitrag von: grappa24 am 08 November 2014, 09:38:26
Ich hab eine RG mit drei Zeilen/Devices im Floorplan. Sobald eine Zeile etwas länger ist, erfolgt im floorplan ein unerwünschter Umbruch; allerdings nur im Firefox auf meinem Android Smartphone, nicht jedoch im Firefox unter Win7 ... so als würde der Platz für die Darstellung der RG im Browser rechts beschränkt ...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 08 November 2014, 09:58:50
du kannst im style die breite für den text vorgeben. dann gibt es einen umbruch. die floorplan stylesheets scheinen unterschiedlich interpretiert zu werden.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 08 November 2014, 13:02:57
Zitat von: justme1968 am 08 November 2014, 09:12:23
@dancatt: perl code wird in der nächsten version auch für style gehen. eventuell geht es auch jetzt schon. aber eben nicht die variablen die du verwendet hattest.

Vielen Dank schon mal.

Für welche Variablen dann? Wenn ich den Code in die MyUtils auslagern möchte, muss ich eventuell ja an den TYPE kommen.
Anhand des TYPES, DEVICES und READINGS entscheide ich was ich wie mache.

Beispiel:


sub rgValueIcon($$$)
{
  my($DEVICE,$READING,$VALUE) = @_;
  my $TYPE = getType($DEVICE);
 
  #.......

   if($TYPE eq "CUL_HM") {
    if ($DEVICE =~ m/thermostat/) {
      if ($READING eq "batteryLevel") {
        return 'measure_battery_100@green' if $VALUE > 3.0;
        return 'measure_battery_75@green'  if $VALUE > 2.7;
        return 'measure_battery_50@green'  if $VALUE > 2.4;
        return 'measure_battery_25@orange' if $VALUE > 2.1;
        return 'measure_battery_0@red'     if $VALUE <= 2.1;
      }
      if($READING eq "controlMode") {

      # ......
   
    }
    if ($DEVICE =~ m/_Fensterkontakt$/) {
      if ($READING eq "battery") {
   
    #.....
   
  }
  elsif ($TYPE eq "SYSMON") {
     #.....
  }
  elsif ($TYPE eq "holiday") {
    if ($DEVICE eq "hol_Abfall") {

    #.....

}
  elsif ($TYPE eq "TM") {
    if ($DEVICE eq "CallMon") {
 
  #.....

  }
  elsif ($TYPE eq "PRESENCE") {
    if ($DEVICE =~ m/presence_Handy_/) {

   #.....

  }
}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: stromer-12 am 08 November 2014, 13:36:26
Kann ich bei valueIcon auch auf "device.state.reading" mappen?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: grappa24 am 08 November 2014, 13:53:40
Zitat von: justme1968 am 08 November 2014, 09:58:50
du kannst im style die breite für den text vorgeben
Danke Andre - wieder mal  ;)

Der Vollständigkeit halber: style="width:320px;font-size:18px"

P.S. Weiß jemand jetzt vlt. noch, wie man im floorplan um die RG einen Rahmen oder eine Box bekommt  8)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 08 November 2014, 14:14:49
@dancatt: DEVICE und READING bezieht sich ja jeweils auf eine zeile oder ein element in der readingsGroup. das macht für ein attribut das fur die ganze readingsGroup gilt keinen sinn. das einzige auf das du hier zugreifen kannst ist $d. das ist der name der readingsGroup selber. wie gesagt style gilt global. für die ganze readingsGroup.

@stromer-12: nein. das geht nicht direkt. du kannst aber zwei stufig vorgehen und mit valueFormat zuerst den value in $READING.$VALUE zusammenfassen oder irgend einen anderen value bauen und dann in valueIcon diesen mit dem device verwenden.

@grappa24: schau dir einfach an wie der rahmen im normalen style gemacht wird und dann fügst du das in den readingsGroup style ein.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Badflex am 08 November 2014, 16:42:06
Zitat von: Badflex am 04 November 2014, 15:27:40
Muss ich vielleicht statt window bei dem Griffkontakt was anderes eingeben?

define Heizungswerte readingsGroup <%sani_heating>,< >,<Act>,<Soll>,<Ist> TYPE=FHT:actuator,desired-temp,measured-temp,<%18>,<%20>,<%22>,window,battery

Das hier ist der Kontakt

(http://up.picr.de/20065457ca.png)

Hat jemand einen Rat?

Titel: Antw:Neues Modul readingsGroup
Beitrag von: grappa24 am 08 November 2014, 16:48:02
Zitat von: justme1968 am 08 November 2014, 14:14:49
@grappa24: schau dir einfach an wie der rahmen im normalen style gemacht wird und dann fügst du das in den readingsGroup style ein
cool, ich glaube, ich muss mich doch mal mit WebDesign befassen ...  8)
style="width:320px;font-size:18px;border-style:solid"
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 08 November 2014, 19:11:18
Hi, wollte jetzt auch mal readingsGroup nutzen um ein paar reagings aus dem enignma2 Modul über Buttons auf meinem Floorplan zu steuern.

Dafür habe ich die readingsGroup so definiert:

define rg_VU_Ultimo readingsGroup VU_Ultimo:channel,power,volume
Das list der readingsGroup sieht auch glaub ich ganz gut aus.
Internals:
   CFGFN
   DEF        VU_Ultimo:channel,power,volume
   NAME       rg_VU_Ultimo
   NR         331
   NTFY_ORDER 50-rg_VU_Ultimo
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     VU_Ultimo  1
   Content2:
   DEVICES:
     ARRAY(0x18ede28)
   Fhem:
     lastDefChange 6
     last_update 1415469883.8841
Attributes:


Nur wie definiere ich jetzt für die 3 readings Buttons(power), bzw. Pulldown Menü (Channel) slider (Volumen), so das auch der aktuelle Status angezeigt wird

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 08 November 2014, 21:59:55
das icon für power über valueIcon, anklickbar machen, slider und menü über das commands attribut.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 09 November 2014, 18:21:20
Zitat von: justme1968 am 08 November 2014, 21:59:55
das icon für power über valueIcon, anklickbar machen, slider und menü über das commands attribut.

gruss
  andre

Hi, danke für deinen Hinweis,
habs jetzt mal versucht wie in der Commandref zu lösen

Für den Power On/Of
attr rg_VU_Ultimo valueIcon {state => '%devStateIcon'} attr rg_VU_Ultimo valueIcon { "power.on" => "On", "power.off" => "Off" }

Für das Volumen
attr rg_VU_Ultimo commands { volume => "volume:slider,0,1,100" }

ein list ergibt jetzt
Internals:
   DEF        VU_Ultimo:channel,power,volume
   NAME       rg_VU_Ultimo
   NR         199
   NTFY_ORDER 50-rg_VU_Ultimo
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     VU_Ultimo  1
   Content2:
   DEVICES:
     ARRAY(0x716398)
   Fhem:
     lastDefChange 1
     last_update 1415551237.76745
Attributes:
   commands   { volume => "volume:slider,0,1,100" }, { 'channel' => 'channel:' }
   valueIcon  {state => '%devStateIcon'} attr rg_VU_Ultimo valueIcon { "power.on" => "On", "power.off" => "Off" }


Allerdings kann ich den Reciever weder an noch aus stellen und auch Volumen lässt sich nicht einstellen.

Was hab ich noch falsch gemacht?

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 09 November 2014, 18:33:19
eine ganze menge. vielleicht  schaust du dir die beispiele im forum, wiki und commandref noch mal ganz genau an.

es gehört jeweils alles in einen hash und du hast keine kommandos für power angegeben. es sollte etwa so aussehen:
attr rg_VU_Ultimo commands   { volume => "volume:slider,0,1,100",  channel => 'channel:', 'power.on' => "set $DEVICE off", 'power.off' => "set $DEVICE on" }
attr rg_VU_Ultimo valueIcon  { state => '%devStateIcon', 'power.on' => "On", 'power.off' => "Off" }


gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 09 November 2014, 19:42:48
Zitat von: justme1968 am 09 November 2014, 18:33:19
eine ganze menge. vielleicht  schaust du dir die beispiele im forum, wiki und commandref noch mal ganz genau an.

es gehört jeweils alles in einen hash und du hast keine kommandos für power angegeben. es sollte etwa so aussehen:
attr rg_VU_Ultimo commands   { volume => "volume:slider,0,1,100",  channel => 'channel:', 'power.on' => "set $DEVICE off", 'power.off' => "set $DEVICE on" }
attr rg_VU_Ultimo valueIcon  { state => '%devStateIcon', 'power.on' => "On", 'power.off' => "Off" }


gruss
  andre

Schade, hatte gehoft keine ganze Menge :-( Der Slider für die Lautstärke funktionierte sogar, wenn ich den channel noch nicht definiert hatte und umgekehrt auch:-) Nur zusammen nicht.

Hab mir deinen Code jetzt mal vorgenommen, allerdings bekomme ich damit nur den On/Off status richtig angezeigt, der rest geht nicht

Hab es jetzt mal hiermit probiert:
attr rg_VU_Ultimo commands   { volume => "volume:slider,0,1,100",  channel => 'channel:'}
attr rg_VU_Ultimo valueIcon  { state => '%devStateIcon', 'power.on' => "on", 'power.off' => "Off" }

Damit wird der Status On/Off richtig angezeigt und es ist möglich die Lautstärke und den Sender auszuwählen, allerdings gibts noch das problem wenn ich z.b. die Lautstärkte auf
Zitat100
gestellt habe und dann den Sender wechsel, wird die Lautstärke wieder als
Zitat0
angezeigt, was sie aber nicht ist, sie ist immer noch 100 und auch die anzeige des channels wird nicht immer akktualisiert, kann das an der readingsGroup liegen oder ist das eher ein Problem des enigma2 Moduls?

Werd jetzt noch mal am On/Off bastel, mal sehn was ich da noch ändern muss

Danke erstmal


EDIT

Bin ein ganzes Stück weiter, denk ich :-)
Der code sieht jetzt so aus:
attr rg_VU_Ultimo commands   { volume => "volume:slider,0,1,100",  channel => 'channel:', 'power.on' => 'set $DEVICE off', 'power.off' => 'set $DEVICE on' }
attr rg_VU_Ultimo valueIcon  { state => '%devStateIcon', 'on' => "on", 'off' => "Off" }


Damit wird die Lautstärkeregelung (wird nicht aktualisiert), die channel auswahl ( wird nicht aktualisiert) und der Button zum anklicken für On/off (kann ihn nicht Testen, sonst bekomme ich die Rote Karte gezeigt :-) ) angezeigt.

Jetzt muss nur noch der Status  aktualisiert werden, was könnte da noch falsch sein? Im device wird er aktualisiert.

Ein anderes Problem ist noch das ich die readingsGroup auf einem Floorplan platziert habe, da wird auch alles angezeigt, bis auf den Slider, was kann das sein?
Im Log gibts dazu auch diesen Fehler:
2014.11.09 20:51:31.602 2: ENIGMA2 set VU_Ultimo volume NaN

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 10 November 2014, 10:20:45
ZitatJetzt muss nur noch der Status  aktualisiert werden
das funktioniert zur zeit nur, indem du die browserseite neu lädst.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 10 November 2014, 11:48:47

Zitat von: frank am 10 November 2014, 10:20:45
das funktioniert zur zeit nur, indem du die browserseite neu lädst.
Das heißt, wenn ich z.b den Channel Wechsel ist es normal das die Lautstärke mit 0 angezeigt wird obwohl die 100 ist?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 November 2014, 13:22:53
wenn alles passt sollten die werte auch in der readings group aktualisiert werden.

bitte konfiguriere mal volume und channel als webCmd und schaue ob die aktualisierung hier funktioniert.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 10 November 2014, 21:55:55
Zitat von: justme1968 am 10 November 2014, 13:22:53
wenn alles passt sollten die werte auch in der readings group aktualisiert werden.

bitte konfiguriere mal volume und channel als webCmd und schaue ob die aktualisierung hier funktioniert.

gruss
  andre

Wahrscheinlich blöde frage aber wie erstelle ich den slider bei webcmd?
hab mal ein wenig gegooglet und ihn dann so wie im list zusehen definiert, allerding erhalte ich damit garkeinen slider
Internals:
   DEF        VU_Ultimo:channel,power,volume
   NAME       rg_VU_Ultimo
   NR         199
   NTFY_ORDER 50-rg_VU_Ultimo
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     VU_Ultimo  1
   Content2:
   DEVICES:
     ARRAY(0x843240)
   Fhem:
     lastDefChange 1
     last_update 1415647988.62329
Attributes:
   fp_Reciever 239,205,0,
   webCmd     "volume:slider,0,1,100"
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 November 2014, 21:58:39
du brauchst zusätzlich das widgetoverride attribut wenn das modul den slider nicht selber anbietet.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 10 November 2014, 22:11:32
also du meinst so?
Internals:
   DEF        VU_Ultimo:channel,power,volume
   NAME       rg_VU_Ultimo
   NR         199
   NTFY_ORDER 50-rg_VU_Ultimo
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     VU_Ultimo  1
   Content2:
   DEVICES:
     ARRAY(0x843240)
   Fhem:
     lastDefChange 1
     last_update 1415647988.62329
Attributes:
   fp_Reciever 239,205,0,
   webCmd     "volume:slider,0,1,100"
   widgetOverride 1


leider keine änderung

Bekomme im Log dann auch diese Fehler:
2014.11.10 22:11:00.216 1: PERL WARNING: Use of uninitialized value $orig in string ne at ./FHEM/33_readingsGroup.pm line 1012.
2014.11.10 22:11:00.218 1: PERL WARNING: Use of uninitialized value $attrVal in string ne at ./FHEM/33_readingsGroup.pm line 1012.
2014.11.10 22:11:00.404 1: PERL WARNING: Use of uninitialized value $a in concatenation (.) or string at ./FHEM/01_FHEMWEB.pm line 2594.


In line 1012 steht
Zitatif( $orig ne $attrVal ) {
und in FHEMWEB in line 2594 steht
Zitat$str =~ s/\b($n)\b(:[^ ]*)?/$1:$a/g;
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 November 2014, 22:25:20
zum einen musst du beide attribute auf das original device setzen und zum anderen so:

attr VU_Ultimo widgetOverride volume:slider,0,1,100
attr VU_Ultimo webCmd volume

widgetOverride aber nur wenn volume im enigma modul kein slider ist.

ansonsten schau doch mal in die commandref zu beiden attributen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 11 November 2014, 07:07:45
Zitat von: justme1968 am 10 November 2014, 22:25:20
zum einen musst du beide attribute auf das original device setzen und zum anderen so:

attr VU_Ultimo widgetOverride volume:slider,0,1,100
attr VU_Ultimo webCmd volume

widgetOverride aber nur wenn volume im enigma modul kein slider ist.

ansonsten schau doch mal in die commandref zu beiden attributen.

Hallo,
werd mir das heute Abend nochmal genauer ansehen wenn ich zuhause bin, allerdings im Orginal Device ist Volumen schon ein Slider, damit müsste ich ja wenn ich dich richtog verstehe nur noch  attr VU_Ultimo webCmd volume setzen?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 November 2014, 08:15:26
ja. und für die readinsgGroup reicht dann ein volume => "volume:" als mapping

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 11 November 2014, 20:36:09
Also das Device sieht jetzt so aus:
Internals:
   CHANGED
   DEF        192.168.188.24 0444 90 root 1tina9
   INTERVAL   90
   NAME       VU_Ultimo
   NR         198
   STATE      on
   TYPE       ENIGMA2
   Readings:
     2014-11-11 20:33:32   acg
68
     2014-11-11 00:09:05   apid            -
     2014-11-11 20:33:32   ber
1096439113

     2014-11-11 00:09:05   channel         -
     2014-11-11 00:09:05   currentMedia    -
     2014-11-11 00:09:05   currentTitle    -
     2014-11-09 12:00:52   enigmaversion   2014-11-03-vti-master
     2014-11-11 00:09:05   eventcurrenttime -
     2014-11-11 00:09:05   eventcurrenttime_hr -
     2014-11-11 00:09:05   eventcurrenttime_next -
     2014-11-11 00:09:05   eventcurrenttime_next_hr -
     2014-11-10 21:23:39   eventdescription -
     2014-11-10 21:23:39   eventdescription_next -
     2014-11-11 00:09:05   eventduration   -
     2014-11-11 00:09:05   eventduration_hr -
     2014-11-11 00:09:05   eventduration_next -
     2014-11-11 00:09:05   eventduration_next_hr -
     2014-11-11 00:09:05   eventname       -
     2014-11-11 00:09:05   eventname_next  -
     2014-11-11 00:09:05   eventremaining  -
     2014-11-11 00:09:05   eventremaining_hr -
     2014-11-11 00:09:05   eventremaining_next -
     2014-11-11 00:09:05   eventremaining_next_hr -
     2014-11-11 00:09:05   eventstart      -
     2014-11-11 00:09:05   eventstart_hr   -
     2014-11-11 00:09:05   eventstart_next -
     2014-11-11 00:09:05   eventstart_next_hr -
     2014-11-11 00:09:05   eventtitle      -
     2014-11-11 00:09:05   eventtitle_next -
     2014-11-08 21:07:07   fpversion       0
     2014-11-09 12:00:52   imageversion    Release 7.0.1 2014-07-17
     2014-11-11 00:09:05   input           -
     2014-11-08 18:24:20   iswidescreen    -
     2014-11-08 21:07:07   lanmac          00:1d:ec:03:5f:16
     2014-11-08 21:07:07   model           ultimo
     2014-11-11 20:33:31   mute            off
     2014-11-11 00:09:05   nextTitle       -
     2014-11-11 00:09:05   onid            -
     2014-11-11 00:09:05   pcrpid          -
     2014-11-11 00:09:05   pmtpid          -
     2014-11-11 20:31:59   power           on
     2014-11-11 20:31:59   presence        present
     2014-11-11 00:09:05   providername    -
     2014-11-08 18:26:51   recordings      0
     2014-11-11 00:09:05   servicename     -
     2014-11-11 00:09:05   servicereference -
     2014-11-11 00:09:05   servicevideosize -
     2014-11-11 00:09:05   sid             -
     2014-11-11 20:33:32   snr
60
     2014-11-11 20:33:32   snrdb
60
     2014-11-11 20:31:59   state           on
     2014-11-11 00:09:05   tsid            -
     2014-11-08 21:07:07   tuner_a         Vuplus DVB-C NIM(CXD1978) (DVB-C)
     2014-11-08 21:07:07   tuner_b         Vuplus DVB-C NIM(CXD1978) (DVB-C)
     2014-11-11 00:09:05   txtpid          -
     2014-11-11 00:09:05   videoheight     -
     2014-11-11 00:09:05   videowidth      -
     2014-11-11 20:33:31   volume          100
     2014-11-11 00:09:05   vpid            -
     2014-11-08 21:07:07   webifversion    1.7.5
   Helper:
     ADDRESS    192.168.188.24
     AVAILABLE  1
     PASSWORD   1tina9
     PORT       0444
     USER       root
     lastFullUpdate 1415734321.90127
     lastInput
     Bouquet:
       Radio:
         Bayern_3:
           sRef       1:0:2:6EF2:44D:1:FFFF0152:0:0:0:
       Tv:
         13th_street:
           sRef       1:0:1:2A:4:85:FFFF0000:0:0:0:
         Das_erste_hd:
           sRef       1:0:19:2B5C:41B:1:FFFF014A:0:0:0:
         Das_vierte:
           sRef       1:0:1:D168:2714:F001:FFFF0000:0:0:0:
         Discovery_hd:
           sRef       1:0:19:82:6:85:FFFF0000:0:0:0:
         Disney_ch._hd:
           sRef       1:0:19:C36F:2720:F001:FFFF0000:0:0:0:
         Disney_junior:
           sRef       1:0:1:1A:1:85:FFFF0000:0:0:0:
         Disney_xd:
           sRef       1:0:1:1C:1:85:FFFF0000:0:0:0:
         Einsplus:
           sRef       1:0:1:7033:41B:1:FFFF014A:0:0:0:
         Einsfestival:
           sRef       1:0:1:7032:41B:1:FFFF014A:0:0:0:
         Fox_hd:
           sRef       1:0:19:7C:6:85:FFFF0000:0:0:0:
         Fox_serie:
           sRef       1:0:1:10:1:85:FFFF0000:0:0:0:
         Heimatkanal:
           sRef       1:0:1:16:1:85:FFFF0000:0:0:0:
         N24:
           sRef       1:0:1:D17B:2718:F001:FFFF0000:0:0:0:
         Natgeo_hd:
           sRef       1:0:19:70:D:85:FFFF0000:0:0:0:
         Nat_geo_wild_hd:
           sRef       1:0:19:76:C:85:FFFF0000:0:0:0:
         National_geographic:
           sRef       1:0:1:D:4:85:FFFF0000:0:0:0:
         Prosieben_hd:
           sRef       1:0:19:C35F:271D:F001:FFFF0000:0:0:0:
         Prosieben_maxx:
           sRef       1:0:1:CF11:2721:F001:FFFF0000:0:0:0:
         Rtl:
           sRef       1:0:1:D161:2710:F001:FFFF0000:0:0:0:
         Rtl_crime:
           sRef       1:0:1:1B:4:85:FFFF0000:0:0:0:
         Rtl_ii:
           sRef       1:0:1:D163:2713:F001:FFFF0000:0:0:0:
         Rtl_nitro:
           sRef       1:0:1:CF76:2712:F001:FFFF0000:0:0:0:
         Rtl_passion:
           sRef       1:0:1:1D:4:85:FFFF0000:0:0:0:
         Sat.1_gold:
           sRef       1:0:1:D04C:2726:F001:FFFF0000:0:0:0:
         Sat.1_hd:
           sRef       1:0:19:C362:271F:F001:FFFF0000:0:0:0:
         Super_rtl:
           sRef       1:0:1:D162:2713:F001:FFFF0000:0:0:0:
         Sky_action_hd:
           sRef       1:0:19:74:D:85:FFFF0000:0:0:0:
         Sky_krimi:
           sRef       1:0:1:17:4:85:FFFF0000:0:0:0:
         Spiegel_geschichte:
           sRef       1:0:1:34:4:85:FFFF0000:0:0:0:
         Syfy:
           sRef       1:0:1:24:1:85:FFFF0000:0:0:0:
         Tele_5:
           sRef       1:0:1:CF0A:2718:F001:FFFF0000:0:0:0:
         Tnt_serie_hd:
           sRef       1:0:19:7B:6:85:FFFF0000:0:0:0:
         Vox:
           sRef       1:0:1:D164:2713:F001:FFFF0000:0:0:0:
         Zdf_hd:
           sRef       1:0:19:2B66:437:1:FFFF01C2:0:0:0:
         Zdfinfo:
           sRef       1:0:1:6D6B:437:1:FFFF01C2:0:0:0:
         Arte_hd:
           sRef       1:0:19:2B70:271E:F001:FFFF0000:0:0:0:
         Kabel_eins_hd:
           sRef       1:0:19:C359:271E:F001:FFFF0000:0:0:0:
         N-tv:
           sRef       1:0:1:D166:2713:F001:FFFF0000:0:0:0:
         Sixx_hd:
           sRef       1:0:19:C363:2716:F001:FFFF0000:0:0:0:
         Zdf.kultur:
           sRef       1:0:1:6D70:437:1:FFFF01C2:0:0:0:
         Zdf_neo:
           sRef       1:0:1:6D6E:437:1:FFFF01C2:0:0:0:
     Channels:
       radio:
         BAYERN_3
       tv:
         ProSieben_HD
         SAT.1_HD
         RTL
         kabel_eins_HD
         13th_Street
         VOX
         Fox_HD
         Fox_Serie
         Das_Vierte
         TNT_Serie_HD
         RTL_II
         SUPER_RTL
         RTL_Crime
         RTL_NITRO
         RTL_Passion
         SAT.1_Gold
         Discovery_HD
         sixx_HD
         TELE_5
         Syfy
         arte_HD
         Sky_Krimi
         Sky_Action_HD
         Disney_Junior
         Disney_XD
         Das_Erste_HD
         ZDF_HD
         Einsfestival
         EinsPlus
         Heimatkanal
         n-tv
         N24
         Nat_Geo_Wild_HD
         NatGeo_HD
         National_Geographic
         Spiegel_Geschichte
         zdf.kultur
         ZDFinfo
         zdf_neo
         ProSieben_MAXX
         Disney_Ch._HD
Attributes:
   bouquet-radio 1:7:2:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.favourites.radio" ORDER BY bouquet
   bouquet-tv 1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.favourites.tv" ORDER BY bouquet
   devStateIcon on:rc_GREEN:off off:rc_YELLOW:on absent:rc_STOP:on
   http-method POST
   https      1
   icon       dreambox
   webCmd     volume


und die rd
Internals:
   DEF        VU_Ultimo:channel,power,volume
   NAME       rg_VU_Ultimo
   NR         199
   NTFY_ORDER 50-rg_VU_Ultimo
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     VU_Ultimo  1
   Content2:
   DEVICES:
     ARRAY(0x8308d8)
   Fhem:
     lastDefChange 1
     last_update 1415734230.83738
Attributes:
   fp_Reciever 239,205,0,
   webCmd     volume => "volume:"
   widgetOverride 1


Wird in der rd kein Slider angezeigt

Seltsam ist doch das der Slider im FHEMWEB in der rd angezeigt wird, wenn ich dann die rd aber auf dem Floorplan platziere alles angezeigt wird, ausser der slider!?

Hab jetzt noch mal das attribut wie oben gesetzt in der rd
{ volume => "volume:slider,0,1,100",  channel => 'channel:'}
Dann wird der Slider nur auf dem FP nicht angezeigt, im rd schon.
Wenn ich dann im FP auf die "0" klicke (die wohl jetzt den Slider darstellen soll) kommt im Log diese Meldung:

2014.11.11 21:03:55.707 2: ENIGMA2 set VU_Ultimo volume NaN WO kommt jetzt  NaN her?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 11 November 2014, 22:00:29
Hallo,
habe mal eine Frage:
Habe diese ReadingsGroup gebaut:

define rgSchalter readingsGroup <%light_outdoor>,<Halogenstrahler>,<%ein>,<%aus>,<%Timer>
attr rgSchalter commands {'rgSchalter.ein' => 'set EnO_switch_00000003 on', 'rgSchalter.aus' => 'set EnO_switch_00000003 off', 'rgSchalter.Timer' => 'set EnO_switch_00000003 on-for-timer 10'}
attr rgSchalter notime 1

Über die Buttons %ein %aus %Timer schalte ich mein EnOcean device. Ich kriege es aber nicht hin, diese Variablen so abzuändern:
%Ein, %Aus, %5 Minuten.
Bei %Aus macht er mir immer ein Lampensymbol und das Leerzeichen bei %5 Minuten frisst er nicht.
Kann man das ändern?

Christian

NACHTRAG: Das Leerzeichen bei %5 Minuten frisst er doch, nur das Lampensymbol bei Aus kriege ich nicht weg! Könnte man eine Beschreibung für die %-Variablen anzeigen lassen?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 November 2014, 22:09:21
@Tommy82: der slider für das volume im webCmd attribut taucht in der raum ansicht beim device auf. das ist erst mal nur um zu prüfen ob der slider aktualisiert wird wenn das volume sich ändert.

es gibt noch ein problem mit dem floorplan der manche der kommandos nicht anzeigt. ich bin noch nicht dazu gekommen mir das anzuschauen.

am besten eins nach dem anderen:
- schauen das volume im der normalen raum ansicht im device mit update funktioniert
- dann die readingsGroup in der raum ansicht.
- dann der floorplan

@Spartacus: <%...> ist dazu da icons darzustellen. wenn du den text willst statt der icons must du das % weg lassen. lehrreichen an dieser stelle sind nicht erlaubt. du kannst z.b. &nbsp; dafür schreiben.

statt den device namen im commands mapping immer wieder hin zu schreiben kannst du auch $DEVICE verwenden.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 11 November 2014, 22:38:02
Hi andre,
wenn ich das % weglasse, kann ich die Texte aber nicht anklicken...
define rgSchalter readingsGroup EnO_switch_00000003:<%light_outdoor>,<Halogenstrahler>,<%ein>,<%aus>,<%5&nbspMinuten>
attr rgSchalter commands {'rgSchalter.ein' => 'set $DEVICE on', 'rgSchalter.aus' => 'set $DEVICE off', 'rgSchalter.5&nbspMinuten' => 'set $DEVICE on-for-timer 10'}
attr rgSchalter notime 1



"ein", "aus" und "5 Minuten" sind keine Readings vom Device! Da gibt es nur state mit "on" und "off". Ich baue damit nur eine Krücke um das nicht funktionierenden eventMap abzulösen! Funktioniert ja soweit auch ganz gut, nur "%Aus" bzw "Aus" klappt nicht! Dann kommt bei "%Aus" das Lampensymbol und nicht der Text als Link.
Spartacus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 November 2014, 22:44:44
ok. verstanden.

das icon bei %Aus kommt weil du irgendwo ein icon Aus hast.

wenn du das Aus icon nicht brauchst entferne es aus deinem icon pfad oder also workaround kannst du auch ein &nbsp; dahinter hängen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 11 November 2014, 22:54:27
Hi,
Danke Dir, habe keine Ahnung wo das Aus-Icon sein soll! das muss irgendwo per Default herkommen. Muss ich mal die Piktogramme alle durchgehen, da heisst bestimmt eines Aus.
Der Workaround ist aber auch OK. Nur finde ich es sehr uncool einen Workaround für einen Workaround anzuwenden  8)
Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 12 November 2014, 20:16:50
Zitat von: justme1968 am 11 November 2014, 22:09:21
@Tommy82: der slider für das volume im webCmd attribut taucht in der raum ansicht beim device auf. das ist erst mal nur um zu prüfen ob der slider aktualisiert wird wenn das volume sich ändert.

es gibt noch ein problem mit dem floorplan der manche der kommandos nicht anzeigt. ich bin noch nicht dazu gekommen mir das anzuschauen.

am besten eins nach dem anderen:
- schauen das volume im der normalen raum ansicht im device mit update funktioniert
Im Device und in der normalen Raumansicht funktioniert das update, und der slider wird korrekt dargestellt.

Zitat- dann die readingsGroup in der raum ansicht.
in der readingsGroup wird im Raum der slider richtig dargestellt, aber nicht geupdatet
Zitat- dann der floorplan
Dort wird der Slider nicht dargestellt

Wenn das List des Devices so aussieht:
Internals:
   CHANGED
   DEF        192.168.188.24 444 90 root 1tina9
   INTERVAL   90
   NAME       VU_Ultimo
   NR         198
   STATE      absent
   TYPE       ENIGMA2
   Readings:
     2014-11-12 20:25:27   acg             0
     2014-11-11 21:07:35   apid            -
     2014-11-12 20:25:27   ber             0
     2014-11-11 21:07:35   channel         -
     2014-11-11 21:07:35   currentMedia    -
     2014-11-11 21:07:35   currentTitle    -
     2014-11-09 12:00:52   enigmaversion   2014-11-03-vti-master
     2014-11-11 21:07:35   eventcurrenttime -
     2014-11-11 21:07:35   eventcurrenttime_hr -
     2014-11-11 21:07:35   eventcurrenttime_next -
     2014-11-11 21:07:35   eventcurrenttime_next_hr -
     2014-11-11 20:48:42   eventdescription -
     2014-11-11 20:48:42   eventdescription_next -
     2014-11-11 21:07:35   eventduration   -
     2014-11-11 21:07:35   eventduration_hr -
     2014-11-11 21:07:35   eventduration_next -
     2014-11-11 21:07:35   eventduration_next_hr -
     2014-11-11 21:07:35   eventname       -
     2014-11-11 21:07:35   eventname_next  -
     2014-11-11 21:07:35   eventremaining  -
     2014-11-11 21:07:35   eventremaining_hr -
     2014-11-11 21:07:35   eventremaining_next -
     2014-11-11 21:07:35   eventremaining_next_hr -
     2014-11-11 21:07:35   eventstart      -
     2014-11-11 21:07:35   eventstart_hr   -
     2014-11-11 21:07:35   eventstart_next -
     2014-11-11 21:07:35   eventstart_next_hr -
     2014-11-11 21:07:35   eventtitle      -
     2014-11-11 21:07:35   eventtitle_next -
     2014-11-08 21:07:07   fpversion       0
     2014-11-09 12:00:52   imageversion    Release 7.0.1 2014-07-17
     2014-11-11 21:07:35   input           -
     2014-11-08 18:24:20   iswidescreen    -
     2014-11-08 21:07:07   lanmac          00:1d:ec:03:5f:16
     2014-11-08 21:07:07   model           ultimo
     2014-11-12 20:25:27   mute            -
     2014-11-11 21:07:35   nextTitle       -
     2014-11-11 21:07:35   onid            -
     2014-11-11 21:07:35   pcrpid          -
     2014-11-11 21:07:35   pmtpid          -
     2014-11-12 20:25:27   power           off
     2014-11-12 20:43:49   presence        absent
     2014-11-11 21:07:35   providername    -
     2014-11-08 18:26:51   recordings      0
     2014-11-11 21:07:35   servicename     -
     2014-11-11 21:07:35   servicereference -
     2014-11-11 21:07:35   servicevideosize -
     2014-11-11 21:07:35   sid             -
     2014-11-12 20:25:27   snr             0
     2014-11-12 20:25:27   snrdb           0
     2014-11-12 20:25:27   state           absent
     2014-11-11 21:07:35   tsid            -
     2014-11-08 21:07:07   tuner_a         Vuplus DVB-C NIM(CXD1978) (DVB-C)
     2014-11-08 21:07:07   tuner_b         Vuplus DVB-C NIM(CXD1978) (DVB-C)
     2014-11-11 21:07:35   txtpid          -
     2014-11-11 21:07:35   videoheight     -
     2014-11-11 21:07:35   videowidth      -
     2014-11-12 20:25:27   volume          -
     2014-11-11 21:07:35   vpid            -
     2014-11-08 21:07:07   webifversion    1.7.5
   Helper:
     ADDRESS    192.168.188.24
     AVAILABLE  0
     PASSWORD   xyz
     PORT       444
     USER       root
     lastInput
Attributes:
   bouquet-radio 1:7:2:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.favourites.radio" ORDER BY bouquet
   bouquet-tv 1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.favourites.tv" ORDER BY bouquet
   devStateIcon on:rc_GREEN:off off:rc_YELLOW:on absent:rc_STOP:on
   http-method POST
   https      1
   icon       dreambox
   webCmd     channel:input


Das list der readingsGroup sieht dann so aus:
Internals:
   DEF        VU_Ultimo:channel,power,volume
   NAME       rg_VU_Ultimo
   NR         199
   NTFY_ORDER 50-rg_VU_Ultimo
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     VU_Ultimo  1
   Content2:
   DEVICES:
     ARRAY(0x844a40)
   Fhem:
     lastDefChange 1
     last_update 1415821419.25639
Attributes:
   commands   { volume => "volume:slider,0,1,100",  channel => 'channel:'}
   fp_Reciever 239,205,0,
   valueIcon  { state => '%devStateIcon', 'power.on' => "on", 'power.off' => "Off" }
   widgetOverride 1


Interessant ist auch das ich durch zufall festgestellt habe das der slider auf dem floorplan auf meinem iphone (Safari) dargestellt wird, habs dann nochmal am PC mit meinem Standartbrowser (Opera) versucht, kein slider, hab dann Firefox genommen, kein Slider, hab dann mal Safari auf dem PC installiert, und der slider ist wieder da.
Sieht doch dann eher nach einem Browser problem aus oder?

Habs dann trotzdem noch mal wie hier von dir beschrieben versucht
[quote author=justme1968 link=topic=14425.msg217663#msg217663 date=1415654720]
zum einen musst du beide attribute auf das original device setzen und zum anderen so:

attr VU_Ultimo widgetOverride volume:slider,0,1,100
attr VU_Ultimo webCmd volume
widgetOverride aber nur wenn volume im enigma modul kein slider ist.

[/quote]


Also hab ich im device nur das Attribut
Zitatattr VU_Ultimo webCmd volume
gesetzt, da der Slider im enigma2 Modul bei Volumen gesetzt ist, so das webcmd im Device so aussieht
webCmd channel:input:volume
In der rd hab ich nichts zu oben stehendem list geändert
Allerdings wird in der rd der Wert des Volumen Sliders trotzdem nicht aktualisiert
Der on/off Button funktioniert und wird auch aktualisiert, einzig der Slider wird nicht aktualisiert bzw. auf dem FP nicht angezeigt (ausser in Safari)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 13 November 2014, 19:07:25
Hi,

ich habe hier folgende Definition einer readingsGroup, die ich der Einfachheithalber gekürzt habe, aber letztendlich von den Vorgaben von Igami, hier stammt http://forum.fhem.de/index.php/topic,26479.msg214965.html#msg214965 (http://forum.fhem.de/index.php/topic,26479.msg214965.html#msg214965)

define rg_heizungswerte3 readingsGroup <%sani_heating>,< >,Heizung@d_Label ht_(.*|):battery,impossible@{$DEVICE},alias
attr rg_heizungswerte3 valueColumns { 'Heizung' => 'colspan="2"' , 'alias' => 'colspan="2"' }
attr rg_heizungswerte3 room Heizungswerte
attr rg_heizungswerte3 nonames 1


Ich hätte jetzt erwartet, dass ich folgende Anzeige ähnlich der von Igami erhalte, siehe Screenshot 1. Stattdessen erhalte ich die Anzeige von Screenshot 2 - nämlich gar nichts :-\

Das mit dem d_Label ist auch unter dem oben stehenden Link beschrieben bzw. in Verwendung. Igami hat dies so erklärt, dass wenn dies nicht mit einem Dummy Device gemacht wird, auch kein colspan funktioniert.

Mir drängt sich schön langsam der Gedanke auf, dass ich eine andere Version der readingsGroup verwende als Igami. Ich wollte das Problem trotzdem hier reinstellen, da ich das mit der Version nicht bestätigen kann.

Der Vollständigkeithalber nocht die Definition von d_Label:
ZitatInternals:
   NAME       d_Label
   NR         399
   STATE      Sonntag Sonntag
   TYPE       dummy
   Readings:
     2014-11-12 23:34:20   Dienstag        Dienstag
     2014-11-12 23:34:20   Donnerstag      Donnerstag
     2014-11-12 23:34:20   Freitag         Freitag
     2014-11-12 23:34:20   Heizung         Heizung
     2014-11-12 23:34:20   Mittwoch        Mittwoch
     2014-11-12 23:34:20   Montag          Montag
     2014-11-12 23:34:20   Samstag         Samstag
     2014-11-12 23:34:20   Sonntag         Sonntag
     2014-11-12 23:34:20   Status          Status
     2014-11-12 23:34:20   Temperatur      Temperatur
     2014-11-12 23:34:20   state           Sonntag Sonntag
Attributes:

Ach ja, wenn ich hingehend <Heizung> verwende, dann funktionierts. Es muss also einen kleinen aber feinen Unterschied zwischen meiner readingsGroup (-Version) und der von Igami.

Kann hier bitte jemand Mal drüber schauen mit mehr Erfahrung als ich?

Danke,
Michael

Edit: ich denke hier http://forum.fhem.de/index.php/topic,14425.msg212733.html#msg212733 (http://forum.fhem.de/index.php/topic,14425.msg212733.html#msg212733) steht die Antwort zu meinem Problem, oder? Aber wo kann man jetzt genau die Beta Version ziehen?


Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 13 November 2014, 19:16:19
Versuch es mal mit


define rg_heizungswerte3 readingsGroup d_Label:<%sani_heating>,< >,Heizung ht_.*:battery,?alias
attr rg_heizungswerte3 valueColumns { 'Heizung' => 'colspan="2"' , 'alias' => 'colspan="2"' }
attr rg_heizungswerte3 room Heizungswerte
attr rg_heizungswerte3 nonames 1


Güße
Igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 13 November 2014, 19:41:21
Igami,

Retter in der Not  ;D Ich wollte  eigentlich nicht dich wieder belästigen mit diesem Problem, da ich dachte, dass es ein generelles RG Problem ist. Mittlerweile hat sich rausgestellt, dass ich einen Teil deines Subs makefine() noch nicht ganz zum Laufen gebracht habe. Es war der Teil

#alias als Reading hinzufügen
my @climas = split('\n', fhem('LIST (CUL_HM_|)HM_CC_RT_DN_(......|..........)_Clima'));

foreach my $clima (@climas){
  my $alias = AttrVal($clima,'alias',$clima);
  fhem("setreading $clima alias $alias")
}


den ich zwar umbauen musste, aber letztendlich habe ich jetzt dort wo der alias stehen soll auch einen Ausgabe.

Danke trotzdem für dein Eingreifen in diesem Thread.

Grüße,
Michael

Wir sehen uns dann wieder in deinem Beitrag  ::)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 13 November 2014, 19:43:16
Den Teil gibt es bei mir schon gar nicht mehr. Attribute kann man in der readingsgroup mit einem vorgestellem ? auslesen, das wusste ich nur zu dem Zeitpunkt noch nicht.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 13 November 2014, 20:50:45
Was könnte mein aktualiserung der rd noch verhindern?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: der-Lolo am 14 November 2014, 09:19:26
Guten Morgen Andre,
ich versuche zur Zeit ähnlich wie Tommy82 einen Slider in der rG anzuzeigen.
Leider gelingt mir das nicht, weitere Informationen als die letzten drei Seiten hier im Thread finde ich nicht.
Weder in der CommandRef noch im Wiki.

Vielleicht kannst du mal eine Beispiel Konfiguration anhand eines Dummys zeigen.
In meinem Fall soll eh ein Dummy den eingestellten wert an meine 99_AudioUtils weiterreichen und hier an das entsprechende Device oder die Device Gruppe weitergeleitet werden.


Ich fand gerade das hier:
Zitat von: justme1968 am 10 September 2014, 09:18:15
@Hoschiq:

du musst hier tatsächlich zwischen dummys und 'echten' devices unterscheiden.

ein echtes device hat normalerweise ein zum reading passendes set kommando und dieses soll ausgeführt werden. der dummy hat dieses passende set kommando nicht deshalb landet der komplette string in state. das verhalten ist also erst mal korrekt. setreading wäre für die normalen devices verkehrt.

nur wenn es sich wirklich um einen dummy handelt (oder eventuell auch für devices die kein passendes set anbieten) ist setreading das richtige. ersteres sollte meiner meinung nach passieren, zu letzterem hat rudi sicher was zu sagen.

gruss
  andre

Hier half nun, ein setreading volume volume 22 brachte mir einen Slider in die Ansicht.

btw: nun könnte ich doch endlich dreierlei Slider im Licht & Farbe Tab einbauen um den Hues Farbe Sättigung und Helligkeit zu geben, oder?

Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 14 November 2014, 10:03:30
Ich habe mal auf die Schnelle ein (nicht aufgehübschtes) RGB-Beispiel zusammengeklickt:

Ein Dummy:

define rgbdummy dummy
attr rgbdummy setlist hue:slider,0,1,100 color:slider,0,1,255 sat:slider,0,1,100


Ein notify für die readings im dummy:

define rgbdummy.not rgbdummy:.* setreading rgbdummy $EVENT

und noch die readingsgroup:

define rgb readingsgroup rgbdummy:hue rgbdummy:color rgbdummy:sat
attr rgb commands { hue => 'hue:', color => 'color:', sat => 'sat:'}


Damit die readingsgroup etwas anzeigt, müssen die Werte einmalig im Dummy gesetzt werde -> damit werden dann die Readings angelegt...

Ronny
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 14 November 2014, 12:12:38
es gibt hier: http://forum.fhem.de/index.php/topic,29110.msg219025.html#msg219025 (http://forum.fhem.de/index.php/topic,29110.msg219025.html#msg219025) eine test version für readingsGroup bei der man mit ! vor einem reading namen erzwingen kann das ein reading auch dann dargestellt wird wenn es (noch) nicht vorhanden ist.

das hilft z.b. in allen fällen in denen dummys im spiel sind.

es ist damit auch möglich statt <abc> !abc zu schreiben um einen reinen text zu bekommen. im gegensatz zur <...> variante kann man diesen text aber dann auch per commands, valueStyle, valueFormat, valueColumns, ... formatieren. d.h. anklickbar oder über mehrere spalten gehen lassen. der &nbsp (oder dummy) workaround for texte mit leerzeichen sind auch nicht mehr nötig da man das abc einfach per 'abc' => 'A B C' value format ändern kann.

das funktioniert auch in verbindung mit der reading@device variante und in verbindung mit + und ? für internals und attribute.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 14 November 2014, 12:13:46
die probleme mit dem longpoll update muss ich mir in ruhe anschauen. das mit dem floorplan auch.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 16 November 2014, 12:41:30
Zitat von: justme1968 am 11 November 2014, 22:09:21
@Tommy82: der slider für das volume im webCmd attribut taucht in der raum ansicht beim device auf. das ist erst mal nur um zu prüfen ob der slider aktualisiert wird wenn das volume sich ändert.

es gibt noch ein problem mit dem floorplan der manche der kommandos nicht anzeigt. ich bin noch nicht dazu gekommen mir das anzuschauen.

am besten eins nach dem anderen:
- schauen das volume im der normalen raum ansicht im device mit update funktioniert
- dann die readingsGroup in der raum ansicht.
- dann der floorplan


gruss
  andre

Hallo Andre,
in der detail Ansicht des Devices wird das Volumen aktualisiert, also klappt es ja vom grundsatz her.
In der Raumübersicht der enigma Devices wird auch eine Volumen Slider angezeigt, dieser wird allerdings nicht aktualiesiert.
in der ReadingsgRoup wird der Volumen Slider auch nicht aktualisiert

Was kann ich probieren?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 November 2014, 12:42:17
ich bin dran.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 16 November 2014, 14:50:41
Hi, also der Slider wird jetzt zumindest auf meinem FP angezeigt, in meiner css war eine { zuwenig.

Allerdings wird der State nicht aktualisiert, Status wird immer auf 0 gesetzt

Kann ich in der Anzeige der rd auch einen Zeilenumbruch machen? Hätte den Slider gerne in der nächsten Zeile
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Roaster am 16 November 2014, 14:58:16
Hi,

ist es möglich die Eingabefelder einer readingsGroup auch anzupassen?

Erstens in Bezug auf die Schriftgröße und zweitens die Eingabefelder in eine Richtung, in meinem Fall nach oben bis zum roten Strich, zu verschieben, siehe Screenshot?

Gruß,
Michael
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 16 November 2014, 15:51:24
Hallo,
ich bastle auch gerade wieder an der Visualisierung!

Ich habe zwei readingGroups in eine Gruppe gepackt und möchte das jetzt ausrichten.
Das Beste wäre, wenn die Icons untereinander stehen. Wie kann man das erreichen?

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 16 November 2014, 15:55:47
Warum packst du das nicht in eine readingsGroup?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 16 November 2014, 16:03:02
Zitat von: igami am 16 November 2014, 15:55:47
Warum packst du das nicht in eine readingsGroup?

Hi,
das wird m.E. zu unübersichtlich mit den verlinkten commands! habe es aber noch nicht versucht.
Hier mal der Code...
# Gartenbeleuchtung manuell schalten, 60 min-Timer
#
define rg.01.GA.ss.SA.Licht readingsGroup GA.ss.SA.Licht:<%light_outdoor>,<Gartenlicht>,state,!Ein,!Aus,!60Minuten
attr rg.01.GA.ss.SA.Licht alias Gartenlicht
attr rg.01.GA.ss.SA.Licht commands {'Ein' => 'set $DEVICE on', 'Aus' => 'set $DEVICE off', '60Minuten' => 'set $DEVICE on-for-timer 3600'}
attr rg.01.GA.ss.SA.Licht group Beleuchtung
attr rg.01.GA.ss.SA.Licht notime 1
attr rg.01.GA.ss.SA.Licht room 05-Garten
attr rg.01.GA.ss.SA.Licht style style="border:0px;;background:none;;box-shadow:none"
attr rg.01.GA.ss.SA.Licht valueFormat { '60Minuten' => '60 Minuten' }
attr rg.01.GA.ss.SA.Licht valueIcon { state => '%devStateIcon' }
# Gartenbeleuchtung manuell schalten, 60 min-Timer
#
# Halogenstrahler
#
define rg.01.GH.ss.SA.Strahler readingsGroup GH.ss.SA.Strahler:<%light_outdoor>,<Strahler>,state,!Ein,!Aus,!10Minuten
attr rg.01.GH.ss.SA.Strahler alias Halogenstrahler
attr rg.01.GH.ss.SA.Strahler commands {'Ein' => 'set $DEVICE on', 'Aus' => 'set $DEVICE off', '10Minuten' => 'set $DEVICE on-for-timer 600'}
attr rg.01.GH.ss.SA.Strahler group Beleuchtung
attr rg.01.GH.ss.SA.Strahler notime 1
attr rg.01.GH.ss.SA.Strahler room 05-Garten
attr rg.01.GH.ss.SA.Strahler style style="border:0px;;background:none;;box-shadow:none"
attr rg.01.GH.ss.SA.Strahler valueFormat { '10Minuten' => '10 Minuten' }
attr rg.01.GH.ss.SA.Strahler valueIcon { state => '%devStateIcon' }


Spartacus
P.S.
Ich nutze die Testversion der ReadingsGroup um !Ein und !Aus als Link für die Commands zu verwenden....aber wenn es nicht anders geht, muss ich das wohl machen!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 November 2014, 16:55:58
die spalten- und gesamtbreiten der readingsGroups sind werden vom browser automatisch abhängig vom inhalt bestimmt und sind bei unterschiedlichen readingsGroups unabhängig voneinander so lange du keine vorgaben machst.

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 17 November 2014, 17:37:48
Zitat von: justme1968 am 16 November 2014, 16:55:58
die spalten- und gesamtbreiten der readingsGroups sind werden vom browser automatisch abhängig vom inhalt bestimmt und sind bei unterschiedlichen readingsGroups unabhängig voneinander so lange du keine vorgaben machst.

gruß
  andre
Hi andre,
bedeutet dass, dass ich das im stylesheet (wie im wiki unter styling beschrieben) in Spalten aufteilen muss? Oder was genau meinst Du mit ".....so lange du keine vorgaben machst. "
Christian.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 November 2014, 17:46:57
das bedeutet das du die spalten und/oder die gesamt breite per style setzen musst.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 17 November 2014, 18:50:30
Hm!
sorry, aber kannst Du mir nen kleinen Tipp geben, wo ich die Befehle für Spaltenbreite /Weite finden kann? Gibt es da irgendeine Übersicht?

Bin damit noch überfordert! :-[
sorry!
Christian

P.S. Habe es jetzt doch in eine Gruppe gebaut. Ist doch einfacher für mich!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 17 November 2014, 22:28:05
Hallo,
eines habe ich noch nicht hingekriegt....
Die Hintergrundfarbe und die Zeilenhöhe. Wie passe ich das mit style an. Kann ich das zeilenweise ändern, oder ist dann jede Zeile gleich hoch!

Hintergrund:
die Zeilen mit Icons sind höher als die mit Text. Das sieht in einer Gruppe dann etwas unglücklich aus.......
die Farben der Zeilen wechsel zwischen hellgrau und schwarz. Um es optisch abzusetzen, würde ich gerne
mehrere Zeilen gleich einfärben.
Danke,
Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 November 2014, 23:05:08
die breite kannst du z.b. über die width/min-width/max-width eigenschaft festlegen.

mehr zu readingsGroup und css findest du hier: http://www.fhemwiki.de/wiki/ReadingsGroup#readingsGroup_Styling_mit_CSS (http://www.fhemwiki.de/wiki/ReadingsGroup#readingsGroup_Styling_mit_CSS)

mehr zu css findest du z.b. hier: http://de.selfhtml.org/css/ (http://de.selfhtml.org/css/)

zum zeilen einfärben nimm am besten die test version von hier: http://forum.fhem.de/index.php/topic,29110.0.html (http://forum.fhem.de/index.php/topic,29110.0.html) und das cellStyle attribut.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: StefanW am 18 November 2014, 18:30:07
Hallo!
Ich möchte die Werte meiner WS0002 Sensoren mittels readingsGroup auf meinem Floorplan darstellen.
Allerdings bekomme ich eine Fehlermeldung beim Start von FHEM, wenn ich mittels valueFormat für die Temperatur °C und für Luftfeuchte % anzeigen lassen möchte.

2014.11.18 17:56:25 1: PERL WARNING: Missing argument in sprintf at ./FHEM/33_readingsGroup.pm line 612.
2014.11.18 17:56:25 1: PERL WARNING: Invalid conversion in sprintf: end of string at ./FHEM/33_readingsGroup.pm line 612.

Steckt da ein Fehler in meiner attr Zeile?

attr WS0002 valueFormat { "temperature" => "%.1f°C", "humidity" => "%.0f%" }
Titel: Antw:Neues Modul readingsGroup
Beitrag von: StefanW am 18 November 2014, 18:37:10
Hmpf... ein Blick ins Wiki hätte auch geholfen... :-\
Es fehlt noch ein 2tes "%"...
Hat sich somit erledigt.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 18 November 2014, 20:52:40
Hallo,
ich kriege das irgendwie nicht sauber formatiert:

# Heizung manuell schalten, 60 min-Timer
#
define rg.01.GH.ss.SA.Heizung readingsGroup GH.ss.SA.Heizung:<%light_outdoor>,<Heizung>,state,!Ein,!Aus,!60Minuten
attr rg.01.GH.ss.SA.Heizung alias Heizung schalten
attr rg.01.GH.ss.SA.Heizung cellStyle {'c:2' => 'style="text-align:left"','c:4' => 'style="text-align:right"','c:5' => 'style="text-align:right"','c:6' => 'style="text-align:right"'}
attr rg.01.GH.ss.SA.Heizung commands {'Ein' => 'set $DEVICE on', 'Aus' => 'set $DEVICE off', '60Minuten' => 'set $DEVICE on-for-timer 3600'}
attr rg.01.GH.ss.SA.Heizung notime 1
attr rg.01.GH.ss.SA.Heizung room 05-Gartenhaus
attr rg.01.GH.ss.SA.Heizung style style="width:820px"
attr rg.01.GH.ss.SA.Heizung valueFormat { '60Minuten' => '60 Minuten' }
attr rg.01.GH.ss.SA.Heizung valueIcon { state => '%devStateIcon' }
#
# Ventilator manuell schalten, 60 min-Timer
#
define rg.01.GH.ss.SA.Ventilator readingsGroup GH.ss.SA.Ventilator:<%light_outdoor>,<Ventilator>,state,!Ein,!Aus,!60Minuten
attr rg.01.GH.ss.SA.Ventilator alias Ventilator schalten
attr rg.01.GH.ss.SA.Ventilator cellStyle {'c:2' => 'style="text-align:left"','c:4' => 'style="text-align:right"','c:5' => 'style="text-align:right"','c:6' => 'style="text-align:right"'}
attr rg.01.GH.ss.SA.Ventilator commands {'Ein' => 'set $DEVICE on', 'Aus' => 'set $DEVICE off', '60Minuten' => 'set $DEVICE on-for-timer 3600'}
attr rg.01.GH.ss.SA.Ventilator notime 1
attr rg.01.GH.ss.SA.Ventilator room 05-Gartenhaus
attr rg.01.GH.ss.SA.Ventilator style style="width:820px"
attr rg.01.GH.ss.SA.Ventilator valueFormat { '60Minuten' => '60 Minuten' }
attr rg.01.GH.ss.SA.Ventilator valueIcon { state => '%devStateIcon' }


Spalte 4 wrd nicht rechtsbündig ausgerichtet! Was mache ich da noch falsch? Alles scheint an dem Status-Symbol zu liegen. Die beiden Devices möchte ich nicht in einer Gruppe haben, da es unterschiedliche Funktionen sind...man könnte es auch nach links ausrichten, geht aber auch nicht!
Spartacus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 18 November 2014, 21:46:09
Zitat von: Tommy82 am 16 November 2014, 14:50:41
Hi, also der Slider wird jetzt zumindest auf meinem FP angezeigt, in meiner css war eine { zuwenig.

Allerdings wird der State nicht aktualisiert, Status wird immer auf 0 gesetzt

Kann ich in der Anzeige der rd auch einen Zeilenumbruch machen? Hätte den Slider gerne in der nächsten Zeile

Hi Andre, bist du schon weitergekommen mir dem aktualisiseren? bzw. kann ich da irgendwie helfen?

Kann ich einen Zeilenumbruch einbauen, so das der Slider in der nächsten Zeile angezeigt wird?

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 19 November 2014, 00:16:09
@Spartacus: dein problem ist das sich deine attribute auf den unterschiedlichen ebenen gegenseitig überschreiben und dann z.b. die breite genau für die elemente für die die cellStyle angibst nicht gesetzt ist. fang damit an cellStyle und style beide weg zu machen und dann nur die breite für die spalte mit dem device namen zu setzen. das ist die einzige spalte die sich unterscheidet. also nur {'c:2' => 'style="width:60px"'}. danach sollte alle andere automatisch passen.

@Tommy82: ich hatte noch keine zeit es mir genauer anzuschauen.

eine zeilenumbruch bekommst du mit einem <br>

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 19 November 2014, 18:00:54
Hi andre,
hätte schwören können, dass ich das schon ausprobiert hatte! Aber es geht jetzt! Ich habe es entsprechend formatieren können!

Danke für die Hilfe,
Christian.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 19 November 2014, 19:58:53
Zitat von: justme1968 am 19 November 2014, 00:16:09

@Tommy82:

eine zeilenumbruch bekommst du mit einem <br>

gruss
  andre

Wo muss ich das <br> setzen?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fidel am 19 November 2014, 22:26:30
Hallo,

ich habe einen RT DN und würde mir gerne folgendes bauen.
define Heizungswerte readingsGroup <%sani_heating>,<Ventil>,<Soll>,<Ist> CUL_HM_HM_CC_RT_DN_26EFBD:actuator,desired-temp,measured-temp,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired-temp>,desired-new,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired-temp>,window,battery

Jetzt kommt die Window Meldung aber auf dem Window Kanal. Lässt sich das irgendwie einbauen?

Viele Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 19 November 2014, 22:42:54
einfach den device namen mit @ an den reding namen anhängen.

du kannst auch den channel namen automatisch aus dem device namen ableiten: http://www.fhemwiki.de/wiki/ReadingsGroup#Readings_aus_zus.C3.A4tzlichen_Devices (http://www.fhemwiki.de/wiki/ReadingsGroup#Readings_aus_zus.C3.A4tzlichen_Devices)

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 19 November 2014, 22:47:09
@Tommy82:
ZitatWo muss ich das <br> setzen?

da da wo der zeielnumbruch hin soll:...,reading3,<br>,reading4,..

oder du trennst es mit einem leerzeichen auf:device:reading1,reading2 device:reading3,reading4 
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 20 November 2014, 18:55:52
Zitat von: justme1968 am 19 November 2014, 22:47:09
@Tommy82:
da da wo der zeielnumbruch hin soll:...,reading3,<br>,reading4,..

oder du trennst es mit einem leerzeichen auf:device:reading1,reading2 device:reading3,reading4

Perfekt, vielen Danke. Wenn du jetzt noch die aktualisierung des Sliders hinbekommst, dann klappt erstmal alles:-)

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 21 November 2014, 20:31:26
Hi,
ich wollte jetzt eine rd für mein HM_dc_rt-dn  anlegen, und die Temperatur über einen slider regeln.

Ich will die Temp in 0,5 er Schritten ändern.
Allerdings gehts nur in 1.0er schritten, kann ich das ändern?

Internals:
   DEF        Gaeste_WC_Clima:desired-temp,measured-temp Heizung_Flur_Clima:desired-temp,measured-temp Heizung_Tuer_ClimRT_tr:desired-temp,measured-temp Kueche_Clima:desired-temp,measured-temp
HeizungFenster_Clima:desired-temp,measured-temp
   NAME       rd_Heizungs_Slider
   NR         222
   NTFY_ORDER 50-rd_Heizungs_Slider
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Gaeste_WC_Clima 1
     Heizung_Flur_Clima 1
     Heizung_Tuer_ClimRT_tr 1
     Kueche_Clima 1
   Content2:
   DEVICES:
     ARRAY(0x1536970)
     ARRAY(0x153ad30)
     ARRAY(0x14bcda0)
     ARRAY(0x14bfbb0)
   Fhem:
     lastDefChange 3
     last_update 1416600429.24046
Attributes:
   commands   { 'desired-temp' => 'controlManu:slider,5,0.5,30' }
   style      style="font-size:20px;color:lightgray"


Wie kann ich eine überschrift "Eingestellte Temperatur" und Gemessene Temperatur drüber setzen?

Kann man den Slider auch verlängern?

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 21 November 2014, 21:32:10
wenn du einen slider mit mit fliekkomma zahlen möchtest musst du an die definition noch ein ,1 anhängen. siehe commandref.

du kannst eine überschrift nur über ganze spalten setzen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 21 November 2014, 21:53:23
Zitat von: justme1968 am 21 November 2014, 21:32:10
wenn du einen slider mit mit fliekkomma zahlen möchtest musst du an die definition noch ein ,1 anhängen. siehe commandref.

du kannst eine überschrift nur über ganze spalten setzen.

gruss
  andre

Hallo Andre,
irgendwie find ich in der commandref nicht was du meinst....

Bin ansonsten ein Stückweiter und hab die Überschriften hinbekommen,
hab allerdings noch das Problem das ich zum einen die Bezeichnung nicht linksbündig bekomme und zum anderen das der Slider den Ist Wert anzeigt und nicht den Eingestellten Soll wert.

Wie kann ich das noch hinbekommen?

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 21 November 2014, 22:54:06
such einfach in der commandref nach slider:
Zitatif the modifier is of the form ":slider,<min>,<step>,<max>[,1]", then a javascript driven slider is displayed. The optional ,1 at the end avoids the rounding of floating-point numbers.

style="text-align:left;" hilft nicht ?

zum desired problem kann ich nicht wirklich etwas sagen. ich habe keine hm thermostate.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 21 November 2014, 22:58:10
Super, danke.

Nur wie stell ich beim slider jetzt noch die Soll Temperatur ein? Zeigt immer noch die Ist Temperatur im slider
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 22 November 2014, 00:23:29
Wie kommst du drauf, dass die Ist-Temperatur angezeigt wird, da stehen doch teilweise verschiedene Werte bei Ist- und Soll-Temperatur in deinem Screenshot? Kannst du mal deinen Code für die ReadingsGroup posten?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 22 November 2014, 06:41:19
Hi,

wie ist es möglich Icons auszurichten?
Wenn ich mir nur den Text des Readigns anzeigen lasse ist es mittig ausgerichtet und geht ggf. über zwei Spalten. Wird es auf ein Icon gemappt ist es links ausgerichtet und spricht auch nicht mehr auf valueColumns an.
Zuerst habe ich vermutet, dass ich den Namen des Icon eintragen muss, jedoch wird es bei mir im else Teil behandelt.


attr rg_09_2 valueStyle
{($READING eq "alias"
||$READING eq "Start"
||$READING eq "Hysterese"
||$READING eq "Modus"
||$READING eq "Status"
)?'style="font-size:20px;;color:RoyalBlue;;text-align:center"'
:($READING eq "hysteresis"
)?'style="font-size:16px;;text-align:right"'
:'style="font-size:16px;;text-align:center"'}


Grüße
Igami
Titel: Neues Modul readingsGroup
Beitrag von: Tommy82 am 22 November 2014, 08:22:42
Zitat von: RoBra81 am 22 November 2014, 00:23:29
Wie kommst du drauf, dass die Ist-Temperatur angezeigt wird, da stehen doch teilweise verschiedene Werte bei Ist- und Soll-Temperatur in deinem Screenshot? Kannst du mal deinen Code für die ReadingsGroup posten?

Wieso es da im Screenshot Differenzen gibt versteh ich auch nicht, um aktuelle Screen ist es wieder identisch, da werden soll Temperaturen angezeigt

Hier der Code



Internals:
   DEF        <Gerät>,<Soll>,<Ist>
Gaeste_WC_Clima:desired-temp,measured-temp Heizung_Flur_Clima:desired-temp,measured-temp
Kueche_Clima:desired-temp,measured-temp
Heizung_Tuer_ClimRT_tr:desired-temp,measured-temp
HeizungFenster_Clima:desired-temp,measured-temp
   NAME       rd_Heizungs_Slider
   NR         222
   NTFY_ORDER 50-rd_Heizungs_Slider
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Gaeste_WC_Clima 1
     HeizungFenster_Clima 1
     Heizung_Flur_Clima 1
     Heizung_Tuer_ClimRT_tr 1
     Kueche_Clima 1
   Content2:
   DEVICES:
     ARRAY(0x131a4e8)
     ARRAY(0x131a488)
     ARRAY(0x131a4b8)
     ARRAY(0x131a4c8)
     ARRAY(0x14dbb70)
     ARRAY(0x14dbbb0)
   Fhem:
     lastDefChange 1
     last_update 1416607661.31152
Attributes:
   commands   { 'desired-temp' => 'controlManu:slider,5,0.5,30,1' }
   fp_Heizung 215,207,0,
   mapping    {'Gaeste_WC_Clima' => 'Gäste WC', 'Heizung_Flur_Clima' => 'Heizung Flur', 'Heizung_Tuer_ClimRT_tr' => 'Heizung Wohnzimmer Tür', 'Kueche_Clima' => 'Küche', 'HeizungFenster_Clima' => 'Heizung Wohnzimmer Fenster'}
   nameStyle  style="color:yellow;font-weight:bold"
   style      style="font-size:20px;color:lightgray;text-align:left"


Heute Morgen fällt mir aber noch ein neues Problem auf, wenn ich normalerweise im device die soll Temperaturen ändere werden diese zu vorgegebenen Zeit wieder von meiner Templist überschrieben, wenn ich sie in der rd über den Slider ändere Belieben sie bestehen. Was so nicht sein soll, nach dem manuellen setzen der Soll Temperaturen sollen dann anschließend wieder die normalen Templist greifen!
Was könnte da noch falsch sein?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 22 November 2014, 08:28:41
Zitat von: Tommy82 am 22 November 2014, 08:22:42
Hier der Code
[...]
Was könnte da noch falsch sein?
Du solltest dein commands Attribut noch mal überdenken

Grüße
Igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 November 2014, 10:33:40
@igami: du kannst für ein icon nicht style=text-align verwenden... du kannst aber das icon alignment in das passenden valueColumns attribut mit einbauen.

attr <device> valueColumns { <reading> => 'colspan="3" align="center"' }

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 22 November 2014, 11:04:14
Zitat von: justme1968 am 22 November 2014, 10:33:40du kannst für ein icon nicht style=text-align verwenden... du kannst aber das icon alignment in das passenden valueColumns attribut mit einbauen.
Irgendwie nachvollziehbar, ist ja kein Text mehr...
Habe es nun zu

attr rg_09_2 valueColumns
{'alias' => 'colspan="3"'
, 'Hysterese' => 'colspan="2"'
, 'Status' => 'colspan="2"'
, 'state' => 'colspan="2" align="center"'
}

geändert. Jedoch wird bei state (das Waschmaschinen Icon unten rechts) weder colspan noch align angenommen. Auch wenn ich statt state scene_washing_machine in Kombinationen mit % oder @red @green nehme funktioniert es nicht.

Das sind alles Formatierungen wie ich sie in Dokumentationen über css nachlesen kann? Das Thema steht nämlich auch noch auf meinem Zettel  :)

Grüße
Igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 November 2014, 11:14:54
schau mal ins log und den html debugger ob du irgendwelche meldungen siehst. da kannst du auch schauen ob ob er die attribute eingebaut hat. verwendest du die aktuelle version von readinvsGroup oder sie fest version aus dem anderen thread? die ist erst ab morgen per update verdügbar. es kann sein das es erst mit dieser version geht. ich erinnere mich gerade nicht.

steht alles in der html/css doku. selfhtml ist eine mögliche seite wo du mehr findest.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 22 November 2014, 13:59:18
Zitat von: igami am 22 November 2014, 08:28:41
Du solltest dein commands Attribut noch mal überdenken

Grüße
Igami

Danke für den Wink mim Zaunpfahl,  jetzt klappts

@Andre,
in diesem Fall wird der Slider auch sauber aktualisiert auf dem Floorplan, also scheint es so als ob es eher am enigma2 Modul liegt das er nicht aktualisiert wird!?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 November 2014, 14:30:13
ich wüsste jetzt zwar nicht wie das passieren kann... das schaue ich mir auf jeden fall noch an.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 22 November 2014, 22:18:47
Ja, wäre super wenn du dir das bei gelegenheit mal angucken könntest, aber wie gesagt, beim Heizungsslider funktioniert es problemlos.

Wollte jetzt beim enigma2 noch das on, off icon je Status ändern, allerdings bekomme ich das icon welche ich gerne höätte nicht angezeigt.
Was hab ich noch falsch gemacht?

Danke
Internals:
   DEF        VU_Ultimo:channel,power,<br>,volume
   NAME       rg_VU_Ultimo
   NR         198
   NTFY_ORDER 50-rg_VU_Ultimo
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     VU_Ultimo  1
   Content2:
   DEVICES:
     ARRAY(0x1465d58)
   Fhem:
     lastDefChange 1
     last_update 1416690412.05728
Attributes:
   commands   { volume => "volume:slider,0,1,100",  channel => 'channel:', 'power.on' => 'set $DEVICE off', 'power.off' => 'set $DEVICE on' }
   fp_Reciever 245,264,5,
   valueIcon  { state => '%devStateIcon', 'on' => "on:dreambox@green", 'off' => "off" }
   widgetOverride 1
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 November 2014, 22:33:48
du hast den reading namen nicht angegeben:
valueIcon  { state => '%devStateIcon', 'power.on' => 'dreambox@green', 'power.off' => 'off' }

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 23 November 2014, 15:34:50
Hi Andre,
ändert sich in der rd leider nichts.
Internals:
   DEF        VU_Ultimo:channel,power,<br>,volume
   NAME       rg_VU_Ultimo
   NR         198
   NTFY_ORDER 50-rg_VU_Ultimo
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     VU_Ultimo  1
   Content2:
   DEVICES:
     ARRAY(0x1466d08)
   Fhem:
     lastDefChange 1
     last_update 1416752950.53511
Attributes:
   commands   { volume => "volume:slider,0,1,100",  channel => 'channel:', 'power.on' => 'set $DEVICE off', 'power.off' => 'set $DEVICE on' }
   fp_Reciever 245,264,5,
   valueIcon  { state => '%devStateIcon', 'power.on' => "dreambox@green", 'power.off' => "off" }
   widgetOverride 1


Das List des enigma2 modules sieht so aus:

Internals:
   DEF        192.168.188.24 444 90 root 1tina9
   INTERVAL   90
   NAME       VU_Ultimo
   NR         197
   STATE      on
   TYPE       ENIGMA2
   model      ultimo
   Readings:
     2014-11-23 15:33:35   acg
68
     2014-11-23 15:30:44   apid            256
     2014-11-23 15:33:35   ber
1096449641

     2014-11-23 15:30:44   channel         Sky_Bundesliga_2
     2014-11-23 15:30:44   currentMedia    1:0:D3:106:2:85:FFFF0000:0:0:0:
     2014-11-23 15:30:44   currentTitle    Live BL: Hamburger SV - Werder Bremen, 12. Spieltag
     2014-11-09 12:00:52   enigmaversion   2014-11-03-vti-master
     2014-11-23 15:33:36   eventcurrenttime 1416753212.87
     2014-11-23 15:33:36   eventcurrenttime_hr 15:33:32
     2014-11-23 15:33:36   eventcurrenttime_next 1416753212.95
     2014-11-23 15:33:36   eventcurrenttime_next_hr 15:33:32
     2014-11-23 15:30:44   eventdescription Fußball: Bundesliga Hamburger SV - Werder Bremen, 12. Spieltag
     2014-11-23 15:30:44   eventdescription_next Momentan kein Programm
     2014-11-23 15:30:44   eventduration   11100
     2014-11-23 15:30:44   eventduration_hr 03:05:00
     2014-11-23 15:30:44   eventduration_next 43500
     2014-11-23 15:30:44   eventduration_next_hr 12:05:00
     2014-11-23 15:30:44   eventname       Live BL: Hamburger SV - Werder Bremen, 12. Spieltag
     2014-11-23 15:30:44   eventname_next  Sky Fußball Bundesliga
     2014-11-23 15:33:36   eventremaining  8488
     2014-11-23 15:33:36   eventremaining_hr 02:21:28
     2014-11-23 15:30:44   eventremaining_next 43500
     2014-11-23 15:30:44   eventremaining_next_hr 12:05:00
     2014-11-23 15:30:44   eventstart      1416750600
     2014-11-23 15:30:44   eventstart_hr   14:50:00
     2014-11-23 15:30:44   eventstart_next 1416761700
     2014-11-23 15:30:44   eventstart_next_hr 17:55:00
     2014-11-23 15:30:44   eventtitle      Live BL: Hamburger SV - Werder Bremen, 12. Spieltag
     2014-11-23 15:30:44   eventtitle_next Sky Fußball Bundesliga
     2014-11-08 21:07:07   fpversion       0
     2014-11-09 12:00:52   imageversion    Release 7.0.1 2014-07-17
     2014-11-23 15:30:44   input           tv
     2014-11-08 18:24:20   iswidescreen    -
     2014-11-08 21:07:07   lanmac          00:1d:ec:03:5f:16
     2014-11-08 21:07:07   model           ultimo
     2014-11-23 15:30:41   mute            off
     2014-11-23 15:30:44   nextTitle       Sky Fußball Bundesliga
     2014-11-23 15:30:44   onid            133
     2014-11-23 15:30:44   pcrpid          255
     2014-11-23 15:30:44   pmtpid          96
     2014-11-23 15:30:33   power           on
     2014-11-23 15:30:33   presence        present
     2014-11-22 22:33:48   providername    -
     2014-11-08 18:26:51   recordings      0
     2014-11-23 15:30:44   servicename     Sky Bundesliga 2
     2014-11-23 15:30:44   servicereference 1:0:D3:106:2:85:FFFF0000:0:0:0:
     2014-11-23 15:30:44   servicevideosize 720x576
     2014-11-23 15:30:44   sid             262
     2014-11-23 15:33:35   snr
60
     2014-11-23 15:33:35   snrdb
60
     2014-11-23 15:30:33   state           on
     2014-11-23 15:30:44   tsid            2
     2014-11-08 21:07:07   tuner_a         Vuplus DVB-C NIM(CXD1978) (DVB-C)
     2014-11-08 21:07:07   tuner_b         Vuplus DVB-C NIM(CXD1978) (DVB-C)
     2014-11-23 15:30:44   txtpid          32
     2014-11-23 15:30:44   videoheight     576
     2014-11-23 15:30:44   videowidth      720
     2014-11-23 15:30:41   volume          100
     2014-11-23 15:30:44   vpid            255
     2014-11-08 21:07:07   webifversion    1.7.5
   Helper:
     ADDRESS    192.168.188.24
     AVAILABLE  1
     PASSWORD   1tina9
     PORT       444
     USER       root
     lastFullUpdate 1416753035.93687
     lastInput  tv
     Bouquet:
       Radio:
         Bayern_3:
           sRef       1:0:2:6EF2:44D:1:FFFF0152:0:0:0:
       Tv:
         13th_street:
           sRef       1:0:1:2A:4:85:FFFF0000:0:0:0:
         Das_erste_hd:
           sRef       1:0:19:2B5C:41B:1:FFFF014A:0:0:0:
         Das_vierte:
           sRef       1:0:1:D168:2714:F001:FFFF0000:0:0:0:
         Discovery_hd:
           sRef       1:0:19:82:6:85:FFFF0000:0:0:0:
         Disney_ch._hd:
           sRef       1:0:19:C36F:2720:F001:FFFF0000:0:0:0:
         Disney_junior:
           sRef       1:0:1:1A:1:85:FFFF0000:0:0:0:
         Disney_xd:
           sRef       1:0:1:1C:1:85:FFFF0000:0:0:0:
         Einsplus:
           sRef       1:0:1:7033:41B:1:FFFF014A:0:0:0:
         Einsfestival:
           sRef       1:0:1:7032:41B:1:FFFF014A:0:0:0:
         Fox_hd:
           sRef       1:0:19:7C:6:85:FFFF0000:0:0:0:
         Fox_serie:
           sRef       1:0:1:10:1:85:FFFF0000:0:0:0:
         Heimatkanal:
           sRef       1:0:1:16:1:85:FFFF0000:0:0:0:
         N24:
           sRef       1:0:1:D17B:2718:F001:FFFF0000:0:0:0:
         Natgeo_hd:
           sRef       1:0:19:70:D:85:FFFF0000:0:0:0:
         Nat_geo_wild_hd:
           sRef       1:0:19:76:C:85:FFFF0000:0:0:0:
         National_geographic:
           sRef       1:0:1:D:4:85:FFFF0000:0:0:0:
         Prosieben_hd:
           sRef       1:0:19:C35F:271D:F001:FFFF0000:0:0:0:
         Prosieben_maxx:
           sRef       1:0:1:CF11:2721:F001:FFFF0000:0:0:0:
         Rtl:
           sRef       1:0:1:D161:2710:F001:FFFF0000:0:0:0:
         Rtl_crime:
           sRef       1:0:1:1B:4:85:FFFF0000:0:0:0:
         Rtl_ii:
           sRef       1:0:1:D163:2713:F001:FFFF0000:0:0:0:
         Rtl_nitro:
           sRef       1:0:1:CF76:2712:F001:FFFF0000:0:0:0:
         Rtl_passion:
           sRef       1:0:1:1D:4:85:FFFF0000:0:0:0:
         Sat.1_gold:
           sRef       1:0:1:D04C:2726:F001:FFFF0000:0:0:0:
         Sat.1_hd:
           sRef       1:0:19:C362:271F:F001:FFFF0000:0:0:0:
         Super_rtl:
           sRef       1:0:1:D162:2713:F001:FFFF0000:0:0:0:
         Sky_action_hd:
           sRef       1:0:19:74:D:85:FFFF0000:0:0:0:
         Sky_krimi:
           sRef       1:0:1:17:4:85:FFFF0000:0:0:0:
         Spiegel_geschichte:
           sRef       1:0:1:34:4:85:FFFF0000:0:0:0:
         Syfy:
           sRef       1:0:1:24:1:85:FFFF0000:0:0:0:
         Tele_5:
           sRef       1:0:1:CF0A:2718:F001:FFFF0000:0:0:0:
         Tnt_serie_hd:
           sRef       1:0:19:7B:6:85:FFFF0000:0:0:0:
         Vox:
           sRef       1:0:1:D164:2713:F001:FFFF0000:0:0:0:
         Zdf_hd:
           sRef       1:0:19:2B66:437:1:FFFF01C2:0:0:0:
         Zdfinfo:
           sRef       1:0:1:6D6B:437:1:FFFF01C2:0:0:0:
         Arte_hd:
           sRef       1:0:19:2B70:271E:F001:FFFF0000:0:0:0:
         Kabel_eins_hd:
           sRef       1:0:19:C359:271E:F001:FFFF0000:0:0:0:
         N-tv:
           sRef       1:0:1:D166:2713:F001:FFFF0000:0:0:0:
         Sixx_hd:
           sRef       1:0:19:C363:2716:F001:FFFF0000:0:0:0:
         Zdf.kultur:
           sRef       1:0:1:6D70:437:1:FFFF01C2:0:0:0:
         Zdf_neo:
           sRef       1:0:1:6D6E:437:1:FFFF01C2:0:0:0:
     Channels:
       radio:
         BAYERN_3
       tv:
         ProSieben_HD
         SAT.1_HD
         RTL
         kabel_eins_HD
         13th_Street
         VOX
         Fox_HD
         Fox_Serie
         Das_Vierte
         TNT_Serie_HD
         RTL_II
         SUPER_RTL
         RTL_Crime
         RTL_NITRO
         RTL_Passion
         SAT.1_Gold
         Discovery_HD
         sixx_HD
         TELE_5
         Syfy
         arte_HD
         Sky_Krimi
         Sky_Action_HD
         Disney_Junior
         Disney_XD
         Das_Erste_HD
         ZDF_HD
         Einsfestival
         EinsPlus
         Heimatkanal
         n-tv
         N24
         Nat_Geo_Wild_HD
         NatGeo_HD
         National_Geographic
         Spiegel_Geschichte
         zdf.kultur
         ZDFinfo
         zdf_neo
         ProSieben_MAXX
         Disney_Ch._HD
Attributes:
   bouquet-radio 1:7:2:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.favourites.radio" ORDER BY bouquet
   bouquet-tv 1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.favourites.tv" ORDER BY bouquet
   devStateIcon on:dreambox@green:off off:dreambox@red:on absent:dreambox@yellow:on
   fp_Home    397,1436,0,
   http-method POST
   https      1
   icon       dreambox
   webCmd     channel:input:volume


Allerdings wird auch das STATE der rdwohl nicht richtig aktualisiert!?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 24 November 2014, 20:02:18
Hi Andre,
hab gerade gesehen das ich noch zwei Fehler im Log in zusammenhang mit der rd habe.
2014.11.24 19:56:15.671 1: PERL WARNING: Use of uninitialized value $htmlTxt in pattern match (m//) at ./FHEM/33_readingsGroup.pm line 722.
2014.11.24 19:56:15.674 3: stacktrace:
2014.11.24 19:56:15.675 3:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (722)
2014.11.24 19:56:15.677 3:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (783)
2014.11.24 19:56:15.678 3:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1370)
2014.11.24 19:56:15.681 3:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (737)
2014.11.24 19:56:15.682 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (393)
2014.11.24 19:56:15.684 3:     main::FW_Read                       called by /mod/external/usr/share/fhem/fhem.pl (2928)
2014.11.24 19:56:15.685 3:     main::CallFn                        called by /mod/external/usr/share/fhem/fhem.pl (598)
2014.11.24 19:56:15.720 1: PERL WARNING: Use of uninitialized value $htmlTxt in pattern match (m//) at ./FHEM/33_readingsGroup.pm line 722.
2014.11.24 19:56:15.722 3: stacktrace:
2014.11.24 19:56:15.724 3:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (722)
2014.11.24 19:56:15.725 3:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (783)
2014.11.24 19:56:15.727 3:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1370)
2014.11.24 19:56:15.728 3:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (737)
2014.11.24 19:56:15.730 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (393)
2014.11.24 19:56:15.732 3:     main::FW_Read                       called by /mod/external/usr/share/fhem/fhem.pl (2928)
2014.11.24 19:56:15.733 3:     main::CallFn                        called by /mod/external/usr/share/fhem/fhem.pl (598)


Was ist da bei mir noch falsch?

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 24 November 2014, 20:20:52
Hallo Andre,

seit dem update wird meine ReadingsGroup nicht mehr korrekt angezeigt
1. Überschriften fehlen
2. "<>" hat kein Effekt mehr

Hat sich hier was geändert?


<%sani_heating>,<Ist>,<Soll>,<Luftfeuchtigkeit>,<Ventil>,<Modus>,<Temperaturprofil>,<Lock>
WZ_W.*Climate$:measured-temp,desired-temp,humidity,<>,controlMode,state@{'dummy_WZ_Heizung_Schalter'},R-btnLock@{getDevice($DEVICE)}
WZ_H.*Clima$:<>,<>,<>,ValvePosition,<>,<>,R-btnLock@{getDevice($DEVICE)}
SZ_H.*Clima$:measured-temp,desired-temp,<>,ValvePosition,controlMode,state@{'dummy_SZ_Heizung_Schalter'},R-btnLock@{getDevice($DEVICE)}
KL_H.*Clima$:measured-temp,desired-temp,<>,ValvePosition,controlMode,state@{'dummy_KL_Heizung_Schalter'},R-btnLock@{getDevice($DEVICE)}
BZ_H.*Clima$:measured-temp,desired-temp,<>,ValvePosition,controlMode,state@{'dummy_BZ_Heizung_Schalter'},R-btnLock@{getDevice($DEVICE)}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 24 November 2014, 20:30:17
@Tommy82: schau bitte noch mal die ' bei valueIcon an.

die warnunge sollten ab morgen weg sein. irgendetwas ist mit deinem commands mapping noch komisch.

bitte zeig mal die komplette aktuelle definition.

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 24 November 2014, 20:37:42
den fehler kann ich nicht reproduzieren.

hast du fhem nach dem update komplett neu gestartet?

mach mal bitte ein list auf das device und ein {Dumper $defs{name}}

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 24 November 2014, 20:41:38
Zitat von: justme1968 am 24 November 2014, 20:30:17
@Tommy82: schau bitte noch mal die ' bei valueIcon an.

die warnunge sollten ab morgen weg sein. irgendetwas ist mit deinem commands mapping noch komisch.

bitte zeig mal die komplette aktuelle definition.

Hi, ich hab ja megrere rd, das wo das @ heute Morgen war ist die hier:
Internals:
   DEF        VU_Ultimo:channel,power,<br>,volume
   NAME       rg_VU_Ultimo
   NR         194
   NTFY_ORDER 50-rg_VU_Ultimo
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     VU_Ultimo  1
   Content2:
   DEVICES:
     ARRAY(0x199d0e8)
   Fhem:
     lastDefChange 12
     last_update 1416857852.00191
   Helper:
     DEF
     Commands:
       channel    channel:
       power.off  set $DEVICE on
       power.on   set $DEVICE off
       volume     volume:slider,0,1,100
     Valueicon:
       power.off  off
       power.on   dreambox
       state      %devStateIcon
Attributes:
   commands   { volume => "volume:slider,0,1,100",  channel => 'channel:', 'power.on' => 'set $DEVICE off', 'power.off' => 'set $DEVICE on' }
   fp_Reciever 245,264,5,
   valueIcon  { state => '%devStateIcon', 'power.on' => "dreambox", 'power.off' => "off" }
   widgetOverride 1



Hab aber noch ein rd Ankiegen 8),
habe über
define rg_Einbruchalarm_Schalter readingsGroup Alarmanlage_Schalter:state

attr rg_Einbruchalarm_Schalter commands   { 'On' => "set $DEVICE Off", 'Off' => "set $DEVICE On", 'Auto' => "set $DEVICE Auto" }
attr rg_Einbruchalarm_Schalter valueIcon  { state => '%devStateIcon', 'On' => "on", 'Off' => "Off", 'Auto' => "Auto" }


diese rd angelegt
Internals:
   CFGFN
   DEF        Alarmanlage_Schalter:state
   NAME       rg_Einbruchalarm_Schalter
   NR         440
   NTFY_ORDER 50-rg_Einbruchalarm_Schalter
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Alarmanlage_Schalter 1
   Content2:
   DEVICES:
     ARRAY(0x1a59bb0)
   Fhem:
     lastDefChange 12
     last_update 1416857778.56239
   Helper:
     DEF
     commands   { 'On' => "set $DEVICE Off", 'Off' => "set $DEVICE On", 'Auto' => "set $DEVICE Auto" }
     Valueicon:
       Auto       Auto
       Off        Off
       On         on
       state      %devStateIcon
Attributes:
   commands   { 'On' => "set $DEVICE Off", 'Off' => "set $DEVICE On", 'Auto' => "set $DEVICE Auto" }
   valueIcon  { state => '%devStateIcon', 'On' => "on", 'Off' => "Off", 'Auto' => "Auto" }
   webCmd     Auto:On:Off


Die rd soll ein den aktuellen Status
ZitatAuto:On:Off
anzeigen und 3 Buttons bieten (Auto:On:Off) womit man den status ändern kann.

Das Device sieht so aus:
Internals:
   NAME       Alarmanlage_Schalter
   NR         228
   STATE      Auto
   TYPE       dummy
   Readings:
     2014-11-24 14:35:42   state           Auto
Attributes:
   webCmd     Auto:On:Off


Bis jetzt zeigt mir die rd nur den Status an
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 24 November 2014, 22:25:16
Hallo,
Ich habe für einen Raum mehrere Temperatursensoren, de ich mittels  readingsgroup in einer Zeile darstellen möchte.
GA..TF.DS18B20.cdm:<%temp_outside>,<Außen>,temperature, GH..TF.DS18B20.cdm:<%temp_inside>,<Innen>,temperature
Aber so funktioniert das nicht. Es wird in zwei Zeilen dargestellt.

Geht das irgendwie?
Spartacus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Doggiebert am 24 November 2014, 23:37:14
ja - nimm den Space raus...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 25 November 2014, 00:17:31
Zitat von: justme1968 am 24 November 2014, 20:37:42
hast du fhem nach dem update komplett neu gestartet?
mach mal bitte ein list auf das device und ein {Dumper $defs{name}}

Ja. Habe neu gestartet.

list rg_Heizungsstatus

Internals:
   CFGFN
   DEF        <%sani_heating>,<Ist>,<Soll>,<Luftfeuchtigkeit>,<Ventil>,<Modus>,<Temperaturprofil>,<Lock>
WZ_W.*Climate$:measured-temp,desired-temp,humidity,<>,controlMode,state@{'dummy_WZ_Heizung_Schalter'},R-btnLock@{getDevice($DEVICE)}
WZ_H.*Clima$:<>,<>,<>,ValvePosition,<>,<>,R-btnLock@{getDevice($DEVICE)}
SZ_H.*Clima$:measured-temp,desired-temp,<>,ValvePosition,controlMode,state@{'dummy_SZ_Heizung_Schalter'},R-btnLock@{getDevice($DEVICE)}
KL_H.*Clima$:measured-temp,desired-temp,<>,ValvePosition,controlMode,state@{'dummy_KL_Heizung_Schalter'},R-btnLock@{getDevice($DEVICE)}
BZ_H.*Clima$:measured-temp,desired-temp,<>,ValvePosition,controlMode,state@{'dummy_BZ_Heizung_Schalter'},R-btnLock@{getDevice($DEVICE)}
   NAME       rg_Heizungsstatus
   NR         90
   NTFY_ORDER 50-rg_Heizungsstatus
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CHANGETIME:
   Content:
     BZ_Heizungsthermostat_Clima 1
     KL_Heizungsthermostat_Clima 1
     SZ_Heizungsthermostat_Clima 1
     WZ_Heizungsthermostat_Clima 1
     WZ_Wandthermostat_Climate 1
   Content2:
     BZ_Heizungsthermostat 1
     KL_Heizungsthermostat 1
     SZ_Heizungsthermostat 1
     WZ_Heizungsthermostat 1
     WZ_Wandthermostat 1
     dummy_BZ_Heizung_Schalter 1
     dummy_KL_Heizung_Schalter 1
     dummy_SZ_Heizung_Schalter 1
     dummy_WZ_Heizung_Schalter 1
   DEVICES:
     ARRAY(0x1f55f40)
     ARRAY(0x1f74bf8)
     ARRAY(0x1f542d0)
     ARRAY(0x1bb23c8)
     ARRAY(0x1f50cd8)
     ARRAY(0x9268b0)
   DEVICES2:
     ARRAY(0x1f55f40)
     ARRAY(0x1f74bf8)
     ARRAY(0x1f542d0)
     ARRAY(0x1bb23c8)
     ARRAY(0x1f50cd8)
     ARRAY(0x9268b0)
     ARRAY(0x1e50c00)
     ARRAY(0x1f69028)
     ARRAY(0x194e558)
     ARRAY(0x1742b10)
     ARRAY(0x926dc0)
     ARRAY(0x194f820)
     ARRAY(0x1f50ca8)
     ARRAY(0x1f5fd40)
     ARRAY(0x1f509f0)
   Helper:
     Dblog:
       Bz_heizungsthermostat_clima.valveposition:
         Dblog:
           TIME       1416870615.73027
           VALUE      0.0 %
       Bz_heizungsthermostat_clima.controlmode:
         Dblog:
           TIME       1416870615.75676
           VALUE      <svg class="icon sani_heating_automatic green" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="472pt" viewBox="0 0 468 472"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,472) scale(0.159184,-0.159184)" fill="green" stroke="none"> <path d="M1257 2951 c-57 -12 -70 -31 -75 -106 l-4 -65 -114 0 -114 0 0 45 c0 63 -22 113 -54 121 -15 3 -58 4 -96 2 -91 -5 -110 -22 -117 -107 l-6 -61 -112 0 -113 0 -7 62 c-11 89 -32 108 -125 108 -74 0 -123 -16 -134 -45 -3 -9 -6 -41 -6 -71 l0 -54 -68 0 c-96 0 -102 -8 -102 -137 0 -125 6 -133 103 -133 l67 0 0 -505 0 -505 -75 0 c-92 0 -95 -4 -95 -130 0 -124 4 -130 89 -130 l67 0 12 -62 c7 -38 20 -70 34 -85 21 -23 29 -25 105 -21 105 4 122 18 130 107 l6 61 113 0 114 0 0 -32 c0 -52 19 -106 43 -123 13 -9 44 -15 83 -15 114 0 144 25 144 120 l0 50 115 0 115 0 0 -41 c0 -52 24 -103 56 -118 32 -14 109 -13 154 2 42 15 60 47 60 110 l0 47 48 0 c27 0 57 7 70 16 20 14 22 23 22 119 0 125 -6 135 -86 135 l-54 0 0 500 0 500 49 0 c69 0 90 20 98 91 7 71 -3 144 -23 164 -10 10 -35 15 -70 15 l-54 0 0 38 c0 47 -16 107 -33 120 -17 14 -115 21 -160 13z m93 -936 l-1 -845 -34 0 -35 0 0 845 0 845 35 0 35 0 0 -845z m-1000 -5 l0 -840 -35 0 -35 0 0 840 0 840 35 0 35 0 0 -840z m500 0 l0 -840 -35 0 -35 0 0 840 0 840 35 0 35 0 0 -840z m-170 0 l0 -500 -115 0 -115 0 0 500 0 500 115 0 115 0 0 -500z m498 -2 l-3 -503 -112 -3 -113 -3 0 506 0 505 115 0 115 0 -2 -502z"/> <path d="M1644 2755 c-20 -31 -17 -206 4 -227 8 -8 46 -14 100 -16 117 -5 134 7 140 101 2 37 1 82 -2 101 -11 59 -26 66 -131 66 -90 0 -95 -1 -111 -25z m146 -110 c0 -32 -2 -35 -30 -35 -28 0 -30 3 -30 35 0 32 2 35 30 35 28 0 30 -3 30 -35z"/> <path d="M2665 1502 c-33 -4 -65 -11 -72 -15 -20 -13 -33 -77 -34 -172 -1 -49 -4 -80 -6 -68 -2 13 -16 32 -30 43 -23 18 -40 20 -158 20 -128 0 -132 -1 -156 -26 l-24 -26 0 -339 0 -339 28 -27 c27 -28 29 -28 156 -28 122 0 131 1 155 24 14 13 27 33 28 45 3 18 7 15 20 -16 9 -20 25 -41 36 -47 31 -16 236 -14 277 3 55 23 57 41 53 501 -3 424 -5 444 -45 459 -27 11 -162 15 -228 8z m175 -487 l0 -395 -90 0 -90 0 0 395 0 395 90 0 90 0 0 -395z m-380 -95 l0 -300 -90 0 -90 0 0 300 0 300 90 0 90 0 0 -300z"/> <path d="M1854 1150 c-41 -17 -54 -49 -55 -140 -1 -47 -4 -75 -6 -64 -2 12 -15 32 -29 45 -22 21 -37 24 -131 27 -123 5 -175 -7 -201 -45 -15 -24 -17 -50 -14 -208 2 -99 5 -188 8 -198 11 -35 57 -47 179 -47 120 0 166 12 179 45 3 9 7 71 8 138 l2 122 5 -126 c4 -85 10 -131 20 -142 23 -28 82 -39 193 -35 96 3 109 5 132 27 l26 24 0 267 0 267 -26 24 c-24 22 -34 24 -147 26 -67 2 -132 -2 -143 -7z m226 -310 l0 -220 -90 0 -90 0 0 220 0 220 90 0 90 0 0 -220z m-390 -70 l0 -150 -85 0 -85 0 0 150 0 150 85 0 85 0 0 -150z"/> <path d="M2694 416 c-69 -30 -104 -99 -104 -203 0 -108 46 -182 125 -202 93 -23 173 22 200 113 57 192 -68 358 -221 292z m91 -62 c28 -11 45 -60 45 -133 0 -71 -12 -120 -33 -133 -7 -4 -26 -8 -44 -8 -50 0 -63 28 -63 138 0 85 2 95 25 117 25 26 41 30 70 19z"/> <path d="M1577 413 c-8 -15 -127 -381 -127 -393 0 -7 16 -10 47 -8 47 3 47 3 58 48 l11 45 61 3 61 3 7 -33 c14 -69 13 -68 66 -68 59 0 61 -21 -20 230 l-57 175 -51 3 c-28 2 -53 -1 -56 -5z m78 -162 c9 -35 14 -65 12 -68 -3 -2 -23 -3 -44 -1 l-40 3 20 73 c11 41 23 70 27 65 5 -4 16 -37 25 -72z"/> <path d="M1842 263 c4 -177 12 -205 67 -237 44 -26 142 -27 189 -2 53 27 62 63 62 241 l0 155 -45 0 -45 0 0 -144 c0 -182 -5 -196 -64 -196 -35 0 -48 5 -56 19 -5 11 -10 86 -10 170 l0 151 -51 0 -51 0 4 -157z"/> <path d="M2210 385 l0 -35 60 0 60 0 2 -167 3 -168 48 -3 47 -3 0 170 0 171 60 0 60 0 0 35 0 35 -170 0 -170 0 0 -35z"/> </g> </svg>
       Bz_heizungsthermostat_clima.desired-temp:
         Dblog:
           TIME       1416870615.74153
           VALUE      17.0 &deg;C
       Bz_heizungsthermostat_clima.measured-temp:
         Dblog:
           TIME       1416870615.71966
           VALUE      20.2 &deg;C
       Kl_heizungsthermostat_clima.valveposition:
         Dblog:
           TIME       1416858892.08802
           VALUE      0.0 %
       Kl_heizungsthermostat_clima.controlmode:
         Dblog:
           TIME       1416858892.11453
           VALUE      <svg class="icon sani_heating_automatic green" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="472pt" viewBox="0 0 468 472"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,472) scale(0.159184,-0.159184)" fill="green" stroke="none"> <path d="M1257 2951 c-57 -12 -70 -31 -75 -106 l-4 -65 -114 0 -114 0 0 45 c0 63 -22 113 -54 121 -15 3 -58 4 -96 2 -91 -5 -110 -22 -117 -107 l-6 -61 -112 0 -113 0 -7 62 c-11 89 -32 108 -125 108 -74 0 -123 -16 -134 -45 -3 -9 -6 -41 -6 -71 l0 -54 -68 0 c-96 0 -102 -8 -102 -137 0 -125 6 -133 103 -133 l67 0 0 -505 0 -505 -75 0 c-92 0 -95 -4 -95 -130 0 -124 4 -130 89 -130 l67 0 12 -62 c7 -38 20 -70 34 -85 21 -23 29 -25 105 -21 105 4 122 18 130 107 l6 61 113 0 114 0 0 -32 c0 -52 19 -106 43 -123 13 -9 44 -15 83 -15 114 0 144 25 144 120 l0 50 115 0 115 0 0 -41 c0 -52 24 -103 56 -118 32 -14 109 -13 154 2 42 15 60 47 60 110 l0 47 48 0 c27 0 57 7 70 16 20 14 22 23 22 119 0 125 -6 135 -86 135 l-54 0 0 500 0 500 49 0 c69 0 90 20 98 91 7 71 -3 144 -23 164 -10 10 -35 15 -70 15 l-54 0 0 38 c0 47 -16 107 -33 120 -17 14 -115 21 -160 13z m93 -936 l-1 -845 -34 0 -35 0 0 845 0 845 35 0 35 0 0 -845z m-1000 -5 l0 -840 -35 0 -35 0 0 840 0 840 35 0 35 0 0 -840z m500 0 l0 -840 -35 0 -35 0 0 840 0 840 35 0 35 0 0 -840z m-170 0 l0 -500 -115 0 -115 0 0 500 0 500 115 0 115 0 0 -500z m498 -2 l-3 -503 -112 -3 -113 -3 0 506 0 505 115 0 115 0 -2 -502z"/> <path d="M1644 2755 c-20 -31 -17 -206 4 -227 8 -8 46 -14 100 -16 117 -5 134 7 140 101 2 37 1 82 -2 101 -11 59 -26 66 -131 66 -90 0 -95 -1 -111 -25z m146 -110 c0 -32 -2 -35 -30 -35 -28 0 -30 3 -30 35 0 32 2 35 30 35 28 0 30 -3 30 -35z"/> <path d="M2665 1502 c-33 -4 -65 -11 -72 -15 -20 -13 -33 -77 -34 -172 -1 -49 -4 -80 -6 -68 -2 13 -16 32 -30 43 -23 18 -40 20 -158 20 -128 0 -132 -1 -156 -26 l-24 -26 0 -339 0 -339 28 -27 c27 -28 29 -28 156 -28 122 0 131 1 155 24 14 13 27 33 28 45 3 18 7 15 20 -16 9 -20 25 -41 36 -47 31 -16 236 -14 277 3 55 23 57 41 53 501 -3 424 -5 444 -45 459 -27 11 -162 15 -228 8z m175 -487 l0 -395 -90 0 -90 0 0 395 0 395 90 0 90 0 0 -395z m-380 -95 l0 -300 -90 0 -90 0 0 300 0 300 90 0 90 0 0 -300z"/> <path d="M1854 1150 c-41 -17 -54 -49 -55 -140 -1 -47 -4 -75 -6 -64 -2 12 -15 32 -29 45 -22 21 -37 24 -131 27 -123 5 -175 -7 -201 -45 -15 -24 -17 -50 -14 -208 2 -99 5 -188 8 -198 11 -35 57 -47 179 -47 120 0 166 12 179 45 3 9 7 71 8 138 l2 122 5 -126 c4 -85 10 -131 20 -142 23 -28 82 -39 193 -35 96 3 109 5 132 27 l26 24 0 267 0 267 -26 24 c-24 22 -34 24 -147 26 -67 2 -132 -2 -143 -7z m226 -310 l0 -220 -90 0 -90 0 0 220 0 220 90 0 90 0 0 -220z m-390 -70 l0 -150 -85 0 -85 0 0 150 0 150 85 0 85 0 0 -150z"/> <path d="M2694 416 c-69 -30 -104 -99 -104 -203 0 -108 46 -182 125 -202 93 -23 173 22 200 113 57 192 -68 358 -221 292z m91 -62 c28 -11 45 -60 45 -133 0 -71 -12 -120 -33 -133 -7 -4 -26 -8 -44 -8 -50 0 -63 28 -63 138 0 85 2 95 25 117 25 26 41 30 70 19z"/> <path d="M1577 413 c-8 -15 -127 -381 -127 -393 0 -7 16 -10 47 -8 47 3 47 3 58 48 l11 45 61 3 61 3 7 -33 c14 -69 13 -68 66 -68 59 0 61 -21 -20 230 l-57 175 -51 3 c-28 2 -53 -1 -56 -5z m78 -162 c9 -35 14 -65 12 -68 -3 -2 -23 -3 -44 -1 l-40 3 20 73 c11 41 23 70 27 65 5 -4 16 -37 25 -72z"/> <path d="M1842 263 c4 -177 12 -205 67 -237 44 -26 142 -27 189 -2 53 27 62 63 62 241 l0 155 -45 0 -45 0 0 -144 c0 -182 -5 -196 -64 -196 -35 0 -48 5 -56 19 -5 11 -10 86 -10 170 l0 151 -51 0 -51 0 4 -157z"/> <path d="M2210 385 l0 -35 60 0 60 0 2 -167 3 -168 48 -3 47 -3 0 170 0 171 60 0 60 0 0 35 0 35 -170 0 -170 0 0 -35z"/> </g> </svg>
       Kl_heizungsthermostat_clima.desired-temp:
         Dblog:
           TIME       1416858892.09907
           VALUE      17.0 &deg;C
       Kl_heizungsthermostat_clima.measured-temp:
         Dblog:
           TIME       1416858892.07713
           VALUE      20.4 &deg;C
       Sz_heizungsthermostat_clima.valveposition:
         Dblog:
           TIME       1416858907.08278
           VALUE      12.0 %
       Sz_heizungsthermostat_clima.controlmode:
         Dblog:
           TIME       1416858907.10929
           VALUE      <svg class="icon sani_heating_automatic green" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="472pt" viewBox="0 0 468 472"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,472) scale(0.159184,-0.159184)" fill="green" stroke="none"> <path d="M1257 2951 c-57 -12 -70 -31 -75 -106 l-4 -65 -114 0 -114 0 0 45 c0 63 -22 113 -54 121 -15 3 -58 4 -96 2 -91 -5 -110 -22 -117 -107 l-6 -61 -112 0 -113 0 -7 62 c-11 89 -32 108 -125 108 -74 0 -123 -16 -134 -45 -3 -9 -6 -41 -6 -71 l0 -54 -68 0 c-96 0 -102 -8 -102 -137 0 -125 6 -133 103 -133 l67 0 0 -505 0 -505 -75 0 c-92 0 -95 -4 -95 -130 0 -124 4 -130 89 -130 l67 0 12 -62 c7 -38 20 -70 34 -85 21 -23 29 -25 105 -21 105 4 122 18 130 107 l6 61 113 0 114 0 0 -32 c0 -52 19 -106 43 -123 13 -9 44 -15 83 -15 114 0 144 25 144 120 l0 50 115 0 115 0 0 -41 c0 -52 24 -103 56 -118 32 -14 109 -13 154 2 42 15 60 47 60 110 l0 47 48 0 c27 0 57 7 70 16 20 14 22 23 22 119 0 125 -6 135 -86 135 l-54 0 0 500 0 500 49 0 c69 0 90 20 98 91 7 71 -3 144 -23 164 -10 10 -35 15 -70 15 l-54 0 0 38 c0 47 -16 107 -33 120 -17 14 -115 21 -160 13z m93 -936 l-1 -845 -34 0 -35 0 0 845 0 845 35 0 35 0 0 -845z m-1000 -5 l0 -840 -35 0 -35 0 0 840 0 840 35 0 35 0 0 -840z m500 0 l0 -840 -35 0 -35 0 0 840 0 840 35 0 35 0 0 -840z m-170 0 l0 -500 -115 0 -115 0 0 500 0 500 115 0 115 0 0 -500z m498 -2 l-3 -503 -112 -3 -113 -3 0 506 0 505 115 0 115 0 -2 -502z"/> <path d="M1644 2755 c-20 -31 -17 -206 4 -227 8 -8 46 -14 100 -16 117 -5 134 7 140 101 2 37 1 82 -2 101 -11 59 -26 66 -131 66 -90 0 -95 -1 -111 -25z m146 -110 c0 -32 -2 -35 -30 -35 -28 0 -30 3 -30 35 0 32 2 35 30 35 28 0 30 -3 30 -35z"/> <path d="M2665 1502 c-33 -4 -65 -11 -72 -15 -20 -13 -33 -77 -34 -172 -1 -49 -4 -80 -6 -68 -2 13 -16 32 -30 43 -23 18 -40 20 -158 20 -128 0 -132 -1 -156 -26 l-24 -26 0 -339 0 -339 28 -27 c27 -28 29 -28 156 -28 122 0 131 1 155 24 14 13 27 33 28 45 3 18 7 15 20 -16 9 -20 25 -41 36 -47 31 -16 236 -14 277 3 55 23 57 41 53 501 -3 424 -5 444 -45 459 -27 11 -162 15 -228 8z m175 -487 l0 -395 -90 0 -90 0 0 395 0 395 90 0 90 0 0 -395z m-380 -95 l0 -300 -90 0 -90 0 0 300 0 300 90 0 90 0 0 -300z"/> <path d="M1854 1150 c-41 -17 -54 -49 -55 -140 -1 -47 -4 -75 -6 -64 -2 12 -15 32 -29 45 -22 21 -37 24 -131 27 -123 5 -175 -7 -201 -45 -15 -24 -17 -50 -14 -208 2 -99 5 -188 8 -198 11 -35 57 -47 179 -47 120 0 166 12 179 45 3 9 7 71 8 138 l2 122 5 -126 c4 -85 10 -131 20 -142 23 -28 82 -39 193 -35 96 3 109 5 132 27 l26 24 0 267 0 267 -26 24 c-24 22 -34 24 -147 26 -67 2 -132 -2 -143 -7z m226 -310 l0 -220 -90 0 -90 0 0 220 0 220 90 0 90 0 0 -220z m-390 -70 l0 -150 -85 0 -85 0 0 150 0 150 85 0 85 0 0 -150z"/> <path d="M2694 416 c-69 -30 -104 -99 -104 -203 0 -108 46 -182 125 -202 93 -23 173 22 200 113 57 192 -68 358 -221 292z m91 -62 c28 -11 45 -60 45 -133 0 -71 -12 -120 -33 -133 -7 -4 -26 -8 -44 -8 -50 0 -63 28 -63 138 0 85 2 95 25 117 25 26 41 30 70 19z"/> <path d="M1577 413 c-8 -15 -127 -381 -127 -393 0 -7 16 -10 47 -8 47 3 47 3 58 48 l11 45 61 3 61 3 7 -33 c14 -69 13 -68 66 -68 59 0 61 -21 -20 230 l-57 175 -51 3 c-28 2 -53 -1 -56 -5z m78 -162 c9 -35 14 -65 12 -68 -3 -2 -23 -3 -44 -1 l-40 3 20 73 c11 41 23 70 27 65 5 -4 16 -37 25 -72z"/> <path d="M1842 263 c4 -177 12 -205 67 -237 44 -26 142 -27 189 -2 53 27 62 63 62 241 l0 155 -45 0 -45 0 0 -144 c0 -182 -5 -196 -64 -196 -35 0 -48 5 -56 19 -5 11 -10 86 -10 170 l0 151 -51 0 -51 0 4 -157z"/> <path d="M2210 385 l0 -35 60 0 60 0 2 -167 3 -168 48 -3 47 -3 0 170 0 171 60 0 60 0 0 35 0 35 -170 0 -170 0 0 -35z"/> </g> </svg>
       Sz_heizungsthermostat_clima.desired-temp:
         Dblog:
           TIME       1416858907.09399
           VALUE      22.0 &deg;C
       Sz_heizungsthermostat_clima.measured-temp:
         Dblog:
           TIME       1416858907.07198
           VALUE      23.9 &deg;C
       Wz_heizungsthermostat_clima.valveposition:
         Dblog:
           TIME       1416858948.35549
           VALUE      41.0 %
       Wz_wandthermostat_climate.controlmode:
         Dblog:
           TIME       1416858687.10783
           VALUE      <svg class="icon sani_heating_automatic green" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="472pt" viewBox="0 0 468 472"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,472) scale(0.159184,-0.159184)" fill="green" stroke="none"> <path d="M1257 2951 c-57 -12 -70 -31 -75 -106 l-4 -65 -114 0 -114 0 0 45 c0 63 -22 113 -54 121 -15 3 -58 4 -96 2 -91 -5 -110 -22 -117 -107 l-6 -61 -112 0 -113 0 -7 62 c-11 89 -32 108 -125 108 -74 0 -123 -16 -134 -45 -3 -9 -6 -41 -6 -71 l0 -54 -68 0 c-96 0 -102 -8 -102 -137 0 -125 6 -133 103 -133 l67 0 0 -505 0 -505 -75 0 c-92 0 -95 -4 -95 -130 0 -124 4 -130 89 -130 l67 0 12 -62 c7 -38 20 -70 34 -85 21 -23 29 -25 105 -21 105 4 122 18 130 107 l6 61 113 0 114 0 0 -32 c0 -52 19 -106 43 -123 13 -9 44 -15 83 -15 114 0 144 25 144 120 l0 50 115 0 115 0 0 -41 c0 -52 24 -103 56 -118 32 -14 109 -13 154 2 42 15 60 47 60 110 l0 47 48 0 c27 0 57 7 70 16 20 14 22 23 22 119 0 125 -6 135 -86 135 l-54 0 0 500 0 500 49 0 c69 0 90 20 98 91 7 71 -3 144 -23 164 -10 10 -35 15 -70 15 l-54 0 0 38 c0 47 -16 107 -33 120 -17 14 -115 21 -160 13z m93 -936 l-1 -845 -34 0 -35 0 0 845 0 845 35 0 35 0 0 -845z m-1000 -5 l0 -840 -35 0 -35 0 0 840 0 840 35 0 35 0 0 -840z m500 0 l0 -840 -35 0 -35 0 0 840 0 840 35 0 35 0 0 -840z m-170 0 l0 -500 -115 0 -115 0 0 500 0 500 115 0 115 0 0 -500z m498 -2 l-3 -503 -112 -3 -113 -3 0 506 0 505 115 0 115 0 -2 -502z"/> <path d="M1644 2755 c-20 -31 -17 -206 4 -227 8 -8 46 -14 100 -16 117 -5 134 7 140 101 2 37 1 82 -2 101 -11 59 -26 66 -131 66 -90 0 -95 -1 -111 -25z m146 -110 c0 -32 -2 -35 -30 -35 -28 0 -30 3 -30 35 0 32 2 35 30 35 28 0 30 -3 30 -35z"/> <path d="M2665 1502 c-33 -4 -65 -11 -72 -15 -20 -13 -33 -77 -34 -172 -1 -49 -4 -80 -6 -68 -2 13 -16 32 -30 43 -23 18 -40 20 -158 20 -128 0 -132 -1 -156 -26 l-24 -26 0 -339 0 -339 28 -27 c27 -28 29 -28 156 -28 122 0 131 1 155 24 14 13 27 33 28 45 3 18 7 15 20 -16 9 -20 25 -41 36 -47 31 -16 236 -14 277 3 55 23 57 41 53 501 -3 424 -5 444 -45 459 -27 11 -162 15 -228 8z m175 -487 l0 -395 -90 0 -90 0 0 395 0 395 90 0 90 0 0 -395z m-380 -95 l0 -300 -90 0 -90 0 0 300 0 300 90 0 90 0 0 -300z"/> <path d="M1854 1150 c-41 -17 -54 -49 -55 -140 -1 -47 -4 -75 -6 -64 -2 12 -15 32 -29 45 -22 21 -37 24 -131 27 -123 5 -175 -7 -201 -45 -15 -24 -17 -50 -14 -208 2 -99 5 -188 8 -198 11 -35 57 -47 179 -47 120 0 166 12 179 45 3 9 7 71 8 138 l2 122 5 -126 c4 -85 10 -131 20 -142 23 -28 82 -39 193 -35 96 3 109 5 132 27 l26 24 0 267 0 267 -26 24 c-24 22 -34 24 -147 26 -67 2 -132 -2 -143 -7z m226 -310 l0 -220 -90 0 -90 0 0 220 0 220 90 0 90 0 0 -220z m-390 -70 l0 -150 -85 0 -85 0 0 150 0 150 85 0 85 0 0 -150z"/> <path d="M2694 416 c-69 -30 -104 -99 -104 -203 0 -108 46 -182 125 -202 93 -23 173 22 200 113 57 192 -68 358 -221 292z m91 -62 c28 -11 45 -60 45 -133 0 -71 -12 -120 -33 -133 -7 -4 -26 -8 -44 -8 -50 0 -63 28 -63 138 0 85 2 95 25 117 25 26 41 30 70 19z"/> <path d="M1577 413 c-8 -15 -127 -381 -127 -393 0 -7 16 -10 47 -8 47 3 47 3 58 48 l11 45 61 3 61 3 7 -33 c14 -69 13 -68 66 -68 59 0 61 -21 -20 230 l-57 175 -51 3 c-28 2 -53 -1 -56 -5z m78 -162 c9 -35 14 -65 12 -68 -3 -2 -23 -3 -44 -1 l-40 3 20 73 c11 41 23 70 27 65 5 -4 16 -37 25 -72z"/> <path d="M1842 263 c4 -177 12 -205 67 -237 44 -26 142 -27 189 -2 53 27 62 63 62 241 l0 155 -45 0 -45 0 0 -144 c0 -182 -5 -196 -64 -196 -35 0 -48 5 -56 19 -5 11 -10 86 -10 170 l0 151 -51 0 -51 0 4 -157z"/> <path d="M2210 385 l0 -35 60 0 60 0 2 -167 3 -168 48 -3 47 -3 0 170 0 171 60 0 60 0 0 35 0 35 -170 0 -170 0 0 -35z"/> </g> </svg>
       Wz_wandthermostat_climate.desired-temp:
         Dblog:
           TIME       1416858938.03996
           VALUE      22.5 &deg;C
       Wz_wandthermostat_climate.humidity:
         Dblog:
           TIME       1416858938.05035
           VALUE      58.0 %
       Wz_wandthermostat_climate.measured-temp:
         Dblog:
           TIME       1416858938.02947
           VALUE      22.5 &deg;C
   Fhem:
     lastDefChange 7
     last_update 1416858143.11551
   Helper:
     DEF
     mapping    { rgMapping($DEVICE,$READING,$VALUE); }
     nameStyle  style="font-weight:bold"
     valueFormat { rgValueFormat($DEVICE,$READING,$VALUE); }
     valueIcon  { rgValueIcon($DEVICE,$READING,$VALUE); }
     valueStyle { rgValueStyle($DEVICE,$READING,$VALUE); }
     Commands:
       R-btnLock  trigger ntfy_toggleBtnLock $DEVICE
Attributes:
   alias      Heizungsstatus
   commands   { 'R-btnLock' => 'trigger ntfy_toggleBtnLock $DEVICE' }
   group      Heizungsstatus
   mapping    { rgMapping($DEVICE,$READING,$VALUE); }
   nameStyle  style="font-weight:bold"
   room       0.01_Übersicht
   valueFormat { rgValueFormat($DEVICE,$READING,$VALUE); }
   valueIcon  { rgValueIcon($DEVICE,$READING,$VALUE); }
   valueStyle { rgValueStyle($DEVICE,$READING,$VALUE); }



{Dumper $defs{name}} Teil 1

$VAR1 = {
          'Helper' => {
                        'DBLOG' => {
                                     'BZ_Heizungsthermostat_Clima.measured-temp' => {
                                                                                      'dbLog' => {
                                                                                                   'VALUE' => '20.2 &deg;C',
                                                                                                   'TIME' => '1416870615.71966'
                                                                                                 }
                                                                                    },
                                     'KL_Heizungsthermostat_Clima.desired-temp' => {
                                                                                     'dbLog' => {
                                                                                                  'VALUE' => '17.0 &deg;C',
                                                                                                  'TIME' => '1416858892.09907'
                                                                                                }
                                                                                   },
                                     'SZ_Heizungsthermostat_Clima.desired-temp' => {
                                                                                     'dbLog' => {
                                                                                                  'VALUE' => '22.0 &deg;C',
                                                                                                  'TIME' => '1416858907.09399'
                                                                                                }
                                                                                   },
                                     'KL_Heizungsthermostat_Clima.ValvePosition' => {
                                                                                      'dbLog' => {
                                                                                                   'VALUE' => '0.0 %',
                                                                                                   'TIME' => '1416858892.08802'
                                                                                                 }
                                                                                    },
                                     'SZ_Heizungsthermostat_Clima.ValvePosition' => {
                                                                                      'dbLog' => {
                                                                                                   'VALUE' => '12.0 %',
                                                                                                   'TIME' => '1416858907.08278'
                                                                                                 }
                                                                                    },
                                     'WZ_Wandthermostat_Climate.controlMode' => {
                                                                                  'dbLog' => {
                                                                                               'VALUE' => '<svg class="icon sani_heating_automatic green" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="472pt" viewBox="0 0 468 472"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,472) scale(0.159184,-0.159184)" fill="green" stroke="none"> <path d="M1257 2951 c-57 -12 -70 -31 -75 -106 l-4 -65 -114 0 -114 0 0 45 c0 63 -22 113 -54 121 -15 3 -58 4 -96 2 -91 -5 -110 -22 -117 -107 l-6 -61 -112 0 -113 0 -7 62 c-11 89 -32 108 -125 108 -74 0 -123 -16 -134 -45 -3 -9 -6 -41 -6 -71 l0 -54 -68 0 c-96 0 -102 -8 -102 -137 0 -125 6 -133 103 -133 l67 0 0 -505 0 -505 -75 0 c-92 0 -95 -4 -95 -130 0 -124 4 -130 89 -130 l67 0 12 -62 c7 -38 20 -70 34 -85 21 -23 29 -25 105 -21 105 4 122 18 130 107 l6 61 113 0 114 0 0 -32 c0 -52 19 -106 43 -123 13 -9 44 -15 83 -15 114 0 144 25 144 120 l0 50 115 0 115 0 0 -41 c0 -52 24 -103 56 -118 32 -14 109 -13 154 2 42 15 60 47 60 110 l0 47 48 0 c27 0 57 7 70 16 20 14 22 23 22 119 0 125 -6 135 -86 135 l-54 0 0 500 0 500 49 0 c69 0 90 20 98 91 7 71 -3 144 -23 164 -10 10 -35 15 -70 15 l-54 0 0 38 c0 47 -16 107 -33 120 -17 14 -115 21 -160 13z m93 -936 l-1 -845 -34 0 -35 0 0 845 0 845 35 0 35 0 0 -845z m-1000 -5 l0 -840 -35 0 -35 0 0 840 0 840 35 0 35 0 0 -840z m500 0 l0 -840 -35 0 -35 0 0 840 0 840 35 0 35 0 0 -840z m-170 0 l0 -500 -115 0 -115 0 0 500 0 500 115 0 115 0 0 -500z m498 -2 l-3 -503 -112 -3 -113 -3 0 506 0 505 115 0 115 0 -2 -502z"/> <path d="M1644 2755 c-20 -31 -17 -206 4 -227 8 -8 46 -14 100 -16 117 -5 134 7 140 101 2 37 1 82 -2 101 -11 59 -26 66 -131 66 -90 0 -95 -1 -111 -25z m146 -110 c0 -32 -2 -35 -30 -35 -28 0 -30 3 -30 35 0 32 2 35 30 35 28 0 30 -3 30 -35z"/> <path d="M2665 1502 c-33 -4 -65 -11 -72 -15 -20 -13 -33 -77 -34 -172 -1 -49 -4 -80 -6 -68 -2 13 -16 32 -30 43 -23 18 -40 20 -158 20 -128 0 -132 -1 -156 -26 l-24 -26 0 -339 0 -339 28 -27 c27 -28 29 -28 156 -28 122 0 131 1 155 24 14 13 27 33 28 45 3 18 7 15 20 -16 9 -20 25 -41 36 -47 31 -16 236 -14 277 3 55 23 57 41 53 501 -3 424 -5 444 -45 459 -27 11 -162 15 -228 8z m175 -487 l0 -395 -90 0 -90 0 0 395 0 395 90 0 90 0 0 -395z m-380 -95 l0 -300 -90 0 -90 0 0 300 0 300 90 0 90 0 0 -300z"/> <path d="M1854 1150 c-41 -17 -54 -49 -55 -140 -1 -47 -4 -75 -6 -64 -2 12 -15 32 -29 45 -22 21 -37 24 -131 27 -123 5 -175 -7 -201 -45 -15 -24 -17 -50 -14 -208 2 -99 5 -188 8 -198 11 -35 57 -47 179 -47 120 0 166 12 179 45 3 9 7 71 8 138 l2 122 5 -126 c4 -85 10 -131 20 -142 23 -28 82 -39 193 -35 96 3 109 5 132 27 l26 24 0 267 0 267 -26 24 c-24 22 -34 24 -147 26 -67 2 -132 -2 -143 -7z m226 -310 l0 -220 -90 0 -90 0 0 220 0 220 90 0 90 0 0 -220z m-390 -70 l0 -150 -85 0 -85 0 0 150 0 150 85 0 85 0 0 -150z"/> <path d="M2694 416 c-69 -30 -104 -99 -104 -203 0 -108 46 -182 125 -202 93 -23 173 22 200 113 57 192 -68 358 -221 292z m91 -62 c28 -11 45 -60 45 -133 0 -71 -12 -120 -33 -133 -7 -4 -26 -8 -44 -8 -50 0 -63 28 -63 138 0 85 2 95 25 117 25 26 41 30 70 19z"/> <path d="M1577 413 c-8 -15 -127 -381 -127 -393 0 -7 16 -10 47 -8 47 3 47 3 58 48 l11 45 61 3 61 3 7 -33 c14 -69 13 -68 66 -68 59 0 61 -21 -20 230 l-57 175 -51 3 c-28 2 -53 -1 -56 -5z m78 -162 c9 -35 14 -65 12 -68 -3 -2 -23 -3 -44 -1 l-40 3 20 73 c11 41 23 70 27 65 5 -4 16 -37 25 -72z"/> <path d="M1842 263 c4 -177 12 -205 67 -237 44 -26 142 -27 189 -2 53 27 62 63 62 241 l0 155 -45 0 -45 0 0 -144 c0 -182 -5 -196 -64 -196 -35 0 -48 5 -56 19 -5 11 -10 86 -10 170 l0 151 -51 0 -51 0 4 -157z"/> <path d="M2210 385 l0 -35 60 0 60 0 2 -167 3 -168 48 -3 47 -3 0 170 0 171 60 0 60 0 0 35 0 35 -170 0 -170 0 0 -35z"/> </g> </svg>',
                                                                                               'TIME' => '1416858687.10783'
                                                                                             }
                                                                                },
                                     'KL_Heizungsthermostat_Clima.measured-temp' => {
                                                                                      'dbLog' => {
                                                                                                   'VALUE' => '20.4 &deg;C',
                                                                                                   'TIME' => '1416858892.07713'
                                                                                                 }
                                                                                    },
                                     'WZ_Wandthermostat_Climate.measured-temp' => {
                                                                                    'dbLog' => {
                                                                                                 'VALUE' => '22.5 &deg;C',
                                                                                                 'TIME' => '1416858938.02947'
                                                                                               }
                                                                                  },
                                     'BZ_Heizungsthermostat_Clima.desired-temp' => {
                                                                                     'dbLog' => {
                                                                                                  'VALUE' => '17.0 &deg;C',
                                                                                                  'TIME' => '1416870615.74153'
                                                                                                }
                                                                                   },
                                     'SZ_Heizungsthermostat_Clima.measured-temp' => {
                                                                                      'dbLog' => {
                                                                                                   'VALUE' => '23.9 &deg;C',
                                                                                                   'TIME' => '1416858907.07198'
                                                                                                 }
                                                                                    },
                                     'BZ_Heizungsthermostat_Clima.ValvePosition' => {
                                                                                      'dbLog' => {
                                                                                                   'VALUE' => '0.0 %',
                                                                                                   'TIME' => '1416870615.73027'
                                                                                                 }
                                                                                    },
                                     'WZ_Wandthermostat_Climate.humidity' => {
                                                                               'dbLog' => {
                                                                                            'VALUE' => '58.0 %',
                                                                                            'TIME' => '1416858938.05035'
                                                                                          }
                                                                             },
                                     'WZ_Heizungsthermostat_Clima.ValvePosition' => {
                                                                                      'dbLog' => {
                                                                                                   'VALUE' => '41.0 %',
                                                                                                   'TIME' => '1416858948.35549'
                                                                                                 }
                                                                                    },
                                     'BZ_Heizungsthermostat_Clima.controlMode' => {
                                                                                    'dbLog' => {
                                                                                                 'VALUE' => '<svg

       
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 25 November 2014, 00:27:22
{Dumper $defs{name}} Teil 2


class="icon sani_heating_automatic green" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="472pt" viewBox="0 0 468 472"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,472) scale(0.159184,-0.159184)" fill="green" stroke="none"> <path d="M1257 2951 c-57 -12 -70 -31 -75 -106 l-4 -65 -114 0 -114 0 0 45 c0 63 -22 113 -54 121 -15 3 -58 4 -96 2 -91 -5 -110 -22 -117 -107 l-6 -61 -112 0 -113 0 -7 62 c-11 89 -32 108 -125 108 -74 0 -123 -16 -134 -45 -3 -9 -6 -41 -6 -71 l0 -54 -68 0 c-96 0 -102 -8 -102 -137 0 -125 6 -133 103 -133 l67 0 0 -505 0 -505 -75 0 c-92 0 -95 -4 -95 -130 0 -124 4 -130 89 -130 l67 0 12 -62 c7 -38 20 -70 34 -85 21 -23 29 -25 105 -21 105 4 122 18 130 107 l6 61 113 0 114 0 0 -32 c0 -52 19 -106 43 -123 13 -9 44 -15 83 -15 114 0 144 25 144 120 l0 50 115 0 115 0 0 -41 c0 -52 24 -103 56 -118 32 -14 109 -13 154 2 42 15 60 47 60 110 l0 47 48 0 c27 0 57 7 70 16 20 14 22 23 22 119 0 125 -6 135 -86 135 l-54 0 0 500 0 500 49 0 c69 0 90 20 98 91 7 71 -3 144 -23 164 -10 10 -35 15 -70 15 l-54 0 0 38 c0 47 -16 107 -33 120 -17 14 -115 21 -160 13z m93 -936 l-1 -845 -34 0 -35 0 0 845 0 845 35 0 35 0 0 -845z m-1000 -5 l0 -840 -35 0 -35 0 0 840 0 840 35 0 35 0 0 -840z m500 0 l0 -840 -35 0 -35 0 0 840 0 840 35 0 35 0 0 -840z m-170 0 l0 -500 -115 0 -115 0 0 500 0 500 115 0 115 0 0 -500z m498 -2 l-3 -503 -112 -3 -113 -3 0 506 0 505 115 0 115 0 -2 -502z"/> <path d="M1644 2755 c-20 -31 -17 -206 4 -227 8 -8 46 -14 100 -16 117 -5 134 7 140 101 2 37 1 82 -2 101 -11 59 -26 66 -131 66 -90 0 -95 -1 -111 -25z m146 -110 c0 -32 -2 -35 -30 -35 -28 0 -30 3 -30 35 0 32 2 35 30 35 28 0 30 -3 30 -35z"/> <path d="M2665 1502 c-33 -4 -65 -11 -72 -15 -20 -13 -33 -77 -34 -172 -1 -49 -4 -80 -6 -68 -2 13 -16 32 -30 43 -23 18 -40 20 -158 20 -128 0 -132 -1 -156 -26 l-24 -26 0 -339 0 -339 28 -27 c27 -28 29 -28 156 -28 122 0 131 1 155 24 14 13 27 33 28 45 3 18 7 15 20 -16 9 -20 25 -41 36 -47 31 -16 236 -14 277 3 55 23 57 41 53 501 -3 424 -5 444 -45 459 -27 11 -162 15 -228 8z m175 -487 l0 -395 -90 0 -90 0 0 395 0 395 90 0 90 0 0 -395z m-380 -95 l0 -300 -90 0 -90 0 0 300 0 300 90 0 90 0 0 -300z"/> <path d="M1854 1150 c-41 -17 -54 -49 -55 -140 -1 -47 -4 -75 -6 -64 -2 12 -15 32 -29 45 -22 21 -37 24 -131 27 -123 5 -175 -7 -201 -45 -15 -24 -17 -50 -14 -208 2 -99 5 -188 8 -198 11 -35 57 -47 179 -47 120 0 166 12 179 45 3 9 7 71 8 138 l2 122 5 -126 c4 -85 10 -131 20 -142 23 -28 82 -39 193 -35 96 3 109 5 132 27 l26 24 0 267 0 267 -26 24 c-24 22 -34 24 -147 26 -67 2 -132 -2 -143 -7z m226 -310 l0 -220 -90 0 -90 0 0 220 0 220 90 0 90 0 0 -220z m-390 -70 l0 -150 -85 0 -85 0 0 150 0 150 85 0 85 0 0 -150z"/> <path d="M2694 416 c-69 -30 -104 -99 -104 -203 0 -108 46 -182 125 -202 93 -23 173 22 200 113 57 192 -68 358 -221 292z m91 -62 c28 -11 45 -60 45 -133 0 -71 -12 -120 -33 -133 -7 -4 -26 -8 -44 -8 -50 0 -63 28 -63 138 0 85 2 95 25 117 25 26 41 30 70 19z"/> <path d="M1577 413 c-8 -15 -127 -381 -127 -393 0 -7 16 -10 47 -8 47 3 47 3 58 48 l11 45 61 3 61 3 7 -33 c14 -69 13 -68 66 -68 59 0 61 -21 -20 230 l-57 175 -51 3 c-28 2 -53 -1 -56 -5z m78 -162 c9 -35 14 -65 12 -68 -3 -2 -23 -3 -44 -1 l-40 3 20 73 c11 41 23 70 27 65 5 -4 16 -37 25 -72z"/> <path d="M1842 263 c4 -177 12 -205 67 -237 44 -26 142 -27 189 -2 53 27 62 63 62 241 l0 155 -45 0 -45 0 0 -144 c0 -182 -5 -196 -64 -196 -35 0 -48 5 -56 19 -5 11 -10 86 -10 170 l0 151 -51 0 -51 0 4 -157z"/> <path d="M2210 385 l0 -35 60 0 60 0 2 -167 3 -168 48 -3 47 -3 0 170 0 171 60 0 60 0 0 35 0 35 -170 0 -170 0 0 -35z"/> </g> </svg>',
                                                                                                 'TIME' => '1416870615.75676'
                                                                                               }
                                                                                  },
                                     'KL_Heizungsthermostat_Clima.controlMode' => {
                                                                                    'dbLog' => {
                                                                                                 'VALUE' => '<svg class="icon sani_heating_automatic green" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="472pt" viewBox="0 0 468 472"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,472) scale(0.159184,-0.159184)" fill="green" stroke="none"> <path d="M1257 2951 c-57 -12 -70 -31 -75 -106 l-4 -65 -114 0 -114 0 0 45 c0 63 -22 113 -54 121 -15 3 -58 4 -96 2 -91 -5 -110 -22 -117 -107 l-6 -61 -112 0 -113 0 -7 62 c-11 89 -32 108 -125 108 -74 0 -123 -16 -134 -45 -3 -9 -6 -41 -6 -71 l0 -54 -68 0 c-96 0 -102 -8 -102 -137 0 -125 6 -133 103 -133 l67 0 0 -505 0 -505 -75 0 c-92 0 -95 -4 -95 -130 0 -124 4 -130 89 -130 l67 0 12 -62 c7 -38 20 -70 34 -85 21 -23 29 -25 105 -21 105 4 122 18 130 107 l6 61 113 0 114 0 0 -32 c0 -52 19 -106 43 -123 13 -9 44 -15 83 -15 114 0 144 25 144 120 l0 50 115 0 115 0 0 -41 c0 -52 24 -103 56 -118 32 -14 109 -13 154 2 42 15 60 47 60 110 l0 47 48 0 c27 0 57 7 70 16 20 14 22 23 22 119 0 125 -6 135 -86 135 l-54 0 0 500 0 500 49 0 c69 0 90 20 98 91 7 71 -3 144 -23 164 -10 10 -35 15 -70 15 l-54 0 0 38 c0 47 -16 107 -33 120 -17 14 -115 21 -160 13z m93 -936 l-1 -845 -34 0 -35 0 0 845 0 845 35 0 35 0 0 -845z m-1000 -5 l0 -840 -35 0 -35 0 0 840 0 840 35 0 35 0 0 -840z m500 0 l0 -840 -35 0 -35 0 0 840 0 840 35 0 35 0 0 -840z m-170 0 l0 -500 -115 0 -115 0 0 500 0 500 115 0 115 0 0 -500z m498 -2 l-3 -503 -112 -3 -113 -3 0 506 0 505 115 0 115 0 -2 -502z"/> <path d="M1644 2755 c-20 -31 -17 -206 4 -227 8 -8 46 -14 100 -16 117 -5 134 7 140 101 2 37 1 82 -2 101 -11 59 -26 66 -131 66 -90 0 -95 -1 -111 -25z m146 -110 c0 -32 -2 -35 -30 -35 -28 0 -30 3 -30 35 0 32 2 35 30 35 28 0 30 -3 30 -35z"/> <path d="M2665 1502 c-33 -4 -65 -11 -72 -15 -20 -13 -33 -77 -34 -172 -1 -49 -4 -80 -6 -68 -2 13 -16 32 -30 43 -23 18 -40 20 -158 20 -128 0 -132 -1 -156 -26 l-24 -26 0 -339 0 -339 28 -27 c27 -28 29 -28 156 -28 122 0 131 1 155 24 14 13 27 33 28 45 3 18 7 15 20 -16 9 -20 25 -41 36 -47 31 -16 236 -14 277 3 55 23 57 41 53 501 -3 424 -5 444 -45 459 -27 11 -162 15 -228 8z m175 -487 l0 -395 -90 0 -90 0 0 395 0 395 90 0 90 0 0 -395z m-380 -95 l0 -300 -90 0 -90 0 0 300 0 300 90 0 90 0 0 -300z"/> <path d="M1854 1150 c-41 -17 -54 -49 -55 -140 -1 -47 -4 -75 -6 -64 -2 12 -15 32 -29 45 -22 21 -37 24 -131 27 -123 5 -175 -7 -201 -45 -15 -24 -17 -50 -14 -208 2 -99 5 -188 8 -198 11 -35 57 -47 179 -47 120 0 166 12 179 45 3 9 7 71 8 138 l2 122 5 -126 c4 -85 10 -131 20 -142 23 -28 82 -39 193 -35 96 3 109 5 132 27 l26 24 0 267 0 267 -26 24 c-24 22 -34 24 -147 26 -67 2 -132 -2 -143 -7z m226 -310 l0 -220 -90 0 -90 0 0 220 0 220 90 0 90 0 0 -220z m-390 -70 l0 -150 -85 0 -85 0 0 150 0 150 85 0 85 0 0 -150z"/> <path d="M2694 416 c-69 -30 -104 -99 -104 -203 0 -108 46 -182 125 -202 93 -23 173 22 200 113 57 192 -68 358 -221 292z m91 -62 c28 -11 45 -60 45 -133 0 -71 -12 -120 -33 -133 -7 -4 -26 -8 -44 -8 -50 0 -63 28 -63 138 0 85 2 95 25 117 25 26 41 30 70 19z"/> <path d="M1577 413 c-8 -15 -127 -381 -127 -393 0 -7 16 -10 47 -8 47 3 47 3 58 48 l11 45 61 3 61 3 7 -33 c14 -69 13 -68 66 -68 59 0 61 -21 -20 230 l-57 175 -51 3 c-28 2 -53 -1 -56 -5z m78 -162 c9 -35 14 -65 12 -68 -3 -2 -23 -3 -44 -1 l-40 3 20 73 c11 41 23 70 27 65 5 -4 16 -37 25 -72z"/> <path d="M1842 263 c4 -177 12 -205 67 -237 44 -26 142 -27 189 -2 53 27 62 63 62 241 l0 155 -45 0 -45 0 0 -144 c0 -182 -5 -196 -64 -196 -35 0 -48 5 -56 19 -5 11 -10 86 -10 170 l0 151 -51 0 -51 0 4 -157z"/> <path d="M2210 385 l0 -35 60 0 60 0 2 -167 3 -168 48 -3 47 -3 0 170 0 171 60 0 60 0 0 35 0 35 -170 0 -170 0 0 -35z"/> </g> </svg>',
                                                                                                 'TIME' => '1416858892.11453'
                                                                                               }
                                                                                  },
                                     'SZ_Heizungsthermostat_Clima.controlMode' => {
                                                                                    'dbLog' => {
                                                                                                 'VALUE' => '<svg class="icon sani_heating_automatic green" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="472pt" viewBox="0 0 468 472"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,472) scale(0.159184,-0.159184)" fill="green" stroke="none"> <path d="M1257 2951 c-57 -12 -70 -31 -75 -106 l-4 -65 -114 0 -114 0 0 45 c0 63 -22 113 -54 121 -15 3 -58 4 -96 2 -91 -5 -110 -22 -117 -107 l-6 -61 -112 0 -113 0 -7 62 c-11 89 -32 108 -125 108 -74 0 -123 -16 -134 -45 -3 -9 -6 -41 -6 -71 l0 -54 -68 0 c-96 0 -102 -8 -102 -137 0 -125 6 -133 103 -133 l67 0 0 -505 0 -505 -75 0 c-92 0 -95 -4 -95 -130 0 -124 4 -130 89 -130 l67 0 12 -62 c7 -38 20 -70 34 -85 21 -23 29 -25 105 -21 105 4 122 18 130 107 l6 61 113 0 114 0 0 -32 c0 -52 19 -106 43 -123 13 -9 44 -15 83 -15 114 0 144 25 144 120 l0 50 115 0 115 0 0 -41 c0 -52 24 -103 56 -118 32 -14 109 -13 154 2 42 15 60 47 60 110 l0 47 48 0 c27 0 57 7 70 16 20 14 22 23 22 119 0 125 -6 135 -86 135 l-54 0 0 500 0 500 49 0 c69 0 90 20 98 91 7 71 -3 144 -23 164 -10 10 -35 15 -70 15 l-54 0 0 38 c0 47 -16 107 -33 120 -17 14 -115 21 -160 13z m93 -936 l-1 -845 -34 0 -35 0 0 845 0 845 35 0 35 0 0 -845z m-1000 -5 l0 -840 -35 0 -35 0 0 840 0 840 35 0 35 0 0 -840z m500 0 l0 -840 -35 0 -35 0 0 840 0 840 35 0 35 0 0 -840z m-170 0 l0 -500 -115 0 -115 0 0 500 0 500 115 0 115 0 0 -500z m498 -2 l-3 -503 -112 -3 -113 -3 0 506 0 505 115 0 115 0 -2 -502z"/> <path d="M1644 2755 c-20 -31 -17 -206 4 -227 8 -8 46 -14 100 -16 117 -5 134 7 140 101 2 37 1 82 -2 101 -11 59 -26 66 -131 66 -90 0 -95 -1 -111 -25z m146 -110 c0 -32 -2 -35 -30 -35 -28 0 -30 3 -30 35 0 32 2 35 30 35 28 0 30 -3 30 -35z"/> <path d="M2665 1502 c-33 -4 -65 -11 -72 -15 -20 -13 -33 -77 -34 -172 -1 -49 -4 -80 -6 -68 -2 13 -16 32 -30 43 -23 18 -40 20 -158 20 -128 0 -132 -1 -156 -26 l-24 -26 0 -339 0 -339 28 -27 c27 -28 29 -28 156 -28 122 0 131 1 155 24 14 13 27 33 28 45 3 18 7 15 20 -16 9 -20 25 -41 36 -47 31 -16 236 -14 277 3 55 23 57 41 53 501 -3 424 -5 444 -45 459 -27 11 -162 15 -228 8z m175 -487 l0 -395 -90 0 -90 0 0 395 0 395 90 0 90 0 0 -395z m-380 -95 l0 -300 -90 0 -90 0 0 300 0 300 90 0 90 0 0 -300z"/> <path d="M1854 1150 c-41 -17 -54 -49 -55 -140 -1 -47 -4 -75 -6 -64 -2 12 -15 32 -29 45 -22 21 -37 24 -131 27 -123 5 -175 -7 -201 -45 -15 -24 -17 -50 -14 -208 2 -99 5 -188 8 -198 11 -35 57 -47 179 -47 120 0 166 12 179 45 3 9 7 71 8 138 l2 122 5 -126 c4 -85 10 -131 20 -142 23 -28 82 -39 193 -35 96 3 109 5 132 27 l26 24 0 267 0 267 -26 24 c-24 22 -34 24 -147 26 -67 2 -132 -2 -143 -7z m226 -310 l0 -220 -90 0 -90 0 0 220 0 220 90 0 90 0 0 -220z m-390 -70 l0 -150 -85 0 -85 0 0 150 0 150 85 0 85 0 0 -150z"/> <path d="M2694 416 c-69 -30 -104 -99 -104 -203 0 -108 46 -182 125 -202 93 -23 173 22 200 113 57 192 -68 358 -221 292z m91 -62 c28 -11 45 -60 45 -133 0 -71 -12 -120 -33 -133 -7 -4 -26 -8 -44 -8 -50 0 -63 28 -63 138 0 85 2 95 25 117 25 26 41 30 70 19z"/> <path d="M1577 413 c-8 -15 -127 -381 -127 -393 0 -7 16 -10 47 -8 47 3 47 3 58 48 l11 45 61 3 61 3 7 -33 c14 -69 13 -68 66 -68 59 0 61 -21 -20 230 l-57 175 -51 3 c-28 2 -53 -1 -56 -5z m78 -162 c9 -35 14 -65 12 -68 -3 -2 -23 -3 -44 -1 l-40 3 20 73 c11 41 23 70 27 65 5 -4 16 -37 25 -72z"/> <path d="M1842 263 c4 -177 12 -205 67 -237 44 -26 142 -27 189 -2 53 27 62 63 62 241 l0 155 -45 0 -45 0 0 -144 c0 -182 -5 -196 -64 -196 -35 0 -48 5 -56 19 -5 11 -10 86 -10 170 l0 151 -51 0 -51 0 4 -157z"/> <path d="M2210 385 l0 -35 60 0 60 0 2 -167 3 -168 48 -3 47 -3 0 170 0 171 60 0 60 0 0 35 0 35 -170 0 -170 0 0 -35z"/> </g> </svg>',
                                                                                                 'TIME' => '1416858907.10929'
                                                                                               }
                                                                                  },
                                     'WZ_Wandthermostat_Climate.desired-temp' => {
                                                                                   'dbLog' => {
                                                                                                'VALUE' => '22.5 &deg;C',
                                                                                                'TIME' => '1416858938.03996'
                                                                                              }
                                                                                 }
                                   }
                      },
          'DEF' => '<%sani_heating>,<Ist>,<Soll>,<Luftfeuchtigkeit>,<Ventil>,<Modus>,<Temperaturprofil>,<Lock>
WZ_W.*Climate$:measured-temp,desired-temp,humidity,<>,controlMode,state@{\'dummy_WZ_Heizung_Schalter\'},R-btnLock@{getDevice($DEVICE)}
WZ_H.*Clima$:<>,<>,<>,ValvePosition,<>,<>,R-btnLock@{getDevice($DEVICE)}
SZ_H.*Clima$:measured-temp,desired-temp,<>,ValvePosition,controlMode,state@{\'dummy_SZ_Heizung_Schalter\'},R-btnLock@{getDevice($DEVICE)}
KL_H.*Clima$:measured-temp,desired-temp,<>,ValvePosition,controlMode,state@{\'dummy_KL_Heizung_Schalter\'},R-btnLock@{getDevice($DEVICE)}
BZ_H.*Clima$:measured-temp,desired-temp,<>,ValvePosition,controlMode,state@{\'dummy_BZ_Heizung_Schalter\'},R-btnLock@{getDevice($DEVICE)}',
          'DEVICES2' => [
                          [
                            '<%sani_heating>,<Ist>,<Soll>,<Luftfeuchtigkeit>,<Ventil>,<Modus>,<Temperaturprofil>,<Lock>'
                          ],
                          [
                            'WZ_Wandthermostat_Climate',
                            'measured-temp,desired-temp,humidity,<>,controlMode,state@{\'dummy_WZ_Heizung_Schalter\'},R-btnLock@{getDevice($DEVICE)}'
                          ],
                          [
                            'WZ_Heizungsthermostat_Clima',
                            '<>,<>,<>,ValvePosition,<>,<>,R-btnLock@{getDevice($DEVICE)}'
                          ],
                          [
                            'SZ_Heizungsthermostat_Clima',
                            'measured-temp,desired-temp,<>,ValvePosition,controlMode,state@{\'dummy_SZ_Heizung_Schalter\'},R-btnLock@{getDevice($DEVICE)}'
                          ],
                          [
                            'KL_Heizungsthermostat_Clima',
                            'measured-temp,desired-temp,<>,ValvePosition,controlMode,state@{\'dummy_KL_Heizung_Schalter\'},R-btnLock@{getDevice($DEVICE)}'
                          ],
                          [
                            'BZ_Heizungsthermostat_Clima',
                            'measured-temp,desired-temp,<>,ValvePosition,controlMode,state@{\'dummy_BZ_Heizung_Schalter\'},R-btnLock@{getDevice($DEVICE)}'
                          ],
                          [
                            'dummy_WZ_Heizung_Schalter',
                            'state'
                          ],
                          [
                            'WZ_Wandthermostat',
                            'R-btnLock'
                          ],
                          [
                            'WZ_Heizungsthermostat',
                            'R-btnLock'
                          ],
                          [
                            'dummy_SZ_Heizung_Schalter',
                            'state'
                          ],
                          [
                            'SZ_Heizungsthermostat',
                            'R-btnLock'
                          ],
                          [
                            'dummy_KL_Heizung_Schalter',
                            'state'
                          ],
                          [
                            'KL_Heizungsthermostat',
                            'R-btnLock'
                          ],
                          [
                            'dummy_BZ_Heizung_Schalter',
                            'state'
                          ],
                          [
                            'BZ_Heizungsthermostat',
                            'R-btnLock'
                          ]
                        ],
          'CONTENT' => {
                         'BZ_Heizungsthermostat_Clima' => 1,
                         'SZ_Heizungsthermostat_Clima' => 1,
                         'WZ_Heizungsthermostat_Clima' => 1,
                         'WZ_Wandthermostat_Climate' => 1,
                         'KL_Heizungsthermostat_Clima' => 1
                       },
          'helper' => {
                        'mapping' => '{ rgMapping($DEVICE,$READING,$VALUE); }',
                        'nameStyle' => 'style="font-weight:bold"',
                        'commands' => {
                                        'R-btnLock' => 'trigger ntfy_toggleBtnLock $DEVICE'
                                      },
                        'DEF' => undef,
                        'valueFormat' => '{ rgValueFormat($DEVICE,$READING,$VALUE); }',
                        'valueIcon' => '{ rgValueIcon($DEVICE,$READING,$VALUE); }',
                        'valueStyle' => '{ rgValueStyle($DEVICE,$READING,$VALUE); }'
                      },
          'CONTENT2' => {
                          'BZ_Heizungsthermostat' => 1,
                          'WZ_Wandthermostat' => 1,
                          'dummy_SZ_Heizung_Schalter' => 1,
                          'WZ_Heizungsthermostat' => 1,
                          'dummy_WZ_Heizung_Schalter' => 1,
                          'SZ_Heizungsthermostat' => 1,
                          'dummy_KL_Heizung_Schalter' => 1,
                          'dummy_BZ_Heizung_Schalter' => 1,
                          'KL_Heizungsthermostat' => 1
                        },
          'NR' => 90,
          'NAME' => 'rg_Heizungsstatus',
          'CFGFN' => '',
          'TYPE' => 'readingsGroup',
          'DEVICES' => [
                         $VAR1->{'DEVICES2'}[0],
                         $VAR1->{'DEVICES2'}[1],
                         $VAR1->{'DEVICES2'}[2],
                         $VAR1->{'DEVICES2'}[3],
                         $VAR1->{'DEVICES2'}[4],
                         $VAR1->{'DEVICES2'}[5]
                       ],
          'CHANGETIME' => [],
          'STATE' => 'Initialized',
          'fhem' => {
                      'last_update' => '1416858143.11551',
                      'lastDefChange' => 7
                    },
          'NTFY_ORDER' => '50-rg_Heizungsstatus'
        };
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 25 November 2014, 12:29:41
Zitat von: Doggiebert am 24 November 2014, 23:37:14
ja - nimm den Space raus...
Moin,
mit dem Space ist es nicht getan:
Das sieht dann so aus, wie im Bild. Das Reading vom 2. Device wird abgeschnitten...

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 25 November 2014, 12:36:31
Zitat von: Spartacus am 25 November 2014, 12:29:41
mit dem Space ist es nicht getan:
Was du möchtest ist ein Reading aus einem anderen Device anzeigen lassen

http://www.fhemwiki.de/wiki/ReadingsGroup#Readings_aus_zus.C3.A4tzlichen_Devices (http://www.fhemwiki.de/wiki/ReadingsGroup#Readings_aus_zus.C3.A4tzlichen_Devices)

Grüße
Igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 25 November 2014, 12:53:28
Hallo igami,
ja, dass hatte ich auch schon gefunden, aber ich verstehe die Syntax in dem Wiki nicht!
thermostat.Wz: blabla... ist klar, dass ist jweils das Thermostatdevice in den einzelnen Zeilen!
Aber wo ist das zweite Device in der Zeile? Das muss irgendwie mit dem "@" zusammenhängen, verstehe es aber nicht. Meinde beiden Devices heißen:

1. Device: GA..TF.DS18B20.cdm:
2. Device: GH..TF.DS18B20.cdm:
Das Reading heisst dann jeweils "temperature"

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 25 November 2014, 13:00:51
Zitat von: Spartacus am 25 November 2014, 12:53:28
thermostat.Wz: blabla... ist klar, dass ist jweils das Thermostatdevice in den einzelnen Zeilen!

Und am Ende steht battery@{valveOfDevice($DEVICE)}
Zitat von: commandref
regex can be of the form <regex>@device to use readings from a different device
In deinem Fall also

GA..TF.DS18B20.cdm:<%temp_outside>,<Außen>,temperature,<%temp_inside>,<Innen>,temperature@GH..TF.DS18B20.cdm


Grüße
Igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 25 November 2014, 13:36:34
Hallo,
ach so!Jetzt verstehe ich!
Danke für den Tipp! Im ersten Moment erscheint die Syntax nicht logisch, aber das liegt wahrscheinlich an meinen Perl Kenntnissen.

Auf jeden Fall funzt das jetzt wie gewünscht!
Danke,
Spartacus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 25 November 2014, 13:57:19
ich hole mir aus einem anderen Modul (DOIF) Zeiten von den dortigen Timern, die ich ganz gerne auf der Weboberfläche anzeigen lassen würde. Im Prinzip funktioniert es auch nur gefällt mir die gesamte Anzeige nicht (siehe Screenshot)
Evtl. ist es nur eine einfache Umstellung oder gar aufwendiger, im Wiki hatte ich mir schon einige Beispiele angeschaut, aber ich bekomme das nicht so hin wie es dort beschrieben ist.

hier mal der Code meiner RG:
define ZeitenRG readingsGroup <Wegbeleuchtung>,<Wochentag>,<Wochenende> di_Aussenlampe
attr ZeitenRG alias Weg Beleuchtung
attr ZeitenRG group Zeiten
attr ZeitenRG mapping { 'timer_1_c1' => 'Weg vorn & Gerätehaus EIN WoTag', 'timer_2_c1' => 'Weg vorn & Gerätehaus EIN WoEnde', 'timer_3_c2' => 'Umschaltung Weg Hinten EIN', 'timer_4_c3' => 'Weg Hinten AUS WoEnde', 'timer_5_c3' => 'Weg Hinten AUS WoTag' }
attr ZeitenRG nameStyle style="color:lightgreen"
attr ZeitenRG room Licht Eingang
#{substr((ReadingsVal( "di_Aussenlampe", "timer_1_c1","")),0,19)},<Zeit>


wie man auf dem Screenshot sieht gefällt mir zum einen nicht das er immer di_Aussenlampe:state anzeigt das brauche ich gar nicht.
Das nächste ich würde gern so wie es auch schon in der Überschrift zu sehen ist die Wochentage und das Wochenende getrennt anzeigen unter Wochenende zeigt er momentan die Aktualisierungszeit an, was ich auch nicht brauche. Dann könnte ich auch die Bezeichnung WoTag und WoEnde vorne heraus nehmen

Und zu guter letzt zeigt er mir die Tage hinter den Timern an, ich weiß das ich dies mit Perlcode (substr) wegfiltern kann, aber ich weiß nicht wie man dies in den Code einbaut, falls es überhaupt geht...
Einige Fragen die ich nicht gelöst bekomme
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 25 November 2014, 17:46:04
Vielleicht kann mir ja jemand ein bisschen auf die Sprünge helfen:

Wie schaffe ich eine dynamische rg die sich auf sich selbst bezieht?
Ich möchte alle Devices aus dem Raum in dem sich die rg befindet auflisten, inetwa so:

define rg_test readingsgroup room={AttrVal($name,'room','')}

Das es so nicht geht konnte ich leicht herausfinden.  ;D

Grüße
Igami

Edit: *hmpf* man kann ja den Raum gar nicht als <device> nehmen, sondern nur INTERNALS  :'(
Vielleicht lässt sich da ja noch was machen, sodass man die gleichen devspec wie bei z.B. 'list' angeben kann?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 25 November 2014, 20:42:34
Hallo Andre,

habe gerade das Modul für mich endeckt  ;) echt cool, Danke dafür !
ich habe ein kleines Problem und schon im WIKI und commandref gesucht... find aber nix.

ich habe ein Device
define Vito200 VCONTROL.....
attr Vito200 alias Heizung

dann die readingsGroup
define Heizungsstatus readingsGroup <%viessmann>,<Status>,<Akt.Datum> Vito200

und bekomme jetzt immer den Namen des Device vor dem Readings angezeigt!
Heizung:Brenner
Heizung:BrennerLeistung
Heizung:BrennerStarts

würde gern den Namen bzw. alias ausblenden wollen.

Danke für einen Tipp
klaus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: gero am 25 November 2014, 21:29:06
Ich habe ein kleines Problem mit den Updates in der readingsgroup via longpoll.

Sollte ein automatisches Update im Webinterface funktionieren, wenn ich ein anderes Device mittels
<regex>@{perl}
angebe?


<%temperature_humidity>,<Bat>,<Temp>,<Hum>,<DP>,<Lüften>,<Window> .*.TF:battery,temperature,humidity,dewpoint,fan,!onoff@{$DEVICE=~s/.TF/.MAX.FK/;$DEVICE;}


Alle readings werden aktualisiert, nur die letzte Spalte nicht (Fensterkontakt)

Gruß,
Gero
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 25 November 2014, 23:22:47
@dancatt: das sollte eigentlich wie bisher gehen. ich habe es mit ein paar einfachen readingsGroups nachgestellt und hatte keine probleme. kannst du bitte auch mal etwas einfaches definieren. z.b. nur define rg readingsGroup <abc>,<%on>

@moonsorrox: deine um state weg zu bekommen kannst du nostate setzen. um die zeiten in der letzen spalte weg zu bekommen kannst du notiere setzen. dein problem ist aber eigentlich das du eine readingsGroup hat die ein reading pro zeile anzeigt. was d möchtest sind mehrere readings pro zeile. das musst du dann auch mit kommt getrennt so hin schreiben. um die zeiten zu formatieren findest du hier ein beispiel: http://www.fhemwiki.de/wiki/ReadingsGroup#Enable.2FDisable_Button_am_Beispiel_eines_WeekdayTimer (http://www.fhemwiki.de/wiki/ReadingsGroup#Enable.2FDisable_Button_am_Beispiel_eines_WeekdayTimer)

@igami: das geht zur zeit aus zwei gründen nicht. zum einen kannst du wie du bemerkt hast kein attribut angeben und zum anderen ist an dieser stelle kein perl code erlaubt. ich muss mal überlegen wie man das lösen kann. bei deinem konkreten beispiel wüsste ich ab
gerne wozu :) wenn die readingsGroup alle devices im gleichen raum anzeigt hast du ja in diesem raum alles doppelt. einmal die normalen devices selber und einmal jedes device in der readingsGroup.

@kvo1: das geht über das mapping attribut. einfach auf $READING setzen. steht übrigens doch in der commandref :)

@gero: ja. das sollte genau so gehen. wie sehen deine device namen aus? bitte versuch es mal ohne das ! nur mit onoff@...
ich glaube ich habe da noch etwas vergessen. ab morgen ist die ! variante gefixed. wobei das ! in diesem zusammenhang eh überflüssig ist.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 26 November 2014, 00:00:59
@justme1966

vielen Dank, ich habe leider noch zwei Anzeigen die ich nicht wegbekomme
Die Zeiten hinten habe ich mit notime ausgeblendet und nostate hat den Status ausgeblendet das ist schon mal toll, was ich noch nicht wegbekommen habe ist die cmd_Event und cmd_nr Anzeige (siehe Screenshot)

Das mit der Formatierung habe ich mir gestern und heute schon im Wiki angeschaut und genau aus dieser die du vorgeschlagen hast hatte ich einiges probiert, aber leider nicht hinbekommen.
Ich werde mal weiter probieren.
Vielen Dank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: gero am 26 November 2014, 07:54:48
Zitat von: justme1968 am 25 November 2014, 23:22:47
@gero: ja. das sollte genau so gehen. wie sehen deine device namen aus? bitte versuch es mal ohne das ! nur mit onoff@...
ich glaube ich habe da noch etwas vergessen. wenn es damit geht probier bitte mal die angehängte version. da sollte dann auch die ! variante gehen. wobei das ! in diesem zusammenhang eh überflüssig ist.

Zur Zeit verwende ich die aktuelle Variante, die mit dem normalen fhem update verteilt wird.
Eigentlich werden Readings von Temperatursensoren angezeigt, z.B. DG.KI.JA.TF. In der letzten Spalte wird der Status eines Fensterkontaktes angezeigt. In diesem Fall DG.KI.JA.MAX.FK.
Die Anzeige funktioniert. Alle Werte bis auf die letzte Spalte werden automatisch aktualisiert (sowohl in Chrome als auch in webviewControl). Erst bei einem Reload wird auch der Fensterstatus aktualisiert.
Das ! habe ich testweise eingefügt, um das neue Feature zu testen. Ich dachte, ich kann die readingsgroup damit dazu bewegen, dass der Hintergrund auch bei nicht vorhandenen Fensterkontakten bis zum rechten Rand korrekt dargestellt wird. Das Updateproblem habe ich aber auch ohne das !.

Eine weitere Beobachtung, die ich gemacht habe, ist, dass Definitionen in der Form <regex>@{perl} scheinbar das Device für die folgenden Spalten ändert. Vertauscht man z.B. in meinem Beispiel die letzten beiden Spalten, so wird das reading fan vom Temperatursensor nicht mehr gefunden, weil auch dort auf den modifizierten Devicenamen zugegriffen wird. Ist das ein undokumentiertes Feature, ein Bug oder habe ich etwas falsch verstanden?

Ich werde die angehängte Version heute testen.

Gruß,
Gero

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 26 November 2014, 11:27:52
@gero: die version die ich oben angehängt habe hätte vermutlich doch geholfen. ich habe den fix noch etwas erweitert und eingecheckt. die beiden probleme (fehlender longpll update und überschriebenes device) du gemeldet hattest kann ich nun mit dummys nicht mehr reproduzieren.

bitte schau mal ob dir der update morgen auch hilft.

das ! hilft tatsächlich um die letze spate zu füllen. vielleicht wäre aber ein valueFormat gut das den text auch wieder ausblendet wenn es das reading nicht gibt,

eine andere möglichkeit wäre das reading das es eventuell nicht gibt nicht in die letzte spalte zu stecken sondern irgendwo vorher und mit valueColumn sicher zu stellen das das reading das darauf folgt immer in der gleichen spalte anfängt. d.h. das die spalte mit dem fehlenden reading übersprungen wird.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 26 November 2014, 11:29:08
@moonsorrox: ich glaube du gehst deine readingsGroup falsch an. du solltest sie von vorn herein so definieren das nur die devices drin sind die du auch drin haben willst. also z.b. auf TYPE=WeekdayTimer.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: gero am 26 November 2014, 14:09:07
Hallo Andre,

ich habe jetzt die aktuelle Version aus dem svn am laufen:
- longpoll funktioniert jetzt
- Devicenamen werden nicht mehr überschrieben
- Der ! Operand funktioniert nicht bei Angaben der Form reading@{perl}, bei denen der perl code ein ungültiges (nicht vorhandenes) Device zurückliefert. (ich denke Schuld ist die Zeile 603 next if ( !$h ))

Die ersten beiden Punkte, waren wichtig für mich. Der letzte noch nicht funktionierende Punkt, fällt unter die Kategorie Kosmetik. Zumindest sollte das Verhalten in der command reference erwähnt werden.

Das Auffüllen der Zeilen mittels valueFormat hatte ich bisher verwendet.

Gruß,
Gero


Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 26 November 2014, 14:41:18
Zitat von: gero am 26 November 2014, 14:09:07
- Devicenamen werden nicht mehr überschrieben

Kann man das optional machen? Ich habe readingsGroups in denen ich das als feature nutze

define rg_12220_1 readingsgroup EIB_1106:?alias,state,set@EIB_2000,?alias,<%fts_shutter_up>,<%fts_shutter_down>
attr rg_12220_1 commands   {'state' => 'trigger ntfy_rg $DEVICE $READING',  'rg_12220_1.fts_shutter_up' => 'set $DEVICE off',  'rg_12220_1.fts_shutter_down' => 'set $DEVICE on'}

das würde dann nicht mehr funktionieren. Das reading 'set' existiert natürlich nicht. Mit einem reset@$DEVICE kann man die Variable auch wieder resetten.

Zitat von: justme1968 am 25 November 2014, 23:22:47
@igami: das geht zur zeit aus zwei gründen nicht. zum einen kannst du wie du bemerkt hast kein attribut angeben und zum anderen ist an dieser stelle kein perl code erlaubt. ich muss mal überlegen wie man das lösen kann. bei deinem konkreten beispiel wüsste ich ab
gerne wozu :) wenn die readingsGroup alle devices im gleichen raum anzeigt hast du ja in diesem raum alles doppelt. einmal die normalen devices selber und einmal jedes device in der readingsGroup.

Um mir ein Interface für mein Smartphone zu schaffen, die anderen Gruppen werden dann mittels hiddengroup ausgeblendet. Ist aber bisher nur eine Idee. Die rg soll dann einfach in jeden Raum kopiert werden können ohne etwas ändern zu müssen :) Denke ich werde das aber eher mit einer sub lösen die mir die DEF der rg schreibt.

Grüße
Igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: gero am 26 November 2014, 15:36:39
Zitat von: igami am 26 November 2014, 14:41:18
Kann man das optional machen? Ich habe readingsGroups in denen ich das als feature nutze
Dann aber bitte als gut dokumentiertes Extrafeature mit einer anderen Syntax (haben wir noch Sonderzeichen übrig? ;))und nicht als Seiteneffekt.
Ich befürchte aber, die readingsGroup ist schon komplex genug. Wenn noch mehr Features einfließen, wird sie für einen normalen User langsam nicht mehr bedienbar.

Gruß,
Gero
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 26 November 2014, 16:14:44
@igami: für handy und co interessiert dich sicher auch das hier: http://www.fhemwiki.de/wiki/ReadingsGroup#readingsGroup_Styling_mit_CSS (http://www.fhemwiki.de/wiki/ReadingsGroup#readingsGroup_Styling_mit_CSS)

@gero:du kannst ab morgen ein ! auch vor dem mit @ angehängten device namen verwenden. du musst also !reading@!device schreiben.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 26 November 2014, 16:18:36
Zitat von: justme1968 am 26 November 2014, 16:14:44
@igami: für handy und co interessiert dich sicher auch das hier: http://www.fhemwiki.de/wiki/ReadingsGroup#readingsGroup_Styling_mit_CSS (http://www.fhemwiki.de/wiki/ReadingsGroup#readingsGroup_Styling_mit_CSS)
Auf jeden Fall!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 26 November 2014, 16:46:12
Zitat von: justme1968 am 25 November 2014, 23:22:47
@dancatt: das sollte eigentlich wie bisher gehen. ich habe es mit ein paar einfachen readingsGroups nachgestellt und hatte keine probleme. kannst du bitte auch mal etwas einfaches definieren. z.b. nur define rg readingsGroup <abc>,<%on>
Ich werde mir das am Wochenende nochmal anschauen.

ZitatWenn noch mehr Features einfließen, wird sie für einen normalen User langsam nicht mehr bedienbar.
Die Befürchtung habe ich auch. Vielleicht kann man die ReadingsGroup ja ganz simpel halten und per Plugins erweitern.
Vielleicht kommt aber auch bald dieser Helper von dem Andre schonmal geredet hat.
http://forum.fhem.de/index.php/topic,27353.msg202515.html#msg202515 (http://forum.fhem.de/index.php/topic,27353.msg202515.html#msg202515)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 26 November 2014, 17:27:09
die helper kommen. ein teil davon wir vermutlich in richtung templates gehen die wiederverwendbar sind.

aber unabhängig davon: einfache dinge sind mit readingsGroup einfach. komplizierte dinge sind immer noch einfacher als alles selber von hand zu machen.

wenn jemand ideen für vereinfachungen hat immer her damit...

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 26 November 2014, 18:53:53
Zitat von: justme1968 am 26 November 2014, 11:29:08
du solltest sie von vorn herein so definieren das nur die devices drin sind die du auch drin haben willst. also z.b. auf TYPE=WeekdayTimer.
mmh ich verstehe grad gar nichts  :-\
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 26 November 2014, 19:19:32
beschreib doch noch mal ganz genau was du machen möchtest und wie es aussehen soll. wie deine devices heissen und was es für devices sind. auch die die jetzt gerade mit drin und nicht drin sein sollen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: StefanW am 26 November 2014, 20:06:50
Hallo!

Ich möchte eine wertabhängige Farbgebung von einem Temperatursensor darstellen.
Allerdings haut das irgendwie nicht hin.
Ich bekomme bei einer Temp von 4.3°C den Wert in blau angezeigt.

Als valueStyle hab ich folgendes eingegeben:
{ if($READING eq "temperature" && $VALUE > 17){ 'style="color:green"' }elsif( $READING eq "temperature" && $VALUE <= 17 ){ 'style="color:blue"' }elsif( $READING eq "temperature" && $VALUE <= 10 ){ 'style="color:yellow"' }elsif( $READING eq "temperature" && $VALUE <= 4 ){ 'style="color:orange"' }elsif( $READING eq "temperature" && $VALUE <= 0 ){ 'style="color:red"' }else{ 'style="color:gray"' } }

Wo liegt da mein Fehler?
Mit anderen Tempwerten und nur 3 Farben funktioniert es bei anderen Sensoren wunderbar.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: gero am 26 November 2014, 20:10:53
Naja, 4.3 ist eben auch kleiner als 17.
Dreh deine Bedingungen um und fang bei dem kleinsten Wert an.

Gruß,
Gero
Titel: Antw:Neues Modul readingsGroup
Beitrag von: StefanW am 26 November 2014, 20:54:33
Alles klar, Danke!
Jetzt funktioniert es.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 27 November 2014, 01:25:59
Zitat von: justme1968 am 26 November 2014, 19:19:32
beschreib doch noch mal ganz genau was du machen möchtest und wie es aussehen soll. wie deine devices heissen und was es für devices sind. auch die die jetzt gerade mit drin und nicht drin sein sollen.
also ich möchte aus einem DOIF Modul die Zeiten in einer kleinen Übersicht anzeigen lassen. Momentan habe ich dort in dem Modul 5 Timer drin, (es kommen später noch welche dazu)
Diese Zeiten möchte ich getrennt nach Wochentag und Wochenende anzeigen lassen und diese sollen wie schon oben auf den Screenshots zu sehen eine Bezeichnung haben, dies klappt ja auch schon zum Teil, nur was nicht klappt ist die Anzeige getrennt nach Wochentag und Wochenende, da habe ich etliche Versuche hinter mir und aufgegeben.
Es sollen also 3 Spalten sein
1. Spalte der Alias Name 2. Spalte Zeiten Wochentag 3. Spalte Zeiten Wocheende

Das Devices heißt di_Aussenlampe (später kommt noch eines dazu di_zufall_Aussenlampe ist aber noch nicht fertig)
hier mal der Code dazu:
define di_Aussenlampe DOIF ( [Zeitsteuerung] eq "Dämmerung" and ([{sunset("CIVIL",1200,"17:00","22:20")}|12345] or [{sunset("CIVIL",800,"17:00","22:20")}|06]))\
    (set WegLampe_Sw_01 on)\
DOELSEIF ( [Zeitsteuerung] eq "Dämmerung" and ([{sunset("CIVIL",9000,"19:00","22:20")}|0123456]))\
    (set WegLampe_Sw_01 off,set WegLampe_Sw_02 on)\
DOELSEIF ([Zeitsteuerung] eq "Dämmerung" and ([00:15|01234] or [01:15|56]))\
    (set WegLampe_Sw_02 off)\
attr di_Aussenlampe room Automation


Ein list auf das device sieht so aus:
Internals:
   CFGFN      ./FHEM/automation.cfg
   DEF        ( [Zeitsteuerung] eq "Dämmerung" and ([{sunset("CIVIL",1200,"17:00","22:20")}|12345] or [{sunset("CIVIL",800,"17:00","22:20")}|06]))
    (set WegLampe_Sw_01 on)
DOELSEIF ( [Zeitsteuerung] eq "Dämmerung" and ([{sunset("CIVIL",9000,"19:00","22:20")}|0123456]))
    (set WegLampe_Sw_01 off,set WegLampe_Sw_02 on)
DOELSEIF ([Zeitsteuerung] eq "Dämmerung" and ([00:15|01234] or [01:15|56]))
    (set WegLampe_Sw_02 off)



   NAME       di_Aussenlampe
   NR         1997
   NTFY_ORDER 50-di_Aussenlampe
   STATE      cmd_3
   TYPE       DOIF
   Readings:
     2014-11-27 00:15:00   cmd_event       timer_4
     2014-11-27 00:15:00   cmd_nr          3
     2014-11-27 00:15:00   state           cmd_3
     2014-11-27 01:12:12   timer_1_c1      27.11.2014 17:14:47|12345
     2014-11-27 01:12:12   timer_2_c1      27.11.2014 17:08:07|06
     2014-11-27 01:12:12   timer_3_c2      27.11.2014 19:24:47|0123456
     2014-11-27 01:12:12   timer_4_c3      28.11.2014 00:15:00|01234
     2014-11-27 01:15:00   timer_5_c3      28.11.2014 01:15:00|56
   Condition:
     0           InternalDoIf('Zeitsteuerung','STATE','') eq "Dämmerung" and (DOIF_time_once($hash->{timer}{0},$wday,"12345") or DOIF_time_once($hash->{timer}{1},$wday,"06"))
     1           InternalDoIf('Zeitsteuerung','STATE','') eq "Dämmerung" and (DOIF_time_once($hash->{timer}{2},$wday,"0123456"))
     2          InternalDoIf('Zeitsteuerung','STATE','') eq "Dämmerung" and (DOIF_time_once($hash->{timer}{3},$wday,"01234") or DOIF_time_once($hash->{timer}{4},$wday,"56"))
   Days:
     0          12345
     1          06
     2          0123456
     3          01234
     4          56
   Devices:
     0           Zeitsteuerung
     1           Zeitsteuerung
     2           Zeitsteuerung
     all         Zeitsteuerung
   Do:
     0          set WegLampe_Sw_01 on
     1          set WegLampe_Sw_01 off,set WegLampe_Sw_02 on
     2          set WegLampe_Sw_02 off
   Helper:
     last_timer 5
     sleeptimer -1
   Internals:
     0           Zeitsteuerung:STATE
     1           Zeitsteuerung:STATE
     2           Zeitsteuerung:STATE
     all         Zeitsteuerung:STATE
   Readings:
   Realtime:
     0          17:14:47
     1          17:08:07
     2          19:24:47
     3          00:15:00
     4          01:15:00
   State:
   Time:
     0          {sunset("CIVIL",1200,"17:00","22:20")}
     1          {sunset("CIVIL",800,"17:00","22:20")}
     2          {sunset("CIVIL",9000,"19:00","22:20")}
     3          00:15:00
     4          01:15:00
   Timecond:
     0          0
     1          0
     2          1
     3          2
     4          2
   Timer:
     0          0
     1          0
     2          0
     3          0
     4          0
   Timerfunc:
   Timers:
     0           0  1
     1           2
     2           3  4
Attributes:
   room       Automation


Die Readingsgroup sieht momentan so aus:
define ZeitenRG readingsGroup <Wegbeleuchtung>,<Wochentag>,<Wochenende> di_Aussenlampe
attr ZeitenRG alias Weg Beleuchtung
attr ZeitenRG group Zeiten
attr ZeitenRG mapping { 'timer_1_c1' => 'Weg vorn & Gerätehaus EIN WoTag', 'timer_2_c1' => 'Weg vorn & Gerätehaus EIN WoEnde', 'timer_3_c2' => 'Umschaltung Weg Hinten EIN', 'timer_4_c3' => 'Weg Hinten AUS WoEnde', 'timer_5_c3' => 'Weg Hinten AUS WoTag' }
attr ZeitenRG nameStyle style="color:lightgreen"
attr ZeitenRG nostate 1
attr ZeitenRG notime 1
attr ZeitenRG room Licht Eingang
#{substr((ReadingsVal( "di_Aussenlampe", "timer_1_c1","")),0,19)},<Zeit>
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 November 2014, 15:10:49
so langsam verstehe ich was du möchtest...

ich war davon ausgegangen das du WeekdayTimer verwendest um deine lampen zu steuern.

das problem beim DOIF ansatz ist das DOIF keine feste zuordnung zwischen timer und der von dir semantisch damit verbunden Aufgabe hat. wenn du die reihenfolge in deinem DOIF define änderst macht timer1 plötzlich etwas anderes. d.h. du vermischst in einem device unterschiedliche logische aufgaben die du zwar kennst, aber die dem device nicht anzusehen sind, und möchtest diese dann mehr oder minder automatisch wieder auseinander dröseln.

readingsGroup ist dazu ausgelegt starre zusammenhänge immer wider gleich darzustellen. d.h. das gleiche reading aus unterschiedlichen devices in einer tabelle gleich anzuzeigen. du hast aber ein device mit unterschiedlichen readings die gleich dargestellt werden sollen. das passt so nicht richtig und deshalb deine schwierigkeit das abzubilden.

was spricht denn dagegen pro aufgabe einen eigen (Weekday)Timer zu haben (oder von mir aus auch ein DOIF)? dann ist es kein problem eine readingsGroup zu bauen die für alle timer jeweils den alias als beschhreibung der aufgabe anzeigt und nur noch die zeiten trennt. d.h. du hast mehrere devices die mit gleichem reading die gleich dargestellt werden sollen.

die readingsGroup würde dann etwa so aussehen:efine ZeitenRG readingsGroup <Wegbeleuchtung>,<Wochentag>,<Wochenende> TYPE=DOIF:timer.*
attr ZeitenRG mapping $ALIAS
attr ZeitenRG valueFormat formatTimer($DEVICE,$READING)


und in formatTimer machst du die komplette formatierung.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 27 November 2014, 17:28:00
vielen Dank andré das du dir soviel Mühe gibst mir zu helfen.
Ich werde dies nachher mal probieren umzusetzen, mal schauen was dabei raus kommt.
Das DOIF wollte ich eigentlich so lassen, da es jetzt auch mit Hilfe des Forums sehr gut seit 3 Tagen läuft, wenn ich mir jetzt mal so das List vom DOIF anschaue sehe ich so einige Readings
Realtime:
     0          17:14:47
     1          17:08:07
     2          19:24:47
     3          00:15:00
     4          01:15:00

mit denen man eigentlich etwas anfangen könnte, naja ich werde mal noch weiter tüfteln... und fragen  ;)
Danke nochmals...  :D
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 November 2014, 17:46:31
das sind keine readings sondern internals an die du nicht direkt ran kommst und die sich ändern wenn am DOIF modul intern etwas geändert wird.

du musst auch bei jedem neuen timer den du dem einen bestehendesn DOIF hinzufügst wieder deine readingsGroup anpassen weil ein neues reading für den timer hinzu kommt wieder mit einem neuen namen und du musst wieder die zuordnung machen wischen reading und benennung. du hast also mindestens drei stellen mit verteilter information die du immer von hand synchron halten musst.

ich glaube wirklich das du dir einen gefallen tust wenn du nicht alle timer ins gleiche device packst sondern pro timer bzw. eigenständiger aufgabe einen eigenen timer verwendest. egal ob das DOIF oder WeekdayTimer ist. das macht es auch für dich langfristig viel einfachere wartbar. du kannst z.b. jeden timer getrennt per disable deaktivieren wenn manche nur im winter gebraucht werden. du kannst dann z.b. den alias oder das comment attribut jedes timers verwenden um z.b. den titel unter der er in der readingsGroup angezeigt werden soll oder andere individuelle zusatz information abzulegen. das alles (und noch mehr) geht nicht wenn du alles in ein einziges device mit einer riesen schlage von else zweigen verpackst.

es ist immer einfacher zuerst sauber zu trennen (hier nach zweck des timers) und dann automatisch zusammen zu fassen als erst mal alles in einen topf zu schmeißen (ein timer mit dutzenden von bedingungen die eigentlich garnierst miteinander zu tun haben) und dann zu versuchen das automatisch wieder zu trennen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 27 November 2014, 19:44:55
Ok also heute Abend wird es jede Menge zu basteln geben... die Timer die noch dazu kommen die kommen in ein eigenes Devices. Das momentane device hört ja auf den Namen di_Aussenlampe, dass nächste dann di_Aussenlampe_zufall, dass hatte ich schon mal so getrennt... Das meintest du sicher..?
Habe nur noch keine DEF die mir zusagt, soll ja ein Zufallsschalter werden, aber ich denke es wird der RandomTimer, der gefällt mir am besten...!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dancatt am 28 November 2014, 08:19:02
Zitat von: justme1968 am 25 November 2014, 23:22:47
@dancatt: das sollte eigentlich wie bisher gehen. ich habe es mit ein paar einfachen readingsGroups nachgestellt und hatte keine probleme. kannst du bitte auch mal etwas einfaches definieren. z.b. nur define rg readingsGroup <abc>,<%on>

Ich habe das Problem gefunden.
Die Ermittlung des ValueFormates habe in in die Utils ausgelagert. Als Default wird immer $VALUE zurückgeliefert. Dies könnte auch null oder sonst was sein. Wenn ich dies entferne dann funzt alles wieder. Dieses Verhalten hatte ich zumindest mal nicht vor dem Update.


sub rgValueFormat($$$)
{
  my($DEVICE,$READING,$VALUE) = @_;
  my $TYPE = getType($DEVICE);
  Log 3, "rgValueFormat() TYPE: '".$TYPE."' DEVICE: '".$DEVICE."' READING: '".$READING."' VALUE: '".$VALUE."'";
 
  if($TYPE eq "CUL_HM") {
    return "%0.1f &deg;C"   if($READING eq "desired-temp");
 
    return "%0.1f &deg;C"   if($READING eq "measured-temp");

    return "%0.1f %%"       if($READING eq "humidity");
 
    return "%0.1f %%"       if ($READING eq "ValvePosition");

    # Falls beide Readings existieren und der aktuelle Reading = "battery", dann diesen ignorieren
    return undef            if( $READING eq "battery" && ReadingsVal($DEVICE,"batteryLevel", undef) );
  }
  elsif ($TYPE eq "SYSMON") {
    return "%0.1f &deg;C"   if($READING eq "cpu_temp_avg");

    return "%0.1f MHz"      if($READING eq "cpu1_freq");
  }
  elsif ($TYPE eq "holiday") {
    if ($DEVICE eq "holiday_Abfall") {

    }
  }
  elsif ($TYPE eq "PRESENCE") {
 
  }
 
  return $VALUE;
}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: MarcelK am 28 November 2014, 10:57:53
Da das Posting im Update Thread wohl untergegangen ist hier nochmal meine Anfrage:

Am Ende von readingsGroup_2html kommen folgende zwei Zeilen:

  $ret .= sprintf("<tr class=\"%s\">", ($row&1)?"odd5":"even");
  $ret .= "<td colspan=\"99\"><div style=\"color:#ff8888;text-align:center\">updates disabled</div></td></tr>" if( $disable > 0 );

Wenn ich das richtig verstehe öffnet die erste eine neue Tabellen-Zeile die eventuell das "Updates disabled" aufnehmen soll. Dies ist aber nicht mit einem if ( $disable > 0) abgesichert, ist das ein Bug? In den meisten Themes fällt das nicht auf, aber im IOS6 Theme erzeugt das eine deutliche Leerzeile am Ende.

Grüße, Marcel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 28 November 2014, 11:23:25
@dancatt: hab den fehler gefunden. ist ab morgen behoben.

@MarcelK: ist auch behoben.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: MarcelK am 28 November 2014, 15:59:28
Zitat von: justme1968 am 28 November 2014, 11:23:25
@MarcelK: ist auch behoben.

Supi, danke schön :-)

Grüße, Marcel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Bkel am 30 November 2014, 11:48:02
Vielleicht kann mir jemand helfen, mit der Kanone readingsgroup einen Spatzen zu erlegen ?

Ich kontrolliere über eine PRESENCE-Definition einen Server, der über powercmd gestartet und heruntergefahren werden kann. Funktioniert auch und mit webcmd wird es auch kilckbar. Jetzt hätte ich gerne statt "power on" und "power off" klickbare icons. Meine "Recherchen" haben gezeigt, dass das mit webcmd nicht geht und zu readingsGroup geführt.

define p_sv2 PRESENCE lan-ping 192.168.2.20
attr p_sv2 event-on-change-reading 1
attr p_sv2 powerCmd "/opt/fhem/etc/sv2_control.sh %ARGUMENT"
attr p_sv2 room EDV
attr p_sv2 webCmd power on:power off

define server_status readingsGroup p_sv2:state,<%general_an>,<%general_aus>
attr server_status commands {'general_an' => 'set $DEVICE power on', 'general_aus' => 'set $DEVICE power off'}
attr server_status mapping {'p_sv2' => 'sv2 192.168.2.20'}
attr server_status notime 1
attr server_status room EDV
attr server_status valueIcon {'state.absent' => 'rc_RED', 'state.present' => 'rc_GREEN'}


Ich bekomme eine schöne Darstellung des Server-Status und der Icons. Mein wahrscheinllich naiver Versuch, diese mit den Befehlen zu koppeln, scheitert aber.

Hat jemand einen sonntäglichen Tipp für mich?

Gruß
Boris
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 30 November 2014, 11:56:49
Zitat von: Bkel am 30 November 2014, 11:48:02
Hat jemand einen sonntäglichen Tipp für mich?
Meines wissens nach musst du den namen der rg vor den commands angeben, bin aber nicht ganz auf dem laufendem was die updates in letzter ZEit angeht.

attr server_status commands {'server_status.general_an' => 'set $DEVICE power on', 'server_status.general_aus' => 'set $DEVICE power off'}


Grüße
Igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 30 November 2014, 12:22:50
wenn du auf den wert eines readings mappen willst muss der name des readings davor stellen. bei den <%..> icons ist das der name der readingsGroup.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Bkel am 30 November 2014, 14:12:57
Vielen Dank, das war es!  :)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Bkel am 01 Dezember 2014, 14:55:46
Vielleicht kann mir nochmal jemand helfen? Scheitere wahrscheinlich an PERL.

Gegeben sind 2x PRESENCE WLANst00 und WLANst01 und die dazugehörigen Schaltsteckdosen WLANsw00 und WLANsw01


define WLAN readingsGroup <%WLAN-Status>,<%it_wifi> WLAN..st:state,state@{$DEVICE=~s/st/sw/;;$DEVICE;;},<%general_an>,<%general_aus>
attr WLAN commands {'WLAN.general_an' => 'set {$DEVICE=~s/st/sw/;;$DEVICE;;} on','WLAN.general_aus' => 'set {s/st/sw/$DEVICE} off'}
attr WLAN mapping {'WLAN00st' => 'WLAN EG','WLAN01st' => 'WLAN OG'}
attr WLAN room EDV
attr WLAN valueIcon {'state.absent' => 'it_wifi@red','state.present' => 'it_wifi@green','state.on' => 'general_an@green','state.off' => 'general_aus@red'}


Die Anzeige der states von WLANst und WLANsw und der Icons für ein und aus funktioniert.
Jetzt würde ich gerne über das Attribut commands das abgeleitete Device schalten und scheitere daran.
Wahrscheinlich passt der einfach aus der Def. übernommene Ausdruck nicht.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 01 Dezember 2014, 15:22:10
wenn du perl code im mapping hat muss es mit '{ anfangen und mit }' aufhören.

also etwas in der art: '{$DEVICE=~s/st/sw/;;"set $DEVICE on"}'

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 02 Dezember 2014, 12:52:24
Hi,
ich habe seit heute im Log diesen Fehler
Zitat2014.12.02 12:48:07.235 1: PERL WARNING: Use of uninitialized value $htmlTxt in pattern match (m//) at ./FHEM/33_readingsGroup.pm line 715.
In Zelle 715 steht:
Zitatif( $htmlTxt =~ m/<td colspan='2'>(.*)<\/td>/s ) {

Was ist das Problem?

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 02 Dezember 2014, 12:58:10
habs behoben.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 02 Dezember 2014, 14:14:39
Hallo Andre,

war jetzt drei Wochen offline und habe gestern das Update der rg eingespielt. Leider scheint die Ergänzung, die ich vorgeschlagen habe, verlorengegangen zu sein:
Per valueFormat auch dann etwas auszugeben, wenn für das reading ein Attribut "commands" definiert ist.

Hintergrund: Hinter dem Menü (Temperatur) z.B. noch "Grad C" (die Werteinheit) in der gleichen Zelle auszugeben.

In diesem Fall enthält valueFormat für das reading eine Konstante.

Gruß


Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 02 Dezember 2014, 20:41:22
das habe ich nicht vergessen. ich möchte es aber etwas anders lösen.

am liebsten über zwei zusätzliche attribute prefix und suffix. dann kann man valueFormat wieder nur zum formatieren verwenden und muss nicht hier noch einheiten oder ähnliches dran hängen. das würde glaube ich so manche meldung wegen nicht verdoppeltem % vermeiden.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 02 Dezember 2014, 22:06:48
angehängt eine version mit den neuen attributen valuePrefix und valueSuffix.

bitte probier mal ob damit geht was du möchtest.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 04 Dezember 2014, 12:40:32
Hallo andre,

wie schon befürchtet funktioniert das:
Zitat von: igami am 26 November 2014, 14:41:18
Kann man das optional machen? Ich habe readingsGroups in denen ich das als feature nutze

define rg_12220_1 readingsgroup EIB_1106:?alias,state,set@EIB_2000,?alias,<%fts_shutter_up>,<%fts_shutter_down>
attr rg_12220_1 commands   {'state' => 'trigger ntfy_rg $DEVICE $READING',  'rg_12220_1.fts_shutter_up' => 'set $DEVICE off',  'rg_12220_1.fts_shutter_down' => 'set $DEVICE on'}

das würde dann nicht mehr funktionieren. Das reading 'set' existiert natürlich nicht. Mit einem reset@$DEVICE kann man die Variable auch wieder resetten.
nicht mehr.

Hier ein List der vollständigen rg.

Internals:
   DEF        <Beleuchtung>,<Jalousie>
EIB_1106:?alias,state,set@EIB_2000,?alias,<%fts_shutter_up>,<%fts_shutter_down>,set@EIB_2005,<%fts_blade_arc_close_00>,<%fts_blade_arc_close_100>
EIB_1104:?alias,state,set@EIB_2001,?alias,<%fts_shutter_up>,<%fts_shutter_down>,set@EIB_2006,<%fts_blade_arc_close_00>,<%fts_blade_arc_close_100>
EIB_2002:<>,<>,?alias,<%fts_shutter_up>,<%fts_shutter_down>,set@EIB_2007,<%fts_blade_arc_close_00>,<%fts_blade_arc_close_100>
EIB_2003:<>,<>,?alias,<%fts_shutter_up>,<%fts_shutter_down>,set@EIB_2008,<%fts_blade_arc_close_00>,<%fts_blade_arc_close_100>
EIB_2004:<>,<>,?alias,<%fts_shutter_up>,<%fts_shutter_down>,set@EIB_2009,<%fts_blade_arc_close_00>,<%fts_blade_arc_close_100>
   NAME       rg_12160_1
   NR         886
   NTFY_ORDER 50-rg_12160_1
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CHANGETIME:
   Content:
     EIB_1104   1
     EIB_1106   1
     EIB_2002   1
     EIB_2003   1
     EIB_2004   1
   Content2:
     EIB_2000   1
     EIB_2001   1
     EIB_2005   1
     EIB_2006   1
     EIB_2007   1
     EIB_2008   1
     EIB_2009   1
   DEVICES:
     ARRAY(0x6c31f70)
     ARRAY(0x6e50d28)
     ARRAY(0x740d6f8)
     ARRAY(0x741be78)
     ARRAY(0x7320a10)
     ARRAY(0x741b6f8)
   DEVICES2:
     ARRAY(0x6c31f70)
     ARRAY(0x6e50d28)
     ARRAY(0x740d6f8)
     ARRAY(0x741be78)
     ARRAY(0x7320a10)
     ARRAY(0x741b6f8)
     ARRAY(0x6e572a8)
     ARRAY(0x7198870)
     ARRAY(0x7423038)
     ARRAY(0x73acaa0)
     ARRAY(0x719b5a0)
     ARRAY(0x7199810)
     ARRAY(0x4582610)
   Fhem:
     lastDefChange 83
     last_update 1417692815.35412
   Helper:
     DEF
     nameStyle  {($READING eq "Beleuchtung" ||$READING eq "Jalousie" )?'style="font-size:20px;text-align:center;color:RoyalBlue"'  :'style="font-size:16px"'}
     valueStyle style="font-size:16px"
     Commands:
       rg_12160_1.fts_blade_arc_close_00 set $DEVICE off
       rg_12160_1.fts_blade_arc_close_100 set $DEVICE on
       rg_12160_1.fts_shutter_down set $DEVICE on
       rg_12160_1.fts_shutter_up set $DEVICE off
       state      trigger ntfy_rg $DEVICE $READING
     Valuecolumns:
       Beleuchtung colspan="2"
       Jalousie   colspan="5"
     Valueicon:
       state.off  li_wht_off
       state.on   li_wht_on
       state.undefined li_wht_on
Attributes:
   DbLogExclude .*
   commands   {'state' => 'trigger ntfy_rg $DEVICE $READING',  'rg_12160_1.fts_shutter_up' => 'set $DEVICE off',  'rg_12160_1.fts_shutter_down' => 'set $DEVICE on',  'rg_12160_1.fts_blade_arc_close_00' => 'set $DEVICE off',  'rg_12160_1.fts_blade_arc_close_100' => 'set $DEVICE on'}
   group      Visualisierung
   nameStyle  {($READING eq "Beleuchtung" ||$READING eq "Jalousie" )?'style="font-size:20px;text-align:center;color:RoyalBlue"'  :'style="font-size:16px"'}
   noheading  1
   nolinks    1
   nonames    1
   room       1.2.160:Montageleiter
   valueColumns {'Beleuchtung' => 'colspan="2"',  'Jalousie' => 'colspan="5"'}
   valueIcon  {'state.on' => 'li_wht_on',  'state.undefined' => 'li_wht_on',  'state.off' => 'li_wht_off' }
   valueStyle style="font-size:16px"

Hast du eine Idee wie man das ganze nun einfach lösen könnte? Vorher wurde das Device ja einfach brav überschrieben. Vielleicht kann man ja einen Befehl zum neusetzen des Devices einbauen. Z.B. ein zweites <device>: in der Zeile.

Grüße
Igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 04 Dezember 2014, 12:49:19
ich bin nicht sicher das ich das problem verstehe.

vorher war es so das ein ...,reading@device,... für ein device das nicht vorhanden war nichts getan hat. das ist jetzt immer noch so.

dazugekommen ist jetzt das man ...,!reading@!device,... schreiben kann um etwas anzuzeigen obwohl es reading und device nicht gibt. ohne die ! sollte sich nichts geändert haben.

was genau funktioniert nicht mehr bzw. wie sollte es stat dessen funktionieren.

kannst du das ganze bitte mit ein oder zwei dummys und einer readingsGroup nachstellen?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 04 Dezember 2014, 13:15:27
Hallo Andre,


define rg_12220_1 readingsgroup EIB_1106:?alias,state,set@EIB_2000,?alias,<%fts_shutter_up>,<%fts_shutter_down>
attr rg_12220_1 commands   {'state' => 'trigger ntfy_rg $DEVICE $READING',  'rg_12220_1.fts_shutter_up' => 'set $DEVICE off',  'rg_12220_1.fts_shutter_down' => 'set $DEVICE on'}

Hier wird erst alias und State vom "eigentlichen" Device angezeit.
set@EIB_2000 würde ja das reading set anzeigen, es existiert jedoch nicht
nun der Trick
?alias liefert nun den alias vom EIB_2000, da $DEVICE immernoch EIB_2000 ist und nicht zurück gesetzt wurde
<%fts_shutter_up> und <%fts_shutter_down> sind in den commands so angelegt, dass sie on bzw. off setzen.

Was mir als Lösung einfällt wäre mit ! zu arbeiten, ist aber mehr Aufwand als vorher.

Ich hoffe es ist verständlich was ich meine.

Grüße
Igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 04 Dezember 2014, 13:21:35
achso...

das das device nicht zurück gesetzt wurde ist aber wirklich ein fehler gewesen. der sollte nicht drin bleiben weil er deinige andere dinge unmöglich macht. das ! würde hier auch nicht helfen.

du kannst aber einfach ?alias@EIB_2000 schreiben. und im mapping für die beiden shutter icons den device namen auch direkt rein schreiben.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 04 Dezember 2014, 13:31:39
Habe es nun folgendermaßen gelöst, muss halt bei jedem 'Button' das @ angeben

Internals:
   DEF        <Beleuchtung>,<Jalousie>
EIB_1106:?alias,state,?alias@EIB_2000,!up@EIB_2000,!down@EIB_2000,!00@EIB_2005,!100@EIB_2005
EIB_1104:?alias,state,?alias@EIB_2001,!up@EIB_2001,!down@EIB_2001,!00@EIB_2006,!100@EIB_2006
EIB_2002:<>,<>,?alias,!up,!down,!00@EIB_2007,!100@EIB_2007
EIB_2003:<>,<>,?alias,!up,!down,!00@EIB_2008,!100@EIB_2008
EIB_2004:<>,<>,?alias,!up,!down,!00@EIB_2009,!100@EIB_2009
   NAME       rg_12160_1
   NR         886
   NTFY_ORDER 50-rg_12160_1
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CHANGETIME:
   Content:
     EIB_1104   1
     EIB_1106   1
     EIB_2002   1
     EIB_2003   1
     EIB_2004   1
   Content2:
     EIB_2000   1
     EIB_2001   1
     EIB_2005   1
     EIB_2006   1
     EIB_2007   1
     EIB_2008   1
     EIB_2009   1
   DEVICES:
     ARRAY(0x7229ba8)
     ARRAY(0x727fb20)
     ARRAY(0x46f4f00)
     ARRAY(0x7416600)
     ARRAY(0x6fd92e8)
     ARRAY(0x725ea60)
   DEVICES2:
     ARRAY(0x7229ba8)
     ARRAY(0x727fb20)
     ARRAY(0x46f4f00)
     ARRAY(0x7416600)
     ARRAY(0x6fd92e8)
     ARRAY(0x725ea60)
     ARRAY(0x6fddd80)
     ARRAY(0x6ffd498)
     ARRAY(0x6fd9fb8)
     ARRAY(0x7197fd8)
     ARRAY(0x757ae98)
     ARRAY(0x6eda578)
     ARRAY(0x7581ab0)
     ARRAY(0x741b428)
     ARRAY(0x7198768)
     ARRAY(0x7198870)
     ARRAY(0x740d440)
     ARRAY(0x6fae368)
     ARRAY(0x4520ae8)
     ARRAY(0x756a1c0)
   Fhem:
     lastDefChange 93
     last_update 1417696055.34435
   Helper:
     DEF
     nameStyle  {($READING eq "Beleuchtung" ||$READING eq "Jalousie" )?'style="font-size:20px;text-align:center;color:RoyalBlue"'  :'style="font-size:16px"'}
     valueStyle style="font-size:16px"
     Commands:
       00         set $DEVICE off
       100        set $DEVICE on
       down       set $DEVICE on
       state      trigger ntfy_rg $DEVICE $READING
       up         set $DEVICE off
     Valuecolumns:
       Beleuchtung colspan="2"
       Jalousie   colspan="5"
     Valueicon:
       00         fts_blade_arc_close_00
       100        fts_blade_arc_close_100
       down       fts_shutter_down
       state.off  li_wht_off
       state.on   li_wht_on
       state.undefined li_wht_on
       up         fts_shutter_up
Attributes:
   DbLogExclude .*
   commands   {'state' => 'trigger ntfy_rg $DEVICE $READING',  'up' => 'set $DEVICE off',  'down' => 'set $DEVICE on',  '00' => 'set $DEVICE off',  '100' => 'set $DEVICE on'}
   group      Visualisierung
   nameStyle  {($READING eq "Beleuchtung" ||$READING eq "Jalousie" )?'style="font-size:20px;text-align:center;color:RoyalBlue"'  :'style="font-size:16px"'}
   noheading  1
   nolinks    1
   nonames    1
   room       1.2.160:Montageleiter
   valueColumns {'Beleuchtung' => 'colspan="2"',  'Jalousie' => 'colspan="5"'}
   valueIcon  {'state.on' => 'li_wht_on',  'state.undefined' => 'li_wht_on',  'state.off' => 'li_wht_off', 'up' => 'fts_shutter_up', 'down' => 'fts_shutter_down', '00' => 'fts_blade_arc_close_00', '100' => 'fts_blade_arc_close_100' }
   valueStyle style="font-size:16px"

War doch gar nicht so schlimm wie gedacht ;)

Grüße
Igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 04 Dezember 2014, 13:48:23
die buttons würde ich vermutlich lösen in dem ich mir im command mapping für up und down über ein lookup das device besorgen würde das zur zeile gehört.

wenn du das in eine eigene sub steckst kannst du die auch für den alias wieder verwenden.

die readingsGroup würde dann etwas so aussehen:

define rg_12160_1 readingsGroup <Beleuchtung>,<Jalousie> EIB_110(6|4):?alias,state,?alias@{DeviceOf($DEVICE)},!up,!down,!00,!100 EIB_200(2|3|4):<>,<>,?alias,!up,!down,!00,!100
attr rg_12160_1 {'state' => 'trigger ntfy_rg $DEVICE $READING',  'up' => 'set DeviceOf($DEVICE) off',  'down' => 'set DeviceOf2($DEVICE) on',  '00' => 'set DeviceOf2($DEVICE) off',  '100' => 'set DeviceOf2($DEVICE) on'}


und etwas in der art:
my %device_mapping = ( 'EIB_1106' => 'EIB_2000', 'EIB_1104' => 'EIB_2001' );
my %device_mapping2 = ( 'EIB_1106' => 'EIB_2005', 'EIB_1104' => 'EIB_2006',  'EIB_2002' => 'EIB_2007', ...);
sub DeviceOf($){
my ($DEVICE) = @_;
return $device_mapping{$DEVICE};
sub DeviceOf2($){
my ($DEVICE) = @_;
return $device_mapping2{$DEVICE};


d.h. die zuordnung der devices die zusammen gehören wird ein mal in 99_myUtils gemacht und in der readingsGroup immer wieder verwendet. wenn sich etwas ändert ist nur eine stelle zu ändern.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Simon74 am 08 Dezember 2014, 11:11:54
Hätte gerne eine Übersicht im Floorplan für die Homematic Fensterkontakte. (Aliasname und Icon für Offen oder geschlossen)
Wie kann nach Attribut subType -> threeStateSensor filtern ?
So gehts nicht:
.*:?subType=threeStateSensor
Titel: Neues Modul readingsGroup
Beitrag von: justme1968 am 08 Dezember 2014, 11:26:40
readingsGroup kann zur zeit nur auf internals filtern. nicht auf attribute.

du kannst aber über ein passendes ValueFormat dann weiter filtern.

also readingsGroup auf TYPE=CUL_HM:state,?subType

und dann für valueFormat undef zurück liefern wenn der subType ne "threeStateSensor" ist und "&nbsp" sonst.

das icon beikommst du über valueIcon %devStateIcon

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Simon74 am 08 Dezember 2014, 13:44:56
Danke, funktioniert bis auf die Filterfunktion, wenn ich das richtig verstanden habe müsste sich valueFormat wie folgt aussehen:
{ return undef if ( $VALUE eq ReadingsVal("subType","threeStateSensor","") ); return "&nbsp";}
Bekomme dann jedoch trotzdem alle Devices.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 08 Dezember 2014, 13:58:13
{ return undef if ( $READING eq "subType" && $VALUE ne "threeStateSensor" ); return $VALUE}

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Simon74 am 08 Dezember 2014, 14:33:52
Auch mit diesm ValueFormat bekomme ich seltsamerweise alle Devices
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 08 Dezember 2014, 14:39:20
lass dir mal mit { return ">$READING< >$VALUE<"; } in die readingsGroup schreiben welche werte tatsächlich da sind.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 08 Dezember 2014, 14:42:52
mir ist übrigens noch eine vereinfachung eingefallen:

- definiere die readingGroup nur auf state (also ohne subtype)

- valueFormat etwas in der art:
{ return undef if ( AttrVal( $DEVICE", "subType","") ne "threeStateSensor" ); return $VALUE;}

dann musst du dich nicht um die zusätzliche spalte für das subtype attribut kümmern.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Simon74 am 08 Dezember 2014, 16:08:45
So funktioniert die ReadingsGroup der Homematic Fensterkontakte:

define FensterRG readingsGroup TYPE=CUL_HM:state
attr FensterRG nameStyle 1
attr FensterRG noheading 1
attr FensterRG notime 1
attr FensterRG mapping %ALIAS:
attr FensterRG valueFormat { return $VALUE if ( AttrVal( $DEVICE, "subType","") eq "threeStateSensor" );; return undef }
attr FensterRG valueIcon %devStateIcon


Titel: Antw:Neues Modul readingsGroup
Beitrag von: fruit am 08 Dezember 2014, 18:54:57
I believe I need something similar to the above for a valueStyle string but I can't get my head around it so any help welcome

attr rg_Heating valueStyle { if ($VALUE eq "00"){'style="visibility:hidden"'}elsif($READING eq "valveposition" && $VALUE == 0){ 'style="color:blue"' }elsif( $READING eq "valveposition" && $VALUE >= 0 ){ 'style="color:red;;;;;;;;font-weight:bold"' }elsif( $READING eq "temperature" && $VALUE > 23 ){ 'style="color:red"' }else{ 'style="color:black"' } }

Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 08 Dezember 2014, 20:07:36
Hallo Simon74

Außer Du hast noch einen 3-Kanal-Funk-Schließerkontakt-Interface HM-SCI-3-FM ,
der hat den gleichen SubTyps .... müsste man noch filtern !

kvo1
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 08 Dezember 2014, 20:28:34
wenn das "model" gleich ist ...dann so

define FensterRG readingsGroup TYPE=CUL_HM:state
attr FensterRG nameStyle 1
attr FensterRG alias Fenster- / Türstatus
attr FensterRG notime 1
attr FensterRG mapping %ALIAS:
attr FensterRG valueFormat { return $VALUE if ( AttrVal( $DEVICE, "model","") eq "HM-SEC-SC-2" );; return undef }
attr FensterRG valueIcon %devStateIcon



kvo1
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 10 Dezember 2014, 19:59:00
Hi, ich habe heute diesen Fehler im Log:
2014.12.10 19:45:32.880 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 651.
In 651 steht:
Zitat$v = sprintf( $value_format, $v );

Was ist falsch?


Andere frage, wie kann ich das aktuelle Datum und die aktuelle Zeit in einer readingsGroup ausgeben?

Danke
Titel: Neues Modul readingsGroup
Beitrag von: justme1968 am 10 Dezember 2014, 22:39:23
du hast vermutlich irgendein valueFormat definiert das ein numerisches reading erwartet und der wert ist aber nur ein - .

was möchtest du mit
der zeit genau tun? wenn du willst das sie sich live aktualisiert muss die zeit in einem reading stehen und dort aktualisiert werden.

wenn es die beim aufruf aktuelle zeit sein soll reicht ein ...,<{TimeNow()}>,...

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Simon74 am 12 Dezember 2014, 21:21:30
Ich habe nach Anleitung vom Wiki die ReadingsGroup für Enigma nachgebaut.
Was hier manchmal stört sind die überlangen "Aktuell" (currentTitle), und "Nächstes" (eventname_next).
Kann man per Readingsgroup die Strings schneiden ?

Schön wäre eine max. Länge, und wenn davor ein " - " kommt, dann dort schon abschneiden


Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 12 Dezember 2014, 22:02:38
das kannst du über ein passendes valueFomat doch einfach selber machen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Simon74 am 12 Dezember 2014, 22:57:42
Danke für valueFormat Hinweis, habe nun die Sub meinen Bedürfnissen angepasst.

Zunächst auf 70 Zeichen begrenzen, und dann noch von rechts nach " - " suchen und dort schneiden, scheint zu funktionieren

###############################################################################
# Receiver Status (ReadingsGroup)
###############################################################################
sub wzReceiverRGvalueFormat($$$)
{
  my ($DEVICE,$READING,$VALUE) = @_;

  if($READING eq 'eventtitle') {
    my $STRING = substr($VALUE, 0, 70);
    #return $STRING;
    return substr($STRING,0,rindex($STRING,' - ')+1);
  } elsif( $READING eq 'eventtitle_next') {
    my $STRING = substr($VALUE, 0, 70);
    #return $STRING;
    return substr($STRING,0,rindex($STRING,' - ')+1);
  } elsif( $READING eq 'volume' ) {
    if( ReadingsVal($DEVICE, "mute", "") eq "on") {
      return "mute";
    } else {
      return "%i %%";
    }
  }
}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Avatar am 13 Dezember 2014, 10:59:51
Seit dem letzten update habe ich immer folgende Fehlermeldung beim Start von FHEM im Log:
"Global symbol $READING requires ....."

Grundsätzlich läuft alles dann. Hat dies mit dem ValueFormat zu tun, hat sich da etwas geändert?

Ein ValueFormat definition ist zum bsp:
{ if ( $READING =~ m/B./ ) { return substr($VALUE,6,10)." um ".substr($VALUE,0,5);;}}

Grüsse
Eric
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 13 Dezember 2014, 11:01:36
kommt die meldung nur beim start?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Avatar am 13 Dezember 2014, 11:04:26
Ja die kommt nur bei start. und bei jedem definierten Reading.

Grüsse
Eric
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 13 Dezember 2014, 12:34:08
ich denke ich weiß woran es liegt. bitte versucht mal das ganze valueStyle attribut in einfache ' zu stecken. also so: '{...}'
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 13 Dezember 2014, 18:01:22
Zitat von: justme1968 am 10 Dezember 2014, 22:39:23
du hast vermutlich irgendein valueFormat definiert das ein numerisches reading erwartet und der wert ist aber nur ein - .

was möchtest du mit
der zeit genau tun? wenn du willst das sie sich live aktualisiert muss die zeit in einem reading stehen und dort aktualisiert werden.

wenn es die beim aufruf aktuelle zeit sein soll reicht ein ...,<{TimeNow()}>,...

gruß
  andre

Hi Andre,
ich habe folgendes valueFormat
{ VU_UltimoRGvalueFormat($DEVICE,$READING,$VALUE);; }
Ist da was falsch?

Ich möchte das Datum und die Uhrzeit gerne auf einem FP darstellen. Sie soll sich live aktualisieren. Wie kann ich das machen?

Danke

Bekomme im Log auch noch folgende Fehler:
2014.12.14 01:12:32.852 3: VU_UltimoRG: Global symbol "$DEVICE" requires explicit package name at (eval 44) line 1, <$fh> line 1374.
Global symbol "$READING" requires explicit package name at (eval 44) line 1, <$fh> line 1374.
Global symbol "$VALUE" requires explicit package name at (eval 44) line 1, <$fh> line 1374.

2014.12.14 01:12:32.854 3: VU_UltimoRG: Global symbol "$READING" requires explicit package name at (eval 45) line 1, <$fh> line 1375.
Global symbol "$VALUE" requires explicit package name at (eval 45) line 1, <$fh> line 1375.
Global symbol "$READING" requires explicit package name at (eval 45) line 1, <$fh> line 1375.
Global symbol "$VALUE" requires explicit package name at (eval 45) line 1, <$fh> line 1375.
Global symbol "$READING" requires explicit package name at (eval 45) line 1, <$fh> line 1375.
Global symbol "$DEVICE" requires explicit package name at (eval 45) line 1, <$fh> line 1375.


die rd sieht so aus:
Internals:
   DEF        VU_Ultimo:,<Aktuell>,eventtitle,<Rest>,eventremaining_hr,<Dauer>,eventduration_hr VU_Ultimo:<Beschreibung>,eventdescription VU_Ultimo:,<Nächste>,eventtitle_next,<Start>,eventstart_next_hr,<Dauer>,eventduration_next_hr VU_Ultimo:,<HDD Kapazität>,hdd1_capacity,<Frei>,VU_Ultimo:hdd1_free VU_Ultimo:,<Lautstärke>,volume,<HDD>,hdd1_capacity,<Frei>,hdd1_free
   NAME       VU_UltimoRG
   NR         260
   NTFY_ORDER 50-VU_UltimoRG
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     VU_Ultimo  1
   Content2:
   DEVICES:
     ARRAY(0x217eee8)
     ARRAY(0x206c0a8)
     ARRAY(0x206c090)
     ARRAY(0x2069e00)
     ARRAY(0x217f0e0)
   Fhem:
     lastDefChange 3
     last_update 1418515957.99301
   Helper:
     DEF
     mapping    &nbsp
     valueFormat { VU_UltimoRGvalueFormat($DEVICE,$READING,$VALUE);; }
     valueStyle { if($READING eq "hdd1_free" && $VALUE < 200){ 'style="color:red"' }elsif( $READING eq "hdd1_free" && $VALUE < 500 ){ 'style="color:orange"' }elsif( $READING eq "volume" && ReadingsVal($DEVICE, "mute", "") eq "on" ){ 'style="color:red"' }else{ 'style="color:green"' } }
     Valuecolumns:
       eventdescription colspan="4"
Attributes:
   fp_Reciever 317,167,0,
   mapping    &nbsp
   noheading  1
   nostate    1
   notime     1
   valueColumns { eventdescription => 'colspan="4"' }
   valueFormat { VU_UltimoRGvalueFormat($DEVICE,$READING,$VALUE);; }
   valueStyle { if($READING eq "hdd1_free" && $VALUE < 200){ 'style="color:red"' }elsif( $READING eq "hdd1_free" && $VALUE < 500 ){ 'style="color:orange"' }elsif( $READING eq "volume" && ReadingsVal($DEVICE, "mute", "") eq "on" ){ 'style="col
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhainz am 14 Dezember 2014, 10:38:22
Ich hab das Problem auch, bei jeder ReadingsGroup mit valueStyle oder valueFormat.

2014.12.14 10:31:45.236 3: rg_allgTemperaturen: Global symbol "$DEVICE" requires explicit package name at (eval 119) line 1, <$fh> line 1863.
Global symbol "$READING" requires explicit package name at (eval 119) line 1, <$fh> line 1863.
Global symbol "$VALUE" requires explicit package name at (eval 119) line 1, <$fh> line 1863.

2014.12.14 10:31:45.236 3: rg_allgTemperaturen: Global symbol "$DEVICE" requires explicit package name at (eval 120) line 1, <$fh> line 1864.
Global symbol "$READING" requires explicit package name at (eval 120) line 1, <$fh> line 1864.
Global symbol "$VALUE" requires explicit package name at (eval 120) line 1, <$fh> line 1864.


Zitat von: justme1968 am 13 Dezember 2014, 12:34:08
ich denke ich weiß woran es liegt. bitte versucht mal das ganze valueStyle attribut in einfache ' zu stecken. also so: '{...}'

Mit valueStyle '{...}'  verschwindet die Meldung das Styling ist aber auch weg. Zusätzlich muss ich auch valueFormat in '{...}' stecken damit auch die 2. Meldung weg ist.

Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 14 Dezember 2014, 10:42:57
ich bin schon am reparieren.

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 14 Dezember 2014, 15:44:37
ich habe hier: http://forum.fhem.de/index.php/topic,29110.msg230461.html#new (http://forum.fhem.de/index.php/topic,29110.msg230461.html#new) eine version angehängt bei der die warnungen weg sein sollten.

bitte mal testen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Avatar am 14 Dezember 2014, 15:56:49
Hallo,
bei mir ist die Meldung weg, soweit nun alles ok.
Grüsse
Eric
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Simon74 am 14 Dezember 2014, 16:02:56
Ich würde gerne eine Stromverbrauch ReadingGroup mit CUL_HM machen.

So sehe ich nur die Homematic Steckdosen Devices:
DEF:
TYPE=CUL_HM:R-txThrHiPwr

Wie schaffe ich es nun (per valueFormat) den Wert aus dem Reading "state" anstatt "R-txThrHiPwr" anzuzeigen ?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 14 Dezember 2014, 16:11:11
zum beispiel so:

attr <rg> valueFormat { 'R-txThrHiPwr' => '{ReadingsVal($DEVICE,"state","")}' }


du kannst aber auch ein model&<model>:state verwenden und statt <model> dann den inhalt des model attributes verwenden.

ich hatte das filtern auf attribute mit & schon eingebaut aber es war noch nicht dokumentiert.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Simon74 am 14 Dezember 2014, 16:18:14
Danke.
Readingsgroup Homematic Steckdosen Stromverbrauch:

DEF:model&HM-ES-PMSw1-Pl:state
valueFormat:{ return $VALUE if ( ReadingsVal($DEVICE,"R-txThrHiPwr","") );; return undef }
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhainz am 14 Dezember 2014, 18:16:19
Zitat von: justme1968 am 14 Dezember 2014, 15:44:37
bitte mal testen.

Wieder alles ok.
Danke!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 15 Dezember 2014, 09:22:24
Moin,
ich versuche gerade die commands meines wifiled-devices in einer readingsgroup einzubauen, steh aber irgendwie auf dem schlauch.
ich habe zumindest "Blau" als cmd hinbekommen, möchte aber wenn möglich die farbrechtecke und ggf. den colorpicker in der readingsgroup (siehe devicebild).

DEF:
az_light_ledschlauch:<>,<>,<>,state,<>,<>,<>,<%Blau>
.*._dose_.*:<>,<>,<>,state

hinterlegtes command-attr
commands { "Steckdosen.Blau" => "set %DEVICE rgb 0000FF" }
webcmf des wifiled
webCmd        rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:toggle:on:off

es geht um az_light_ledschlauch, über state an / aus geht, bei klick auf Blau wird die Frabe blau.
Sieht mit schriftzug aber doof aus (siehe bild ist / soll)

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 15 Dezember 2014, 09:39:51
Hallo,
wie kann man den mit valueformat eine Uhrzeit formatieren?

Ich möchte anstelle von "07:10:33"  ": 07:10:33 Uhr" anzeigen lassen.
Spartacus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 15 Dezember 2014, 09:50:17
je nach dem wie das reading benannt ist (bei mir R-decalcTime -> ersetzen durch dein readingname)...
Ich habe es so

{if($READING eq "R-decalcTime"){"$VALUE Uhr"}}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 15 Dezember 2014, 09:54:55
@chris1284: das mit dem zusätzlichen parameter für die farbe ging bis eben nicht. ist morgen im update enthalten.

das mapping schaut so aus:...,'rg.blau' => 'rgb:colorpicker,RGB 0000ff',...


@Spartacus: entweder hinten dran hängen. z.b. mit {$VALUE ."Uhr"}
oder du verwendest die neuen valuePrefix und valueSuffix Attribute.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 15 Dezember 2014, 10:35:22
hi,

danke schonmal. test dann morgen.

noch was: habe wie im wiki beschrieben [
code]attr myTemp commands { 'desired-temp' => 'desired-temp:' }
um desired-temp per dropDown einstellbar zu machen. allerdings entgegen dem Beispiel haut er mir vor den dropDown immer den namen des devices. wie bekomm ich den weg?

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 15 Dezember 2014, 10:36:30
Hi Andre,
{$VALUE ."Uhr"} geht nicht,
aber bit Prefix und Suffix klappt es!

Vielen Dank,
Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 15 Dezember 2014, 10:40:01
um den label vor den drop downs weg zu ändern oder weg zu bekommen musst du sie per mapping auf etwas anderes mappen.

das machen die wiki beispiel auch alle.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 15 Dezember 2014, 20:05:22
Hi chris1284,

sieht gut aus ! Ist doch für die HM-CC-RT-DN ? Hatte ich auch vor in ähnlicher variante.

Mag´st Du den code posten ?
Danke & Gruss
klaus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 16 Dezember 2014, 08:33:50
Zitat von: justme1968 am 15 Dezember 2014, 09:54:55
@chris1284: das mit dem zusätzlichen parameter für die farbe ging bis eben nicht. ist morgen im update enthalten.
das mapping schaut so aus:...,'rg.blau' => 'rgb:colorpicker,RGB 0000ff',...

klappt nicht. bekomm es nicht rein.l fehler:  "unknown command ..." colorpicker, RGB usw usw
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 16 Dezember 2014, 08:41:19
Hallo Andre,
kannst Du mir einen kleinen "Anstoß" geben , irgendwie habe ich einen Knoten im Kopf  :'(

ich möchte gern von allen Thermostat (Model = HM-CC-RT-DN) Readings vom Device und aber auch von einem Kanal in
eine readingsgroup zusammenfassen.

die Devicename  enden dabei alle mit HKT    (also KZ1_HKT, AZ_HKT, WZ_HKT)
   hiervon folgende readings (battery,batteryLevel,desired-temp,measured-temp)

die Kanäle      enden dabei alle HKT_ClimRT_tr   (also KZ1_HKT_ClimRT_tr, AZ_HKT_ClimRT_tr, WZ_HKT_ClimRT_tr)
  hiervon folgende readings (controlMode,ValvePosition,controlMode)

Und ich würde gern noch die Temp. per Dropdown einstellen können.

Danke
kvo1

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Dezember 2014, 09:47:13
@chris1284: wo genau kommt die meldung? bitte poste mal die komplette definition der readingsGroup.

@kvo1: am besten fängst du damit an erst mal auf device ebene alles anzuzeigen was du möchtest. danach kann du für jede device zeile jeweils mit<readings>@{$DEVICE.'_ClimRT_tr'} die readings aus den kanälen hinzufügen.

schau dir bitte mal die heizungs beispiele im wiki an. dort und hier im forum sollte alles dabei sein was du brauchst.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 16 Dezember 2014, 09:48:11
@kvo1:

du solltest als erstes mal fhem aktualisieren ClimRT_tr heist der Channel schon lan nicht mehr sondern Clima -> Update machen.
wie du readings aus unterscgiedlichen devices / channels holst steht hier http://www.fhemwiki.de/wiki/ReadingsGroup#Readings_aus_zus.C3.A4tzlichen_Devices
ich habs allerdings direkt im DEF gemacht (vom channel-namen clima einfach _Clima abgeschnitten
dein define müsste dann wenn dein channel richtig hiesst so aussehen:

define <rg-name> readingsGroup .*._Clima:desired-temp,measured-temp,ValvePosition,controlMode,<{ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-6),"battery","n.A.")}>,<{ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-6),"batteryLevel","n.A.")}>

danach für die Temp. per Dropdown

attr <rg-name> commands {'desired-temp'=>'desired-temp:'}


damit vor dme dropdown nicht der name des device steht

attr <rg-name> mapping {'desired-temp' => ''}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 16 Dezember 2014, 09:58:32
anbei das bild mit dem error und die DEF

define Lichtschaltung readingsGroup az_light_ledschlauch:<>,<>,<>,state,rgb
.*._dose_.*:<>,<>,<>,state
attr Lichtschaltung commands {'rgb' => 'rgb:rgb ff0000'}
attr Lichtschaltung fp_03_Schalten 125,225,0,
attr Lichtschaltung mapping {az_light_ledschlauch => "Büro Ledstripe",az_dose_lichtschlauch=> "Büro Lichtschlauch",az_dose_monitor=> "Büro Monitorlicht",az_dose_regal=> "Büro Regallicht",wz_dose_lichtschlauch=> "WZ Lichtschlauch",wz_dose_tvbackground=> "WZ TV-Licht"}
attr Lichtschaltung nameStyle style="text-align:left;"
attr Lichtschaltung nolinks 1
attr Lichtschaltung notime 1
attr Lichtschaltung room 99_Floorplans
attr Lichtschaltung valueIcon { state => '%devStateIcon' }


commands {'rgb' => 'rgb:'} zeigt den colorpicker (anhang colorpicker). aber der befehl mit direkt einer farbe funktioniert nicht

EDIT: im floorplan geht übrigen der Colorpicker nicht auf
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Dezember 2014, 10:39:01
ich hatte aber doch nicht das hier:attr Lichtschaltung commands {'rgb' => 'rgb:rgb ff0000'}sondern das hier:attr Lichtschaltung commands {'rgb' => 'rgb:colorpicker,RGB 0000ff'}geschrieben.

ab morgen geht auch die abgekürzte Schreibweise wenn das device den colorpicker selber schon unterstützt:attr Lichtschaltung commands {'rgb' => 'rgb: ff0000'}


zu erklärung:

die kurze form (rgb: ff0000) sagt fhem es soll das rgb kommando nutzen und im device nachschauen welches widget hier voreingestellt ist. das sieht man wenn man ein set ? auf das device macht. hier würde dann etwas wie rgb:colorpicker,RGB zurück kommen. d.h. für das rgb commando möchte das device den colorpicker verwenden. z.b. in den webCmds. vergleichbar mit dim:slider,0,1,100. hier sagt das device das für das dim kommando ein slider verwendet werden soll.

die lange form (rgb:colorpicker,RGB ff0000) überschreibt den vorschlag des device. das würde man verwenden wenn das device den colorpicker selber nicht angibt, bei einem dummy, oder wenn man etwas anderes verwenden möchte als das device vorschlägt. so wie es mit widgetoverride für die webCmd möglich ist. in einer readingsGroup kann man z.b. mit dim => 'dim:0,25,50,100' bei einem device das normalerweise einen slider zum dimmen verwendet diesen durch ein dropdown menü überschreiben.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 16 Dezember 2014, 11:08:57
ah ok, ich hab die befehle aus dem device attr webCmd übernommen.
so attr Lichtschaltung commands {'rgb' => 'rgb:colorpicker,RGB 0000ff'}
bekommt man einen blauen, klickbaren button -> bei klick farbe wechselt zu blau.

jetzt will ich aber 3 dieser buttons nebeneinander in blau, rot, grün. das geht mit der lösung ja nicht und ich muss mir ein reading ausdenken (<%gruen>,<%rot>) und wieder mit
attr Lichtschaltung commands {"Lichtschaltung.rot" => 'set %DEVICE rgb fff0000'} abeiten.

bekommt man das wie bei webcmd hin n dieser cmd's 'rgb:colorpicker,RGB [farbe] in die readingsgroup zu bauen? wenn nicht mach ich mir halt entsprechende icon und binde die so <%gruen> als buttons ein


Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Dezember 2014, 11:23:44
wenn du drei buttons möchtest musst du es auch drei mal hin schreiben. oder vier mal für vier buttons. das musst du bei den webCmds doch auch:
attr <xxx> webcmd rgb:rgb ff0000:rgb 00ff00:rgb 0000ff

im def so: ...,<rgb>,<rot>,<gruen>,<blau>,... und im attribut so:
{'Lichtschaltung.rgb' => 'rgb:', 'Lichtschaltung.rot' => 'rgb: ff0000', 'Lichtschaltung.gruen' => 'rgb: 00ff00', 'Lichtschaltung.blau' => 'rgb: 0000ff'}

die abgekürzte version geht erst ab morgen. bis dahin musst du noch die lange version schreiben:{'Lichtschaltung.rgb' => 'rgb:', 'Lichtschaltung.rot' => 'rgb:colorpicker,RGB ff0000', 'Lichtschaltung.gruen' => 'rgb:colorpicker,RGB 00ff00', 'Lichtschaltung.blau' => 'rgb:colorpicker,RGB 0000ff'}

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 16 Dezember 2014, 11:50:00
super, funktioniert
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 16 Dezember 2014, 23:45:27
Hallo chris1284 , hallo Andre

Vielen dank für Eure Hilfe , die ersten Ansätze sehen schon mal gut aus.

@Andre:  auf device ebene würde ich gern  Soll-Temp.   Ist-Temp.  Ventil   rechtsbündig mit einer Kommastelle anzeigen !

@chris1284: wie stellt man hier den Battery als ICON dar ?
                    es werden dummerweise auch gleichnamige Logfiles aufgelistet  :( , wie bekomme ich die weg !

Danke  und gruss
klaus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 17 Dezember 2014, 07:45:37
ersetzte in der def
<{ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-6),"battery","n.A.")}>
mit
<{if(ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-6),"battery","n.A.")eq"ok"){"%batterie\@green"}else{"%batterie\@red"}}>

ValueIcon greift in dem Fall leider nicht auf "battery".

Zitates werden dummerweise auch gleichnamige Logfiles aufgelistet
habe dblog somit hab ich das problem nie gehabt. du musst den regexp so anpassen das er filelog.* nicht reinnimmt.
bei mir recht einfach da alle thermostate mit hz_ beginnen und die filelof ja mit filelog_

hz_.*._Clima
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 17 Dezember 2014, 09:21:48
@chris1284: Danke, teste ich später (so langsam durchschaue ich das auch, echt genial diese readingGroup)

bei mir klappt diese Formatierung nicht , weder einstellige Temp. noch die Einheit (°C)

attr Heizungswerte valueFormat {desired-temp => "%.0f °C", ValvePosition =>"%.0f %%"}

Ist aber aus dem WIKI und die reading Namen stimmen doch auch !

kvo1
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Dezember 2014, 09:24:51
desired-temp (und eigentlich alle keys) muss in anführungszeichen.

gruss
andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 17 Dezember 2014, 09:47:40
Zitat von: justme1968 am 17 Dezember 2014, 09:24:51
desired-temp (und eigentlich alle keys) muss in anführungszeichen.

gruss
andre
Hallo Andre,
da habe ich wohl genau am falschen Beispiel nachgeschaut  ;)
===> Heizungswerte inklusive Ventilposition (hier fehlen die leider )

und bei diesem Attribute
attr Heizungswerte valueStyle { if($READING eq "temperature" && $VALUE > 20){ 'style="color:green;;font-weight:bold"' }elsif( $READING eq "temperature" && $VALUE <= 20 ){ 'style="color:blue"' }elsif( $READING eq "temperature" && $VALUE > 23 ){ 'style="color:red"' }else{ 'style="color:gray"' } }

bekomme ich nur grün und blau , obwohl Werte > 23 vorhanden sind,
liegt vermutlich daran , das hier doppelt geprüft wird ?? (nur eine Vermutung)

Zitat($READING eq "temperature" && $VALUE > 20){ 'style="color:green;;font-weight:bold"' }
( $READING eq "temperature" && $VALUE > 23 ){ 'style="color:red"' }

gruss / Danke
Klaus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Dezember 2014, 10:25:38
im wiki beispiel haben die reading namen keinen bindestrich. perl erlaubt es die anführungszeichen weg zu lassen wenn der key ein string ist der nur aus buchstaben besteht. ich habe es im wiki trotzdem geändert.

der perl ausdruck wird von links nach rechts abgearbeitet und das erste 'passende' vergleich gewinnt. da eine zahl die > als 23 auch > als 20 ist gewinnt hier die 20. die vergleiche müssen also bei einem vergleich auf > absteigend und bei einem vergleich auf < aufsteigend sortiert werden.

dein Vergleich auf > 23 muss also an den anfang.

der else zweig in deinem beispiel wird übrigens nie ausgeführt da es keine zahl gibt die gleichzeitig weder > 20 noch <= 20 ist.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 17 Dezember 2014, 12:16:20

Zitatim wiki beispiel haben die reading namen keinen bindestrich. perl erlaubt es die anführungszeichen weg zu lassen wenn der key ein string ist der nur aus buchstaben besteht. ich habe es im wiki trotzdem geändert.
sorry , wusste ich nicht, kenn mich damit leider (noch nicht) aus  :'(


Zitatder else zweig in deinem beispiel wird übrigens nie ausgeführt da es keine zahl gibt die gleichzeitig weder > 20 noch <= 20 ist.
ups , ist aus Deinen Wiki  ;) oder habe ich das auch falsch interpretiert ?

ÜBRIGENS:
Danke nochmal für so eine geniales Modul (readingsGroup) , ich bin echt begeistert!
Und sorry für die vielleicht zu einfachen / dummen Rückfragen.

gruss
klaus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Dezember 2014, 12:17:31
die wiki beiträge sind nicht alle von mir :)

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 17 Dezember 2014, 20:54:24
Hallo,
habe heute folgende Meldungen heute im LOg

2014.12.17 19:41:20.621 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 115527) line 1.

2014.12.17 19:41:20.625 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 115529) line 1.

2014.12.17 19:41:20.630 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 115531) line 1.

2014.12.17 19:41:20.634 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 115533) line 1.

2014.12.17 19:41:20.640 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 115535) line 1.

2014.12.17 19:41:20.644 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 115537) line 1.

2014.12.17 19:41:20.648 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 115539) line 1.

2014.12.17 19:41:20.658 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 115541) line 1.

2014.12.17 19:41:20.661 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 115543) line 1.

2014.12.17 19:41:20.665 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 115545) line 1.

2014.12.17 19:41:20.699 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 115547) line 1.

2014.12.17 19:41:20.703 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 115549) line 1.

2014.12.17 19:41:20.707 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 115551) line 1.

2014.12.17 19:41:20.711 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 115553) line 1.

2014.12.17 19:41:20.717 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 115555) line 1.

2014.12.17 19:41:20.721 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 115557) line 1.

2014.12.17 19:41:20.725 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 115559) line 1.

2014.12.17 19:41:20.735 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 115561) line 1.

2014.12.17 20:08:30.867 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 118361) line 1.

2014.12.17 20:08:30.871 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 118363) line 1.

2014.12.17 20:08:30.876 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 118365) line 1.

2014.12.17 20:08:30.880 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 118367) line 1.

2014.12.17 20:08:30.887 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 118369) line 1.

2014.12.17 20:08:30.891 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 118371) line 1.

2014.12.17 20:08:30.895 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 118373) line 1.

2014.12.17 20:08:30.906 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 118375) line 1.

2014.12.17 20:08:30.909 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 118377) line 1.

2014.12.17 20:08:30.914 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 118379) line 1.

2014.12.17 20:08:30.946 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 118381) line 1.

2014.12.17 20:08:30.951 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 118383) line 1.

2014.12.17 20:08:30.955 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 118385) line 1.

2014.12.17 20:08:30.959 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 118387) line 1.

2014.12.17 20:08:30.966 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 118389) line 1.

2014.12.17 20:08:30.970 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 118391) line 1.

2014.12.17 20:08:30.974 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 118393) line 1.

2014.12.17 20:08:30.984 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 118395) line 1.

2014.12.17 20:36:31.893 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 121306) line 1.

2014.12.17 20:36:31.898 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 121308) line 1.

2014.12.17 20:36:31.902 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 121310) line 1.

2014.12.17 20:36:31.906 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 121312) line 1.

2014.12.17 20:36:31.912 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 121314) line 1.

2014.12.17 20:36:31.917 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 121316) line 1.

2014.12.17 20:36:31.921 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 121318) line 1.

2014.12.17 20:36:31.931 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 121320) line 1.

2014.12.17 20:36:31.935 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 121322) line 1.

2014.12.17 20:36:31.944 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 121324) line 1.

2014.12.17 20:36:31.951 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 121326) line 1.

2014.12.17 20:36:31.955 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 121328) line 1.

2014.12.17 20:36:31.959 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 121330) line 1.

2014.12.17 20:36:31.964 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 121332) line 1.

2014.12.17 20:36:31.971 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 121334) line 1.

2014.12.17 20:36:31.975 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 121336) line 1.

2014.12.17 20:36:31.979 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 121338) line 1.

2014.12.17 20:36:31.989 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 121340) line 1.

2014.12.17 20:47:35.992 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 122362) line 1.

2014.12.17 20:47:35.996 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 122364) line 1.

2014.12.17 20:47:36.000 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 122366) line 1.

2014.12.17 20:47:36.005 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 122368) line 1.

2014.12.17 20:47:36.011 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 122370) line 1.

2014.12.17 20:47:36.016 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 122372) line 1.

2014.12.17 20:47:36.020 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 122374) line 1.

2014.12.17 20:47:36.030 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 122376) line 1.

2014.12.17 20:47:36.034 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 122378) line 1.

2014.12.17 20:47:36.039 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 122380) line 1.

2014.12.17 20:47:36.046 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 122382) line 1.

2014.12.17 20:47:36.050 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 122384) line 1.

2014.12.17 20:47:36.054 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 122386) line 1.

2014.12.17 20:47:36.059 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 122388) line 1.

2014.12.17 20:47:36.065 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 122390) line 1.

2014.12.17 20:47:36.070 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 122392) line 1.

2014.12.17 20:47:36.074 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 122394) line 1.

2014.12.17 20:47:36.084 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 122396) line 1.


Was könnte das Problem sein?

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Dezember 2014, 20:56:20
dein 99_myUtils file wird nicht geladen?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 17 Dezember 2014, 21:02:41
Woran siehst du das? Werd mal sehen wieso die nicht geladen wird

Danke für die Tip
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Dezember 2014, 21:04:01
das ist nur ein verdacht. aber wenn sie nicht gefunden werden sind sind sie vermutlich nicht geladen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 17 Dezember 2014, 21:15:17
Ok,
hatte aufjedenfall den Fehler in der 99, das ich sie beim Verändern nicht mit 1; abgeschlossen hatte, hab ich jetzt nachgeholt und neugestartet, dann bekomme ich aber einen neuen Fehler:
2014.12.17 21:10:14.768 3: VU_UltimoRG: Global symbol "$DEVICE" requires explicit package name at (eval 44) line 1, <$fh> line 1482.
Global symbol "$READING" requires explicit package name at (eval 44) line 1, <$fh> line 1482.
Global symbol "$VALUE" requires explicit package name at (eval 44) line 1, <$fh> line 1482.

2014.12.17 21:10:14.771 3: VU_UltimoRG: Global symbol "$READING" requires explicit package name at (eval 45) line 1, <$fh> line 1483.
Global symbol "$VALUE" requires explicit package name at (eval 45) line 1, <$fh> line 1483.
Global symbol "$READING" requires explicit package name at (eval 45) line 1, <$fh> line 1483.
Global symbol "$VALUE" requires explicit package name at (eval 45) line 1, <$fh> line 1483.
Global symbol "$READING" requires explicit package name at (eval 45) line 1, <$fh> line 1483.
Global symbol "$DEVICE" requires explicit package name at (eval 45) line 1, <$fh> line 1483.

2014.12.17 21:10:14.783 3: rg_Uno_Schlafzimmer_1: Global symbol "$DEVICE" requires explicit package name at (eval 47) line 1, <$fh> line 1491.
Global symbol "$READING" requires explicit package name at (eval 47) line 1, <$fh> line 1491.
Global symbol "$VALUE" requires explicit package name at (eval 47) line 1, <$fh> line 1491.

2014.12.17 21:10:14.786 3: rg_Uno_Schlafzimmer_1: Global symbol "$READING" requires explicit package name at (eval 48) line 1, <$fh> line 1492.
Global symbol "$VALUE" requires explicit package name at (eval 48) line 1, <$fh> line 1492.
Global symbol "$READING" requires explicit package name at (eval 48) line 1, <$fh> line 1492.
Global symbol "$VALUE" requires explicit package name at (eval 48) line 1, <$fh> line 1492.
Global symbol "$READING" requires explicit package name at (eval 48) line 1, <$fh> line 1492.
Global symbol "$DEVICE" requires explicit package name at (eval 48) line 1, <$fh> line 1492.

2014.12.17 21:10:14.800 3: rg_Uno_Kellerbar_1: Global symbol "$DEVICE" requires explicit package name at (eval 50) line 1, <$fh> line 1500.
Global symbol "$READING" requires explicit package name at (eval 50) line 1, <$fh> line 1500.
Global symbol "$VALUE" requires explicit package name at (eval 50) line 1, <$fh> line 1500.

2014.12.17 21:10:14.802 3: rg_Uno_Kellerbar_1: Global symbol "$READING" requires explicit package name at (eval 51) line 1, <$fh> line 1501.
Global symbol "$VALUE" requires explicit package name at (eval 51) line 1, <$fh> line 1501.
Global symbol "$READING" requires explicit package name at (eval 51) line 1, <$fh> line 1501.
Global symbol "$VALUE" requires explicit package name at (eval 51) line 1, <$fh> line 1501.
Global symbol "$READING" requires explicit package name at (eval 51) line 1, <$fh> line 1501.
Global symbol "$DEVICE" requires explicit package name at (eval 51) line 1, <$fh> line 1501.


Kann das auch noch ander 99_my_Utils liegen?

Der Betroffene part in der Datei sieht bei mir so aus:
sub VU_UltimoRGvalueFormat($$$)
{
  my ($DEVICE,$READING,$VALUE) = @_;

  if($READING eq 'hdd1_capacity') {
    return "%.2f MB";
  } elsif( $READING eq 'hdd1_free') {
    return "%.2f MB";
  } elsif( $READING eq 'volume' ) {
    if( ReadingsVal($DEVICE, "mute", "") eq "on") {
      return "mute";
    } else {
      return "%i %%";
    }
  }
}

sub rg_Uno_Schlafzimmer_1valueFormat($$$)
{
  my ($DEVICE,$READING,$VALUE) = @_;

  if($READING eq 'hdd1_capacity') {
    return "%.2f MB";
  } elsif( $READING eq 'hdd1_free') {
    return "%.2f MB";
  } elsif( $READING eq 'volume' ) {
    if( ReadingsVal($DEVICE, "mute", "") eq "on") {
      return "mute";
    } else {
      return "%i %%";
    }
  }
}

sub rg_Uno_Kellerbar_1valueFormat($$$)
{
  my ($DEVICE,$READING,$VALUE) = @_;

  if($READING eq 'hdd1_capacity') {
    return "%.2f MB";
  } elsif( $READING eq 'hdd1_free') {
    return "%.2f MB";
  } elsif( $READING eq 'volume' ) {
    if( ReadingsVal($DEVICE, "mute", "") eq "on") {
      return "mute";
    } else {
      return "%i %%";
    }
  }
}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Dezember 2014, 21:30:04
Wenn die Meldung nur beim Start kommt mach mal ein Update das hab ich vor ein paar Tagen repariert.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 17 Dezember 2014, 21:44:29
Sieht gut aus, nach dem update und neustart, im Moment keine Fehler mehr.
Danke

EDIT
Zu früh gefreut, guck grade in den Log und schon sind die Fehler wieder da:
2014.12.17 21:50:42.503 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 1063) line 1.

2014.12.17 21:50:42.504 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 1064) line 1.

2014.12.17 21:50:42.507 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 1066) line 1.

2014.12.17 21:50:42.508 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 1067) line 1.

2014.12.17 21:50:42.513 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 1069) line 1.

2014.12.17 21:50:42.514 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 1070) line 1.

2014.12.17 21:50:42.527 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 1072) line 1.

2014.12.17 21:50:42.528 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 1073) line 1.

2014.12.17 21:50:42.532 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 1075) line 1.


Wenn ich die 99_my_Utils dann öffne und speicher bekomme ich im Log diese Meldung:
Zitat2014.12.17 21:54:20.667 1: PERL WARNING: Subroutine VU_UltimoRGvalueFormat redefined at ./FHEM/99_myUtils.pm line 152.
2014.12.17 21:54:20.668 1: PERL WARNING: Subroutine rg_Uno_Schlafzimmer_1valueFormat redefined at ./FHEM/99_myUtils.pm line 169.
2014.12.17 21:54:20.669 1: PERL WARNING: Subroutine rg_Uno_Kellerbar_1valueFormat redefined at ./FHEM/99_myUtils.pm line 186.
In 152 steht {
genauso in den anderen beiden, wobei das redefined kann man glaub ich ignorieren!?
Aber wo kommen die anderen Fehler her?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 17 Dezember 2014, 22:34:00
Hi chris1284,

Zitat von: chris1284 am 17 Dezember 2014, 07:45:37
ersetzte in der def
<{ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-6),"battery","n.A.")}>
mit
<{if(ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-6),"battery","n.A.")eq"ok"){"%batterie\@green"}else{"%batterie\@red"}}>

das klappt , Icons werden angezeigt , aber jetzt fehlen mir die Namen und alle Spalten rutschen somit eins nach links.!

gruss
klaus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 17 Dezember 2014, 23:33:16
Zitathabe dblog somit hab ich das problem nie gehabt. du musst den regexp so anpassen das er filelog.* nicht reinnimmt.
bei mir recht einfach da alle thermostate mit hz_ beginnen und die filelof ja mit filelog_

hz_.*._Clima

habe (siehe bild oben)...... leider experimentell ermittelt  ::)
für
Zitat.*._ClimRT_tr:
dann
Zitat^(?!FileLog).*._ClimRT_tr:

gruss
klaus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 18 Dezember 2014, 08:51:40
Zitat von: kvo1 am 17 Dezember 2014, 22:34:00
Hi chris1284,

das klappt , Icons werden angezeigt , aber jetzt fehlen mir die Namen und alle Spalten rutschen somit eins nach links.!

gruss
klaus
leider kein bild  :( mit namen meinst du die der thermostate?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 18 Dezember 2014, 11:09:43
Zitatleider kein bild  :( mit namen meinst du die der thermostate?

ja, mit Name meinte ich die der Thermostate , sorry unklar ausgedrück!

kvo1
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 18 Dezember 2014, 11:27:50
hier noch ein Bild wie es derzeit mit dieser Definition ausschaut

define Heizungswerte2 readingsGroup <%heizung>,<battery>,<Spannung>,<Mode>,<Ventil>,<Ist-Temp.>,<Soll-Temp>  ^(?!FileLog).*._ClimRT_tr:<{ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-10),"battery","n.A.")}>,<{ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-10),"batteryLevel","n.A.")}>,controlMode,ValvePosition,measured-temp,desired-temp


gruss
kvo1
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 18 Dezember 2014, 18:41:30
Bekomme die Meldungen heute leider auch wieder
2014.12.18 18:09:02.830 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116462) line 1.

2014.12.18 18:09:02.831 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116463) line 1.

2014.12.18 18:09:02.835 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116465) line 1.

2014.12.18 18:09:02.836 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116466) line 1.

2014.12.18 18:09:02.840 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116468) line 1.

2014.12.18 18:09:02.841 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116469) line 1.

2014.12.18 18:09:02.846 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116471) line 1.

2014.12.18 18:09:02.847 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116472) line 1.

2014.12.18 18:09:02.853 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116474) line 1.

2014.12.18 18:09:02.854 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116475) line 1.

2014.12.18 18:09:02.858 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116477) line 1.

2014.12.18 18:09:02.859 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116478) line 1.

2014.12.18 18:09:02.863 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116480) line 1.

2014.12.18 18:09:02.864 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116481) line 1.

2014.12.18 18:09:02.875 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116483) line 1.

2014.12.18 18:09:02.875 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116484) line 1.

2014.12.18 18:09:02.879 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116486) line 1.

2014.12.18 18:09:02.880 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116487) line 1.

2014.12.18 18:09:02.884 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116489) line 1.

2014.12.18 18:09:02.885 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116490) line 1.

2014.12.18 18:09:02.892 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116492) line 1.

2014.12.18 18:09:02.893 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116493) line 1.

2014.12.18 18:09:02.897 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116495) line 1.

2014.12.18 18:09:02.898 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116496) line 1.

2014.12.18 18:09:02.902 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116498) line 1.

2014.12.18 18:09:02.903 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116499) line 1.

2014.12.18 18:09:02.908 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116501) line 1.

2014.12.18 18:09:02.909 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116502) line 1.

2014.12.18 18:09:02.915 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116504) line 1.

2014.12.18 18:09:02.916 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116505) line 1.

2014.12.18 18:09:02.920 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116507) line 1.

2014.12.18 18:09:02.921 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116508) line 1.

2014.12.18 18:09:02.925 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116510) line 1.

2014.12.18 18:09:02.926 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116511) line 1.

2014.12.18 18:09:02.936 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116513) line 1.

2014.12.18 18:09:02.937 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116514) line 1.

2014.12.18 18:09:14.769 3: CUL_HM set Heizung_Tuer_ClimRT_tr desired-temp 19
2014.12.18 18:09:18.162 3: CUL_HM set HeizungFenster_Clima desired-temp 19
2014.12.18 18:11:04.729 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116855) line 1.

2014.12.18 18:11:04.730 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116856) line 1.

2014.12.18 18:11:04.735 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116858) line 1.

2014.12.18 18:11:04.735 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116859) line 1.

2014.12.18 18:11:04.740 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116861) line 1.

2014.12.18 18:11:04.741 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116862) line 1.

2014.12.18 18:11:04.745 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116864) line 1.

2014.12.18 18:11:04.746 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116865) line 1.

2014.12.18 18:11:04.752 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116867) line 1.

2014.12.18 18:11:04.753 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116868) line 1.

2014.12.18 18:11:04.758 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116870) line 1.

2014.12.18 18:11:04.759 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116871) line 1.

2014.12.18 18:11:04.763 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116873) line 1.

2014.12.18 18:11:04.764 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116874) line 1.

2014.12.18 18:11:04.774 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116876) line 1.

2014.12.18 18:11:04.775 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116877) line 1.

2014.12.18 18:11:04.779 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116879) line 1.

2014.12.18 18:11:04.780 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116880) line 1.

2014.12.18 18:11:04.784 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116882) line 1.

2014.12.18 18:11:04.785 2: Undefined subroutine &main::wzReceiverRGvalueFormat called at (eval 116883) line 1.

2014.12.18 18:11:04.792 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116885) line 1.

2014.12.18 18:11:04.793 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116886) line 1.

2014.12.18 18:11:04.797 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116888) line 1.

2014.12.18 18:11:04.798 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116889) line 1.

2014.12.18 18:11:04.802 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116891) line 1.

2014.12.18 18:11:04.803 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116892) line 1.

2014.12.18 18:11:04.808 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116894) line 1.

2014.12.18 18:11:04.808 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116895) line 1.

2014.12.18 18:11:04.815 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116897) line 1.

2014.12.18 18:11:04.816 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116898) line 1.

2014.12.18 18:11:04.820 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116900) line 1.

2014.12.18 18:11:04.821 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116901) line 1.

2014.12.18 18:11:04.825 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116903) line 1.

2014.12.18 18:11:04.826 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116904) line 1.

2014.12.18 18:11:04.836 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116906) line 1.

2014.12.18 18:11:04.837 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1 called at (eval 116907) line 1.

Die Eintragungen in meiner 99_my_Utils dazu sehen so aus:
sub VU_UltimoRGvalueFormat($$$)
{
  my ($DEVICE,$READING,$VALUE) = @_;

  if($READING eq 'hdd1_capacity') {
    return "%.2f MB";
  } elsif( $READING eq 'hdd1_free') {
    return "%.2f MB";
  } elsif( $READING eq 'volume' ) {
    if( ReadingsVal($DEVICE, "mute", "") eq "on") {
      return "mute";
    } else {
      return "%i %%";
    }
  }
}

sub rg_Uno_Schlafzimmer_1valueFormat($$$)
{
  my ($DEVICE,$READING,$VALUE) = @_;

  if($READING eq 'hdd1_capacity') {
    return "%.2f MB";
  } elsif( $READING eq 'hdd1_free') {
    return "%.2f MB";
  } elsif( $READING eq 'volume' ) {
    if( ReadingsVal($DEVICE, "mute", "") eq "on") {
      return "mute";
    } else {
      return "%i %%";
    }
  }
}

sub rg_Uno_Kellerbar_1valueFormat($$$)
{
  my ($DEVICE,$READING,$VALUE) = @_;

  if($READING eq 'hdd1_capacity') {
    return "%.2f MB";
  } elsif( $READING eq 'hdd1_free') {
    return "%.2f MB";
  } elsif( $READING eq 'volume' ) {
    if( ReadingsVal($DEVICE, "mute", "") eq "on") {
      return "mute";
    } else {
      return "%i %%";
    }
  }
}

1;


könnte da irgendwo der Fehler sein?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Invers am 19 Dezember 2014, 11:20:46
Ist es eigentlich möglich, anhand eines abweichenden Statusses innerhalb einer RG einen Befehl/Schaltvorgang auszulösen?
Konkreter Fall zum Verständnis:
Ich habe eine RG, der Batteriestatus aller Geräte gezeigt wird. Ist die Batterie ok, wird grün und bei leer rot angezeigt.
Ich will nun, falls eine Batterie rot ist, dies über einen Hinweis per Sound mitteilen.
Entweder "Batterie Fenster Büro ist leer" oder halt "Eines Ihrer Geräte enthält eine leere Batterie".

Für Tür- und Fensterkontakte wäre das auch ganz nützlich, oder Temperaturen und Steckdosen bei Überschreitung oder Unterschreitung eines Wertes.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 19 Dezember 2014, 15:55:22
ich mach das über ein notify!
kvo1

Nur als Bsp...... email wenn  Schaltkotakt Nr 3 offen ist

### email wenn Alarm-Line-3 geöffnet wird
define ALine3 notify AZ3fachSchalter_Sw_03.open.* {\
DebianMail('email@@provider','HAUSALARM','Alarmlinie Nr.3 wurde manipuliert');;\
}

kvo1
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Invers am 19 Dezember 2014, 16:09:15
Klar, mach ich ja auch. Ich überwache mit DOIF meine Fenster und Türen. Aber ich dachte, es wäre halt cool, den "Mackensensor" einfach geliefert zu bekommen. War auch nur so eine Idee.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 19 Dezember 2014, 16:48:35
ZitatIch überwache mit DOIF meine Fenster und Türen
wie machst Du das ... magst Du das hier posten ?

kvo1
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Invers am 19 Dezember 2014, 17:06:23
Klar, ganz einfach:

DOIF anlegen

(
[TFK_Buero_Tuer] eq "open" or
[CUL_FHTTK_11de23] eq "Open" or
[Fenster_Kueche] eq "open" or
[CUL_FHTTK_5b2c19] eq "Open" or
[CUL_FHTTK_a5ae9f] eq "Open"
)
(set MyTTS tts Das Fenster ist noch offen. Bitte schließen.)


Mit do always und wayit 300 (Dauer bis zur Meldung)

Spart im Winter viel Energie.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 19 Dezember 2014, 18:05:17
Hi Invers,

danke !

gruss nach Berlin aus Berlin  ;)
kvo1
Titel: Antw:Neues Modul readingsGroup
Beitrag von: bads am 19 Dezember 2014, 18:15:51
Hi, ich habe noch ein Problem mit ValueFormat,

die Thermostate HM-TC-WM-EU liefern in den Readings measured-temp und desired-temp, neben der Temperatur auch die Timestamps.

Standard Reading.png

Füge ich nun nein weiteres Reading hinzu z.B. desired-temp, dann wird der timestamp ausgeblendet, aber die Spaltenbreite wird recht groß.

Zwei Reading.png

Wie kann ich die Spaltenbreite verringern, oder den Timestamp ausblenden?

Danke
Guido
Titel: Neues Modul readingsGroup
Beitrag von: justme1968 am 19 Dezember 2014, 18:46:25
die timestamps sind nicht teil des readings. die anzeige des timestamp bekommst du mit dem notime attribut weg.

wie breit die readingsGroup ist hängt vom style ab so lange du nichts anderes vorgibst. du kannst in einem passenden styleAttribut die breite fest setzen. im wiki gibt es beispiele dazu.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: bads am 20 Dezember 2014, 00:02:19
hallo andre,

danke.

guido
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ChrisD am 21 Dezember 2014, 10:59:41
Hallo,

Ich habe eine Frage zu readingsGroup und dem Refresh über Longpoll:

Ich lasse mir über eine readingsGroup den Zustand von FHTs anzeigen:
define rgFHT readingsGroup fht_.*:measured-temp,desired-temp
Dies funktioniert und bei (externen) Änderungen werden die Werte korrekt aktualisiert.

Da ich die desired-temp über die readingsGroup ändern möchte habe ich
attr rgFHT commands { 'desired-temp' => 'desired-temp:'}
hinzugefügt. Damit lässt sich die Temperatur setzen. Es wird jetzt aber die desired-temp nicht mehr aktualisiert wenn sie extern (z.B. durch Drehen am FHT) geändert wird. Wie kann ich die Definition der readingsGroup anpassen so dass die Combobox mit der desired-temp aktualisiert wird ?

Wenn ich die readingsGroup in den gleichen Raum setze in dem sich die FHTs befinden erfolgt die Aktualisierung übrigens problemlos.

Verwendete Versionen:
Zitat# $Id: fhem.pl 7212 2014-12-14 15:55:51Z rudolfkoenig $
# $Id: 01_FHEMWEB.pm 7264 2014-12-19 16:13:11Z rudolfkoenig $
# $Id: 33_readingsGroup.pm 7225 2014-12-16 09:31:58Z justme1968 $

Grüße,

ChrisD


Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 21 Dezember 2014, 11:23:17
ich lasse mir 2x die solltemp anzegeigen. 1x die der devices und einmal das (angepasste, weil enfach zu viele mögliche temp'S) dropdown
(http://forum.fhem.de/index.php?action=dlattach;topic=27399.0;attach=23475;image)

wenn ich nun im dropdown 16 wähle änert sich auch die sollanzeige (wenn sich das reaging des reglers ändert)

def define rg ReadingsGroup ...., desired-temp,<sollsetz>,....

commandattribut {'rg.sollsetz'=>'desired-temp:5.0,16.0,18.0,19.0,20.0'}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 21 Dezember 2014, 20:04:42
Hab seit heute diese beiden Fehler im LOg
2014.12.21 19:49:55.936 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 712.
2014.12.21 20:01:22.980 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 1009


Hab heute ein update durchgeführt.

EDIT
Hab auch andauernd wieder diese Fehler im Log
2014.12.21 21:11:03.215 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1valueFormat called at (eval 9866) line 1.

2014.12.21 21:11:03.225 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1valueFormat called at (eval 9868) line 1.

2014.12.21 21:11:03.226 2: Undefined subroutine &main::rg_Uno_Schlafzimmer_1valueFormat called at (eval 9869) line 1.

2014.12.21 21:11:03.679 2: Undefined subroutine &main::VU_UltimoRGvalueFormat called at (eval 9874) line 1.

2014.12.21 21:11:03.679 2: Undefined subroutine &main::VU_UltimoRGvalueFormat called at (eval 9875) line 1.
2014.12.21 21:11:03.168 2: Undefined subroutine &main::rg_Uno_Kellerbar_1valueFormat called at (eval 9841) line 1.

2014.12.21 21:11:03.169 2: Undefined subroutine &main::rg_Uno_Kellerbar_1valueFormat called at (eval 9842) line 1.

2014.12.21 21:11:03.173 2: Undefined subroutine &main::rg_Uno_Kellerbar_1valueFormat called at (eval 9844) line 1.

2014.12.21 21:11:03.174 2: Undefined subroutine &main::rg_Uno_Kellerbar_1valueFormat called at (eval 9845) line 1.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: wolfi1104 am 22 Dezember 2014, 15:59:18
Hallo zusammen
Habe jetzt schon ne weile hier gesucht bin aber noch nicht fündig geworden oder hab es überlesen
Ich habe mir eine Status anzeige für meine Heizung mit der ReadingsGroup zusammen gestellt.
Jetzt möchte ich gerne die anzeige die ja in Sekunden ist in stunden umrechnen
Kann mir jemand helfen
Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 Dezember 2014, 16:19:58
von welchen sekunden sprichst du ?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: wolfi1104 am 22 Dezember 2014, 17:43:35
Hallo
Andre

Ich ziehe die Daten für die Anzeige aus den "HourCounter" von meiner Heizung.
Und da sind die Zeit werte ja alle in sekunden

Zitat
2014-12-22_17:28:44 CN.Heizung countsOverall: 85
2014-12-22_17:28:44 CN.Heizung countsPerDay: 56
2014-12-22_17:28:44 CN.Heizung pauseTimeIncrement: 584
2014-12-22_17:28:44 CN.Heizung pauseTimeOverall: 87046
2014-12-22_17:28:44 CN.Heizung pauseTimePerDay: 54460
2014-12-22_17:29:15 CN.Heizung pulseTimeIncrement: 31
2014-12-22_17:29:15 CN.Heizung pulseTimeOverall: 13216
2014-12-22_17:29:15 CN.Heizung pulseTimePerDay: 8495
2014-12-22_00:00:00 CN.Heizung tickDay: 1
2014-12-22_17:00:00 CN.Heizung tickHour: 1
2014-12-22_17:29:15 CN.Heizung value: 0

Für die Status Anzeige meine Heizung habe ich mir jetzt nur die "pulseTimeCverall"+"pulseTimeperDay" heraus genommen
ZitatGesamtstunden:13401
StundenHeute: 868
die werte sind aber in sek ich möchte sie aber in Stunden
Im der Grafik rechene ich ja so "$fld[3]/=3600" in Stunden um.
Meine Frage ist wie kann ich das hier machen

gruss
Jürgen
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 Dezember 2014, 18:19:21
z.b. mit {$VALUE/3600} im passenden valueFormat.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: wolfi1104 am 22 Dezember 2014, 19:52:59
Hallo Andre

Passt super
Aber wie bekomm ich jetzt noch hin das nur zwei stellen hinter dem komma sind

Gruss



Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 Dezember 2014, 19:58:00
{sprintf("%.2f",$VALUE/3600)}

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: wolfi1104 am 22 Dezember 2014, 20:06:38
Hallo Andre

Vielen Danke
habe es auch schon getestet
Passt

LG
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ChrisD am 22 Dezember 2014, 23:16:04
Hallo,

@chris1284: Danke für den Hinweis, damit funktioniert die Aktualisierung. Ich möchte aber u.a. um Platz zu sparen nur den Dropdown anzeigen lassen.

Ich habe mir den Code angesehen und so modifiziert dass Dropdownmenüs in den ReadingsGroup korrekt aktualisiert werden.

Grüße,

ChrisD
Titel: Antw:Neues Modul readingsGroup
Beitrag von: CQuadrat am 27 Dezember 2014, 00:11:16
Hallo,

gibt es eigentlich eine Möglichkeit, direkt per http auf readingGroups zuzugreifen?

Wie es z.B. mit
http://localhorst:8083/fhem/icons/<device>
auf Icons möglich ist.


Danke und Gruß

Christoph
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Invers am 27 Dezember 2014, 10:53:07
Zitat von: CQuadrat am 27 Dezember 2014, 00:11:16
Hallo,

gibt es eigentlich eine Möglichkeit, direkt per http auf readingGroups zuzugreifen?

Wie es z.B. mit
http://localhorst:8083/fhem/icons/<device>
auf Icons möglich ist.


Danke und Gruß

Christoph

Falls du es weiter testen möchtest, heisst es localhost, nicht localhoRst.
Ob es geht, weiss ich leider nicht.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 Dezember 2014, 11:36:53
@ChrisD poste doch mal was du wo geändert hast.

@CQuadrat: nein. das geht nicht. was möchtest du denn genau machen?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ChrisD am 27 Dezember 2014, 14:35:52
Hallo,

Anbei meine Änderungen. Damit funktioniert es im Moment bei mir. Da ich aber nur einen kleinen Teil der Funktionalität von readingsGroup verwende kann ich eventuelle Nebenwirkungen nicht einschätzen.

Grüße,

ChrisD
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 Dezember 2014, 14:48:36
verwendest du die readingsGroup auf dem floorplan ?

fhemweb sendet in der normalen raum ansicht keine events für devices die nicht im raum vorhanden sind. deshalb sollte deine version in einem normalen raum nicht funktionieren weil die informid nicht passt.

ich muss mal schauen warum die aktuell verwendete version nicht so funktioniert wie sie soll. eventuell ist nur die id falsch.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ChrisD am 27 Dezember 2014, 15:16:27
Hallo,

Ich hatte das Problem dass die Aktualisierung in einem normalen Raum nicht funktioniert da dort die informId falsch ist sobald ein Reading als Command verwendet wird. Nach der Änderung im Code hat es dann funktioniert da ich die informId passend gemacht habe. Im Floorplan geht es übrigens auch (eben getestet).

Als Beispiel ReadingsGroup mit einem FHT, DEF: fht_1.*:measured-temp,desired-temp, allein in einem Raum:

- Attribut commands leer, informId: rgDummy-fht_1.desired-temp, Update bei externer Änderung funktioniert (z.B. setreading), im Event-Monitor:
Zitat2014-12-27 14:57:57.659 readingsGroup rgDummy fht_1.desired-temp: 13

- Originalcode, Attribut commands { 'desired-temp' => 'desired-temp:'}, informId: fht_1-desired-temp, Update bei externer Änderung funktioniert nicht, kein Ereignis für die readingsGroup im Event-Monitor

- mein Code, Attribut commands { 'desired-temp' => 'desired-temp:'}, informId: rgDummy-fht_1.desired-temp, Update bei externer Änderung funktioniert, im Event-Monitor:
Zitat2014-12-27 15:01:48.772 readingsGroup rgDummy fht_1.desired-temp: 13

Grüße,

ChrisD
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 27 Dezember 2014, 16:12:14
Hallo,
ich habe folgendes definiert, womit ich den Batterie status und den actStatus meiner 3 HM-SEC-SD darstellen will, allerdings bekomme ich nur den Batterie status angezeigt, was mache ich falsch?

Danke

define rd_Rauchmelder readingsGroup Flur_EG:battery,actStatus Keller:battery,actStatus Kinderzimmer:battery,actStatus

Internals:
   CFGFN
   DEF        Flur_EG:battery,actStatus Keller:battery,actStatus Kinderzimmer:battery,actStatus
   NAME       rd_Rauchmelder
   NR         1622
   NTFY_ORDER 50-rd_Rauchmelder
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Flur_EG    1
     Keller     1
     Kinderzimmer 1
   Content2:
   DEVICES:
     ARRAY(0x310d380)
     ARRAY(0x2f295f8)
     ARRAY(0x309cb48)
   Fhem:
     lastDefChange 47
     last_update 1419692944.26028
   Helper:
     DEF
Attributes:
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 Dezember 2014, 17:45:00
@ChrisD: du hast recht. wenn das dropDown vom original device kommt muss natürlich die inform id angepasst werden. ich baue es ein.

@Tommy82:was gibt einlist Kinderzimmer actStatus

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 Dezember 2014, 19:44:25
ich habe den patch etwas umgebaut. er sollte jetzt auch mit dem slider und anderen widgets funktionieren.

bitte testet mal die angehängte version.

gruss
  andre

edit: ich habe den patch noch mal etwas überarbeitet.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ChrisD am 27 Dezember 2014, 21:07:23
Vielen Dank, es funktioniert.

ChrisD
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 Dezember 2014, 21:14:35
ich habe die version eingecheckt.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: CQuadrat am 27 Dezember 2014, 22:33:17
Zitat von: Invers am 27 Dezember 2014, 10:53:07
Falls du es weiter testen möchtest, heisst es localhost, nicht localhoRst.
Ob es geht, weiss ich leider nicht.

localhorst war als Witz gedacht  :P


Zitat von: justme1968 am 27 Dezember 2014, 11:36:53
@CQuadrat: nein. das geht nicht. was möchtest du denn genau machen?

Nun, ich habe mir ein eigenes Frontend mit html zusammengebastelt. Device-Zustände, SVG-Plots, on/off/toggle-Buttons, diverse Infos per RSS, etc. bekomme ich da gut rein. Nur bei den readingGroups scheitert das ganze noch - leider. Wennn das ginge, wäre es perfekt.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 Dezember 2014, 22:35:22
du kannst ein get html auf das readingsGroup device machen und du bekommst den html code zurück. den kannst du bei dir einbauen. longpoll updates werden dann aber nicht funktionieren.

get <rg> html

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: CQuadrat am 28 Dezember 2014, 01:15:16
Super!

Danke, das sollte mir weiterhelfen. ;)


Nachtrag: Prinzipiell funktioniert es. Nur warum sind verwendete Icons im exportierten html größer als im FHEM-Frontend? Lässt sich die Icon-Größe  irgendwo einstellen?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 28 Dezember 2014, 10:08:42
weil die icon größe in fhem per css konfiguriert wird und du das bei dir vermutlich nicht tust.

welchen vorteil versprichst du dir von deinem frontend?

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: CQuadrat am 28 Dezember 2014, 13:47:29
Zitat von: justme1968 am 28 Dezember 2014, 10:08:42
weil die icon größe in fhem per css konfiguriert wird und du das bei dir vermutlich nicht tust.

Wo muss ich das denn einstellen bzw. wie heißen die entsprechenden Style-Elemente?

Zitat von: justme1968 am 28 Dezember 2014, 10:08:42
welchen vorteil versprichst du dir von deinem frontend?

Ich kann es so gestalten, wie es mir gefällt.



Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 28 Dezember 2014, 13:50:44
schau nach wie es die fhemweb css files machen.

wenn du dir selber ein frontend baust solltest du das eigentlich hin bekommen.

gruß
  andre

ps: gestalten wie es dir gefällt kannst du auch mit fhemweb  und dem floorplan. und bei fragen ist der support vermutlich besser weil das so noch von anderen eingesetzt wird.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: CQuadrat am 28 Dezember 2014, 13:59:51
Naja, es sieht so aus, als wenn bei Verwendung von
get <rg> html
überhaupt kein CSS verwendet wird.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 28 Dezember 2014, 14:56:20
das css kommt auch nicht aus dem modul sondern aus dem fhemweb style
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ulli am 28 Dezember 2014, 16:05:30
Bin gerade dabei ein readingsgroup für meine Heizung zu erstellen und komme einfach nicht weiter.

Ich habe einmal das Heizungsdefine "WZ_HeatingValve" und einmal einen Dummy "WZ_Heating".
Der Dummy soll das generelle an und ausschalten der Heizung ermöglichen. Das Heizungsdefine hat alle aktuellen Einstellungen.
Die beiden möchte ich jetzt zusammen in einer Zeile readingsgroup vereinen.

Momentan sieht es so aus.

define Raumklima readingsGroup <%sani_heating>,<Status>,<Mode>,<Soll-Temp>,<Off>,<On> .._HeatingValve:<{ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-5),"state","-")}>,setMode,setTemp,<%off>,<%on>
attr Raumklima commands { 'setMode' => 'setMode:', 'Raumklima.off' => {fhem(\"set \" . substr(%DEVICE, 0, length(%DEVICE)-5) . \" off\"}}
attr Raumklima mapping {'setMode' => '',WZ_HeatingValve => 'Wohnzimmer',SZ_HeatingValve => 'Schlafzimmer'}
attr Raumklima nameStyle style='text-align:left;;'
attr Raumklima valueStyle style='text-align:center;;'
attr Raumklima group Raumklima


Ich schaffe es momentan alle Daten anzuzeigen habe aber folgende Probleme:
* Ich möchte mit zusätzlichen Schaltflächen den Dummy schalten. (<off> <on> im define.)
   Leider bekomme ich es über das commands attr nicht hin den perl code ausführbar zu machen...
* Die Status Spalte wird nur als Text angezeigt es wird nicht das Icon vom Dummy angezeigt
* Das im readingsgroup angezeigte define in spalte 1 z.B. "WZ_HeatingValve" ist nicht klickbar...würde gerne mit einem Klick in das Define kommen.

:-\
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 28 Dezember 2014, 16:56:20
du solltest das hier: <{ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-5),"state","-")}> so schreiben:<{ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-5),"state","-")}@state>sonst gehen longpoll updates nicht weil die redaingsGroup nicht weiss das du state anzeigst.

oder du schreibst es gleich so:...,state@{substr("$DEVICE",0,length("$DEVICE")-5)},...

zu deinem commands attribut:
- um den ganzen {...} ausdruck gehören anführungzeichen
- die \ vor den " gehören da nicht hin.
- du musst die variablen version von $DEVICE verwenden

...,'Raumklima.off' => '{fhem("set " . substr($DEVICE, 0, length($DEVICE)-5) . " off"}',...


wenn du state als icon anzeigen möchtest kannst du entweder valueIcon verwenden und die icons zuweisen oder du konfigurierst dir in deinem dummy direkt devStateIcon so das der dummy an sich schon das richtige icon anzeigst und setzt valueIcon auf %devSateIcon.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ulli am 28 Dezember 2014, 19:06:28
Hallo Andre,

danke für die Antwort, habe auch gleich alles wie folgt umgesetzt :

define Raumklima readingsGroup <%sani_heating>,<Status>,<Mode>,<Soll-Temp>,<Off>,<On> .._HeatingValve:state@{substr("$DEVICE",0,length("$DEVICE")-5)},setMode,setTemp,<%off>,<%on>
attr Raumklima commands { 'setMode' => 'setMode:', 'Raumklima.off' => '{fhem("set " . substr($DEVICE, 0, length($DEVICE)-5) . " off"}' }
attr Raumklima mapping {'setMode' => '',WZ_HeatingValve => 'Wohnzimmer',SZ_HeatingValve => 'Schlafzimmer'}
attr Raumklima nameStyle style='text-align:left;;'
attr Raumklima valueStyle style='text-align:center;;'
attr Raumklima group Raumklima


Leider zeigt er mir jetzt die Spalte für das "state" garnicht mehr an.
Woran kann das denn noch liegen?
Ich bekomme folgenden Fehler im Logifle...irgendwie kommt er mit den Klammern nicht zurecht?
SZ_HeatingValve: length("$DEVICE")-5)}: Unmatched ) in regex; marked by <-- HERE in m/^length("$DEVICE")-5) <-- HERE }$/ at ./FHEM/33_readingsGroup.pm line 676.

Wenn ich den zusätzliche Schalter "off" mit dem oben genannten attribute klicke. Führt wer das off Kommando für alle Zeilen der readingGroup aus.
d.h. wenn ich auf Schlafzimmer off klicke dann setzt er Wohnzimmer und Schlafzimmer auf off.....was stimmt da nicht?

Bzgl. der Icons des State`s ich habe bereits den Dummy mit devStateIcon konfiguriert...

(Habe gerade auch nochmal ein update durchgeführt...)

Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 28 Dezember 2014, 19:14:34
Hallo,

ich stehe bei der ReadingsGroup für meine Heizungen vor zwei Herausforderungen. Ich habe bei meiner Heizungslogik ein at, dass es jedoch nicht immer gibt. Ist es vorhanden, dann möchte ich zum einen den Ausführungszeitpunkt (Internal NTM) anzeigen und zum Anderen ein Kommando definieren, dass beim Klick auf die Zeit ausgeführt wird. Nun meine Herausforderungen: Da das at nicht immer definiert ist, dachte ich an
...,!+NTM,...
Da ich die Zeit aber innerhalb der Zeile eines anderen Devices anzeigen möchte, habe ich
...,!+NTM@{%DEVICE.".at.doAuto"},...
genommen - hier scheint aber das ! nicht zu funktionieren (wenn das at nicht exisitert, wird die Spalte ausgelassen).
Daher habe ich mir ein Sub in der MyUtils geschrieben, das mir den Wert zusammenbaut bzw. einen Leerstring zurückgibt, wenn das at nicht existiert.
...,<{getHeatingModeUntil($DEVICE,"")}@controlMode>,...
Zweite Herausforderung ist nun: Wie referenziere ich die Zelle nun, um ein Kommando darauf zu definieren?

Vielen Dank
Ronny
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ulli am 28 Dezember 2014, 21:50:02
Ronny,

versuch mal folgendes
...,!+NTM@!{%DEVICE.".at.doAuto"},...

Ein zusätzliches "!" nach dem @.
Hat bei mir funktioniert.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 28 Dezember 2014, 22:05:27
Vielen Dank!

Mit $ statt % funktioniert's:

...,!+NTM@!{$DEVICE.".at.DoAuto"},...

Leider funktioniert kein LongPoll, da ich kein "Aktualisierungsreading" per @ mehr angeben kann, aber zumindest das mit dem Command funktioniert...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: wolfi1104 am 29 Dezember 2014, 11:40:33
Hallo

Ich habe einen Betriebstundenzähler für meine Heizung
Paßt dank der guten beschreibungen hier ganz gut
Hab auch eine readingGroub die mir die gesamtstunden und die aktuelle am tag anzeigt.
Jetzt möchte ich gerne die Stunden pro tag in eine art von Tabelle bringen damit ich seh wie sich die so entwickeln
Ist das möglich ?

Gruß
wolfi
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 Dezember 2014, 12:06:54
@RoBra81: der longpoll update funktioniert auch in der reading@device version. natürlich nur wenn es das reading und das device auch tatsächlich gibt. da du jeweils ein ! davor geschrieben hast deutet das darauf hin das es das device und/oder das reading nicht gibt. bitte prüfe das mal. in deinem fall ist das ! nicht nötig.

@wolfi1104: wenn du die entsprechenden werte irgendwo als readings hast geht das. der erste schritt wäre also die readings zu erzeugen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 29 Dezember 2014, 12:11:26
Leider funktioniert das longpoll in meinem Fall meiner Meinung nach aus zwei Gründen nicht: zum einen gibt es das Device nicht immer (daher das !) und zum anderen ist es kein Reading sondern ein Internal das ich Anzeige. Als ich die Anzeige noch über eine sub gebaut hatte konnte ich noch ein @reading für das longpoll dran hängen - da wüsste ich aber nicht, wie ich es bei commands adressiere...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 Dezember 2014, 12:31:35
wenn es das device nicht gibt dann gibt es auch kein event. bzw. erst in dem moment in dem es das reading gibt.

die <{...}@reading> und die reading@device variante sind was longpoll updates angeht identisch. aber internal erzeugen nie ein event. da kann nichts aktualisiert werden.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: wolfi1104 am 29 Dezember 2014, 12:43:05
Danke Andre

Ich habe folgende Reading


clearDate 2014-12-21 13:38:13 2014-12-21 13:38:13
countsOverall 690 2014-12-29 12:38:21
countsPerDay 60 2014-12-29 12:38:21
pauseTimeIncrement 567 2014-12-29 12:38:21
pauseTimeOverall 573529 2014-12-29 12:38:21
pauseTimePerDay 36806 2014-12-29 12:38:21
pulseTimeIncrement 145 2014-12-29 12:28:53
pulseTimeOverall 2062037 2014-12-29 12:28:53
pulseTimePerDay 8694 2014-12-29 12:28:53
state 58 2014-12-29 12:11:09
tickDay 1 2014-12-29 00:00:00
tickHour 1 2014-12-29 12:00:00
tickMonth 0 2014-12-24 10:33:43
tickWeek 1 2014-12-28 00:00:01
tickYear 0 2014-12-24 10:33:43
value 1 2014-12-29 12:38:21


Find dabei aber keins das ich für Woche/Monat oder Jahr nehmen kann oder ?


gruß
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 Dezember 2014, 14:34:28
wie gesagt: die musst du erst erzeugen. mit statistics oder average oder über ein eigenes notify.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: wolfi1104 am 29 Dezember 2014, 14:50:55
Ja habe ich mir auch schon gedacht und wiki bei hourCounter
folgendn Befehl gefunden
define CN.EVENT notify CN\..*:tick.* { appHCNotify("%NAME","%EVTPART0","%EVTPART1");;}

Der sollte doch die readings erzeugen laut wiki
Aber ich kann den Befehl nicht so umschreiben das er zu meine counter paßt
Mein Counter nennt sich "CN.Heizung"

Gruß
Wolfi
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 Dezember 2014, 15:09:57
da musst du bei HourCounter nachfragen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: wolfi1104 am 29 Dezember 2014, 15:13:58
sorry klar
mach ich
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 29 Dezember 2014, 16:12:11


Zitat von: justme1968 am 29 Dezember 2014, 12:31:35
aber internal erzeugen nie ein event. da kann nichts aktualisiert werden.

gruss
  andre

Ich würde hier gern das Internal in der ReadingsGroup aktualisieren, wenn ein bestimmtes Reading aktualisiert wird...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 29 Dezember 2014, 16:14:20


Zitat von: justme1968 am 29 Dezember 2014, 12:31:35
die <{...}@reading> und die reading@device variante sind was longpoll updates angeht identisch.

Aber wie adressiere ich die <{...}@reading> Variante beim Commands-Attribut?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 Dezember 2014, 16:19:18
das geht leider nicht.

wie wäre es wenn du dir ein user reading anlegst das durch das andere reading getriggert ist und den internal value kopiert. dann brauchst du in der readingsGroup keine klimmzüge und mit event-on-change-reading kannst du sogar überflüssige events unterdrücken.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 29 Dezember 2014, 16:25:22
Da habe ich leider auch keine schöne Idee - bei dem Device handelt es sich um ein at da immer mal wieder angelegt wird und dann wieder weg ist...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 Dezember 2014, 16:26:44
das macht doch nichts. das kanst du über das ! flag abfangen.

aber vielleicht schreibst du noch mal genau was du eignetlich vor hast.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 29 Dezember 2014, 16:42:17
Meine Heizungslogik ist so aufgebaut, dass bei manueller Änderung der Soll-Temperatur ein at angelegt wird, das nach anderthalb Stunden wieder die Automatik-Temperatur anzeigt. Falls dieses at existiert soll der Ausführungszeitpunkt in der ReadingsGroup angezeigt werden. Ein Klick auf diesen Wert soll dann sofort wieder den Automatikwert setzen. Das funktioniert soweit, nur dass die Zeit nicht per longpoll aktualisiert wird...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 29 Dezember 2014, 20:29:27
Zitat von: justme1968 am 27 Dezember 2014, 17:45:00

@Tommy82:was gibt einlist Kinderzimmer actStatus

gruss
  andre

Hi, ein list ergibt:

ZitatKinderzimmer alive
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 Dezember 2014, 20:51:23
actCycle ist ein attribut und kein reading. du musst ein ? davor schreiben:define rd_Rauchmelder readingsGroup Flur_EG:battery,?actStatus Keller:battery,?actStatus Kinderzimmer:battery,?actStatus

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 29 Dezember 2014, 20:55:35
Super, das wars.

Vielen Dank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 30 Dezember 2014, 10:03:33
@RoBra81: damit die zeit per longpoll aktualisiert werden kann brauchst du ein reading das regelmässig aktualisiert wird. das einfachste ist vermutlich wenn du dir ein zweites at anlegst das z.b. jede minute aufgerufen wird und das nötige reading am besten gleich im richtigen format erzeugt.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 30 Dezember 2014, 10:31:02
Ich habe jetzt eine Lösung gefunden: ich habe ein notify gebaut, das auf die globalen DEFINED,  MODIFIED und DELETED Events für das immer gleich heißende at reagiert und die Ausführungszeit in ein Reading meiner Heizungskomponente schreibt...
Klappt super!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 30 Dezember 2014, 19:20:02
Hi,
ich habe eine neue RD, wo ich mir das aktuelle Datum und die Uhrzeit anzeigen lasse, die rd sieht so aus:
Internals:
   CFGFN
   DEF        fp_time:state fp_date:state
   NAME       rd_Datum
   NR         2337
   NTFY_ORDER 50-rd_Datum
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     fp_date    1
     fp_time    1
   Content2:
   DEVICES:
     ARRAY(0x4683388)
     ARRAY(0x5c308e8)
   Fhem:
     lastDefChange 44
     last_update 1419963370.19424
   Helper:
     DEF
Attributes:
   noheading  1
   nonames    1
   nostate    1
   notime     1


Allerdings wird es in zwei Zeilen Ausgegeben ich hätte es gerne in einer in Form von 
Zitat30.12.2014  19:20 Uhr

Was muss ich dafür noch einstellen?

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 30 Dezember 2014, 19:23:35
fp_time:state,state@fp_date

gibt es einen grund datum und zeit auf zwei dummys aufzuteilen? du kannst zwei readings in einem dummy verwenden. oder sogar beides in ein reading stecken.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 30 Dezember 2014, 19:38:51
Hi, danke, musste deinen Code umdrehen, dann war es so wie ich es wollte :-)

Ws die zwei Dummys angeht, hast du ntürlich recht, auf die idee war ich garnicht gekommen  ???

EDIT:
Hab aber noch eine Frage, wollte als schrift jetzt noch LCARSGTJ3 zuordnen, und habe dafür das style attribut so eingefügt:
style="font-size:20px;color:black;font:LCARSGTJ3"

Die Schrift ist auf dem System installiert, wird aber so nicht angezeigt, hab ich was falsch eingegeben?

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 30 Dezember 2014, 21:26:11
Hallo Tommy82

das zeigt bei mir grade mal garnix an...
wie sieht deine Def insgesamt aus ?

danke
kvo1
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 30 Dezember 2014, 21:33:30
wo hast du es eingegeben? was steht im log?

wenn es direkt in der config ware musst du auf die ; achten.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 30 Dezember 2014, 22:08:41
Das list sieht so aus :
Internals:
   CFGFN
   DEF        fp_date:state,state@fp_time
   NAME       rd_Datum
   NR         2337
   NTFY_ORDER 50-rd_Datum
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     fp_date    1
   Content2:
     fp_time    1
   DEVICES:
     ARRAY(0x4682740)
   DEVICES2:
     ARRAY(0x4682740)
     ARRAY(0x5b83b70)
   Fhem:
     lastDefChange 59
     last_update 1419965758.3488
   Helper:
     DEF
Attributes:
   fp_Home    9,1207,0,
   noheading  1
   nonames    1
   nostate    1
   notime     1
   style      style="font-size:20px;color:black;font:LCARSGTJ3"


Im Log gibts keine Fehler
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ulli am 31 Dezember 2014, 14:47:20
Lässt sich auch irgendwie die readingsGroup Tabelle drehen?
Ich hätte gerne die Spalten als Zeilen und Zeilen als Spalten.

d.h. die Readings eines Devices in mehreren Zeilen zu einer Spalte zugeordnet..
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 31 Dezember 2014, 15:10:13
nein. das geht nicht und wäre auch recht umständlich einzubauen.

wenn es nur ein paar wenige devices und readings sind kannst du es mit ...,reading@device,... von hand bauen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ulli am 31 Dezember 2014, 15:12:16
ok Danke für den Hinweis.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 31 Dezember 2014, 17:57:09
Hallo Andre,

kann man das Symbol ">"  zum Auf-/Zuklappen der DG anpassen , z.B. durch ein anderes Zeichen oder ein ICON?

Cool wäre, ein Sortierung der Readings wenn man auf eine Überschriften-Spalte klickt  :-[

guten Rutsch !
klaus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 31 Dezember 2014, 18:02:34
nein. symbol anpassen geht noch nicht. kommt aber noch.

sortieren weiss ich noch nicht :) das kommt vielleicht mit wenn ich summe/min/max für einzelne spalten einbaue.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 01 Januar 2015, 12:07:44
Zitat von: Tommy82 am 30 Dezember 2014, 22:08:41
Das list sieht so aus :
Internals:
   CFGFN
   DEF        fp_date:state,state@fp_time
   NAME       rd_Datum
   NR         2337
   NTFY_ORDER 50-rd_Datum
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     fp_date    1
   Content2:
     fp_time    1
   DEVICES:
     ARRAY(0x4682740)
   DEVICES2:
     ARRAY(0x4682740)
     ARRAY(0x5b83b70)
   Fhem:
     lastDefChange 59
     last_update 1419965758.3488
   Helper:
     DEF
Attributes:
   fp_Home    9,1207,0,
   noheading  1
   nonames    1
   nostate    1
   notime     1
   style      style="font-size:20px;color:black;font:LCARSGTJ3"


Im Log gibts keine Fehler

Gibt es in meiiner definition einen Fehler das die Schriftart nicht angezeigt wird?

Hab heute auch plötzlich diese Fehler im Log:
2015.01.01 12:02:58.738 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 712.
2015.01.01 12:28:41.069 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 714.
2015.01.01 12:28:41.069 3: stacktrace:
2015.01.01 12:28:41.070 3:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (713)
2015.01.01 12:28:41.070 3:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (863)
2015.01.01 12:28:41.071 3:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1416)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Sargon am 01 Januar 2015, 17:27:35
Hallo zusammen,

ich habe eine ReadingsGroup angelegt um meine Max Thermostate und die jeweiligen Fensterkontakte anzuzeigen und zu steuern. Das scheint auch so zu funktionieren, das einzige was nicht funktioniert ist das ausblenden der neu zu setzenden Temperatur per "attr Heizungswerte valueStyle {($VALUE eq "00")?'style="visibility:hidden"':}".
Dennoch bekomme ich im Log "syntax error at (eval 90) line 1, at EOF" und ich kann nicht erkennen woher das kommt.
Hier die ersten Ausgaben des Fehlers:
2015.01.01 16:38:09 4: HTTP FHEMWEB:192.168.0.14:54553 GET /fhem?room=Wohnzimmer
2015.01.01 16:38:09 2: syntax error at (eval 90) line 1, at EOF
2015.01.01 16:38:09 5: Name des Thermostats WZ_Thermostat_Dach
2015.01.01 16:38:09 5: Name des Fensterkontaktes WZ_Fensterkontakt_Dach Status des Fensterkontaktes n/a
2015.01.01 16:38:09 2: syntax error at (eval 101) line 1, at EOF
2015.01.01 16:38:09 2: syntax error at (eval 102) line 1, at EOF

Ich verwende die Funktion myUtils_HeizungUpDown um über die Pfeile die Temperatur zu steuern und habe nur desired-temp durch desiredTemperature ersetzt.

Hier die Definition:

define Heizungswerte readingsGroup <%sani_heating>,<Soll>,<Kälter>,<>,<Wärmer>,<Ist>,<Ventil>,<Mode>,<Boost>,<Fenster>,<Batterie>\
type=HeatingThermostat:desiredTemperature,<{myUtils_HeizungUpDown($DEVICE,"down")}@desiredTemperature>,desired-new,<{myUtils_HeizungUpDown($DEVICE,"up")}@desiredTemperature>,temperature,valveposition,mode,<%Boost>,<{get_FensterIcon_Zu_Thermostat($DEVICE)}>,battery
attr Heizungswerte nameStyle style="color:yellow"
attr Heizungswerte mapping %ALIAS
attr Heizungswerte room Wohnzimmer
attr Heizungswerte valueFormat {'temperature' => "%.0f °C", 'desiredTemperature' => "%.0f °C", 'valveposition' =>"%.0f %%", 'maxValveSetting' =>"%.0f %%" }
attr Heizungswerte valueIcon {'battery.ok'=>'batterie@lightgreen','battery.low'=>'batterie@red','mode.manual'=>'sani_heating_manual','mode.auto'=>'sani_heating_automatic'}
attr Heizungswerte commands {'Heizungswerte.Boost'=>"set %DEVICE desiredTemperature auto boost" }
attr Heizungswerte valueStyle {($VALUE eq "00")?'style="visibility:hidden"':}



Hier die Funktion um das Fenstericon anzuzeigen:

sub
get_FensterIcon_Zu_Thermostat ($) {

my($hash) = @_;
$hash = $defs{$hash} if( ref($hash) ne 'HASH' );

#Leite den Fensterkontaktnamen aus dem Thermostatnamen ab
my $str = $hash->{NAME};
Log 5, "Name des Thermostats $str";
my $find = "Thermostat";
my $replace = "Fensterkontakt";
$find = quotemeta $find; # escape regex metachars if present
#Indem eine regex verwendet wird
$str =~ s/$find/$replace/g;
 
#Ermittle den Status des Fensterkontakts
my $VALUE = ReadingsVal($str,"state","n/a");
Log 5, "Name des Fensterkontaktes $str Status des Fensterkontaktes $VALUE";

my $substr = "Dach";
my $substr1 = "Strasse";

#Ermittle die Icons für Dachfenster
if (index($str, $substr) != -1) {
if($VALUE eq "opened"){
return '%fts_window_roof_open_2@red'}
if($VALUE eq "closed"){
return '%fts_window_roof@green'}
if($VALUE eq "n/a"){
return ''}
}
#Ermittle die Icons für normale Fenstericon
if (index($str, $substr1) != -1) {
if($VALUE eq "opened"){
return '%fts_window_2w_open_l@red'}
if($VALUE eq "closed"){
return '%fts_window_2w@green'}
if($VALUE eq "n/a"){
return ''}
}
}




Gruß
Thomas
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 01 Januar 2015, 17:32:25
da fehlen zwei anführungszeichen am ende:attr Heizungswerte valueStyle {($VALUE eq "00")?'style="visibility:hidden"':''}

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Sargon am 01 Januar 2015, 18:01:26
das war es anscheinend noch nicht ganz hab immer noch einen Fehler:
syntax error at (eval 826) line 1, near ")?"
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 01 Januar 2015, 19:41:54
entschuldige... ich glaube ich habe nicht ausgeschlafen. vergiss den teil mit dem if. der hat da nichts zu suchen. es sind nur die beiden '' am ende die du vergessen hast.

ich hab es oben korrigiert.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 01 Januar 2015, 19:58:58
Hallo Andre,
kannst du auch schon was zu meinen Fehlermeldungen sagen?

Danke


Edit:
Hab heute folgende Meldungen im Log
2015.01.02 06:40:56.435 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 1017.
2015.01.02 06:40:56.438 3: stacktrace:
2015.01.02 06:40:56.439 3:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (1014)
2015.01.02 06:40:56.439 3:     main::readingsGroup_Notify          called by fhem.pl (2947)
2015.01.02 06:40:56.440 3:     main::CallFn                        called by fhem.pl (2870)
2015.01.02 06:40:56.440 3:     main::DoTrigger                     called by fhem.pl (3625)
2015.01.02 06:40:56.440 3:     main::readingsEndUpdate             called by ./FHEM/70_ENIGMA2.pm (2253)
2015.01.02 06:40:56.440 3:     main::ENIGMA2_ReceiveCommand        called by FHEM/HttpUtils.pm (78)
2015.01.02 06:40:56.441 3:     main::HttpUtils_ReadErr             called by fhem.pl (2558)
2015.01.02 06:40:56.441 3:     main::HandleTimeout                 called by fhem.pl (539)
2015.01.02 06:44:00.485 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 1017.
2015.01.02 06:44:00.486 3: stacktrace:
2015.01.02 06:44:00.486 3:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (1014)
2015.01.02 06:44:00.486 3:     main::readingsGroup_Notify          called by fhem.pl (2947)
2015.01.02 06:44:00.487 3:     main::CallFn                        called by fhem.pl (2870)
2015.01.02 06:44:00.487 3:     main::DoTrigger                     called by fhem.pl (3625)
2015.01.02 06:44:00.487 3:     main::readingsEndUpdate             called by ./FHEM/70_ENIGMA2.pm (2253)
2015.01.02 06:44:00.487 3:     main::ENIGMA2_ReceiveCommand        called by FHEM/HttpUtils.pm (78)
2015.01.02 06:44:00.488 3:     main::HttpUtils_ReadErr             called by fhem.pl (2558)
2015.01.02 06:44:00.488 3:     main::HandleTimeout                 called by fhem.pl (539)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 03 Januar 2015, 23:00:46
Heute gibt es seltsamerweisse keine Fehler mehr im Log........

Hab eine rd definiert , welche auf meinem Laptop auch richtig dargestellt wird, allerdings auf meinem Tablett einen Zeilenumbruch hat, wieso und wie kann ich das unterbinden?
Internals:
   DEF        fp_date:state,state@fp_time
   NAME       rd_Datum
   NR         274
   NTFY_ORDER 50-rd_Datum
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     fp_date    1
   Content2:
     fp_time    1
   DEVICES:
     ARRAY(0x3ce15b8)
   DEVICES2:
     ARRAY(0x3ce15b8)
     ARRAY(0x4a0b7d0)
   Fhem:
     lastDefChange 48
     last_update 1420320865.6179
   Helper:
     DEF
Attributes:
   fp_Home    4,1130,0,
   noheading  1
   nonames    1
   nostate    1
   notime     1
   style      style="font-size:20px;color:black;font:LCARSGTJ3"


Im Anhang einmal das Bild wie es auf dem Laptop und wie es auf dem Tablett aussieht.
Die Schriftart funktioniert leider auch noch nicht :-(

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: DerFrickler am 03 Januar 2015, 23:07:49
ich denke mal das es sich bei "Reciever" um einen Buchstabendreher handelt  ;)... auch wenn man bei google die ie Variante durchaus finden kann.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 03 Januar 2015, 23:11:31
Was hat der Reciever mit meinem Problem zu tun??? ;)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: DerFrickler am 03 Januar 2015, 23:14:27
ist mir nur so nebenbei aufgefallen... einer der beliebtesten Buchstabendreher...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 04 Januar 2015, 17:17:09
Da hast du wohl recht :-)

Hab jetzt heute plötzlich wieder diese Warnungen im LOG
2015.01.04 15:50:01.169 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 714.
2015.01.04 15:51:39.626 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 1017.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: DerFrickler am 04 Januar 2015, 17:18:19
welche sprintf benutzt du innerhalb der readings?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 04 Januar 2015, 17:22:26
Ich wüsste überhaupt keinen. Müsste sich ja dann auch in der fhem.cfg wieder finden, dort gibt es aber auch keinen Eintrag sprintf, auch nicht in der 99_myUtils
Titel: Antw:Neues Modul readingsGroup
Beitrag von: DerFrickler am 04 Januar 2015, 17:23:50
irgendein auszugebender Wert der ein "-" enthält?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 04 Januar 2015, 17:27:48
Bestimmt mehrere, z.b. werden bei dieser rd http://www.fhemwiki.de/wiki/ReadingsGroup#Enigma_Receiver (http://www.fhemwiki.de/wiki/ReadingsGroup#Enigma_Receiver) wenn keine Daten geliefert werden können "-" angezeigt
Titel: Antw:Neues Modul readingsGroup
Beitrag von: DerFrickler am 04 Januar 2015, 17:28:23
anstelle von Zahlenwerten?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 04 Januar 2015, 17:30:10
Ja
Titel: Antw:Neues Modul readingsGroup
Beitrag von: DerFrickler am 04 Januar 2015, 17:31:28
dann wird das sprintf als Zahlenwert formatiert, nur leider ist kein Zahlenwert vorhanden. Zur Not die Warnung ignorieren.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: KarlHeinz2000 am 05 Januar 2015, 12:53:45
Gibt es die Möglichkeit 2 valueicons direkt nebeneinander für ein reading anzeigen zu lassen?
Konkret: der Heizungs-Modus/Reading ist aktuell "Heizen+Warmwasser". Das soll durch 'sani_heating' und 'sani_water_tap' dargestellt werden. Direkt nebeneinander. Geht das? Und wenn: wie 8)?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 Januar 2015, 13:29:41
das einfachste ist in deinem fall wen du dir ein kombiniertes icon baust. und dann dieses verwendest.

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: KarlHeinz2000 am 05 Januar 2015, 13:56:59
ok. alles klar.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: CQuadrat am 09 Januar 2015, 10:03:39
Hallo Zusammen,

man kann sich ja mit
define <rg> readingsGroup <1>,<2>,<3>,<4> TYPE=CUL_HM:....

eine readingsGroup aller HM-Devices (und Channel) erstellen.

Eine Übersicht mit list kann man degegen noch weiter einschränken, z.B. mit
list TYPE=CUL_HM:FILTER=subType=thermostat

auf bestimmte Geräte.

Jetzt meine Frage:
Trotz Suche (;)) und Versuche (:() ist es mir nicht gelungen, dies auch bei einer readingsGroup zu erreichen. Ist das korrekt und dieses Feature dort (noch? ;D) nicht implementiert? Oder gibt es da einen Umweg?


Danke und Gruß

Christoph


PS: Wenn man mal den Dreh raus hat, dann hat das Modul readingsGroup ein gehöriges Suchtpotential.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 09 Januar 2015, 10:09:38
schau mal hier: http://forum.fhem.de/index.php/topic,30883.msg234504.html#msg234504

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: CQuadrat am 09 Januar 2015, 10:27:14
Danke!!

Den Forumsbeitrag hatte ich leider nicht gefunden.

Wo das aber im Wiki stehen soll ist mir schleierhaft. Habe dort eben extra noch mal reingeschaut.

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 09 Januar 2015, 10:28:17
im wiki gibt es nur beispiele. es wird dort in keinem verwendet.

aber es steht in der commandref.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: CQuadrat am 09 Januar 2015, 10:38:09
Ja, wenn man weiß, dann sieht man's auch  8)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 09 Januar 2015, 13:25:21
und ab morgen geht es auch mit einem :FILTER= ausdruck :)

define <rg> readingsGroup <1>,<2>,<3>,<4> TYPE=CUL_HM:FILTER=subType=thermostat:....

siehe hier: http://forum.fhem.de/index.php/topic,31792.0.html (http://forum.fhem.de/index.php/topic,31792.0.html)

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 10 Januar 2015, 20:59:59
Muss hier auch nochmal fragen,
ich habe zwei ReadinGroups, eine fürs Fernsehprogramm und eine für Datum und Uhrzeit, beide hab ich auf einem Floorplan platziert, womit sie auf meinem Laptop richtig angezeigt werden, auf meinem Wandtablett wird das Fernsehprogramm aber viel kleiner dargestellt und die Datum und Zeit haben einen Zeilenumbruch, obwohl eigentlich genug Platz nach rechts da ist, um es "normal" darzustellen.

Das list der rd's sieht so aus:
Internals:
   DEF        fp_date:state,state@fp_time
   NAME       rd_Datum
   NR         274
   NTFY_ORDER 50-rd_Datum
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     fp_date    1
   Content2:
     fp_time    1
   DEVICES:
     ARRAY(0x55f7590)
   DEVICES2:
     ARRAY(0x55f7590)
     ARRAY(0x55f7fc8)
   Fhem:
     lastDefChange 21
     last_update 1420919011.62297
   Helper:
     DEF
Attributes:
   fp_Home    4,1130,0,
   noheading  1
   nonames    1
   nostate    1
   notime     1
   style      style="font-size:20px;color:black;font:LCARSGTJ3"


Internals:
   DEF        <Programm>,<Jetzt>,<Dann>,<Uhrzeit>
TV_Programme_next:Sat1@TV_Programme,Sat1_next,Sat1_next_time
TV_Programme_next:Pro7@TV_Programme,Pro7_next,Pro7_next_time
TV_Programme_next:RTL@TV_Programme,RTL_next,RTL_next_time
TV_Programme_next:ARD@TV_Programme,ARD_next,ARD_next_time
TV_Programme_next:ZDF@TV_Programme,ZDF_next,ZDF_next_time
TV_Programme_next:Sport1@TV_Programme,Sport1_next,Sport1_next_time
TV_Programme_next:rtl2@TV_Programme,rtl2_next,rtl2_next_time
TV_Programme_next:KABEL_1@TV_Programme,KABEL_1_next,KABEL_1_next_time
TV_Programme_next:VOX@TV_Programme,VOX_next,VOX_next_time
   NAME       TV_Programm
   NR         195
   NTFY_ORDER 50-TV_Programm
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     TV_Programme_next 1
   Content2:
     TV_Programme 1
   DEVICES:
     ARRAY(0x56c5b48)
     ARRAY(0x56c2478)
     ARRAY(0x56c2e70)
     ARRAY(0x56a9340)
     ARRAY(0x4d7bb58)
     ARRAY(0x55a6568)
     ARRAY(0x56c4dc0)
     ARRAY(0x55f6a48)
     ARRAY(0x56c1848)
     ARRAY(0x56c0a78)
   DEVICES2:
     ARRAY(0x56c5b48)
     ARRAY(0x56c2478)
     ARRAY(0x56c2e70)
     ARRAY(0x56a9340)
     ARRAY(0x4d7bb58)
     ARRAY(0x55a6568)
     ARRAY(0x56c4dc0)
     ARRAY(0x55f6a48)
     ARRAY(0x56c1848)
     ARRAY(0x56c0a78)
     ARRAY(0x5555140)
     ARRAY(0x56c1468)
     ARRAY(0x4ee0e30)
     ARRAY(0x4d7bf48)
     ARRAY(0x55fa5c8)
     ARRAY(0x558caf8)
     ARRAY(0x4ebb2c0)
     ARRAY(0x55f8e40)
     ARRAY(0x55bc3d0)
   Fhem:
     lastDefChange 21
     last_update 1420919863.4642
   Helper:
     DEF
     commands   {"set Senderwechsel %READING"}
     nameStyle  style="color:yellow;font-weight:bold"
     Nameicon:
       ARD        ard
       KABEL_1    kabel1
       Pro7       pro7
       RTL        rtl
       Sat1       sat1
       Sport1     sport1
       VOX        vox
       ZDF        zdf
       rtl2       rtl2
Attributes:
   commands   {"set Senderwechsel %READING"}
   fp_Reciever 272,831,0,
   group      TV_Programm
   nameIcon   { Pro7 => 'pro7', Sat1 => 'sat1', RTL => 'rtl', Sport1 => 'sport1', ZDF => 'zdf', ARD => 'ard',rtl2 => 'rtl2',KABEL_1 => 'kabel1',VOX => 'vox' }
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   style      style="color:white;font-size:18px"


Im Anhang mal ein Bild wie es auf dem Laptop aussieht und wie auf dem Wandtablett, vieleicht hat ja einer einen Tip für mich
Titel: Antw:Neues Modul readingsGroup
Beitrag von: MaJu am 11 Januar 2015, 00:32:00
Ich habe meinen Floorplan optimiert, nutze nun bei den readingsGroups style=width, damit die Spalten gleich auf die gesetzte Breite aufgeteilt werden und sich damit perfekt ans Hintergrundbild anpassen.

Leider bekomme ich es aber nicht hin, dass die readingsGroup wirklich ganz links beim ersten Pixel beginnt. Da ist irgendein Rahmen davor. Das führt dazu, dass die Spalten zu weit rechts sind.
Fehlt mir ein style-Attribut, oder ist das einfach nicht möglich, gleich ohne Rahmen ganz links mit dem Inhalt zu beginnen??
Ich habe aktuell: style="border:none; box-shadow:none; border-spacing: 0"

Danke.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: MaJu am 11 Januar 2015, 01:10:37
Ich habe eben nach ca. 1 Woche wieder ein Update durchgeführt und heftige Probleme.
Aufgefallen ist es mir im Floorplan, dort werden bei jeder Aktualisierung unterschiedliche Bilder nicht angezeigt.

Und bei einer ReadingsGroup passt was nicht. In einer Zeile werden 2 leere Zellen eingefügt, die dort nichts zu suchen haben. Im Floorplan werden zudem die style-Attribute (in der css-Datei) zur Schriftgröße bei der letzten Zeile mit der desired-Temp (HM-CC-TC) ignoriert, teilweise fehlt die Zeile einfach komplett.

Mit der identischen Konfiguration hat es bis vor dem Update funktioniert. Da ich seit letzter Woche mein System neu aufsetze und immer noch dran sitze, schaue ich aktuell recht viel rein.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 11 Januar 2015, 09:34:54
moin,
ist es möglich die readings in einer readingsgroup dynamisch zu erstellen? wennich das in die
DEF
Zitat<{for(my $i= 001;$i<=150;$i++)
{print "<zeile_".sprintf('%03d',$i).">,<View_Abfall:t_".sprintf('%03d',$i)."_bdate>,<View_Abfall:t_".sprintf('%03d',$i)."_btime>,<View_Abfall:t_".sprintf('%03d',$i)."_summary>,<View_Abfall:t_".sprintf('%03d',$i)."_edate>,<View_Abfall:t_".sprintf('%03d',$i)."_etime>\n"}}>
schreibe erzeugt es quasi eine definitionszeile für die readingsgroup die ich sonst zb für jedes einzele reading händisch in die def schreiben müsste
Zitat<zeile_001>,<View_Abfall:t_149_bdate>,<View_Abfall:t_149_btime>,<View_Abfall:t_149_summary>,<View_Abfall:t_149_edate>,<View_Abfall:t_149_etime>

allerdings bleibt die rg leer
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Andy89 am 11 Januar 2015, 11:48:08
Hallo und schönen Sonntag euch,
ich habe nach dem Wiki "Heizungsteuerung für HM Wand- und Heizkörperthermostate " versucht diese zu erstellen. Aber irgendwie scheitere ich an der Soll-Neu Temperatur. Im Anhang ist ein Bild, wo man diesen Fehler sieht.
Ich habe den Code bisschen gekürzt, wo das Problem trotzdem bestehen bleibt. Hier der Code für die kürzere Version:
define heatingInfo2 readingsGroup <%sani_heating>,<Soll>,<Soll neu>,<Ist>,<Ventil / RH>,<Modus>,<Lock>,<Bat>\
WZ_Wandthermostat_Climate:desired-temp,<sollsetz>,measured-temp,humidity,controlMode,R-globalBtnLock@WZ_Wandthermostat,batteryLevel@WZ_Wandthermostat\

attr heatingInfo2 commands {"heatingInfo2.sollsetz"=>"desired-temp:5.0,12.0,17.0,18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0","controlMode.manual"=>"set %DEVICE controlMode auto","controlMode.auto"=>"set %DEVICE controlMode manual","R-globalBtnLock.on"=>"set %DEVICE regSet globalBtnLock off","R-globalBtnLock.off"=>"set %DEVICE regSet globalBtnLock on"}
attr heatingInfo2 mapping {WZ_Wandthermostat_Climate=>"Wohnzimmer"}


Was mache ich falsch?
Danke fürs Helfen =)


Titel: Antw:Neues Modul readingsGroup
Beitrag von: stromer-12 am 11 Januar 2015, 12:31:40
Das Problem habe ich seit dem heutigen update auch, bist also nicht allein.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 Januar 2015, 12:49:32
@MaJu,stromer-12: steht etwas im log oder im der js konsole?

könnt ihr das problem mit einer readingsGroup und ein paar dummys nachstellen?

passiert es nur auf dem floorplan oder auch in der normalen raum ansicht?

@chris1284: die einzelnen element der DEF können nicht aus einem einzigen perl ausdruck kommen. wenn du alles in einem ausdruck zusammen baust kannst du die readingGroup per modify ändern.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: stromer-12 am 11 Januar 2015, 13:02:12
Das Mapping von Auswahlfeldern klappt nicht mehr.
Der Name wird nicht dargestellt, stattdessen ein leeres Feld.
Bei "desired-temp"=>"Soll" wird "Soll" nicht angezeigt.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: stromer-12 am 11 Januar 2015, 13:10:53
Beim Mapping "desired-temp"=>"" wird jetzt eine Spalte hinzugefügt jetzt, welche dann auch aktuallisiert wird.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: MaJu am 11 Januar 2015, 13:26:04
Zitat von: justme1968 am 11 Januar 2015, 12:49:32
@MaJu,stromer-12: steht etwas im log oder im der js konsole?

könnt ihr das problem mit einer readingsGroup und ein paar dummys nachstellen?

passiert es nur auf dem floorplan oder auch in der normalen raum ansicht?
Leider kann ich keinen Log mehr liefern. Ich hatte zufällig gestern Nachmittag eine Sicherung meines gesamten FHEM-Datenordners gemacht und dies nun zurückgespielt, da der Akzeptanzfaktor des Display sonst weit gesunken wäre.

Das Problem mit den zusätzlichen Zellen habe ich ausschließlich bei "commands" gehabt, so wie es auch bei stromer-12 aussieht. Auch waren nur die "commands" die einzigen, die ihre Schriftgrößenvorgabe aus der css-Datei ignoriert haben.

Die leeren Zellen hatte ich sowohl beim Floorplan, als auch bei der normalen Ansicht, sowohl bei WEB (8083, ich nutze es ohne eigene Anpassung im Standard-Layout), als auch bei WEBphone und WEBtablet (eigene css-Datei).
Das Ignorieren der Größenvorgabe kann ich bei der normalen Ansicht nicht feststellen, da ich hier keine Vorgabe mache, daher kann mir das nur beim Floorplan bei WEBphone und WEBtablet auffallen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 Januar 2015, 16:09:44
das problem mit dem command mapping habe ich gefunden. ich teste gerade eine lösung.

das mit den leeren zeilen noch nicht.

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 Januar 2015, 18:18:32
ich habe eben eine update eingecheckt mit dem die verschobenen spalten behoben sein sollten.

damit für die dropDown menüs und slider longpoll wieder funktioniert habe ich für rudi noch einen patch gepostet.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: stromer-12 am 11 Januar 2015, 20:32:46
Mit der Version aus dem SVN siehts bei mir erst mal gut aus.

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Andy89 am 12 Januar 2015, 16:33:45
mein Problem ist mit dem heutigem update behoben worden.
Dankeschön! ;D
Titel: Antw:Neues Modul readingsGroup
Beitrag von: olli84 am 15 Januar 2015, 20:56:21
Hallo Ihr Lieben,

ich bräuchte mal eure Hilfe. Wie könnte ich folgende Readingsgroup besser aufbauen, damit die "Links" nicht in dem wunderschönen "grün" festgefahren sind?

Ich möchte einfach eine Readingsgroup auf einem Floorplan darstellen in der ich die 3 commands jeweils per Button absetzen kann. Und die Schrift sollte in weiß sein.

Eine entsprechende Anzeige des momentan geschaltenem Zustand (Abschalt, WW und H+WW) wäre auch nett, ist aber erstmal sekundär.

Herzlichen Dank!

Olli
Titel: Antw:Neues Modul readingsGroup
Beitrag von: MaJu am 16 Januar 2015, 23:46:40
Eine Frage:
Kann man in eine Zelle der readingsGroup 2 readings reinpacken?
Ich möchte vom openweather-Modul jeweils die Tiefst- und Höchsttemperatur möglichst in eine Zelle packen und mit einem Slash oder senkrechten Strich verbinden, am Ende "°C" noch ran?.
Vom device "openweather" sind das zum Beispiel "fc0_tempMin06" und "fc0_tempMax06"

Also gibt es irgendwie die Möglichkeit das folgende zu erreichen und in einer Zelle darzustellen: -1 | 5 °C

Die Alternative wäre, alle anderen Readings in den Spalten drüber und drunter über mehrere Spalten zu ziehen, das möchte ich aber möglichst vermeiden.

___________________________

Durch das Update-Problem ging die andere Frage unter. Kann mir hier jemand helfen?

Zitat von: MaJu am 11 Januar 2015, 00:32:00Leider bekomme ich es aber nicht hin, dass die readingsGroup wirklich ganz links beim ersten Pixel beginnt. Da ist irgendein Rahmen davor. Das führt dazu, dass die Spalten zu weit rechts sind.
Fehlt mir ein style-Attribut, oder ist das einfach nicht möglich, gleich ohne Rahmen ganz links mit dem Inhalt zu beginnen??
Ich habe aktuell: style="border:none; box-shadow:none; border-spacing: 0"


DANKE!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Januar 2015, 10:36:39
das kannst du erreichen wenn du für das erste reading valuePrefix verwendest. du verlierst aber dadurch die longpoll aktualisierung falls nicht beide werte gleichzeitig geändert werden. und natürlich valueSuffix für das °C.

die andere möglichkeit ist etwas in der art: ...,<{myTemp($DEVICE)@fc0_temp(Min|Max)06>,... und in myTemp dann beide werte per readingsVal holen und selber ein html div zusammen bauen und zurückgeben: "<div>$min | $max &deg;C</div>". wenn sich beim event beide werte ändern musst du natürlich nicht auf beide triggern. du verlierst aber hier die möglichkeit die readings per regex anzugeben.

die dritte möglichkeit ist das kombinierte reading als userReading schon im device selber zusammen zu bauen und dann in der readingGroup nur anzuzeigen.

welche von den dreien bei dir besser passt musst du ausprobieren.

zu ganz links beginnen: hast du nonames gesetzt?

gruss
  andre

Titel: Antw:Neues Modul readingsGroup
Beitrag von: MaJu am 17 Januar 2015, 10:51:03
Danke. Da die Temperaturen immer gleichzeitig vom openweather-Modul gesetzt werden sollten, müssen sie nicht separat getriggert werden.

Die erste Variante ohne "°C" ist nicht so schön.
Bei der zweiten übersteigt es aktuell meinen Horizont.
Die Dritte Möglichkeit klingt sehr gut, auch wenn ich bisher mit "userReading" noch keinerlei Erfahrung habe, aber das klingt machbar.



Ja, ich habe nonames auf "1" gesetzt. (Ich habe noch "noheading" auf 1). Insbesonde bei Einfärbung der Zeilen im Floorplan sieht man sehr gut, dass die Zeilenfarbe nicht bei Pixel Null beginnt, sondern erst bei Pixel 6.

Ich habe im Anhang einen stark vergrößerten Ausschnitt eines Teils der TV-Programm-Readingsgroup reingepackt. Das hellgrün ist die definierte zweite Zeilenfarbe (das dunkelgrün entspricht der definierten Hintergrundfarbe des Floorplan, daher starten dies offensichtlich schon ganz links, das liegt aber nur am gleichfarbigen Hintergrund).

Für den Floorplan habe ich bei der Readingsgroup das Attribut auf 280,0,0
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 18 Januar 2015, 13:12:21
Hallo Andre,

jetzt hat sich durch die überarbeitete Version der rg doch ein Problem ergeben:

Ich habe im EM (EnergieMonitor) so ca. 40 Geräte, die jeweils mit 5 Verbrauchswerten (stündlich, täglich, wöchentlich, monatilich, jährlich) angezeigt werden.
In der rg definiere ich
attr EM_rg valueFormat %d Wh
damit die Nachkommastellen der ca. 200 Werte nicht angezeigt werden.
Nun kam der Spieltrieb dazu und über drei Menüs kann ich die Darstellung der rg umstellen:
attr EM_rg commands {'mode' => 'mode:', 'typ' => 'typ:', 'view' => 'view:'}

attr EM setList mode:all,groups,rooms view:collapse,expand type:aktual,last

Bislang gab es durch die Definition von valueFormat in der rg drei Fehlermeldungen, weil die Werte von type,mode und view ja nicht numerisch sind, aber die Menüs wurden angezeigt.

Seit der Umstellung der rg sind nun dort keine Menüs mehr, sondern " 0 Wh".

Ich müsste jetzt dynamisch einen hast für valueFormat berechnen und definieren, der so ca. 400 Wertepaare enthält....

Im Augenblick habe ich als Workaround "valueFormat" in der rg gelöscht, damit die Menüs wieder angezeigt werden.

Ev. eine Idee für eine Alternative?

Und dann habe ich bzgl. von Knöpfen zur Umstellung von Darstellungen noch ein Problem mit der Bildschirmaktualisierung:

http://forum.fhem.de/index.php/topic,32305.msg247193.html#msg247193

Vielleicht hierzu auch eine Idee? Betrifft ja immer readingsGroup.


Elektrolurch



Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 19 Januar 2015, 12:38:52
du kannst das valueFormat so setzen:{return "" if($READING =~ m/mode|typ|view/); return "%d Wh";}

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 19 Januar 2015, 21:14:49
Hi, ich möchte auf meinem FP slider in der ReadingsGroup optisch anders darstellen, dafür gibts in der .css des FP diesen eintrag:
body     { background-color: #444444; font-family:LCARS, Arial, Helvetica, sans-serif; font-size:13px; background-image:url(../images/default/fhemicon_dark.png); background-repeat:no-repeat; }
body[id~=Media]     { background-color: #A5A5A5; font-family:Arial, Helvetica, sans-serif; font-size:13px; background-image:url(../icons/Media.bak); background-repeat:no-repeat; }
#logo { display:none !important;}
#backimg {position:absolute; top:0px; left:0px;}
#fpmenu.fp_arrange   { position:absolute; bottom:20px; left:30px; min-width:310px; font-size:9px; border:1px solid #CCCCCC; background: #111111; -moz-border-radius:8px; border-radius:8px; border-spacing: 6px; padding: 6px;
box-shadow:5px 5px 5px #000; }

#menu    { position:absolute; top:180px; left:30px; width:128px; -moz-border-radius:8px; border-radius:8px; border-spacing: 6px; padding-bottom: 6px; padding-top: 6px;}
#menu.floorplan  { position:absolute; top:180px; left:30px; width:128px; font-size:13px; border:1px solid #CCCCCC; background: #111111; box-shadow:5px 5px 5px #000; padding: 6px;}

#hdr     { position:absolute; top:15px; left:190px; border:1px solid #CCCCCC; background: #111111; -moz-border-radius:8px; border-radius:8px; border-spacing: 6px; padding: 6px;
box-shadow:5px 5px 5px #000; margin-bottom: 10px;}
#content { position:absolute; top:50px; left:180px; bottom:10px; right:10px; text-align:center}
#startcontent {position:absolute; top:20px; left:200px; text-align:left; font-size: 16px; color:gray; }
#errmsg { background-color: #000000; color: #FFFFFF; position:absolute; top:0px; left:40px; z-index: 10; }

a { color:#CCCCCC; text-decoration:none;}
td {padding-left: 3px; padding-right: 3px; padding-top: 3px; padding-bottom: 3px;}

img { -moz-border-radius:8px; border-radius:8px;}

table { -moz-border-radius:8px; border-radius:8px; }
table tr.sel { backround: #333333;}
table a:hover {color: #ffffff;}
table.weather { color: #ffffff; font-size: 14px;}

.fp_Home {border:0px solid red;}

.devicename     { font-size: 14px; text-align:center; color: #FFFFFF; }
.devicestate    { text-align:center; color: #FFFFFF; }
.devicecommands { font-size:14px; text-align:center; color: #FFFFFF; }
        .devicetimestamp{ font-size:10px; text-align:center; color: #FFFFFF; }

#Wettervorhersage1_MaxTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage2_MaxTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage3_MaxTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage4_MaxTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage5_MaxTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage1_MinTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage2_MinTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage3_MinTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage4_MinTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage5_MinTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage1_Tag {font-size:28px; color: #FF00FF; }
#Wettervorhersage2_Tag {font-size:28px; color: #FF00FF; }
#Wettervorhersage3_Tag {font-size:28px; color: #FF00FF; }
#Wettervorhersage4_Tag {font-size:28px; color: #FF00FF; }
#Wettervorhersage5_Tag {font-size:28px; color: #FF00FF; }


#Heizung_Fenster    { color: #ffffff; font-size: 14px;}
#sz_Rollo.devicecommands {font-size:12px; text-align:center; }
#ez_Aussentemperatur_dummy.devicestate  {color:green; font-size:30px; }
#HomeStatus.devicestate  {color:green; font-size:30px; }
table.dummy              {min-width:100px;}
table.FHT                {min-width:100px; }
#Wettervorhersage3_MaxTemp.devicestate      {color:green; font-size:11px; }
#ez_FHT.devicestate      {color:green; font-size:30px; }
#Home.fp_Home       {font-size:14px; width:100px; }
#Home.fp_Media           {font-size:14px; text-align:left; }
#Media                   {font-size:14px; }
#Grundriss               {font-size:14px; text-align:left; }
#YahooWetter            {font-size:16px; color:#D4D4D4}
#w_WertListe1            {font-size:20px; color:gray}
.fp_tempvalue            {color:red; font-size:20px; }
.fp_humvalue             {color:blue; font-size:20px; }


h2,h3,h4 { color:#52865D; line-height:1.3; margin-top:1.5em; font-family:Verdana; }


/* detail-selector & slider */
select {  margin-left:5px; margin-right:5px; }
.set,.attr { margin-bottom:5px; float:left; }
.slider { margin-left:10px; float:left; width:140px; height:26px; border:2px solid; color:grey; }
.set .slider { background:#101010; border-radius:8px; }


/* timepicker */
.set .set { margin-bottom:2px; margin-top:3px; }

.handle { position:relative; cursor:pointer; width:50px; height:20px;
          line-height:20px; border:2px solid; color:white; text-align:center; }
.downText { margin-top:2px; }

/* next lines are for openautomation-svg */
svg { height:32px; width:32px; fill:#fff; vertical-align:middle; margin:2px 0; }
g.on { fill:red; }

/* next lines are for remotecontrol */
.rc_body              { border-style: solid; border-color: gray; border-width: 2px;
                        padding: 5px; background: #101010; font-size:6px;}
.rc_button            { padding: 5px 7px;}
.rc_button img        { border-style: solid; border-width: 1px; border-color: transparent; }
.rc_button img:active { border-color: gray; }


Allerdings werden die Slider der ReadingsGroup "normal" angezeigt und nicht mit dem Layout aus der .css, was mache ich da noch falsch?

Die rd sieht so aus:
Internals:
   DEF        <Gerät>,<Soll>,<Ist>
Gaeste_WC_Clima:desired-temp,measured-temp Heizung_Flur_Clima:desired-temp,measured-temp
Kueche_Clima:desired-temp,measured-temp
Heizung_Tuer_ClimRT_tr:desired-temp,measured-temp
HeizungFenster_Clima:desired-temp,measured-temp
   NAME       rd_Heizungs_Slider
   NR         214
   NTFY_ORDER 50-rd_Heizungs_Slider
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Gaeste_WC_Clima 1
     HeizungFenster_Clima 1
     Heizung_Flur_Clima 1
     Heizung_Tuer_ClimRT_tr 1
     Kueche_Clima 1
   Content2:
   DEVICES:
     ARRAY(0x279ee50)
     ARRAY(0x2b35528)
     ARRAY(0x2b358a0)
     ARRAY(0x25f6420)
     ARRAY(0x2799160)
     ARRAY(0x2710f70)
   Fhem:
     lastDefChange 5
     last_update 1421698451.65953
   Helper:
     DEF
     nameStyle  style="color:yellow;font-weight:bold"
     Commands:
       desired-temp desired-temp:slider,5,0.5,30,1
     Mapping:
       Gaeste_WC_Clima Gäste WC
       HeizungFenster_Clima Heizung Wohnzimmer Fenster
       Heizung_Flur_Clima Heizung Flur
       Heizung_Tuer_ClimRT_tr Heizung Wohnzimmer Tür
       Kueche_Clima Küche
Attributes:
   commands   { 'desired-temp' => 'desired-temp:slider,5,0.5,30,1' }
   fp_Heizung 215,207,0,
   group      Heizung
   mapping    {'Gaeste_WC_Clima' => 'Gäste WC', 'Heizung_Flur_Clima' => 'Heizung Flur', 'Heizung_Tuer_ClimRT_tr' => 'Heizung Wohnzimmer Tür', 'Kueche_Clima' => 'Küche', 'HeizungFenster_Clima' => 'Heizung Wohnzimmer Fenster'}
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   room       Flur Erdgeschoss,Gäste_WC,Küche,Wohnzimmer
   style      style="font-size:20px;color:lightgray;text-align:left"


Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ext23 am 23 Januar 2015, 14:28:24
Hallo,

ich habe mir jetzt auch mal eine ReadingsGroup angelegt. Die aus dem Wiki für die HM Heizung hat es mir angetan. Ich habe es noch ein bissel erweitert um Boost Funktion und Fenster Status etc. Screenshots siehe Anhang. Wirklich Klasse, macht viel Arbeit aber sieht am Ende echt gut aus, da kann man viel mit machen.

Ich habe da aber mal eine Frage. Ich habe bei vielen Geräten eine eventMap die open durch Auf und sowas ersetzt. Bei der ReadingsGroup matche ich immer auf die ursprünglichen Werte, also state.on und .off und .open und .closed etc. Es kommt aber manchmal vor, dass in der ReadingsGroup das ganze wechselt! Mal sehe ich mein Icon, mal steht da Offen oder Aus (ohne Icon natürlich). Woran liegt das? Klar ich kann die ValueIcons doppelt anlegen, aber muss ich das wirklich, oder ist das ein Bug?

Gruß
Daniel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: strauch am 23 Januar 2015, 14:59:52
lustig an dem gleichen Ding war ich gestern auch dran. Was mich da auch noch interessieren würde:
Kann ich den Link vom Device auch auf den Raum umlenken, so das ich im Wohnzimmer nicht auf wz_Heizung_Clima lande sondern im Room Wohnzimmer?
Und um an die Frage oben anzuschließen kann ich Werte hier auch mappen. Ich hab eine Readingsgroup für meine Gastherme gemacht und da gibt es zum einen 1 und 0 für die Pumpe (was ich aber gegen ein Icon tausche) und zum anderen aber auch die Heizungsmodi von 0-4. Die würde ich gerne gegen Texte tauschen wie Aus, Frost, Nacht, Tag ohne das bei der Pumpe dann aber die 1 gegen Frost getauscht wird.

Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 26 Januar 2015, 18:37:55
ich habe jetzt mal ein Problem welches ich am Screenshot am besten zeigen kann.
Ich habe mir eine Readingsgroup erstellt im Def stand folgendes:
<%fts_shutter_automatic@#B0C4DE>,<Datum - Uhrzeit> di_rollladenSZ:timer.*

und im cellStyle:
{ "r:1"=>'style="font-weight:normal;font-size:16px;color:#FAEBD7;"',"c:0"=>'style="font-weight:normal;font-size:14px;text-align:left;padding-left:0pt;color:#B0C4DE;"'}

Nach dem speichern (save) war noch alles OK, aber als ich Fhem eingelesen habe war im Def und im cellStyle nur noch folgendes wie auf dem Screenshot drin...

Kann mir das jemand erklären..! Ich habe diese Prozedur nach einem Neustart nochmals gemacht und immer fehlt der restliche Code.
Kann es sein das die # bei der Farbe der Fehler ist, wenn ja wie muss ich das formatieren..?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 26 Januar 2015, 18:58:18
im fhem config file darf kein # vorkommen weil es als kommentar interpretiert und alles danach abgeschnitten wird.

schau ob du passende farb namen findest (siehe z.b. hier: http://html-color-codes.info/color-names/) oder stecke den string in eine sub in 99_myUtils die den string zurück gibt. entweder alles was in cell style steht oder nur das rechts vom =>

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 26 Januar 2015, 19:02:18
OK vielen Dank ich dachte mir schon soetwas ;) habe Farbnamen genommen
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 26 Januar 2015, 19:08:43
@ext23: in den events (für die longpoll aktualisierung) ist eventMap angewendet. beim aufbau wird das reading direkt gelesen und event map ist nicht angewendet. ich habe vorhin eine änderung eingecheckt die das handling von state ändert. schau mal ob das problem damit weg ist.


@strauch: du kannst dir links 'umbiegen' in dem du eigene links erzeugst und diese statt dem namen anzeigst.

zu den icons: wenn es der device status ist kannst devStateIcon im oringial device so setzen das es das icon ist das du möchtest und dann %devStateIcon als mapping verwenden. wenn das nicht geht kannst du kannst zuerst mit valueFormat den value so ändern das der device name oder ein typ oder sonst etwas eindeutiges darin auftaucht und dann diesen geänderten eindeutigen wert per valueIcon auf das icon mappen. also so: für die pumpe machst du aus 0 und 1 pumpe.0 und pumpe.1 und für deine heizung entsprechend.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Reinerlein am 27 Januar 2015, 11:26:07
Hallo justme1968,

ich habe für das Sonos-Modul deine Readingsgroup für die Anzeige der Titel und Coverinformationen verwendet. Dabei habe ich für jeden Player eine eigene ReadingsGroup gebaut, die dann die jeweiligen Informationen des Players anzeigt.
Das funktioniert auch ganz gut.

Nun habe ich den Punkt, dass die Informationen nicht immer von dem entsprechenden Player direkt geholt werden dürfen, da dieser in einer Gruppe mit einem anderen Player sein kann (und nur dieser die aktuellen Informationen hat). Das bekomme ich prinzipiell auch hin, allerdings wird der Inhalt dann nicht mehr per longpoll aktualisiert, da er nicht auf Events des anderen Players lauscht (da er ja auch gar nicht weiß, welches Device dass nun ist).

Das habe ich definiert, um die normale Anzeige zu machen (läuft super, auch mit longpoll):

define Sonos_WohnzimmerRG ReadingsGroup Sonos_Wohnzimmer:<{SONOS_getCoverTitleRG($DEVICE)}@infoSummarize2>


Das habe ich gemacht, um die Informationen des Gruppenmasters anzuzeigen (Zeigt korrekt an, aber kein longpoll):

define Sonos_WohnzimmerRG ReadingsGroup Sonos_Wohnzimmer:<{SONOS_getCoverTitleRG(SONOSPLAYER_GetMasterPlayerName($DEVICE))}@infoSummarize2>


Die Variante, nur ein Reading anzuzeigen (der eigentliche Zweck des Moduls :) ) geht auch mit longpoll:

define Sonos_WohnzimmerRG ReadingsGroup Sonos_Wohnzimmer:infoSummarize2@{SONOSPLAYER_GetMasterPlayerName($DEVICE)}
Allerdings ist das nur ein Reading, und nicht meine Cover-/Titelinformationen.

Gibt es irgendwie eine Möglichkeit die beiden Möglichkeiten zu kombinieren?
Es würde ja z.B. reichen, wenn man die Deviceangabe vor dem Doppelpunkt als Perl-Code schreiben könnte:

define Sonos_WohnzimmerRG ReadingsGroup {SONOSPLAYER_GetMasterPlayerName('Sonos_Wohnzimmer')}:<{SONOS_getCoverTitleRG($DEVICE)}@infoSummarize2>


Hast du vielleicht eine Idee?
Danke schon mal für deine Unterstützung...

Grüße
Reinerlein
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 Januar 2015, 11:41:49
es sollte gehen wenn du statt der <...> variante ein 'pseudo reading' verwendest. etwa so:define Sonos_WohnzimmerRG readingsGroup Sonos_Wohnzimmer:!coverTitleRg@{SONOSPLAYER_GetMasterPlayerName($DEVICE)}
attr Sonos_WohnzimmerRG valueFormat SONOS_getCoverTitleRG(SONOSPLAYER_GetMasterPlayerName($DEVICE))}


mit dem ! flag vor dem reading namen wird ein reading auch dann in die readingsGroup aufgenommen wenn es im device nicht vorhanden ist. es greifen bei der anzeige alle weiteren attribute die das reading beeinflussen.

die variante ist neuer als die <...> version und flexibler.

vermutlich ist es sinnvoll auf diese readingsGroup noch ein modify zu machen wenn sich die sonos gruppierung ändert da der perl code im im DEF teil nur beim define ausgewertet wird.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Reinerlein am 27 Januar 2015, 12:32:40
Hi Andre,

danke für die schnelle Idee.

Ich habe das nun wie beschrieben umgesetzt. Leider wird nichts angezeigt, und einige Fehlermeldungen im Log erzeugt:

2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%"" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%3A" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Argument "coverTitleRg" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Missing argument in sprintf at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%253a" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%28S" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%26v" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%3C" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%20t" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%22t" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%20he" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%20m" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%20-" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.425 1: PERL WARNING: Invalid conversion in sprintf: "%20w" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.425 1: PERL WARNING: Invalid conversion in sprintf: "%20z" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%20r" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%2C" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%22w" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%22S" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%20a" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%22ht" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%20C" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%20P" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%20S" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%202001-" at ./FHEM/33_readingsGroup.pm line 732.


Auf der Konsole kam noch das raus:

Modification of a read-only value attempted at ./FHEM/33_readingsGroup.pm line 732.


Das was die Prozedur "SONOS_getCoverTitleRG()" zurückliefert ist natürlich rieser HTML-Code. Gibt es denn seitens des Moduls bei der Verwendung als valueFormat da Grenzen? Direkt funktioniert es ja.

Grüße
Reiner
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 Januar 2015, 12:38:18
ja. value format schaut nach ob es % zeichen gibt und verwendet dann ein sprintf.

nimm mal statt dessen folgendes:attr Sonos_WohnzimmerRG valueFormat {""}
attr Sonos_WohnzimmerRG valuePrefix SONOS_getCoverTitleRG(SONOSPLAYER_GetMasterPlayerName($DEVICE))}


Präfix und suffix wird 1:1 durchgereicht.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Reinerlein am 27 Januar 2015, 13:22:33
Hi Andre,

danke für den Tipp. Die Anzeige funktioniert jetzt. Allerdings hatte er keine Aktualisierung per longpoll gemacht.
Beim Neuladen der Seite hatte er dann die aktuellen Inhalte. Ich habe jetzt anstatt des nicht existierenden Readings ein existierendes angegeben, auf dessen Änderung auch die andere ReadingsGroup reagiert ("infoSummarize2"). Jetzt klappt es auch mit longpoll :)

Jetzt bin ich gerade bei der Geschichte mit den Gruppenwechseln.
Gibt es ein "set" oder "get" (in der Oberfläche angeboten wird ja nur "toggle"), womit ich die readingsGroup dazu anregen kann, die Definition neu einzulesen?
Ein Modify ist ja insofern unpraktisch, weil man ja die neue Definition identisch zur alten nochmal setzen möchte.

Grüße
Reiner
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 Januar 2015, 13:35:34
stimmt natürlich. ohne echtes reading gibt es auch keine events für das longpoll. die könnte man mit einem trigger erzeugen. aber da du ein passendes echtes reading hat ist es ja noch besser.

das set das es gibt ist nur für das visibility attribut um die rg oder teile daraus aus und ein zu blenden. das ist nicht was du brauchst.

du kannst für das modify einfach $defs{<rg>}->{DEF} verwenden. das ist ja die aktuelle definition.

oder du rufst direkt readingsGroup_updateDevices($defs{<rg}>) auf.

ich bin gerade dabei zu überlegen wie ich per longpoll eine komplette modifizierte rg im frontend ersetzen kann. in dem zusammenhang wird es dann vermutlich ein set refrash oder ähnlich geben. das dauert aber noch etwas.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Reinerlein am 27 Januar 2015, 14:10:30
Hi Andre,

danke für die Hilfe. Damit kann man auf jeden Fall erstmal hinkommen.
Spätere Vereinfachungen kann man ja immer noch durchführen. Das ganze lebt ja :)

Grüße
Reiner
Titel: Antw:Neues Modul readingsGroup
Beitrag von: strauch am 27 Januar 2015, 14:46:49
Zitat von: justme1968 am 26 Januar 2015, 19:08:43
@strauch: du kannst dir links 'umbiegen' in dem du eigene links erzeugst und diese statt dem namen anzeigst.

Danke für den Hinweis. Einfacher als Gedacht ;-). Mal ein Beispiel falls das jemand ebenfalls sucht:
attr readingsgroup_name mapping {wz_Heizung_Clima=>"<a href='fhem?room=Wohnzimmer'>Wohnzimmer</a>"}


Zitat von: justme1968 am 26 Januar 2015, 19:08:43
zu den icons: wenn es der device status ist kannst devStateIcon im oringial device so setzen das es das icon ist das du möchtest und dann %devStateIcon als mapping verwenden. wenn das nicht geht kannst du kannst zuerst mit valueFormat den value so ändern das der device name oder ein typ oder sonst etwas eindeutiges darin auftaucht und dann diesen geänderten eindeutigen wert per valueIcon auf das icon mappen. also so: für die pumpe machst du aus 0 und 1 pumpe.0 und pumpe.1 und für deine heizung entsprechend.

Da bräuchte ich noch mal Hilfe. Das klappt:
{return "eins" if($VALUE == 1); return "zwei" if($VALUE == 2); return "drei" if($VALUE == 3);}

betrifft aber alle Werte auch die Pumpe, ich will das nur für ein Reading "ch_mode" haben. Das geht leider nicht:
{return "eins" if(Value("ch_mode") == 1); return "zwei" if(Value("ch_mode") == 2); return "drei" if(Value("ch_mode") == 3);}

Hast du ein Tipp wie ich das auf ein Reading begrenze? Oder muss ich das doppelt Prüfen?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 Januar 2015, 15:09:13
ja du musst natürlich $VALUE (und $READING) und $DEVICE prüfen wenn die values identisch sind und du sie unterscheiden möchtest.

wenn es um ein paar feste werte geht ist einfacher die hash variante statt der diversen if und elsif zu verwenden:attr <rg> valueFormat { 'pumpe.ch_mode' => '{"$READING-VALUE"}' }

das setzt für das reading ch_mode des device pumpe bei jedem wert den reading namen vor den wert:
0 -> state-0, 1 -> state-1, ...

du kannst auch den device namen oder irgend etwas anderes eindeutiges verwenden.

die neuen werte kannst du dann bei valueIcon verwenden.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 28 Januar 2015, 20:47:04
Hi,
keiner eine idee für mein Problem aus
Zitat#1128
?

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: chris1284 am 29 Januar 2015, 06:21:21
wenn dein css nicht greift liegts entweder an der falschen "identifikation" /bezeichnung für das html-element oder es wird durch was anderes überschrieben.
da hilft nur zb firefox -> floorplan öffnen -> rechtsklcik auf die seite und "element durchsuchen". dann den slider suchen und anklicken im code. so siehtst du wie er wirklcih im code heist und rechts was an css greift
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 30 Januar 2015, 17:39:43
Hallo,
ich möchte über commands einer ReadingsGroup alle Lampen eines Zimmers oder einer Etage ausschalten. In notifys kann ich dies mit regex machen:
set OG.ez.LI.* off

Wenn ich den gleichen Befehl als command in der ReadingsGroup anlege, erhalte ich eine Fehlermeldung in der Art
please define OG.ez.LI.* first

Wie kann ich in den commands regex verwenden?

Ronny
Titel: Antw:Neues Modul readingsGroup
Beitrag von: MaJu am 30 Januar 2015, 17:42:08
Nutze doch dein notify weiter und verwende dafür in der Readingsgroup einen dummy.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 30 Januar 2015, 17:43:49
Da müsste ich für jedes Zimmer einen Dummy anlegen...
Das mit dem notify war auch nur ein Beispiel.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 30 Januar 2015, 17:46:23
geht es wenn du das ganze in ein fhem(...) verpackst ?

fhem("set OG.ez.LI.* off")

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 30 Januar 2015, 19:39:40
Leider nicht
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ext23 am 31 Januar 2015, 12:28:12
Zitat@ext23: in den events (für die longpoll aktualisierung) ist eventMap angewendet. beim aufbau wird das reading direkt gelesen und event map ist nicht angewendet. ich habe vorhin eine änderung eingecheckt die das handling von state ändert. schau mal ob das problem damit weg ist.

Sieht bis jetzt alles gut aus, ich denke das hat geholfen. Ich hab das jetzt ein paar Tage beobachtet.

Gruß
Daniel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 01 Februar 2015, 16:04:56
Zitat von: chris1284 am 29 Januar 2015, 06:21:21
wenn dein css nicht greift liegts entweder an der falschen "identifikation" /bezeichnung für das html-element oder es wird durch was anderes überschrieben.
da hilft nur zb firefox -> floorplan öffnen -> rechtsklcik auf die seite und "element durchsuchen". dann den slider suchen und anklicken im code. so siehtst du wie er wirklcih im code heist und rechts was an css greift

Hi, danke für denTip, anbei mal ein Bild was ich dann im Browser an Code sehe, aber was kann ich daraus jetzt erkennen?

Die cs sieht so aus:
body     { background-color: #444444; font-family:LCARS, Arial, Helvetica, sans-serif; font-size:13px; background-image:url(../images/default/fhemicon_dark.png); background-repeat:no-repeat; }
body[id~=Media]     { background-color: #A5A5A5; font-family:Arial, Helvetica, sans-serif; font-size:13px; background-image:url(../icons/Media.bak); background-repeat:no-repeat; }
#logo { display:none !important;}
#backimg {position:absolute; top:0px; left:0px;}
#fpmenu.fp_arrange   { position:absolute; bottom:20px; left:30px; min-width:310px; font-size:9px; border:1px solid #CCCCCC; background: #111111; -moz-border-radius:8px; border-radius:8px; border-spacing: 6px; padding: 6px;
box-shadow:5px 5px 5px #000; }

#menu    { position:absolute; top:180px; left:30px; width:128px; -moz-border-radius:8px; border-radius:8px; border-spacing: 6px; padding-bottom: 6px; padding-top: 6px;}
#menu.floorplan  { position:absolute; top:180px; left:30px; width:128px; font-size:13px; border:1px solid #CCCCCC; background: #111111; box-shadow:5px 5px 5px #000; padding: 6px;}

#hdr     { position:absolute; top:15px; left:190px; border:1px solid #CCCCCC; background: #111111; -moz-border-radius:8px; border-radius:8px; border-spacing: 6px; padding: 6px;
box-shadow:5px 5px 5px #000; margin-bottom: 10px;}
#content { position:absolute; top:50px; left:180px; bottom:10px; right:10px; text-align:center}
#startcontent {position:absolute; top:20px; left:200px; text-align:left; font-size: 16px; color:gray; }
#errmsg { background-color: #000000; color: #FFFFFF; position:absolute; top:0px; left:40px; z-index: 10; }

a { color:#CCCCCC; text-decoration:none;}
td {padding-left: 3px; padding-right: 3px; padding-top: 3px; padding-bottom: 3px;}

img { -moz-border-radius:8px; border-radius:8px;}

table { -moz-border-radius:8px; border-radius:8px; }
table tr.sel { backround: #333333;}
table a:hover {color: #ffffff;}
table.weather { color: #ffffff; font-size: 14px;}

.fp_Home {border:0px solid red;}

.devicename     { font-size: 14px; text-align:center; color: #FFFFFF; }
.devicestate    { text-align:center; color: #FFFFFF; }
.devicecommands { font-size:14px; text-align:center; color: #FFFFFF; }
        .devicetimestamp{ font-size:10px; text-align:center; color: #FFFFFF; }

#Wettervorhersage1_MaxTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage2_MaxTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage3_MaxTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage4_MaxTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage5_MaxTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage1_MinTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage2_MinTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage3_MinTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage4_MinTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage5_MinTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage1_Tag {font-size:28px; color: #FF00FF; }
#Wettervorhersage2_Tag {font-size:28px; color: #FF00FF; }
#Wettervorhersage3_Tag {font-size:28px; color: #FF00FF; }
#Wettervorhersage4_Tag {font-size:28px; color: #FF00FF; }
#Wettervorhersage5_Tag {font-size:28px; color: #FF00FF; }


#Heizung_Fenster    { color: #ffffff; font-size: 14px;}
#sz_Rollo.devicecommands {font-size:12px; text-align:center; }
#ez_Aussentemperatur_dummy.devicestate  {color:green; font-size:30px; }
#HomeStatus.devicestate  {color:green; font-size:30px; }
table.dummy              {min-width:100px;}
table.FHT                {min-width:100px; }
#Wettervorhersage3_MaxTemp.devicestate      {color:green; font-size:11px; }
#ez_FHT.devicestate      {color:green; font-size:30px; }
#Home.fp_Home       {font-size:14px; width:100px; }
#Home.fp_Media           {font-size:14px; text-align:left; }
#Media                   {font-size:14px; }
#Grundriss               {font-size:14px; text-align:left; }
#YahooWetter            {font-size:16px; color:#D4D4D4}
#w_WertListe1            {font-size:20px; color:gray}
.fp_tempvalue            {color:red; font-size:20px; }
.fp_humvalue             {color:blue; font-size:20px; }


h2,h3,h4 { color:#52865D; line-height:1.3; margin-top:1.5em; font-family:Verdana; }


/* detail-selector & slider */
select {  margin-left:5px; margin-right:5px; }
.set,.attr { margin-bottom:5px; float:left; }
.slider { margin-left:10px; float:left; width:140px; height:26px; border:2px solid; color:grey; }
.set .slider { background:#101010; border-radius:8px; }


/* timepicker */
.set .set { margin-bottom:2px; margin-top:3px; }

.handle { position:relative; cursor:pointer; width:50px; height:20px;
          line-height:20px; border:2px solid; color:white; text-align:center; }
.downText { margin-top:2px; }

/* next lines are for openautomation-svg */
svg { height:32px; width:32px; fill:#fff; vertical-align:middle; margin:2px 0; }
g.on { fill:red; }

/* next lines are for remotecontrol */
.rc_body              { border-style: solid; border-color: gray; border-width: 2px;
                        padding: 5px; background: #101010; font-size:6px;}
.rc_button            { padding: 5px 7px;}
.rc_button img        { border-style: solid; border-width: 1px; border-color: transparent; }
.rc_button img:active { border-color: gray; }
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cotecmania am 01 Februar 2015, 16:38:27
Hallo,

bei mir aktualisieren sich die Werte des DropDowns für desired-temp nicht, wenn ich an einem Thermostat direkt die Vorgabe ändere.
Das müsste laut Forum doch gefixt sein, oder mache ich noch was falsch ?
Die Ist-Temperatur aktualisiert sich von selbst ...

define HM_Thermostate readingsGroup CUL_HM_HM_CC_RT_DN_......:<%hc_wht_regler>,<{AttrVal($DEVICE,"alias",$DEVICE)}>,measured-temp@{$DEVICE."_Clima"},desired-temp@{$DEVICE."_Clima"},battery,ValvePosition@{$DEVICE."_Clima"} TYPE=MAX:<%hc_wht_regler>,<{AttrVal($DEVICE,"alias",$DEVICE)}>,temperature,desiredTemperature,battery,valveposition
attr HM_Thermostate commands {'desired-temp' => 'desired-temp:', 'desiredTemperature' => 'desiredTemperature:off,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0,on'}
attr HM_Thermostate fp_Tablet 30,820,0,
attr HM_Thermostate mapping { "desired-temp" => " "}
attr HM_Thermostate noheading 1
attr HM_Thermostate room Heizung
attr HM_Thermostate valueFormat { 'valveposition' => "%.0f%", 'desiredTemperature' => "%.1f&deg;;C", 'temperature' => "%.1f&deg;;C", 'ValvePosition' => "%.0f%", 'desired-temp' => "%.1f&deg;;C", 'measured-temp' => "%.1f&deg;;C"}
attr HM_Thermostate valueIcon {'battery.ok' => 'batteryfull_32', 'battery.low' => 'batteryleer_32'}
attr HM_Thermostate group Thermostate


Gruss
Joe
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 02 Februar 2015, 21:21:03
Hallo Andre,

glaube habe da noch in Zusammenhang mit eventMap ein Fehlerchen gefunden:

attr fritzbox eventMap /on:ein/off:aus/

Dann in der readingsGroup:

commands {'diversity1_state.ein' => 'set $DEVICE diversity 1 off', 'diversity1_state.aus' => 'set $DEVICE diversity 1 on', 'diversity2_state.ein' => 'set $DEVICE diversity 2 off', 'diversity2_state.aus' => 'set $DEVICE diversity 2 on',   'box_guestWlan.ein' => 'set $DEVICE guestWLAN  off', 'box_guestWlan.aus' => 'set $DEVICE guestWLAN  on', 'tam1_state.ein' => 'set $DEVICE tam 1 off', 'tam1_state.aus' => 'set $DEVICE tam 1 on', 'box_wlan_2.4GHz.ein' => 'set $DEVICE wlan aus', 'box_wlan_2.4GHz.aus' => 'set $DEVICE wlan on'}

Da die Anzeige und das Setzen der gleichen Funktion mit untershiedlichen Namen erfolgt, war dass hier mit commands am leichtesten zu realisieren.
Es wird auch korrekt mit ein bzw aus (als Link) angezeigt, kann man Klicken und tut auch das was es soll.

Nur!!! Wenn die Seite neu aufgerufen wird oder mit F5 aktualisiert wird, dann steht da wieder on und off und die Werte sind nicht klickbar, bis dann irgendwann das Fritzbox-Modul seinen internen Update fährt und die readings aktualisiert werden.
Oder ich manuell über die Eingabe des entsprechenden set-Befehls das reading ändere....


Offensichtlich fehlt da beim Komplettaufbau  der readingsGroup eine Auswertung der eventMap.

Version: update vom 2.2.2015

Gruß


Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ext23 am 02 Februar 2015, 21:29:25
Ehm sicher das du die aktuelle Version hast? Ich hatte das Problem auch, nach einem Update lief es aber wieder. Zumindest bis gestern, heute hab ich noch kein Update gemacht ;-)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 03 Februar 2015, 09:45:37
Ja. Das Update war von gestern.
Hatte mit der Ergänzung von eventMap extra gewartet, weil ich in einem Beitrag gesehen habe, dass es da mit readingsGroup noch ein Problem gab und Andre die neue Version hochladen wollte.
Das war vor einigen Tagen. Ich müsste also den aktuellen Stand von gestern haben.
P.S.:
Mein derzeitiger Workarround:

attr fritzbox_rg valueFormat {TransformValue("$VALUE");;}

TransformValue macht dann zusätzlich aus on ein, aus off aus und den Rest wird unverändert weitergegeben.

Somit wird nun dauerhaft ein und aus in der rg angezeigt, auch wenn die Seite mit F5 aktualisiert wird.

Warte auf das nächste Update... :-)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Panik am 03 Februar 2015, 16:42:51
Hallo,

wie kann ich bei einer readingsgroup Definition erreichen, dass die Icons die anklickbar sind aktualisiert werden.
Bis jetzt kann ich nur einmal klicken, es wird an oder ausgeschaltet und dann muss ich die Webseite refreshen ...

define it_Aktoren readingsGroup <Raum | Aktor>,<Status>,<Erfassungszeit> TYPE=TRX_LIGHT:state
attr it_Aktoren group Aktor_Steckdosen
attr it_Aktoren mapping %ROOM | %ALIAS
attr it_Aktoren room Allgemein
attr it_Aktoren valueIcon { state => '%devStateIcon' }


Panik



Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 03 Februar 2015, 19:00:42
Hallo,

außer dem vorletzten Beitrag zur eventMap, habe ich, wie mein Vorgänger oben, auch eine Frage zum refresh:

Ich habe ein Menü in der rg, mit dem ich die Ansicht umschalten kann. Dabei wird per modify - Befehl die rg mal länger oder kürzer.
Eigentlich sollte doch der modify-Befehl auch den Bildschirm aktualisieren. Tut es aber nicht.
Erst nach F5 sieht man, dass das modify tatsächlich auch ausgeführt wurde.
(aktueller Firefox)
Und wenn ich dies nach dem modify aufrufe:
readingsGroup_updateDevices($defs{"HzAnlage_SOL_P_rg"});

pasiert auch nichts.

Dann habe ich das ausprobiert:
RefreshScreen('WEB');

sub  RefreshScreen($)
{
my ($name) = @_;
FW_directNotify("#FHEMWEB:$name", "location.reload(true);","" );
} # end sub RefreshScree
#####################


Das ging bis vor kurzem noch. Nun fragt Firefox nach, ob ich tatsächlich die Daten neu senden möchte.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: karl0123 am 05 Februar 2015, 11:49:26
Dass sich beim editieren von z.B: value Icon ein neues großes Fenster öffnet, ist ja ganz nett, hat man jedoch Codemirror aktiviert, werden die Änderungen in dem Fenster nicht ins Attribut übernommen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 05 Februar 2015, 12:21:40
Habe ich auch schon feststellen müssen - mein aktueller Workaround: nach dem Öffnen des großen Fenster einmal auf Cancel drücken und beim nächsten Öffnen startet der Codemirror nicht und die Änderungen werden übernommen...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 Februar 2015, 12:48:17
das ist inzwischen (fast) repariert. siehe hier: http://forum.fhem.de/index.php/topic,33226.msg256778.html#msg256778 (http://forum.fhem.de/index.php/topic,33226.msg256778.html#msg256778).

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cotecmania am 05 Februar 2015, 20:24:23
Zitat von: cotecmania am 01 Februar 2015, 16:38:27
Hallo,

bei mir aktualisieren sich die Werte des DropDowns für desired-temp nicht, wenn ich an einem Thermostat direkt die Vorgabe ändere.
Das müsste laut Forum doch gefixt sein, oder mache ich noch was falsch ?
Die Ist-Temperatur aktualisiert sich von selbst ...

define HM_Thermostate readingsGroup CUL_HM_HM_CC_RT_DN_......:<%hc_wht_regler>,<{AttrVal($DEVICE,"alias",$DEVICE)}>,measured-temp@{$DEVICE."_Clima"},desired-temp@{$DEVICE."_Clima"},battery,ValvePosition@{$DEVICE."_Clima"} TYPE=MAX:<%hc_wht_regler>,<{AttrVal($DEVICE,"alias",$DEVICE)}>,temperature,desiredTemperature,battery,valveposition
attr HM_Thermostate commands {'desired-temp' => 'desired-temp:', 'desiredTemperature' => 'desiredTemperature:off,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0,on'}
attr HM_Thermostate fp_Tablet 30,820,0,
attr HM_Thermostate mapping { "desired-temp" => " "}
attr HM_Thermostate noheading 1
attr HM_Thermostate room Heizung
attr HM_Thermostate valueFormat { 'valveposition' => "%.0f%", 'desiredTemperature' => "%.1f&deg;;C", 'temperature' => "%.1f&deg;;C", 'ValvePosition' => "%.0f%", 'desired-temp' => "%.1f&deg;;C", 'measured-temp' => "%.1f&deg;;C"}
attr HM_Thermostate valueIcon {'battery.ok' => 'batteryfull_32', 'battery.low' => 'batteryleer_32'}
attr HM_Thermostate group Thermostate


Wie bekomme ich es hin, dass die Vorgaben im DropDown wieder automatisch ohne manuellen Refresh angepasst werden ?

Gruss
Joe
Titel: Antw:Neues Modul readingsGroup
Beitrag von: marvin78 am 05 Februar 2015, 20:28:30
Zitat von: justme1968 am 05 Februar 2015, 12:48:17
das ist inzwischen (fast) repariert. siehe hier: http://forum.fhem.de/index.php/topic,33226.msg256778.html#msg256778 (http://forum.fhem.de/index.php/topic,33226.msg256778.html#msg256778).

gruss
  andre

Nicht wirklich. Ich habe die neuen Dateien eingespielt und das Verhalten ist kaum anders (hin und wieder funktioniert es allerdings). Komplett ärgerlich ist, dass Codemirror offenbar nach einem Cancel dann gar nicht mehr geladen wird. Auch im DEF Bereich bleibt die textarea "unbehandelt". Zudem gibt es im Fenster doppelte Scrollbalken. Das ist auch gerade angenehm und insgesamt aktuell eher eine unkomfortable und ärgerliche Änderung auch wenn ich die Idee begrüße.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 07 Februar 2015, 17:00:10
Hallo Andre,

mal eine Frage: Ich muss mir ja die fhem-Oberfläche einerseits barrierefrei gestalten, andererseits wären auch ein paar nette Ikons für den WAF wichtig.
Leider sind die Ikonen (als Statusanzeige) für einen Screenreader nicht so geeignet :-)
Was ich jetzt gerne hätte, wäre für ein und das selbe Reading einmal das valueIcon in der Zeile und dahinter den Wert als Text.

Eine Idee, wie ich das bewerkstelligen könnte?
Danke.

Gibt es zu dem Problem aus Beitrag 1156 bzw. dem davor (eventMap wird bei Aktualisierung von readings über set / readingsBulkupdate in der rg berücksichtigt, nicht aber wenn die Seite neu aufgebaut wird. Habe daher mal ein, mal on dort stehen) schon eine Erkenntnis?


Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 Februar 2015, 17:50:37
die eventMap geschichte muss ich mir noch mal in ruhe anschauen. eigentlich sollte es mit dem letzten bzw. vorletzten update behoben sein.

du kannst mit einem passenden valueSuffix attribut hinter das icon noch einen text schreiben. z.b. einfach $VALUE.

wenn du weisst wie man die svg icons mit einem alternativen text für deinen screen reader versehen kann würde ich das in die readingsGroup einbauen bzw. einen patch für fhem insgesamt schreiben.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 07 Februar 2015, 18:24:49
Hallo Andre,
<cite>
du kannst mit einem passenden valueSuffix attribut hinter das icon noch einen text schreiben. z.b. einfach $VALUE.
</cite>
Na, ein Tipp vom Profi, da wäre ich jetzt einfach nicht drauf gekommen, dabei liegt es sooooo nahe... Super, damit werde ich jetzt viel Spaß haben, denn ich mache ja jetzt das Ganze WAF-friendly, also a bisserl mit Bildchen und so...
<cite>
wenn du weisst wie man die svg icons mit einem alternativen text für deinen screen reader versehen kann würde ich das in die readingGroup einbauen bzw. einen patch für fhem insgesamt schreiben.
</cite>

Leider noch nicht so ganz genau.
Mein Handy hat auch einen Screenreader, und der hat mir bei manchen svg-Ikons einen "Copywrite-Text vorgelesen. Ich habe dann mal das Ikon im Text-Editor gesucht und festgestellt, das der Text dort frei steht und kein Tag hat. Wenn ich den ändere auf ein/aus wird das dann auf dem Handy vorgelesen, aber nicht auf dem Window-PC.
Merkwürdigerweise werden aber die Standard-FS20 on und off Ikonen mit ein und aus vorgelesen, wie das geht, habe ich aber noch nicht herausgefunden, wenn ich nämlich per defStateIkon ein anderes Ikon dort hin versetze, liest er nichts mehr vor.

Aber zurück zum svg: Habe mir in den letzten Tagen (endlich mal) css angesehen und bin dabei auch noch mal durch html gegangen. Im Prinzip enthält die ja auch Tags für die Barrierefreiheit, welche davon aber wirklich aktiv durch einen Screenreader unterstützt werden, muss ich mal herausfinden. Es geht so um "Ersatztexte" für Symbole im Text. Das könnte man dann in die svg hinzufügen und hätte vmtl. eine durch Screenreader zusätzlich unterstützte Sprachausgabe.
Mal sehen... die Arbeit geht nie aus und die Ideen auch nicht... :-)

Im übrigen bringt mich das eventMap auch manchmal zum verzweifeln, habe jetzt doch bei den Ikonen alle Varianten mit on bzw. ein usw durchgespielt, bis die Standardglühlampe durch was anderes ersetzt war....

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 07 Februar 2015, 21:22:11
Hallo,

noch mal einen Tipp gesucht:

in der Def. einer rg steht:
<%meinIkon>,<Überschrift> ...

In der ersten Spalte erscheint das Ikon, in der zweiten der Text. Ergibt aber leider eine etwas große Lücke. Hätte gerne, dass das Ikon und der Text direkt in einer Spalte wären.

<&Ikonname&nbsp;Überschrift>...
geht leider nicht, da erscheint dann gar nichts mehr....

Tipp?

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 Februar 2015, 23:18:45
statt <%meinIkon>,<Überschrift>,... kannst du inzwischen das hier schreiben:meineRg:!meinIkon,...

du nimmst den namen der readingsGroup und zeigst davon das reading mit namen meinIkon an. das ! ist dafür da das das reading auch wenn es nicht da ist angezeigt wird. da meinIkon jetzt ein normales reading ist greifen alle mappings für die readings und du kannst du das icon mit valueIcon zuweisen und die überschrift mit valueSuffix dahinter hängen.

du musst auch nicht mehr auf nicht erlaubte zeichen wie komma oder doppelpunkte achten. in den meisten fällen ist die neue schreibweise mit !sehr viel flexibler. du kannst z.b. auch einfach der readingGroup mit setreading ein passendes reading verpassen und so dynamisch überschriften ändern.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Newbee am 08 Februar 2015, 11:56:17
Hallo,

habe folgende readingsGroup bei mir eingebunden.

define HM_Comp readingsGroup <Gerät>,<Name>,<Model>,<S/N> TYPE=CUL_HM:+NAME,?model,D-serialNr
attr HM_Comp room Maintenance


Mit folgendem Ergebnis.

HM_Comp         
Gerät                   Name                  Model                       S/N
AP_Door                   AP_Door                  HM-SEC-SC-2            XXX
AT_Switch_Attic_F   AT_Switch_Attic_F   HM-PB-2-WM55-2   XXX

und die andere Variante ist wie folgt.

define HM_Comp_SN readingsGroup .*:D-serialNr
attr HM_Comp_SN room Maintenance


Mit diesem Ergebnis.

HM_Comp_SN      
AP_Door:D-serialNr                   XXX   2015-01-20 12:20:26
AT_Switch_Attic_F:D-serialNr   XXX   2015-01-20 12:20:26

Ich habe nun einige Kombinationen probiert um die beiden zusammen zu führen und bin wohl einfach zu .....  :o

Ich hätte gerne die obere Variante mit Überschrift, aber nur auf die readings mit einem Wert bei D-serialNr der unteren Variante.

Vielen Dank vorab.

Gruß Newbee
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Motivierte linke Hände am 08 Februar 2015, 17:01:09
Hallo!

Ich habe hier ein Problem mit über Spalten verschobenen Icons, das nur in der Raumansicht auftritt, nicht jedoch in der Detailansicht der readingsGroup. Ich würde das gerne beheben (alle Werte immer in der richtigen Spalte, weiß aber nicht, wie.

Im Detail:

Ich habe hier zur Übersicht der Räume eine Übersicht per readingsGroup erstellt. Das funktioniert auch eigentlich sehr gut, mit einem "Problem": Nicht alle abgefragten Heizungsthermostate haben immer ein battery-reading (zum Problem siehe diesen Thread hier im Forum http://forum.fhem.de/index.php/topic,26861.0.html (http://forum.fhem.de/index.php/topic,26861.0.html)). Daher bleiben dann die entsprechenden (mit Batterie-Icon befüllten) Felder in der Readingsgroup leer, das ist ok. Links neben dem Batteriefeld ist der actuator (Ventilstellung), rechts daben die Luftfeuchtigkeitsanzeige (nur ganz unten benutzt, also auch oft leer).

Wenn nun das Batteriefeld und die Luftfeuchtigkeit leer sind, wird die Ventilstellung nicht in der richtigen Spalte angezeigt, sondern in der Mitte der 3 leeren Spalten.

1. Wie kann ich das zentrieren über mehrere leere Spalten verhindern?
2. Warum stimmt die Anzeige (nur Zentrieren innerhalb der jeweiligen Spalten), wenn ich mir die Details der readingsGroup anzeigen lasse? Nur die initiale Anzeige im Raum, dem die readingsGroup zugeordnet ist, ist verschoben. Klicke ich dort auf den Namen der readingsGroup, um die Details anzuzeigen, passt alles. (s. beiliegende Screenshots).

list der readingsgroup:

Internals:
   DEF        <%sani_heating>,<%sani_heating_temp>,<%sani_heating_manual>,<%hc_wht_regler>,<%batterie>,<%humidity> channel_01=.*_Weather:measured-temp,desired-temp@{$DEVICE."_Clima"},actuator,battery Sens_Keller:temperature,<&nbsp>,<&nbsp>,battery,humidity Sens_Vorrat:temperature,<&nbsp>,<&nbsp>,battery,humidity Sens_Garage:temperature,<&nbsp>,<&nbsp>,battery,humidity
   NAME       rg_Hzg_All
   NR         281
   NTFY_ORDER 50-rg_Hzg_All
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Hzg_AusgTerrasse 1
     Hzg_Bad    1
     Hzg_Buero  1
     Hzg_Eingang 1
     Hzg_Flur   1
     Hzg_Gaestebad 1
     Hzg_Gaestezimmer 1
     Hzg_Julius 1
     Hzg_Keller 1
     Hzg_Kueche 1
     Hzg_OG_links 1
     Hzg_OG_rechts 1
     Hzg_Schlafzimmer 1
     Hzg_WC     1
     Hzg_Waschkueche 1
     Hzg_Wohnzimmer1 1
     Hzg_Wohnzimmer2 1
     Hzg_Wohnzimmer3 1
     Sens_Garage 1
     Sens_Keller 1
     Sens_Vorrat 1
   Content2:
     Hzg_AusgTerrasse_Clima 1
     Hzg_Bad_Clima 1
     Hzg_Buero_Clima 1
     Hzg_Eingang_Clima 1
     Hzg_Flur_Clima 1
     Hzg_Gaestebad_Clima 1
     Hzg_Gaestezimmer_Clima 1
     Hzg_Julius_Clima 1
     Hzg_Keller_Clima 1
     Hzg_Kueche_Clima 1
     Hzg_OG_links_Clima 1
     Hzg_OG_rechts_Clima 1
     Hzg_Schlafzimmer_Clima 1
     Hzg_WC_Clima 1
     Hzg_Waschkueche_Clima 1
     Hzg_Wohnzimmer1_Clima 1
     Hzg_Wohnzimmer2_Clima 1
     Hzg_Wohnzimmer3_Clima 1
   DEVICES:
     ARRAY(0x5b4c430)
     ARRAY(0x4a92b40)
     ARRAY(0x5311490)
     ARRAY(0x58c7ac8)
     ARRAY(0x52bf3a0)
     ARRAY(0x5708d18)
     ARRAY(0x45e96e0)
     ARRAY(0x58baf28)
     ARRAY(0x503be50)
     ARRAY(0x58d3858)
     ARRAY(0x597dc88)
     ARRAY(0x4af75f0)
     ARRAY(0x5226a48)
     ARRAY(0x512a448)
     ARRAY(0x5b41a00)
     ARRAY(0x5b41940)
     ARRAY(0x5284c08)
     ARRAY(0x58b5cb0)
     ARRAY(0x5b288b8)
     ARRAY(0x52c9720)
     ARRAY(0x5b233b8)
     ARRAY(0x5127db0)
   DEVICES2:
     ARRAY(0x5b4c430)
     ARRAY(0x4a92b40)
     ARRAY(0x5311490)
     ARRAY(0x58c7ac8)
     ARRAY(0x52bf3a0)
     ARRAY(0x5708d18)
     ARRAY(0x45e96e0)
     ARRAY(0x58baf28)
     ARRAY(0x503be50)
     ARRAY(0x58d3858)
     ARRAY(0x597dc88)
     ARRAY(0x4af75f0)
     ARRAY(0x5226a48)
     ARRAY(0x512a448)
     ARRAY(0x5b41a00)
     ARRAY(0x5b41940)
     ARRAY(0x5284c08)
     ARRAY(0x58b5cb0)
     ARRAY(0x5b288b8)
     ARRAY(0x52c9720)
     ARRAY(0x5b233b8)
     ARRAY(0x5127db0)
     ARRAY(0x524cb70)
     ARRAY(0x58b4558)
     ARRAY(0x52c5c38)
     ARRAY(0x2ffd9f0)
     ARRAY(0x5b29020)
     ARRAY(0x58baf40)
     ARRAY(0x5281c90)
     ARRAY(0x531d160)
     ARRAY(0x58c1860)
     ARRAY(0x4ab16d8)
     ARRAY(0x5981780)
     ARRAY(0x4f4c8c0)
     ARRAY(0x5b4f808)
     ARRAY(0x52ce9f0)
     ARRAY(0x5b2c7b8)
     ARRAY(0x58c5408)
     ARRAY(0x4f41688)
     ARRAY(0x5280438)
   Fhem:
     lastDefChange 99
     last_update 1423410452.56938
   Helper:
     DEF
     nameStyle  style="font-weight:bold;text-align:center"
     valueStyle {if ($READING eq "measured-temp" && $VALUE < 20) {'style="color:blue;text-align:right"'} elsif ($READING eq "measured-temp" && $VALUE > 25) {'style="color:red;text-align:right"'} elsif ($READING eq "measured-temp" && $VALUE >= 20) {'style="text-align:right"'} elsif ($READING eq "humidity") {'style="text-align:center"'} elsif ($READING eq "actuator") {'style="text-align:center"'} elsif ($READING eq "temperature" && $VALUE < 20) {'style="color:blue;text-align:right"'} elsif ($READING eq "temperature" && $VALUE > 25) {'style="color:red;text-align:right"'} elsif ($READING eq "temperature" && $VALUE >= 20) {'style="text-align:right"'} elsif ($READING eq "desired-temp" && $VALUE < 20) {'style="color:blue;text-align:right"'} elsif ($READING eq "desired-temp" && $VALUE > 25) {'style="color:red;text-align:right"'} elsif ($READING eq "desired-temp" && $VALUE >= 20) {'style="text-align:right"'} }
     Commands:
       desired-temp desired-temp:
     Mapping:
       Hzg_AusgTerrasse Flur bei Terrasse
       Hzg_Bad    Badezimmer
       Hzg_Buero  Büro
       Hzg_Eingang Windfang
       Hzg_Flur   Flur im Keller
       Hzg_Gaestebad Gästebad
       Hzg_Gaestezimmer Gästezimmer
       Hzg_Julius Julius' Zimmer
       Hzg_Keller Ehemaliges Büro
       Hzg_Kueche Küche
       Hzg_OG_links OG, Fensterfront
       Hzg_OG_rechts OG, Schreibtisch
       Hzg_Schlafzimmer Schlafzimmer
       Hzg_WC     WC
       Hzg_Waschkueche Waschküche
       Hzg_Wohnzimmer1 Wohnzimmer
       Hzg_Wohnzimmer2
       Hzg_Wohnzimmer3
       Sens_Garage Garage
       Sens_Keller Ehemaliges Büro
       Sens_Vorrat Vorratskeller
     Valueformat:
       actuator   %.0f%%
       desired-temp %.1f°C
       humidity   %.0f%%
       measured-temp %.1f°C
       temperature %.1f°C
     Valueicon:
       battery.low measure_battery_50@red
       battery.ok measure_battery_100@green
Attributes:
   alias      Heizungsuebersicht
   commands   {'desired-temp' => 'desired-temp:'}
   group      Heizung
   mapping    {Hzg_AusgTerrasse=>"Flur bei Terrasse",Hzg_Bad=>"Badezimmer",Hzg_Buero=>"Büro",Hzg_Eingang=>"Windfang",Hzg_Flur=>"Flur im Keller",Hzg_Gaestebad=>"Gästebad",Hzg_Gaestezimmer=>"Gästezimmer",Hzg_Julius=>"Julius' Zimmer",Hzg_Keller=>"Ehemaliges Büro",Hzg_Kueche=>"Küche",Hzg_Schlafzimmer=>"Schlafzimmer",Hzg_WC=>"WC",Hzg_Waschkueche=>"Waschküche",Hzg_Wohnzimmer1=>"Wohnzimmer",Hzg_Wohnzimmer2=>" ",Hzg_Wohnzimmer3=>" ",Sens_Keller=>"Ehemaliges Büro",Sens_Vorrat=>"Vorratskeller",Sens_Garage=>"Garage",Hzg_OG_rechts=>"OG, Schreibtisch",Hzg_OG_links=>"OG, Fensterfront" }
   nameStyle  style="font-weight:bold;text-align:center"
   room       Heizung
   valueFormat {'measured-temp' => "%.1f°C", 'desired-temp' => "%.1f°C", 'actuator' =>"%.0f%%", 'temperature' => "%.1f°C", 'humidity' => "%.0f%%" }
   valueIcon  {'battery.ok' => 'measure_battery_100@green', 'battery.low' => 'measure_battery_50@red'}
   valueStyle {if ($READING eq "measured-temp" && $VALUE < 20) {'style="color:blue;text-align:right"'} elsif ($READING eq "measured-temp" && $VALUE > 25) {'style="color:red;text-align:right"'} elsif ($READING eq "measured-temp" && $VALUE >= 20) {'style="text-align:right"'} elsif ($READING eq "humidity") {'style="text-align:center"'} elsif ($READING eq "actuator") {'style="text-align:center"'} elsif ($READING eq "temperature" && $VALUE < 20) {'style="color:blue;text-align:right"'} elsif ($READING eq "temperature" && $VALUE > 25) {'style="color:red;text-align:right"'} elsif ($READING eq "temperature" && $VALUE >= 20) {'style="text-align:right"'} elsif ($READING eq "desired-temp" && $VALUE < 20) {'style="color:blue;text-align:right"'} elsif ($READING eq "desired-temp" && $VALUE > 25) {'style="color:red;text-align:right"'} elsif ($READING eq "desired-temp" && $VALUE >= 20) {'style="text-align:right"'} }
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 08 Februar 2015, 17:14:47
die screenshots fehlen...

über valueColumn kannst du fest legen in welcher spalte ein wert steht soll falls vorher readings fehlen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Motivierte linke Hände am 08 Februar 2015, 17:37:11
Danke für die schnelle Antwort. Screenshots habe ich oben ergänzt, vor allem auch, weil ich mit valuecolumn nicht erfolgreich war. Ich habe ergänzt:

attr rg_Hzg_All valueColumn { actuator => 3 }

Die Darstellung sieht nach wie vor aus, wie auf den Screenshots eingefügt. Es scheint, dass die leeren columns gegen Ende wegfallen und dann der Befehl zur Zentrierung über die gesamte restliche Tabellenbreite wirkt, weswegen die actuator-Einstellung sich dann genau in der Batterie-Spalte wiederfindet. Ahnungslose Ehefrauen verteilen daraufhin sofort Kommandos zum Batteriewechsel.  ;D
Titel: Antw:Neues Modul readingsGroup
Beitrag von: der-Lolo am 08 Februar 2015, 18:43:52
lol

- der Trick ist solche Seiten vor den ahnungslosen Ehefrauen zu verstecken...

;-)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Motivierte linke Hände am 08 Februar 2015, 20:15:56
 8)

Was auch klappt: In der alten Definition (s.o.) war für den Thermostat-Teil in der readingsgroup für die letzte Spalte gar kein Reading angegeben (humidity gibt es bei den Thermostaten nicht, und da es am Ende war, hatte ich da auch nichts weiter angegeben). Das scheint bei Nichtvorhandensein des battery-Readings dazu zu führen, dass actuator als letztes Reading sich - nicht in der Detailansicht der readingsgroup, aber in der "normalen" Darstellung - über die restliche Breite der Tabelle erstreckt.

Wenn ich dementsprechend dann in der Definition bei den Thermostaten am Ende für humidity noch ein <&nbsp> anhänge, stimmt die Ansicht der readingsgroup nicht nur in der Detailansicht, sondern auch in der normalen Ansicht.

Internals:
   DEF        <%sani_heating>,<%sani_heating_temp>,<%sani_heating_manual>,<%hc_wht_regler>,<%batterie>,<%humidity> channel_01=.*_Weather:measured-temp,desired-temp@{$DEVICE."_Clima"},actuator,battery,<&nbsp> Sens_Keller:temperature,<&nbsp>,<&nbsp>,battery,humidity Sens_Vorrat:temperature,<&nbsp>,<&nbsp>,battery,humidity Sens_Garage:temperature,<&nbsp>,<&nbsp>,battery,humidity


Ja, ich freue mich auch über meine Spezialprobleme.  ;D

Einen schönen Abend allerseits!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: idi am 09 Februar 2015, 11:15:35
Hallo ich habe folgendes Problem:

Bin noch ziemlicher Anfänger.
Und zwar schaff ich es nicht, verschiedene Devices, in einer Zeile hintereinander dar zu stellen.

im Anhang eine Idee wie es etwa ausschauen sollte.

Besten Dank

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Motivierte linke Hände am 09 Februar 2015, 12:09:12
@idi: Und was hast Du bisher versucht, was kam raus?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: idi am 09 Februar 2015, 12:53:01
Bisher bin ich leider nur zu folgendem Punkt gekommen:

define Verteiler_Temperatur1 readingsGroup <%sani_heating>,<Temp>,<Status> Bad_Rl:temperature, Status_Bad:state, Wz_Rl_98m:temperature, Status_Wohnzimmer:state
attr Verteiler_Temperatur1 notime 1
attr Verteiler_Temperatur1 room Heizungsverteiler

Besten Dank für die Hilfe !
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Motivierte linke Hände am 09 Februar 2015, 13:02:52
Wenn Du Readings aus unterschiedlichen Devices in einer Zeile anzeigen möchtest, schau Dir mal diesen Wiki-Eintrag an: http://www.fhemwiki.de/wiki/ReadingsGroup#Readings_aus_zus.C3.A4tzlichen_Devices (http://www.fhemwiki.de/wiki/ReadingsGroup#Readings_aus_zus.C3.A4tzlichen_Devices)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 09 Februar 2015, 13:03:14
siehe z.b. hier: http://forum.fhem.de/index.php/topic,16552.msg256989.html#msg256989

gruß
andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: idi am 09 Februar 2015, 14:07:51
Besten Dank !

Jetzt hat's geklappt.

define Verteiler_Temperatur1 readingsGroup <%sani_heating>,<Temp>,<>,<Status> \
Vorlauf:<Vorlauf>,temperature, \
Bad_Rl:<Bad&nbsp;;Rücklauf>,temperature,<>,state@Status_Bad, \
Wz_Rl_98m:<Wohnzimmer&nbsp;;Rücklauf1>,temperature,<>,state@Status_Wohnzimmer, \
Wz_Rl_64m:<Wohnzimmer&nbsp;;Rücklauf2>,temperature,<>,state@Status_Wohnzimmer


Schöne Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: karl0123 am 09 Februar 2015, 19:11:45
Zitat von: justme1968 am 05 Februar 2015, 12:48:17
das ist inzwischen (fast) repariert. siehe hier: http://forum.fhem.de/index.php/topic,33226.msg256778.html#msg256778 (http://forum.fhem.de/index.php/topic,33226.msg256778.html#msg256778).

gruss
  andre

Das hier ist im Übrigen nicht repariert. Mit der Version von heute ist das immernoch genau so. Es hat sich am Verhalten nichts geändert (und ja, bei mir wird alles korrekt geladen, den Cache habe ich geleert). Auch dass Codemirror im DEF Feld so nicht mehr brauchbar ist, ist sehr ärgerlich. Könnte man das wieder raus machen, bis es wirklich funktioniert???
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 10 Februar 2015, 12:08:07
Hallo Andre,

zwei Fragen:
1. Ich würde gerne ein und dieselbe readingsGroup auf mehreren Seiten darstellen, aber dann abhängig von der Seite (Raum) den Inhalt unterschiedlich gestalten.
Beispiel:
define Thermostat_rg readingsGroup .._Thermostat:measured-temp,desired-temp,...


.. steht für ein Kürzel für die Räume, in denen sich Thermostate befinden.
Jetzt möchte ich dann so was machen:

attr Thermostat_rg valueFormat {IsRoom("$DEVICE","$VALUE",...?)}

sub IsRoom($$$)
{
my ($d,$v,$current_room) = @_;


liefert den VALUE zurück, wenn $DEVICE  die Kennung für den Raum ($current_room) hat, in der gerade die readingsGroup angezeigt wird, ansonsten return undef.

Gibt es eine Variable oder könte man diese als $ oder % - Variable verfügbar machen ($CURRENT_ROOM),  mit der man abfragen kann, in welchem Raum die rg gerade angezeigt wird?
(attr rg room geht ja nicht, da es immer die gleiche Liste von Räumen ausgibt, in der die rg ausgegeben wird und nicht die aktuelle Darstellung repräsentiert).

2. Das ist schnell beantwortet, habe es noch nicht selbst ausprobiert, mit Ikonen tue ich mich ja nicht gerade leicht:
Können valuePrefix und valueSuffix auch Ikonen ausgeben? (Mit %IkconName)
Geht auch sowas:
...valuePrefix {'rd1' => '{perlcode}', ...'rdn' => '{perlcode...}'}

und das hier?
...commands {'rd1' => '{perlcode}', ...'rdn' => '{perlcode...}'}


Elektrolurch



Titel: Antw:Neues Modul readingsGroup
Beitrag von: Newbee am 10 Februar 2015, 19:29:33
Hallo zusammen,

habe folgenden Eintrag erstellt.

define Thermostat readingsGroup <%sani_heating>,<Ventil>,<Soll>,<Ist>,<MaxV>,<GID>,<Mode>,<Batterie> TYPE=CUL_HM:FILTER=subType=thermostat:ValvePosition,desired-temp,measured-temp,R-valveMaxPos,groupid,mode,battery

Und bekomme dieses Ergebniss , argh.....!

Vielen Dank vorab.

Gruß Newbee
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 Februar 2015, 19:59:19
@karl0123: bei mir geht codemirror. sowohl in der DEF als auch bei den attributen. siehst du irgendwelche meldungen in der javascript konsole? du kannst per widgetOverride attribut alle textField-long widgets auf textField setzen und hast erst mal das alte verhalten ohne popup dialog.


@Elektrolurch:

an den gerade angezeigten raum kommst du per $FW_webArgs{room}. ich schaue mal ob man das noch etwas eleganter machen kann.

valuePrefix und valueSuffix können nur text sein keine icons.

perl code geht so wie in deinem beispiel in beiden fällen.


gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: pnewman am 11 Februar 2015, 14:35:41
Hallo zusammen,

nun bin ich durch diesen Fred durch, aber nicht viel schlauer.
Das Wicki ist super, ebenso das Modul.

Bild1 Habe ich schonmal hinbekommen. War ja auch einfach(Copy,Paste).

Nun habe ich versucht aus dem Wicki Bild2 hinzubekommen.
Folgendes habe ich im Web Interface in das Befehls Eingabefeld eingegeben:
define myTemp readingsGroup <Raum>,<Tist>,<Tsoll>,<Mode>,<Tnight>,<Tday>,<BatTC>,<Vist>,<Vsoll>,<Verr>,<BatVD>
Thermostat.(GWC|Tuer|Amelie|Bad|Schlaf|Spielzimmer|Zoe):temperature,desiredTemperature,mode,
night-temp,day-temp,battery,ValvePosition@{valveOfDevice($DEVICE)},ValveDesired@{valveOfDevice($DEVICE)},
R-valveErrorPos@{valveOfDevice($DEVICE)},battery@{valveOfDevice($DEVICE)}

attr myTemp mapping { 'Thermostat.GWC' => 'HZ_GWC','Thermostat.Tuer' => 'HZ_Tuer','Thermostat.Amelie'=>'HZ_Amelie','Thermostat.Bad' =>
'HZ_Bad','Thermostat.Schlaf' =>
'HZ_Schlaf','Thermostat.Spielzimmer' => 'HZ_Spielzimmer','Thermostat.Zoe' =>
'HZ_Zoe','desired-temp' =>
'' }

Und Bild3 kommt dabei heraus.

Wie in meiner Signatur zu sehen ist sind meine Fenstekontakte und die Thermostate,Stellventiel von MAX!.

Vorher ist es mir im Wiki ebenso ergangen mit den "Heizungswerte inklusive Ventilposition" für MAX!.
Code:
define Heizungswerte readingsGroup <%sani_heating>,<Ventil>,<Soll>,<Ist>,<MaxV>,<GID>,<Mode>,<Batterie>
TYPE=CUL_HM:ValvePosition,desired-temp,measured-temp,R-valveMaxPos,groupid,mode,battery


Ist CUL_HM nicht für Homematic?
Egal, da ich einen COC habe, aber weder TYPE=COC:, noch TYPE=CULMAX0: funktioniert.

Könnte mir bitte jemand erklären, wo mein Fehler liegt?

Gruß
Ralf
Titel: Antw:Neues Modul readingsGroup
Beitrag von: mahowi am 11 Februar 2015, 15:36:52
Versuch es mal mit "TYPE=MAX:" um alle MAX-Komponenten zur erfassen. Alternativ nur für Thermostate "DEF=HeatingThermostat.*".

Aus desired-temp musst Du noch desiredTemperature machen, ebenso aus measured-temp temperature und aus R-valveMaxPos maxValveSetting.

Aus dem ganzen wird also für alle MAX-Thermostate:

define Heizungswerte readingsGroup <%sani_heating>,<Ventil>,<Soll>,<Ist>,<MaxV>,<GID>,<Mode>,<Batterie> DEF=HeatingThermostat.*:valveposition,desiredTemperature,temperature,maxValveSetting,groupid,mode,battery

Titel: Antw:Neues Modul readingsGroup
Beitrag von: pnewman am 11 Februar 2015, 15:56:56
Hallo mahowi,

danke für die schnelle Antwort.

Der Code von dir:

define Heizungswerte readingsGroup <%sani_heating>,<Ventil>,<Soll>,<Ist>,<MaxV>,<GID>,<Mode>,<Batterie>
DEF=HeatingThermostat.*:valveposition,desiredTemperature,temperature,maxValveSetting,groupid,mode,battery


Ergibt Bild4.

Anscheinend kennen meine Thermostate "maxValveSetting" nicht.
Im Moment bin ich damit aber schon ein ganzes Stück weiter.

Vielen Dank für das sofort testbare Beispiel.

Ich werde das eine oder andere Beispiel aus dem Wiki nun versuchen umzusetzen.

Gruß
Ralf
Titel: Antw:Neues Modul readingsGroup
Beitrag von: mahowi am 11 Februar 2015, 17:17:06
Was sagt denn ein "list Thermostat.GWC"?

Bei mir ergibt z.B. "list MAX_009cd1":
Internals:
   CHANGED
   DEF        HeatingThermostat 009cd1
   IODev      ml
   LASTInputDev ml
   MSGCNT     1968
   NAME       MAX_009cd1
   NR         46
   STATE      21.0 °C
   TYPE       MAX
   addr       009cd1
   backend    ml
   dstsetting 1
   ml_MSGCNT  1968
   ml_TIME    2015-02-11 17:08:54
   mode       0
   rferror    0
   serial     IEQ0182338
   type       HeatingThermostat
   Readings:
     2015-02-11 17:08:54   MAXLAN_error    0
     2015-02-11 17:08:54   MAXLAN_errorInCommand
     2015-02-11 17:08:54   MAXLAN_initialized 1
     2015-02-11 17:08:54   MAXLAN_isAnswer 0
     2015-02-11 17:08:54   MAXLAN_valid    1
     2015-02-11 17:08:54   battery         ok
     2015-02-11 17:08:54   boostDuration   5
     2015-02-11 17:08:54   boostValveposition 80
     2015-02-11 17:08:54   comfortTemperature 23.0
     2015-02-11 17:08:54   decalcification Sat 12:00
     2015-02-11 17:08:54   desiredTemperature 21.0
     2015-02-11 17:08:54   ecoTemperature  16.5
     2015-02-11 17:08:54   firmware        1.4
     2015-02-11 17:08:54   groupid         1
     2015-02-11 17:08:54   maxValveSetting 100
     2015-02-11 17:08:54   maximumTemperature 26.0
     2015-02-11 17:08:54   measurementOffset 0.0
     2015-02-11 17:08:54   minimumTemperature off
     2015-02-11 17:08:54   mode            auto
     2015-02-11 17:08:54   state           21.0 °C
     2015-02-11 17:08:54   temperature     24.1
     2015-02-11 17:08:54   testresult      255
     2015-02-11 17:08:54   valveOffset     0
     2015-02-11 17:08:54   valveposition   22
     2015-02-11 17:08:54   weekprofile-0-Sat-temp 18.0 °C  /  16.5 °C  /  21.0 °C  /  18.0 °C  /  18.0 °C
     2015-02-11 17:08:54   weekprofile-0-Sat-time 00:00-02:00  /  02:00-09:00  /  09:00-22:00  /  22:00-23:55  /  23:55-00:00
     2015-02-11 17:08:54   weekprofile-1-Sun-temp 18.0 °C  /  16.5 °C  /  21.0 °C  /  16.5 °C  /  16.5 °C
     2015-02-11 17:08:54   weekprofile-1-Sun-time 00:00-02:00  /  02:00-09:00  /  09:00-22:30  /  22:30-23:55  /  23:55-00:00
     2015-02-11 17:08:54   weekprofile-2-Mon-temp 16.5 °C  /  21.0 °C  /  16.5 °C  /  21.0 °C  /  18.0 °C  /  16.5 °C
     2015-02-11 17:08:54   weekprofile-2-Mon-time 00:00-06:30  /  06:30-08:00  /  08:00-16:00  /  16:00-22:00  /  22:00-23:55  /  23:55-00:00
     2015-02-11 17:08:54   weekprofile-3-Tue-temp 16.5 °C  /  21.0 °C  /  16.5 °C  /  21.0 °C  /  18.0 °C  /  16.5 °C
     2015-02-11 17:08:54   weekprofile-3-Tue-time 00:00-06:30  /  06:30-08:00  /  08:00-16:00  /  16:00-22:00  /  22:00-23:55  /  23:55-00:00
     2015-02-11 17:08:54   weekprofile-4-Wed-temp 16.5 °C  /  21.0 °C  /  16.5 °C  /  21.0 °C  /  18.0 °C  /  16.5 °C
     2015-02-11 17:08:54   weekprofile-4-Wed-time 00:00-06:30  /  06:30-08:00  /  08:00-16:00  /  16:00-22:00  /  22:00-23:55  /  23:55-00:00
     2015-02-11 17:08:54   weekprofile-5-Thu-temp 16.5 °C  /  21.0 °C  /  16.5 °C  /  21.0 °C  /  18.0 °C  /  16.5 °C
     2015-02-11 17:08:54   weekprofile-5-Thu-time 00:00-06:30  /  06:30-08:00  /  08:00-16:00  /  16:00-22:00  /  22:00-23:55  /  23:55-00:00
     2015-02-11 17:08:54   weekprofile-6-Fri-temp 16.5 °C  /  21.0 °C  /  16.5 °C  /  21.0 °C  /  18.0 °C  /  18.0 °C
     2015-02-11 17:08:54   weekprofile-6-Fri-time 00:00-06:30  /  06:30-08:00  /  08:00-13:30  /  13:30-22:00  /  22:00-23:55  /  23:55-00:00
     2015-02-11 17:08:54   windowOpenDuration 15
     2015-02-11 17:08:54   windowOpenTemperature 10.0
   Internals:
     interfaces thermostat;battery;temperature
Attributes:
   IODev      ml
   alias      Bad_Heizung
   event-on-change-reading .*
   icon       max_heizungsthermostat
   room       MAX


Eigentlich sollte jedes MAX Thermostat maxValveSetting unterstützen. Bei mir sieht es mit demselben Code aus wie im Screenshot, da wird alles angezeigt.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: pnewman am 11 Februar 2015, 20:47:38
Hallo mahowi,

hier mein list HZ_GWC:


Internals:
   CULMAX0_MSGCNT 3
   CULMAX0_TIME 2015-02-11 18:26:30
   DEF        HeatingThermostat 0714e2
   IODev      CULMAX0
   LASTInputDev CULMAX0
   MSGCNT     3
   NAME       HZ_GWC
   NR         78
   RSSI       -54
   STATE      20.0 °C
   TYPE       MAX
   addr       0714e2
   backend    CULMAX0
   dstsetting 1
   mode       0
   rferror    0
   type       HeatingThermostat
   Readings:
     2015-01-26 21:14:13   TimeInformationHour 5
     2015-02-11 18:26:30   battery         ok
     2015-02-11 18:26:30   desiredTemperature 20.0
     2015-01-26 21:14:45   groupid         0
     2015-01-27 23:12:52   measurementOffset 0
     2015-02-11 18:26:30   mode            auto
     2015-02-11 18:26:28   msgcnt          67
     2015-02-11 18:26:30   state           20.0 °C
     2015-02-11 18:14:47   temperature     20.9
     2015-02-11 18:26:30   valveposition   87
   Internals:
     interfaces thermostat;battery;temperature
Attributes:
   IODev      CULMAX0
   group      Erdgeschoss
   icon       temp_control
   room       GWC, Heizung


Wie du sehen kannst, kein "maxValveSetting"!!

Wenn ich das richtig verstehe gibt es mir auch nur die vorgegebene maximal mögliche Stellgröße des Ventils wieder. Die ist bei jedem 100%.

Von daher Unwichtig.
Wenn es die maximale Stellgröße bis "jetzt" wiedergeben würde, dann wäre es was anderes.
So wie min temp und max temp.

Ich habe nun mal folgendes probiert:


define Heizungswerte readingsGroup <%sani_heating>,<Ventil>,<Soll>,<Ist>,<GID>,<Mode>,<Batterie>
DEF=.*Thermostat.*:valveposition,desiredTemperature,temperature,groupid,mode,battery

Ergibt Bild5

T_Wohn ist ein Wandthermostat von MAX! und hat keine Ventilstellung.
also sind dafür die Anzeigewerte verschoben.
Entweder es gibt nen Trick dies gerade zu ziehen oder ich ändere einfach die Reihenfolge.

Edith1
So wie in Bild6

Edith2
Wenn ich "set HZ_XYZ maxValveSetting 100" in das Eingabefeld eingebe erhalte ich dies auch gelistet.
Genauso wie comfortTemperature, dann kommt automatisch die ecoTemperature mit.

Viel gelernt Heute!;-)


Titel: Antw:Neues Modul readingsGroup
Beitrag von: mahowi am 11 Februar 2015, 21:25:37
Prima, dann klappt es ja jetzt.  :) Ich bin auch erst seit kurzem bei FHEM dabei und lerne jeden Tag was Neues.  ;)

Bei mir waren die Variablen alle von Anfang an vorhanden. Liegt aber vielleicht daran, daß ich den Cube nutze und alle Einstellungen von da übernommen wurden.
Soweit ich weiß, kann man auch irgendwie die Tabelle "gerade ziehen", wenn Readings leer sind. Aber ich weiß nicht mehr genau, wo ich da was zu gelesen habe.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: pnewman am 11 Februar 2015, 23:21:54
Hallo,

ich habe es nun weiter umgestellt auf meine MAX! Geräte.


define MAX readingsGroup <Name>,<Batterie>,<Status/Soll>,<GID>,<Ist>,<MaxV>,<Mode>
TYPE=MAX:battery,state,groupid,temperature,maxValveSetting,mode


Grad C und % Anzeige:

attr MAX valueFormat {'temperature' => "%.0f °C", 'desiredTemperature' => "%.0f °C",
'valveposition' =>"%.0f %%", 'maxValveSetting' =>"%.0f %%" }


Batterie und Fenster Icon:

attr MAX valueIcon {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red',
'state.closed' => 'fts_window_1w@lightgreen', 'state.opened' => 'fts_window_1w_open@red'}


Vielleicht hilft es einigen MAX! nutzern.

Nochmals Danke für das Modul, zaubert mir ein Grinsen auf mein Gesicht :-).

Danke nochmal mahowi für den Denkanstoss.

Gruß
Ralf
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Deathevn am 12 Februar 2015, 15:57:23
Hi,

ich habe jetzt eine Weile mit den ReadingsGroups herumgespielt und musste nun nach einem FHEM-Restart feststellen, dass er die cellStyles nicht korrekt speichert.

vor dem Restart:
Internals:
   DEF        YahooWetter:<heute>,fc2_day_of_week,fc3_day_of_week,fc4_day_of_week,fc5_day_of_week
YahooWetter:fc1_code,fc2_code,fc3_code,fc4_code,fc5_code
YahooWetter:fc1_high_c,fc2_high_c,fc3_high_c,fc4_high_c,fc5_high_c
YahooWetter:fc1_low_c,fc2_low_c,fc3_low_c,fc4_low_c,fc5_low_c
   NAME       Wetter
   NR         91
   NTFY_ORDER 50-Wetter
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     YahooWetter 1
   Content2:
   DEVICES:
     ARRAY(0x3526358)
     ARRAY(0x35261d8)
     ARRAY(0x3525b78)
     ARRAY(0x3508e78)
   Fhem:
     lastDefChange 19
     last_update 1423752190.48212
   Helper:
     DEF
     nameStyle  style="text-align:center"
     valueStyle style="text-align:center"
     Cellstyle:
       r:1        style="font-size:28px;color:#FF9900;text-align:center"
       r:3        style="font-size:28px;color:DarkOrange"
       r:4        style="font-size:28px;color:SlateBlue"
     Valueformat:
       fc1_high_c %.0f°C
       fc1_low_c  %.0f°C
       fc2_high_c %.0f°C
       fc2_low_c  %.0f°C
       fc3_high_c %.0f°C
       fc3_low_c  %.0f°C
       fc4_high_c %.0f°C
       fc4_low_c  %.0f°C
       fc5_high_c %.0f°C
       fc5_low_c  %.0f°C
     Valueicon:
       fc1_code   %VALUE
       fc2_code   %VALUE
       fc3_code   %VALUE
       fc4_code   %VALUE
       fc5_code   %VALUE
Attributes:
   cellStyle  { "r:1"=>'style="font-size:28px;color:#FF9900;text-align:center"',"r:3"=>'style="font-size:28px;color:DarkOrange"',"r:4"=>'style="font-size:28px;color:SlateBlue"' }
   fp_Status  110,210,0,
   nameStyle  style="text-align:center"
   noheading  1
   nolinks    1
   nonames    1
   room       Frontend
   valueFormat {"fc1_low_c" => "%.0f°C", "fc1_high_c" => "%.0f°C", "fc2_low_c" => "%.0f°C", "fc2_high_c" => "%.0f°C", "fc3_low_c" => "%.0f°C", "fc3_high_c" => "%.0f°C", "fc4_low_c" => "%.0f°C", "fc4_high_c" => "%.0f°C", "fc5_low_c" => "%.0f°C", "fc5_high_c" => "%.0f°C" }
   valueIcon  {'fc1_code' => '%VALUE', 'fc2_code' => '%VALUE', 'fc3_code' => '%VALUE', 'fc4_code' => '%VALUE', 'fc5_code' => '%VALUE'}
   valueStyle style="text-align:center"



Nach dem Restart:
Internals:
   DEF        YahooWetter:<heute>,fc2_day_of_week,fc3_day_of_week,fc4_day_of_week,fc5_day_of_week
YahooWetter:fc1_code,fc2_code,fc3_code,fc4_code,fc5_code
YahooWetter:fc1_high_c,fc2_high_c,fc3_high_c,fc4_high_c,fc5_high_c
YahooWetter:fc1_low_c,fc2_low_c,fc3_low_c,fc4_low_c,fc5_low_c
   NAME       Wetter
   NR         91
   NTFY_ORDER 50-Wetter
   STATE      Initialized
   TYPE       readingsGroup
   Content:
     YahooWetter 1
   Content2:
   DEVICES:
     ARRAY(0x2165858)
     ARRAY(0x2165840)
     ARRAY(0x3f13828)
     ARRAY(0x2164c40)
   Fhem:
     lastDefChange 1
     last_update 1423752987.24958
   Helper:
     DEF
     cellStyle  { "r:1"=>'style="font-size:28px;color:
     nameStyle  style="text-align:center"
     valueStyle style="text-align:center"
     Valueformat:
       fc1_high_c %.0f°C
       fc1_low_c  %.0f°C
       fc2_high_c %.0f°C
       fc2_low_c  %.0f°C
       fc3_high_c %.0f°C
       fc3_low_c  %.0f°C
       fc4_high_c %.0f°C
       fc4_low_c  %.0f°C
       fc5_high_c %.0f°C
       fc5_low_c  %.0f°C
     Valueicon:
       fc1_code   %VALUE
       fc2_code   %VALUE
       fc3_code   %VALUE
       fc4_code   %VALUE
       fc5_code   %VALUE
Attributes:
   cellStyle  { "r:1"=>'style="font-size:28px;color:
   fp_Status  110,210,0,
   nameStyle  style="text-align:center"
   noheading  1
   nolinks    1
   nonames    1
   room       Frontend
   valueFormat {"fc1_low_c" => "%.0f°C", "fc1_high_c" => "%.0f°C", "fc2_low_c" => "%.0f°C", "fc2_high_c" => "%.0f°C", "fc3_low_c" => "%.0f°C", "fc3_high_c" => "%.0f°C", "fc4_low_c" => "%.0f°C", "fc4_high_c" => "%.0f°C", "fc5_low_c" => "%.0f°C", "fc5_high_c" => "%.0f°C" }
   valueIcon  {'fc1_code' => '%VALUE', 'fc2_code' => '%VALUE', 'fc3_code' => '%VALUE', 'fc4_code' => '%VALUE', 'fc5_code' => '%VALUE'}
   valueStyle style="text-align:center"



Mache ich hier was falsch, oder bin ich über einen Bug gestolpert?

Gruß
Martin
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 12 Februar 2015, 16:33:27
du kannst in einem attribut das # zeichen nicht verwenden weil es beim einlesen als kommentar interpretiert und alles danach abgeschnitten wird. das ist ganz allgemein in fhem so.

du kannst entweder farb namen statt hex werten verwenden oder alles in eine sub auslagern und diese im attribut aufrufen. es gibt schon ein paar posts dazu.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Deathevn am 12 Februar 2015, 17:42:38
Vielen Dank!
Auf die Raute bin ich noch nicht gekommen... Hab da auch nicht dran gedacht, dass die in der fhem.cfg als Kommentar gilt. War so in css und den Style Attributen vergraben, dass die Raute mir gar nicht in den Sinn kam  ;)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Thorsten15 am 15 Februar 2015, 19:30:22
Hallo zusammen,
vielleicht hat jemand eine Lösung oder Idee dazu, denn ich komme nicht mehr weiter.
Ich habe ein Problem mit der Darstellung im Web-Frontend auf Port 8084 (Handy). Auf Port 8083 und 8085 ist die Anzeige, wie ich es wünsche. Auf Port 8084 sieht es so aus, als wäre links eine leere Spalte. Dementsprechend sieht man die Werte der readings nur in der Querformatanzeige.
Mit readingsGroup habe ich meine Gasverbräuche, die ich mit dem Modul HourCounter ermittele dargestellt. Da ich nur bestimmte readings anzeigen möchte, habe ich readingsGroup wie folgte definiert:

define RG_Gaszaehler readingsGroup HC_Gaszaehler:<br>,<Gasverbräuche>,<br>,<heute>,countsPerDay,<br>,<gestern>,appCountsPerDay,<br>,<akt.&nbsp;Woche>,appCountsPerWeekTemp,<br>,<Vorwoche>,appCountsPerWeek,<br>,<akt.&nbsp;Monat>,appCountsPerMonthTemp,<br>,<Vormonat>,appCountsPerMonth,<br>,<akt.&nbsp;Jahr>,appCountsPerYearTemp,<br>,<Vorjahr>,appCountsPerYear,<br>,<Zählerstand>,countsOverall,<br>,<Aktualisierung>,<{ReadingsTimestamp($DEVICE,"countsPerDay","")}@reading>

attr RG_Gaszaehler alias Gaszaehler
attr RG_Gaszaehler valueFormat {sprintf("%.1f m³", $VALUE/10);;}
attr RG_Gaszaehler valueStyle style="text-align:right"
attr RG_Gaszaehler room 04_Heizung
attr RG_Gaszaehler group 90_Zaehler

Wenn ich readingsGroup nur "einfach" definiere, ist die Anzeige schön linksbündig.

define RG_Gaszaehler readingsGroup HC_Gaszaehler

Allerdings möchte ich das nicht, da ich dann jede Menge readings habe die ich gar nicht sehen möchte.

Viele Grüße,

Thorsten
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 16 Februar 2015, 16:38:22
Hallo Andre,

mach gerade viel mit GUI.
Ich möchte die Ansicht von readingsGrups umschalten, zumeist wird sie per perl und modify neu definiert.
Jetzt wollte ich dazu den aktuellen Anzeigemodus per reading direkt bei der rg hinterlegn:

define Alle_Fenster_rg readingsGroup Alle_Fenster_rg:<Ansicht>,Ansicht,<Fenster> [A-Z][a-z]_Fenster:state,<{valueListe('Alle_Fenster_rg',$DEVICE,'seit&nbsp;'.KonvertiereZeit(ReadingsTimestamp($DEVICE,'Previous',0),3))}>

Ansicht ist mit "offene" belegt.

Dazu:
commands {'Alle_Fenster_rg.Ansicht' => 'Ansicht:alle,offene,geschlossene'}

Es wird aber weder ein Menü, noch der aktuelle Wert "offene" angezeigt:

Ansicht
Fenster

Kann man Werte  aus der eigenen rg nicht anzeigen?

Gestern beim Herumprobieren ist dann ein Absturz passiert:
2015.02.15 19:23:21 1: PERL WARNING: Deep recursion on subroutine "main::readingsGroup_detailFn" at ./FHEM/01_FHEMWEB.pm line 2460.
2015.02.15 19:23:21 1: PERL WARNING: Deep recursion on subroutine "main::readingsGroup_2html" at ./FHEM/33_readingsGroup.pm line 875.
2015.02.15 19:23:21 1: PERL WARNING: Deep recursion on subroutine "main::FW_devState" at ./FHEM/33_readingsGroup.pm line 759.
2015.02.15 19:27:04 1: Including fhem.cfg


Gruß

Elektrolurch

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Februar 2015, 16:47:15
doch das geht. du kannst beliebige reading der readingsGroup anzeigen.

die einzige ausnahme ist state.

state darfst du weder verwenden noch anzeigen. deine readingsGroup heisst Alle_Fenster_rg und mit  [A-Z][a-z]_Fenster:state versuchst du den eigenen state anzuzeigen.

das problem ist das fhem inter die ganze anzeige der readingsGroup nichts anderes ist als ein icon das einen device zustand anzeigt. und wenn du nun versuchst den eigenen state in der readingsGroup anzuzeigen kommt es zu rekursion.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Februar 2015, 17:07:02
ich habe eben eine version eingecheckt die die rekursion abfängt und nicht mehr hängen bleibt.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 16 Februar 2015, 18:39:07
Hallo Andre,

Zitat:
die einzige ausnahme ist state.

state darfst du weder verwenden noch anzeigen. deine readingGroup heisst Alle_Fenster_rg und mit  [A-Z][a-z]_Fenster:state versuchst du den eigenen state anzuzeigen.

Ich glaube, dass das so nicht stimmt:

Alle_Fenster_rg dürfte nicht gegen
[A-Z][a-z]_Fenster:state  matchen, denn dann hätten die ganzen rgs bisher auch nicht funktioniert.
Der Absturz erfolgt definitiv erst dann, wenn ich:

Alle_Fenster_rg:Ansicht einfüge und Ansicht ist ein reading  und nicht state.

Ich kenne ja ein bisserl nun Dein Modul und mir ist auch nicht so ganz klar, warum ein beliebiges reading  zur Rekursion führen sollte...

#######################

Habe da noch was:
(nur in kurz)

define myrg readingsGroup dev:!MAN
attr myrg valueIcon {'MAN' => 'ManuellIcon'}
attr myrg commands {'MAN' => '{MeineSub("Param");;}' }
attr myrg valueSuffix {'MAN' => ' starten'}

soll ein klickbares Ikon mit dem Wort "starten" anzeigen.

Ikon wird auch angezeigt, ist aber nicht anklickbar.

wenn ich

attr myrg commands {'MAN' => 'set trigger PID PIDMAN'}

setze, ist es klickbar.
Nachteil: Ich muss dann alles in das notify packen, obwohl dort ja dann auch nur MeineSub aufgerufen werden  soll.

Kann man das noch ergänzen, dass bei beliebigem perl-Code bei  commands auch Ikonen und/oder Text klickbar sind?

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: vbs am 16 Februar 2015, 22:56:22
Mal ein Frage bzgl. dynamischen Inhalten:
Ich habe für meine Dreambox die Enigma-readingsGroup aus dem Wiki nachgebaut. Ich habe dann jedoch noch Zeilen für laufende Aufnahmen hinzugefügt. Die sollen jedoch nur angezeigt werden, wenn auch wirklich aufgenommen wird.

In dem man für ein Reading in ValueFormat "undef" zurück liefert, kann man ja Readings dynamisch ausblenden. Geht das denn auch für feste Labels, die man mit "<MeinLabel>" im DEF eingefügt hat?

Also ich würde gerne im Screenshot die unteren Zeilen komplett löschen:
(https://dl.dropboxusercontent.com/u/24641738/fhem/rgenigma.png)

Mein DEF:

wz_dm7020hd:<Status>,state,<Kanal>,channel
wz_dm7020hd:,<Aktuell>,eventtitle,<Rest>,eventremaining_hr,<Dauer>,eventduration_hr
wz_dm7020hd:<Beschreibung>,eventdescription
wz_dm7020hd:,<Nächste>,eventtitle_next,<Start>,eventstart_next_hr,<Dauer>,eventduration_next_hr
wz_dm7020hd:,<HDD Kapazität>,hdd1_capacity,<Frei>,wz_dm7020hd:hdd1_free wz_dm7020hd:,<Lautstärke>,volume,<HDD>,hdd1_capacity,<Frei>,hdd1_free
wz_dm7020hd:,<Nächste&nbsp;Aufname>,recordings_next_name,<Uhrzeit>,recordings_next_hr
wz_dm7020hd:,<Laufende&nbsp;Aufnahme1>,recordings1_name,recordings1_servicename
wz_dm7020hd:,<Laufende&nbsp;Aufnahme2>,recordings2_name,recordings2_servicename
wz_dm7020hd:,<Laufende&nbsp;Aufnahme3>,recordings3_name,recordings3_servicename
wz_dm7020hd:,<Laufende&nbsp;Aufnahme4>,recordings4_name,recordings4_servicename


ValueFormat:
{ if($READING eq 'hdd1_capacity' or $READING eq 'hdd1_free') { return "%.2f";  } elsif( $READING eq 'volume' ) {if( ReadingsVal($DEVICE, "mute", "") eq "on") {return "mute";} else {return "%i %%";}  }elsif ($READING =~ /recordings._.*name/) { return ($VALUE eq '-')  ? undef : $VALUE;}}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Februar 2015, 23:42:43
@Elektrolurch: du hast recht. die regex matched tatsächlich nicht. state ist aber das einzige reading das diese rekursion erzeugt.

bitte schau mal ob es mit dem update morgen weg ist.

du kannst über commands nicht direkt perl code ausführen. zum einen wird der perl code beim aufbau der reading group ausgwertet und die rückgabe als auszuführende kommando interpretiert und zum anderen musst du immer beachten das client (der web browser) und der server (der fhem prozess) getrennt sind und der web browser nicht direkt perl code im server ausführen kann. d.h. du musst immer vom client an den server senden was der server ausführen soll.

das kann theoretisch auch ein stück perl code sein. aber dann hast du das problem das hier alle möglichen zeichen url escaped werden müssen weil sie in einer url nicht erlaubt sind. aus deinem einfachen
attr myrg commands {'MAN' => '{MeineSub("Param");;}' }
aufruf wird dann das hier:
attr myrg commands {'MAN' => '%7BMeineSub%28%22Param%22%29%3B%3B%7D' }das ist nicht wirklich lesbar.

das encoding könnte man eventuell automatisch machen, ich habe aber keine möglichkeit dem mapping anzusehen ob es den string der ausgeführt wird zurück gibt oder ob der code selber an fhem gesendet werden soll.


@vbs: wenn du statt <MeinLabel> die !MeinLabel variante verwendest wird MeinLabel wie ein normales reading behandelt und alle attribute verhalten sich so wie bei einem reading. d.h du kannst es per valueFormat und undef ausblenden. das ! flag ist um das reading auch dann zu berücksichtigen wenn es im device gar nicht vorhanden ist.

du kannst auch mit setreading im device das entsprechende reading erzeugen und dann wird der wert des readings als text verwendet. damit entfällt das problem mit nicht erlaubten zeichen wie leerzeichen und :.

statt die reading im device zu erzeugen kannst du sie auch in die readingsGroup selber stecken.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 17 Februar 2015, 11:52:23
Hallo Andre,

jetzt habe ich mit meinem Lachen mein WAF erschreckt!

das:
Alle_Fenster_rg:<Ansicht>,Ansicht,<Fenster>

führt jetzt zwar nicht mehr zum Absturz, gibt aber den state "initialized Fenster" zurück!

genau:
Ansicht
Initialized
Fenster
Fenster

Das ersehnte Menü "alle,offene,geschlossene" bleibt noch im "Dunkeln".
Wenn Du da noch mal schauen könntest, was da schief läuft....
(Habe den Gegentest gemacht:
Ein_anderes_Objekt:<Ansicht>,Ansicht,<Fenster>
erzeugt das gewünschte Ergebnis.)
okay, commands und kein perl ...
Dann muss ich eben doch mit trigger und einem Objekt arbeiten, an das ich die Events schicke.

Die !VARS nutze ich auch fleißig, um Ikonen dynamisch ein- und auszublenden.
Über valueFormat und das Rückliefern von undef kann man schon viel machen, bei einer Sache klappt das leidr nicht:

device:rd1,rd2,<{perlcode}>
Da der perlcode nicht über die Regel  von valueFormat abgearbeitet wird, kommt der immer.
Also muss man die Bedingung, mit der etwas ein- und ausgeblendet werden soll, in den perlcode mit zusätzlich implementieren.
-> gleiches wie oben mit den <> - Labeln....

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Motivierte linke Hände am 21 Februar 2015, 20:21:54
Sorry, ich versteh's nicht. Vielleicht kann jemand mal bitte mit einem Stemmeisen das Brett vor meinem Kopf entfernen.

define rg_Wetter_Garten readingsGroup <Wert>,<Wert2> <Zeile2_1>,<Zeile2_2>

Funktioniert. Ausgegeben werden 2 Zeilen mit meinem einfallsreichen Text.

define rg_Wetter_Garten readingsGroup <Wert>,<Wert2> <Zeile2_1>,KS300:temperature

führt dazu, dass nur noch "Wert| Wert2" ausgegeben wird. Die 2. Zeile verschwindet. Das Logfile ist leer.

Ein in der Kommandozeile von fhem eingegebenes

{ReadingsVal("KS300","temperature","0")}

ergibt

2.3

Das Reading gibt es also.

Anbei noch ein list auf mein KS300:

Internals:
   CODE       1234
   CUL1_MSGCNT 1503
   CUL1_RAWMSG 810d04xx4027a00171320770004102
   CUL1_RSSI  -89.5
   CUL1_TIME  2015-02-21 20:10:36
   DEF        1234
   IODev      CUL1
   LASTInputDev CUL1
   MSGCNT     1503
   NAME       KS300
   NR         360
   RAINUNIT   255
   STATE      T: 2.3  H: 77  W: 0.0  R: 5.1  IR: no  Wi: 0
   TYPE       KS300
   WINDUNIT   1
   Readings:
     2015-02-21 20:10:36   avg_day         T: 4.0  H: 68  W: 1.7  R: 0.3
     2015-02-21 00:03:15   avg_month       T: 0.6  H: 43  W: 36.4  R: 4.5
     2015-02-21 20:10:36   checksum        2
     2015-02-21 20:10:36   cum_day         2015-02-21 00:03:15 T: 286772  H: 4967726  W: 125876.7  R: 4.8
     2015-02-21 00:03:15   cum_month       7 T: 4.3  H: 303  W: 255.1  R: 4.5
     2015-02-21 20:10:36   dew             -1.30627891427601
     2015-02-21 20:10:36   humidity        77
     2015-02-21 20:10:36   israining       no
     2015-02-21 20:10:36   rain            5.1
     2015-02-21 20:10:36   rain_raw        20
     2015-02-21 20:10:36   rain_raw_adj    20
     2015-02-21 20:10:36   state           T: 2.3  H: 77  W: 0.0  R: 5.1  IR: no  Wi: 0
     2015-02-21 20:10:36   temperature     2.3
     2015-02-21 20:10:36   tsecs           1424545836.75397
     2015-02-21 20:10:36   type_raw        7
     2015-02-21 20:10:36   unknown3        1
     2015-02-21 20:10:36   wind            0.0
     2015-02-21 20:10:36   windIndex       0
Attributes:
   IODev      CUL1
   room       Garten,Cfg_868
   userReadings dew:temperature { my $dp; my $temperature = ReadingsVal($name,"temperature",0); my $humidity = ReadingsVal($name,"humidity",0); my $A = 17.2694; my $B = ($temperature > 0) ? 237.3 : 265.5; my $es = 610.78 * exp( $A * $temperature / ($temperature + $B) ); my $e = $humidity/ 100 * $es; if ($e == 0) { Log 1, "Error: dewpoint() e==0: temp=$temperature, hum=$humidity"; return 0; } my $e1 = $e / 610.78; my $f = log( $e1 ) / $A; my $f1 = 1 - $f; if ($f1 == 0) { Log 1, "Error: dewpoint() (1-f)==0: temp=$temperature, hum=$humidity"; return 0; } $dp = $B * $f / $f1 ;}


Eigentlich wollte ich eine simple, kleine readingsGroup anlegen, die mir die Werte des KS300 nett formatiert anzeigt. Und ich dachte, das wäre einfach, nachdem ich eine komplexere Group mit meinen diversen Heizungsthermostaten hier schon am Laufen habe... Nun ja.

Bitte: Was mache ich falsch?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 21 Februar 2015, 20:32:24
<Wert1>,device:rd

geht glaube ich so nicht. Das device muss immer am Anfang der Zeile stehen
device:<Wert1>,rd

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Motivierte linke Hände am 21 Februar 2015, 20:38:17
In der Tat, das klappt - Danke!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Jorche am 23 Februar 2015, 22:20:47
Hallo zusammen,
ich habe die letzten Tage versuch das Beispiel von Andre im Wiki zur Heizungssteuerung http://www.fhemwiki.de/wiki/ReadingsGroup#Heizungsteuerung_f.C3.BCr_HM_Wand-_und_Heizk.C3.B6rperthermostate (http://www.fhemwiki.de/wiki/ReadingsGroup#Heizungsteuerung_f.C3.BCr_HM_Wand-_und_Heizk.C3.B6rperthermostate) um die möglichen Zustände on/off der Thermostate zu erweitern.

Meine ersten Problemchen mit der Erweiterung des Beispiels und der Tatsache, dass "off" kein numerischer Wert ist, habe ich erfolgreich durch das Ersetzen des Werts durch "0" überwunden, wie man hier nachlesen kann http://forum.fhem.de/index.php/topic,34082.0.html (http://forum.fhem.de/index.php/topic,34082.0.html).
Damit klappt die farbabhängige Anzeige der Ist-Temperatur weiterhin und mittlerweile auch ohne Fehler im Log. Leider stellt auch die folgende Aufgabe mit valueSuffix wohl kein bekanntes "Anfängerproblem" dar, weshalb ich mich hier nochmals direkt nachhake.

Idee ist es, sofern der Wert "off" als Soll-Temp gesetzt wird, dass innerhalb von valueSuffix der Zusatz "°C" hier unterdrückt wird - siehe Bild im Anhang.

Für sich alleine funktioniert dies bereits mittels
attr heatingInfo valueSuffix {if($READING eq "desired-temp"){my $d=ReadingsVal($DEVICE,'desired-temp',0);;if($d ne 'off'){" °C"}else{""}}}

Sobald ich versuche die übrigen Werte der Spalten in wieder hinzufügen, taucht jedoch an JEDEM Reading die Variable des zuletzt eingetragenen Werts auf.
attr heatingInfo valueSuffix {if($READING eq "desired-temp"){my $d=ReadingsVal($DEVICE,'desired-temp',0);;if($d ne 'off'){" °C"}else{""}};;"measured-temp"=>" °C","ValvePosition"=>" (".ReadingsVal($DEVICE,$READING,0)." %)}

Leider komme ich mit meinem Latein und try n error nicht mehr weiter, da ich hier wohl verschiedene Sachen zusammen werfe und, nun ja, noch nicht ganz durchschaue.
In jedem Fall bin ich für alle Tipps oder Denkanstöße dankbar. Vermutlich ist der geschilderte Fall auch für ein Beispiel im Wiki interessant, da dies sicher nicht der einzige Anwendungsfall ist :)

Viele Grüße Jorche
Titel: Antw:Neues Modul readingsGroup
Beitrag von: berndgel am 25 Februar 2015, 23:19:19
Hallo,
ich bin Neuling, und habe nach reichlichem Studium der Dokus und vor allem der Beiträge hier nun meine Heizkörper, Wandthermostate und Fensterkontakte am Laufen. Alles von MAX und ohne MAXCube.
Bei einem Problem jedoch trete ich nun seit Tagen auf der Stelle: readingsgroup und commands:

Ich möchte mehrere Dropdown menus installieren. Für z. B. das Icon Tc funktioniert folgendes:

attr heatingInfo commands { "heatingInfo.Tc" => "comfortTemperature:18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0" }

Wie aber kann ich ein weiteres command für ein weiteres Icon, z. B. attr heatingInfo commands { "heatingInfo.Te" => "ecoTemperature:18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0" }
da nun dranhängen.

Wenn ich das auf einer Extrazeile formuliere:

attr heatingInfo commands { "heatingInfo.Tc" => "comfortTemperature:18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0" }
attr heatingInfo commands { "heatingInfo.Te" => "ecoTemperature:18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0" }

dann überschreibt die zweite Zeile offensichlich die erste Zeile und ich bekomme nur noch ein dropdown menu für ecoTemperature aber keines mehr für comfortTemperature.

Offensichtlich müssen beide dropdown menus in einem attr heatingInfo commands .... definiert werden.
Wie muss das syntaktisch aussehen? Ich habe nirgends ein Beispiel dafür gefunden.

Danke

bernd



Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 26 Februar 2015, 14:04:45
@Jorche: in deiner version sind diverse fehler beim verschachteln der anführungszeichen und klammern. wenn du den aktuellen wert haben möchtest kannst du $VALUE verwenden und musst nicht über ReadingsVal gehen. wenn du etwas vor den wert schreiben möchtest solltest du valuePrefix verwenden.

etwa so:attr heatingInfo valueSuffix { 'desired-temp' => '{ return "" if( $VALUE eq "off"); return "°C";}', 'measured-temp'=>' °C', 'ValvePosition'=>'%)'}
attr heatingInfo valuePrefix { 'ValvePosition' => '(' }


der code ist zur eingabe ins text feld hinter attr.


@berndgel:attr heatingInfo commands { "heatingInfo.Tc" => "comfortTemperature:18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0", "heatingInfo.Te" => "ecoTemperature:18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0" }
Titel: Antw:Neues Modul readingsGroup
Beitrag von: berndgel am 26 Februar 2015, 17:29:18
@ Jorge,

ich hätte schwören können, dass ich genau Deinen Vorschlag schon mal ausprobiert habe. Offensichtlich habe ich es doch nicht so genau gemacht, wie Du schreibst. Nun geht es jedenfalls. In der Zwischenzeit hatte ich das Gleiche mit einfachen Anführungszeichen  an Stelle der doppelten Anführungszeichen versucht, das geht auch. Wieso, weiß ich nicht.

Auf jeden Fall vielen Dank.

LG

bernd
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 28 Februar 2015, 11:59:53
Hallo Andre,

hast Du noch Mal geschaut wegen Beitrag 1202?
Ein reading  aus der readingsGroup liefert den Wert von state zurück.....

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Jorche am 01 März 2015, 01:52:47
Hallo Andre,

hach, ein Traum :) Vielen Dank für Deine Antwort!
Da habe ich für die Einheit °C etwas zu kompliziert gedacht. Die ganze Codezeile für das ValueSuffix lautet dann
attr heatingInfo valueSuffix { 'desired-temp' => '{ return "" if( $VALUE eq "off"); return "°C";}', 'measured-temp'=>' °C', 'ValvePosition'=>" (".ReadingsVal($DEVICE,$READING,0)." %)","batteryLevel"=>"(".ReadingsVal($DEVICE,$READING,0)." V)"}
Dann klappt es auch mit den Readings der anderen Werte und sieht schon ganz gut aus. Dann ran an den Speck und die Zeitabhängie Steuerung in den Griff kriegen ;)

Viele Dank nochmal und schönes WE!
Jörg
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 02 März 2015, 21:16:24
Hallo,
ich kämpfe gerade mit ValueFormat und würde gerne das Reading eines DOIF-Timers formatieren.
Im Moment wird das so angezeigt:
Start 03.03.2015 16:30:00 Uhr
Ende 02.03.2015 22:00:00 Uhr

Wie kann ich hier nur
1. das Datum anzeigen lassen
2. die Zeit anzeigen lassen

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 02 März 2015, 21:29:31
@Elektrolurch: ich habe es nicht vergessen bin aber noch nicht dazu gekommen es in ruhe anschauen. ich habe es kurz probiert und konnte es nicht reproduzieren. wenn du mir da ganze mit ein kleinen test konfiguration und ein ein paar dummys nachstellen kannst wird es einfacher.

@Spartacus: z.b. so für das datum: (split(' ',$VALUE))[1]und das gleiche mit 2 statt 1 für die zeit.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 02 März 2015, 21:42:35
Hi andre,
vielen Dank!
Muss aber "0" und "1" sein!
{(split(' ',$VALUE))[0]}
Christian.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 02 März 2015, 21:50:00
wenn die strings wirklich so aussehen:Start 03.03.2015 16:30:00 Uhr
Ende 02.03.2015 22:00:00 Uhr


ist 0 Start bzw Ende, 1 ist das datum, 2 ist die zeit, 3 ist Uhr...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 02 März 2015, 23:29:38
Zitat von: Spartacus am 02 März 2015, 21:16:24
Hallo,
ich kämpfe gerade mit ValueFormat und würde gerne das Reading eines DOIF-Timers formatieren.

Oh, endlich mal jemand der die Timer von einem DOIF anzeigen lassen möchte...!  :D
Ich habe schon einige Versuche hinter mir DOIF Timer zu formatieren, aber habe dann dieses erst mal gelassen, weil ich keine Erfolge hatte...
Schön wäre es wenn du mal ein paar Screenshots erstellst wie dies aussieht bei dir...

Ich habe mich auch da auch schon probiert...!
Wobei mit der oberen Anzeige bin ich zufrieden, es könnten noch die Zahlen für die Wochentage ausgeblendet werden

Das darunter, wenn ich ganz gerne mal etwas nebeneinander darstellen möchte das klappt gar nicht. Habe da erst mal aufgehört aus Zeitmangel.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 03 März 2015, 08:58:59
Hallo,

ich habe folgendes Problem mit einer ReadingsGroup: Ich habe mir eine ReadingsGroup für die Bedienung meines Radios gebaut. Diese nutzt einen Slider zum Einstellen der Lautstärke. Das funktioniert alles soweit. Nun wollte ich jedoch in meinem Floorplan etwas Platz schaffen. Hierfür habe ich eine zweite, kleinere ReadingsGroup mit den wichtigsten Funktionen erstellt und diese in dem gleichen Raum in die gleiche Gruppe gesetzt. Mittels Kommando blenden sich die beiden ReadingsGroups nun gegenseitig ein (und sich selbst damit aus). Die ReadingsGroup mit dem Slider habe ich dafür auf "hidden" gesetzt.
Nun zu meinem Problem: Wenn ich die ReadingsGroup mit dem Slider das erste Mal nach dem Wechsel zum Floorplan einblende, zeigt der Slider den aktuellen Wert der Laustärke, steht jedoch ganz vorn. Wenn ich ihn nun versuche zu ziehen, steht zunächst NaN drin und dann wechselt die Lautstärke auf 100 (GANZ schön laut). Nun kann ich ihn normal ziehen und beim er funktioniert bis zum erneuten Wechsel des Floorplans...

Hat da jemand eine Idee?

Hier meine ReadingsGroups:

define OG.ez.RA.Player.RG.Control readingsGroup OG.ez.RA.Player:!Close,<> OG.ez.RA.Player:playStatus,volume OG.ez.RA.Player:<Favoriten>,<{LMSFavorites($DEVICE,"Esszimmer")}@favorites> OG.ez.RA.Player:<Künstler>,currentArtist OG.ez.RA.Player:<Titel>,currentTitle
attr OG.ez.RA.Player.RG.Control commands {'muteState' => 'set $DEVICE mute', 'playStatus.playing' => 'set $DEVICE clearPlaylist', 'playStatus.stopped' => 'set $DEVICE play', 'volume' => 'volume:slider,0,1,100', 'Close' => 'set OG.ez.RA.Player.RG.Symbol visibility show'}
attr OG.ez.RA.Player.RG.Control fp_Esszimmer 419,591,0,,
attr OG.ez.RA.Player.RG.Control group Radio
attr OG.ez.RA.Player.RG.Control nameStyle style="font-weight:bold;; color:yellow;;"
attr OG.ez.RA.Player.RG.Control noheading 1
attr OG.ez.RA.Player.RG.Control nonames 1
attr OG.ez.RA.Player.RG.Control notime 1
attr OG.ez.RA.Player.RG.Control room Esszimmer
attr OG.ez.RA.Player.RG.Control style {readingsGroupFloorplanStyle()}
attr OG.ez.RA.Player.RG.Control valueFormat { return (join " ", map {ucfirst} split / /, lc $VALUE) if (($READING eq 'currentArtist') || ($READING eq 'currentTitle'))}
attr OG.ez.RA.Player.RG.Control valueIcon {'muteState.muted' => 'Volume_mute', 'muteState.unmuted' => 'Volume_on', 'playStatus.playing' => 'audio_stop@lightgray', 'playStatus.stopped' => 'audio_play@lightgray', 'Close' => 'control_x@lightgray' }
attr OG.ez.RA.Player.RG.Control valueStyle style="text-align:center;;"
attr OG.ez.RA.Player.RG.Control visibility hidden

define OG.ez.RA.Player.RG.Symbol readingsGroup OG.ez.RA.Player:!VolumeDown,!Details,!VolumeUp
attr OG.ez.RA.Player.RG.Symbol commands { 'VolumeDown' => 'set %DEVICE volumeDown', 'VolumeUp' => 'set %DEVICE volumeUp', 'Details' => 'set OG.ez.RA.Player.RG.Control visibility show' }
attr OG.ez.RA.Player.RG.Symbol fp_Esszimmer 517,670,0,,
attr OG.ez.RA.Player.RG.Symbol group Radio
attr OG.ez.RA.Player.RG.Symbol noheading 1
attr OG.ez.RA.Player.RG.Symbol nonames 1
attr OG.ez.RA.Player.RG.Symbol notime 1
attr OG.ez.RA.Player.RG.Symbol room Esszimmer
attr OG.ez.RA.Player.RG.Symbol style {readingsGroupFloorplanStyle()}
attr OG.ez.RA.Player.RG.Symbol valueIcon { 'VolumeUp' => 'rc_VOLPLUS@lightgray', 'VolumeDown' => 'rc_VOLMINUS@lightgray', 'Details' => 'audio_sound@lightgray' }
attr OG.ez.RA.Player.RG.Symbol visibility hideable


Ronny
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 03 März 2015, 20:05:06
Zitat von: justme1968 am 02 März 2015, 21:50:00
wenn die strings wirklich so aussehen:Start 03.03.2015 16:30:00 Uhr
Ende 02.03.2015 22:00:00 Uhr


ist 0 Start bzw Ende, 1 ist das datum, 2 ist die zeit, 3 ist Uhr...
Hallo andre,
Du hast natürlich recht! Ich habe Dir verschwiegen, das ich den String aus der readingsGroup kopiert habe und "Start" und "Ende" schon davor und "Uhr" dahinter geschrieben hatte. Der String besteht lediglich aus Datum und Uhrzeit.

Sorry für die Verwirrung und vielen Dank für Deine Hilfe!
Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 03 März 2015, 21:09:34
Hi,
jetzt muss ich doch noch mal blöd fragen!
Ich habe zwei Readings:
timer_1_c1 und timer_2_c1
Warum funktioniert hier dieser Ausdruck nicht im ValueFormat-Attribut nicht??
{....., timer_.*=>(split(' ',$VALUE))[1],....}
Wenn ich das Reading gezielt angebe funktioniert der split-Befehl
Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 03 März 2015, 21:40:16
du kannst im key (links vom =>) nicht mit einer regex arbeiten und im teil rechts vom => fehlen die anführungszeichen um alles.

im log solltest du zumindest hinweise sehen das hier etwas nicht stimmt.

grus
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 03 März 2015, 22:06:51
Hi andre,
ok. dann muss ich die Readings halt einzeln aufführen, kein Problem!

Das mit den Anführungszeichen verstehe ich schon wieder nicht!
{ '60Minuten' => '60 Minuten', timer_1_c1=>(split(' ',$VALUE))[1]."Uhr"}
funktioniert!
Allerdings steht im Logfile eine Warnung!
2015.03.03 21:58:04 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at (eval 5086) line 1. Ist also nicht sauber!
Wenn ich rechts vom => die Anführungszeichen setze, gibt es einen Syntaxfehler
{ '60Minuten' => '60 Minuten', timer_1_c1=>'(split(' ',$VALUE))[1]."Uhr"'}
wie setzte ich die Dinger denn dann hier korrekt?
Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 03 März 2015, 22:35:02
du musst die Anführungszeichen richtig verschachteln. eine sorte ganz aussen. dazwischen die andere sorte. wenn du noch eine verschaltelungs ebene brauchst müsstest du diese dann mit \ maskieren:

{ '60Minuten' => '60 Minuten', 'timer_1_c1'=>'{(split(" ",$VALUE))[1]."Uhr"}'}

das 'Uhr' kannst du auch per valueSuffix anhängen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 04 März 2015, 09:39:10
Hallo andre,
danke, jetzt sind die Warnungen auch weg!
Vielleicht kappier´ich das auch irgendwann mal!

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 04 März 2015, 10:21:25
das ist doch ganz einfach :)

das gleiche zeichen mit dem ein string anfängt beendet ihn auch wieder. d.h. er darf nur am anfang und am ende auftauchen sonst ist dein string vorzeitig zu ende und es kommt müll raus.

es gibt in perl zwei zeichen mit denen ein string anfangen kann. die kann man also eine ebene tief verschachteln.

in strings die mit ' anfangen werden variablen nicht ersetzt, in strings die mit " anfangen schon. aber erst in dem augenblick in dem der string ausgewertet wird. d.h. readingsGroup fall das was rechts von => steht mit ' beginnen lassen weil die auswertung erst zweiten schritt passiert.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 04 März 2015, 12:29:51
Hallo,
ja, es ist nicht leicht mit einem Programmier-DAU!

Ich probiere gerade Dropdown und Slieder in der rg aus.
commands:
{'Test1' => 'on-for-timer:0,10,20,30,40', 'Test2' => "on-for-timer:slider,0,5,30" }
Über das Dropdown und den Slider kann ich meinen Aktor schalten.
DropDown und Slider bleiben auf dem letzten eingestellten Wert stehen. Wenn ich den Wert auf dem Slider erneut anklicke, wird der Befehl on-for-timer erneut ausgeführt. Bei dem Dropdown habe ich aber keine Chance, hier muss ich erst wieder auf den Wert "0" gehen, oder einen Refresh ausführen.

Gibt es eine Möglichkeit,
a) immer den zuletzt eingestellten Wert (auch nach Refresh) zu erhalten um durch Klick auf den Wert den Befehl erneut auszuführen?
b) ohne Refresh direkt auf den Default zurückzuspringen.

Die erste Variante wäre für mich die Schönere, da man immer direkt sehen kann, welcher Wert zuletzt eingestellt wurde. Welche Ausfürung (Test1, Test2) ist hierfür die schönere Lösung?

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 04 März 2015, 13:18:29
Zitat von: Spartacus am 04 März 2015, 12:29:51
Hallo,
ja, es ist nicht leicht mit einem Programmier-DAU!

das liegt aber nicht an dir, dass ist schon ne Wissenschaft für sich... :-\ ist es dann aber vollbracht sieht es eben gut aus.. ;)
Ich habe unzählige Versuche hinter mir und habe es bisher auch nicht geschafft und mir geht erst einmal nur um die "reine" Anzeige einer Readingsgroup für die Zeiten (timer_X_cX) aus einem DOIF (siehe mein Screenshot oben)

Ich hatte auch versucht an einem Beispiel aus dem Wiki etwas zu erreichen, aber auch nicht..

Wenn ich die Zahlen für die Wochentage ausblenden möchte was muss ich dann eingeben bei
Also Anzeige nur Datum und Uhrzeit
(split(' ',$VALUE))[1]

Bei mir sieht das mapping so aus:
{ 'timer_1_c1' => 'EIN - WochenTag', 'timer_2_c1' => 'EIN - WochenEnde', 'timer_3_c2' => 'AUS - Jeden Tag', 'timer_4_c3' => 'EIN - Nachtschicht', 'timer_5_c4' => 'AUS - Nachtschicht' }
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 04 März 2015, 14:20:53
Hallo moonsorrox,
bin mir nicht sicher, ob ich Dich richtig verstanden habe!

Aber mit dem Ausdruck von andre klappt das bei mir jetzt ganz gut.
Ich habe zwei Readings in meinem DOIF (Einschaltzeit und Ausschaltzeit)
Im valueFormat steht dann dieses Mapping:
{ 'timer_1_c1'=>'{(split(" ",$VALUE))[1]."Uhr"}','timer_2_c1'=>'{(split(" ",$VALUE))[1]."Uhr"}'}
Damit wird die Uhrzeit der beiden Timer angezeigt. Wenn Du das Datum brauchst, dann musst Du die "1" durch die "0" ersetzten! Du musst aber jeden Timer separat aufführen. Ein "timer_.*" geht vor dem "=>" nicht!. Hilft Dir das?

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 04 März 2015, 14:44:04
ja das hatte ich schon so, aber schau mal den screenshot...
so fehlt ja das Datum, dafür müsste ich jetzt eine weitere Spalte haben und es da eintragen können, dass weiß ich eben nicht wie das geht.. und die Tage sind immer noch hinten dran bei den Timern..!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 04 März 2015, 14:48:17
Hallo Andre,

hast du dazu eine Idee?

Zitat von: RoBra81 am 03 März 2015, 08:58:59
Hallo,

ich habe folgendes Problem mit einer ReadingsGroup: Ich habe mir eine ReadingsGroup für die Bedienung meines Radios gebaut. Diese nutzt einen Slider zum Einstellen der Lautstärke. Das funktioniert alles soweit. Nun wollte ich jedoch in meinem Floorplan etwas Platz schaffen. Hierfür habe ich eine zweite, kleinere ReadingsGroup mit den wichtigsten Funktionen erstellt und diese in dem gleichen Raum in die gleiche Gruppe gesetzt. Mittels Kommando blenden sich die beiden ReadingsGroups nun gegenseitig ein (und sich selbst damit aus). Die ReadingsGroup mit dem Slider habe ich dafür auf "hidden" gesetzt.
Nun zu meinem Problem: Wenn ich die ReadingsGroup mit dem Slider das erste Mal nach dem Wechsel zum Floorplan einblende, zeigt der Slider den aktuellen Wert der Laustärke, steht jedoch ganz vorn. Wenn ich ihn nun versuche zu ziehen, steht zunächst NaN drin und dann wechselt die Lautstärke auf 100 (GANZ schön laut). Nun kann ich ihn normal ziehen und beim er funktioniert bis zum erneuten Wechsel des Floorplans...

Hat da jemand eine Idee?

Hier meine ReadingsGroups:

define OG.ez.RA.Player.RG.Control readingsGroup OG.ez.RA.Player:!Close,<> OG.ez.RA.Player:playStatus,volume OG.ez.RA.Player:<Favoriten>,<{LMSFavorites($DEVICE,"Esszimmer")}@favorites> OG.ez.RA.Player:<Künstler>,currentArtist OG.ez.RA.Player:<Titel>,currentTitle
attr OG.ez.RA.Player.RG.Control commands {'muteState' => 'set $DEVICE mute', 'playStatus.playing' => 'set $DEVICE clearPlaylist', 'playStatus.stopped' => 'set $DEVICE play', 'volume' => 'volume:slider,0,1,100', 'Close' => 'set OG.ez.RA.Player.RG.Symbol visibility show'}
attr OG.ez.RA.Player.RG.Control fp_Esszimmer 419,591,0,,
attr OG.ez.RA.Player.RG.Control group Radio
attr OG.ez.RA.Player.RG.Control nameStyle style="font-weight:bold;; color:yellow;;"
attr OG.ez.RA.Player.RG.Control noheading 1
attr OG.ez.RA.Player.RG.Control nonames 1
attr OG.ez.RA.Player.RG.Control notime 1
attr OG.ez.RA.Player.RG.Control room Esszimmer
attr OG.ez.RA.Player.RG.Control style {readingsGroupFloorplanStyle()}
attr OG.ez.RA.Player.RG.Control valueFormat { return (join " ", map {ucfirst} split / /, lc $VALUE) if (($READING eq 'currentArtist') || ($READING eq 'currentTitle'))}
attr OG.ez.RA.Player.RG.Control valueIcon {'muteState.muted' => 'Volume_mute', 'muteState.unmuted' => 'Volume_on', 'playStatus.playing' => 'audio_stop@lightgray', 'playStatus.stopped' => 'audio_play@lightgray', 'Close' => 'control_x@lightgray' }
attr OG.ez.RA.Player.RG.Control valueStyle style="text-align:center;;"
attr OG.ez.RA.Player.RG.Control visibility hidden

define OG.ez.RA.Player.RG.Symbol readingsGroup OG.ez.RA.Player:!VolumeDown,!Details,!VolumeUp
attr OG.ez.RA.Player.RG.Symbol commands { 'VolumeDown' => 'set %DEVICE volumeDown', 'VolumeUp' => 'set %DEVICE volumeUp', 'Details' => 'set OG.ez.RA.Player.RG.Control visibility show' }
attr OG.ez.RA.Player.RG.Symbol fp_Esszimmer 517,670,0,,
attr OG.ez.RA.Player.RG.Symbol group Radio
attr OG.ez.RA.Player.RG.Symbol noheading 1
attr OG.ez.RA.Player.RG.Symbol nonames 1
attr OG.ez.RA.Player.RG.Symbol notime 1
attr OG.ez.RA.Player.RG.Symbol room Esszimmer
attr OG.ez.RA.Player.RG.Symbol style {readingsGroupFloorplanStyle()}
attr OG.ez.RA.Player.RG.Symbol valueIcon { 'VolumeUp' => 'rc_VOLPLUS@lightgray', 'VolumeDown' => 'rc_VOLMINUS@lightgray', 'Details' => 'audio_sound@lightgray' }
attr OG.ez.RA.Player.RG.Symbol visibility hideable


Ronny
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 04 März 2015, 15:15:03
Zitat von: moonsorrox am 04 März 2015, 14:44:04
ja das hatte ich schon so, aber schau mal den screenshot...
so fehlt ja das Datum, dafür müsste ich jetzt eine weitere Spalte haben und es da eintragen können, dass weiß ich eben nicht wie das geht.. und die Tage sind immer noch hinten dran bei den Timern..!
Hi,
das verstehe ich nicht,
wenn Du das Datum sowieso benötigst, wieso splittest Du dann den String? Dann lass ihn doch komplett mit Datum anzeigen.

Ich bin zwar nur der DAU, aber Du kannst die letzten unnötigen Zeichen einfach abschneiden.
{'{substr ($VALUE,0,19)}'}
heisst soviel wie: gibt ab Stelle "0" "19" Zeichen des Strings aus. Hier sollten dann der Rest abgeschnitten werden.
Das geht bestimmt noch viel eleganter...

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 04 März 2015, 15:26:19
Zitat von: Spartacus am 04 März 2015, 15:15:03
Hi,
das verstehe ich nicht,
wenn Du das Datum sowieso benötigst, wieso splittest Du dann den String? Dann lass ihn doch komplett mit Datum anzeigen.
das hatte ich auch schon...  ;)
aber, weil ich es in zwei Spalten haben möchte (oder mehrere) und es geht jetzt bei diesem Beispiel, aber ich habe weitere (viele) DOIFs da sind noch mehr timer drin wo ich es dann in z.B. 4 Spalten haben möchte.

Da ich es noch nicht mal mit zwei hinbekomme, wird das mit 4 recht schwierig  ;)
alles klar

das DEF hat dann die Spalten so angeordnet:
<%time_clock@LightSeaGreen>,<Datum>,<Uhrzeit>,<Wochentag>,<Wochenende> di_TerrasseLicht:timer.*

oder
<%fts_shutter_automatic@LightSeaGreen>,<WochenTag>,<WochenEnde>,<Zeit - Nachtschicht>,<Zeit - Beschattung> TYPE=DOIF:timer.*

usw. da gibt es noch einige DOIFs timer

schau mal den screenshot, das möchte ich eigentlich unterteilt haben
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Motivierte linke Hände am 06 März 2015, 10:56:21
Hi, gibt es eine Möglichkeit auszulesen, wie viele Einträge in einer Readingsgroup angezeigt werden?

Hintergrund: Ich zeigte eine rg mit variablen Inhalten an, gesteuert über eine sub, die, sofern Readings ok sind, ein undef für ValueFormat zurückgibt. Damit wird in der rg nur noch dann was angezeigt, wenn etwas nicht ok/zu tun/... ist. Sehr praktisch!  :)

Aus Gründen der Schönheit soll in dieser rg nun "Alles ok!" angezeigt werden, wenn nichts los ist. Gute Nachrichten kommen immer gut an... Bisher habe ich das über eine if-Anfrage in der sub hinbekommen, die das ValueFormat steuert:

sub rg_Meldungen_valueFormat($$$) {
  my ($DEVICE,$READING,$VALUE) = @_;

  if ($DEVICE ne "dum_leere_Liste") {
    if (($VALUE eq "closed") || ($VALUE eq "dry") || ($VALUE eq "nein")) {
      return undef;
    } else {
      return $VALUE;
    }
  } else {
    if ((ReadingsVal("struc_FstrGross", "state", "error") eq "closed") && (ReadingsVal("struc_FstrKlein", "state", "error") eq "closed") && (ReadingsVal("Fstr_Vorratskeller", "state", "error") eq "closed") && (ReadingsVal("Wasser_Heizkeller", "state", "dry") eq "dry") && (ReadingsVal("Wasser_Waschmaschine", "state", "dry") eq "dry")) {
      return "&nbsp";
    } else {
      return undef;
    }
  }
}


Nun möchte ich über die rg ebenfalls anzeigen lassen, wenn irgendwo in einem Device eine Batterie gewechselt werden muss. Das lässt sich einfach hinbekommen, indem .*:(B|b)attery der rg hinzugefügt wird, und positive Meldungen kann ich filtern, indem ich oben die erste if-Abfrage um "|| ($VALUE eq "ok)" ergänze. Aber mit der zweiten if-Abfrage (die den dummy dum_liste_leer mit der positiven "Alles ok!" Meldung nur anzeigt, wenn sonst nichts angezeigt wird) habe ich meine Probleme: Da ich keine Ahnung habe, wie ich den Battery-Status für alle Geräte in die IF-Abfrage einbauen soll, ohne alle Geräte einzeln zu listen (und das sind VIELE), wäre es viel einfacher, wenn ich abfragen könnte, wie viele Einträge aktuell überhaupt in der rg angezeigt werden.

Eine solche Abfrage wäre auch nett, um verhindern zu können, dass eine rg bei der Anzeige auf einem Tablet etc. in einem Floorplan aus dem vorgegebenen Design läuft, indem man ab einer bestimmten Anzahl Einträge einfach immer "undef" zurückgibt...

Geht das irgendwie?

Sorry für die längliche Frage. "I didn't have the time to make it shorter."  ;)

Danke, Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 06 März 2015, 11:54:22
@moonsorrox:das mit dem aufteilen auf 2 oder 4 spalten sollte über die <{...}@reading> variante funktionieren.


@RoBra81: schau dir mal die collapsed/collapsible option an. da mit kannst du einen teil einer readingsGroup auf und zu klappen und brauchst keine zwei readingsGroups mehr oder du verwendest devStateIcon (bzw. den neuen style 8) um beim klick auf das device icon direkt ein popup mit dem slider zu bekommen.

zum nicht/falsch initialisierten slider: passiert das auch wenn du den slider in den webCmd hast?


@Motivierte linke Hände: in $ROW hast du die nummer der aktuellen zeile. wenn du dein alles ok ganz ans ende stellst und davor alle zeilen leer sind ist $ROW == 1 (oder 2 wenn du überschriften hast). wenn nicht wurde vorher eine zeile angezeigt und du kannst das alles ok weg lassen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: RoBra81 am 06 März 2015, 12:08:35
Zitat von: justme1968 am 06 März 2015, 11:54:22
@RoBra81: schau dir mal die collapsed/collapsible option an. da mit kannst du einen teil einer readingGroup auf und zu klappen und brauchst keine zwei readingGroups mehr oder du verwendest devStateIcon (bzw. den neuen style 8) um beim klick auf das device icon direkt ein popup mit dem slider zu bekommen.
Das mit den zwei ReadingsGroups passt schon. Zum einen zeigen diese verschiedene Inhalte an teils verschiedenen Positionen im Floorplan an. Zum anderen hatte ich es auch schon mit collapsed/collapsible probiert, da gefällt mir aber das '+' nicht. In meinem Fall habe ich es z.B. so, dass im Floorplan die Ist-Temperatur und die Luftfeuchte angezeigt werden und beim Klick auf die Temperatur die Readingsgroup mit der Bedienung aufgeht (siehe Screenshots) - ein '+' fände ich an der Stelle ziemlich hässlich (nicht böse gemeint...).

Zitat von: justme1968 am 06 März 2015, 11:54:22
zum nicht/falsch initialisierten slider: passiert das auch wenn du den slider in den webCmd hast?
Wie meinst du das? Der Slider in ein und der selben ReadingsGroup funktioniert (wird korrekt initialisiert), wenn die ReadingsGroup auf 'hideable' steht, nicht jedoch, wenn die ReadingsGroup auf 'hidden' steht und nach dem Öffnen der Floorplans erst mit 'show' eingeblendet wird...

Ronny
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 06 März 2015, 16:42:13
Hallo Andre,

hier das Beispiel zu Beitrag 1202 (readings  der readingsGroup):


define Alle_Fenster_rg readingsGroup Alle_Fenster_rg:<Ansicht>,Ansicht,<Fenster> [A-Z][a-z]_Fenster:state,<{valueListe('Alle_Fenster_rg',$DEVICE,'seit&nbsp;;'.KonvertiereZeit(ReadingsTimestamp($DEVICE,'Previous',0),3))}>
attr Alle_Fenster_rg alias Alle Fenster
attr Alle_Fenster_rg commands {'Alle_Fenster_rg.Ansicht' => 'Ansicht:alle,offene,geschlossene'}
attr Alle_Fenster_rg mapping <a href='fhem?room=%ALIAS'>%ALIAS</a>
attr Alle_Fenster_rg noheading 0
attr Alle_Fenster_rg nolinks 1
attr Alle_Fenster_rg notime 1
attr Alle_Fenster_rg room Haus
attr Alle_Fenster_rg valueFormat {valueListe('Alle_Fenster_rg',$DEVICE,$VALUE);;}
attr Alle_Fenster_rg valueIcon %devStateIcon
attr Alle_Fenster_rg valueSuffix {'Alle_Fenster_rg.Ansicht' => ' Fenster'}


"Ansicht" ist der Anzeigenmodus -> alle,offene,geschlossene und ist als reading bei der rg hinterlegt, wird aber als "state initialized" angezeigt.

die sub valueListe sieht so aus und dient nur dazu, undef oder den value zurückzuliefern, je nach dem, was in "Ansicht" ausgewählt wurde.

sub valueListe($$$)
{
my ($liste,$d,$v) = @_;
# readingsGroup hat rds für die Steuerung der Anzeige, durchlassen

return $v if($d eq $liste);

my $mode = ReadingsVal($liste,'Ansicht','alle');
return $v if($mode eq 'alle');
my $val = Value($d);
return $v if(($mode eq 'eingeschaltete') && ($val =~m/^ein/));
return $v if(($mode eq 'ausgeschaltete') && ($val =~m/^aus/));
return $v if(($mode eq 'offene') && ($val =~m/^offen/));
return $v if(($mode eq 'geschlossene') && ($val =~m/^geschlossen/));

return undef;
} # end sub valueListe
###################################


Die sub verwende ich in verschiedenen rgs, daher die mehreren Abfragen.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: locodriver am 06 März 2015, 19:15:19
Hallo Zusammen,

ich kämpfe schon geraume Zeit mit folgendem Problem:
Bei meinen batteriebetriebenen Geräten habe ich 2 Userreadings definiert:
- Batteriewechsel - Tage seit letztem Batteriewechsel (1)
- Batteriedauer_alt - vorherige Laufzeit der Batterie (2).

In der RG will ich jetzt mit einem Klick nach einem Batteriewechsel den Wert von 1 in 2 übertragen und 1 dann auf Null setzten. Das Nullsetzten funzt, das kopieren nicht. Es kommen keine Fehlermeldungen und der Befehl ist "klickbar".

Das command sieht so aus (relevant ab erstem 'Batteriestati.Batteriewechsel'...):
{"battery.low"=>"set %DEVICE replaceBatteryForSec 60",'Batteriestati.Batteriewechsel'=>'setreading %DEVICE Batteriedauer_alt $Value(%DEVICE,"Batteriewechsel","0")','Batteriestati.Batteriewechsel'=>'setreading %DEVICE Batteriewechsel 0'}

Ich habe schon mit allen (?) Varianten probiert und komme nicht weiter.

Habt ihr einen Vorschlag, wie es funzt?

Danke, Uwe
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 06 März 2015, 19:26:35
$Value(%DEVICE,"Batteriewechsel","0")
probiere dafür

ReadingsVal(%DEVICE,"Batteriewechsel","0")

eventuell muss der ganze ausdruck dann aber in geschweifte klammern. perl aufruf.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: locodriver am 06 März 2015, 19:43:44
ReadingsVal(%DEVICE,"Batteriewechsel","0")

funzt leider nicht und mit geschweiften Klammern drum auch nicht.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 06 März 2015, 19:58:18
'Batteriestati.Batteriewechsel'=>"setreading %DEVICE Batteriedauer_alt ReadingsVal(%DEVICE,'Batteriewechsel',0)"
da müssen auf alle fälle die doppelten anführungszeichen aussen rum, damit die variablen auch erkannt werden. innen die einfachen. mal probieren.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 06 März 2015, 20:13:13
da gehen gerade ein paar dinge durcheinander...

- das mit dem " statt ' trifft auf perl ebene zu.
- %DEVICE ist keine perl variable sondern wird per string suchen ersetzen ersetzet. die lässt sich in einem fhem kommando verwenden,
  hier spielt der unterschied zwischen " und ' keine rolle
- setreading ist fhem ebene, ReadingVal ist perl ebene. die lassen sich nicht direkt auf diese art mischen. du brauchst etwas in der art:
...,'Batteriestati.Batteriewechsel'=>'{fhem("setreading $DEVICE Batteriedauer_alt ". ReadingsVal($DEVICE,"Batteriewechsel",0))}',...

- hier werden entgegen der aussage oben aber aussen die ' und innen die " verwendet. das hat den grund das der das attribut in mehreren stufen ausgewertet wird. im ersten schritt nur um aus dem kompletten string einen perl hash zu machen. in diesem schritt sollen noch keine variablen ersetzt werden. in diesem hash wird dann zur laufzeit der zum jeweiligen reading gehörende wert gesucht. dieser string wird jetzt durch ein weiteres perl eval geschickt. jetzt erst werden die variablen passend zum aktuellen device und reading ersetzt. auf dieser ebene müssen also die " auftauchen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: locodriver am 06 März 2015, 20:24:08
Auf sowas muss man erstmal kommen...

Aber es funzt noch nicht - könnte es sein, dass "irgendwo" ein doppeltes Anführungszeichen an der falschen Stelle ist?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 06 März 2015, 20:33:00
Zitat- hier werden entgegen der aussage oben aber aussen die ' und innen die " verwendet. das hat den grund das der das attribut in mehreren stufen ausgewertet wird. im ersten schritt nur um aus dem kompletten string einen perl hash zu machen. in diesem schritt sollen noch keine variablen ersetzt werden. in diesem hash wird dann zur laufzeit der zum jeweiligen reading gehörende wert gesucht. dieser string wird jetzt durch ein weiteres perl eval geschickt. jetzt erst werden die variablen passend zum aktuellen device und reading ersetzt. auf dieser ebene müssen also die " auftauchen.
das muss ich mir wohl mal unters kopfkissen legen.  8)
hoffentlich kann ich dann auch noch schlafen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 06 März 2015, 20:37:24
@locodriver: schau mal ins log. wenn nichts zu sehen ist verbose hoch drehen.

@frank: das drückt sich platt. dann geht das schon :)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: locodriver am 06 März 2015, 20:48:56
Habe den Loglevel auf 5 gedreht:

Notify loop for Batteriestati BK_Sensor.battery: <svg class="icon measure_battery_100 0CFB0C" alt="ok" title="ok"    xmlns:dc="http://purl.org/dc/elements/1.1/"    xmlns:cc="http://creativecommons.org/ns#"    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    xmlns:svg="http://www.w3.org/2000/svg"    xmlns="http://www.w3.org/2000/svg"    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"    version="1.1"    x="0px"    y="0px"    width="361px"    height="361px"    viewBox="0 0 361 361"    style="enable-background:new 0 0 361 361;"    xml:space="preserve"    id="svg2"    inkscape:version="0.48.5 r10040"    sodipodi:docname="measure_battery_100.svg"><metadata    id="metadata36"><rdf:RDF><cc:Work        rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type          rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs    id="defs34" /><sodipodi:namedview    pagecolor="#ffffff"    bordercolor="#666666"    borderopacity="1"    objecttolerance="10"    gridtolerance="10"    guidetolerance="10"    inkscape:pageopacity="0"    inkscape:pageshadow="2"    inkscape:window-width="779"    inkscape:window-height="480"    id="namedview32"    showgrid="false"    inkscape:zoom="0.65373961"    inkscape:cx="180.5"    inkscape:cy="180.5"    inkscape:window-x="0"    inkscape:window-y="0"    inkscape:window-maximized="0"    inkscape:current-layer="svg2" /> <g    id="measure_x5F_battery_x5F_100"    style="stroke:#000000;stroke-opacity:1"    transform="matrix(1.6146267,0,0,1.6146267,-112.50812,-110.12429)"> <g    id="g5"    style="stroke:#000000;stroke-opacity:1"> <path    style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#0CFB0C;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"    d="m 134.65625,89.15625 c -6.01649,0 -11,4.983509 -11,11 l 0,180 c 0,6.01649 4.98351,11 11,11 l 95.5,0 c 6.01631,0 11,-4.9825 11,-11 l 0,-180 c 0,-6.016491 -4.98351,-11 -11,-11 l -95.5,0 z m 0,10 95.5,0 c 0.60951,0 1,0.390491 1,1 l 0,180 c 0,0.6085 -0.39231,1 -1,1 l -95.5,0 c -0.60951,0 -1,-0.39049 -1,-1 l 0,-180 c 0,-0.609509 0.39049,-1 1,-1 z"    id="path7"    inkscape:connector-curvature="0" /> <path    style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#0CFB0C;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"    d="m 169.625,69.65625 c -6.01649,0 -11,4.983509 -11,11 l 0,14 10,0 0,-14 c 0,-0.609509 0.39049,-1 1,-1 l 25.5,0 c 0.60951,0 1,0.390491 1,1 l 0,14 10,0 0,-14 c 0,-6.016491 -4.98351,-11 -11,-11 l -25.5,0 z"    id="path9"    inkscape:connector-curvature="0" /> </g> <g    style="stroke:#000000;stroke-opacity:1;display:none"    id="g11"> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,266.334 c 0,3.313 -2.688,6 -6,6 h -65.5 c -3.313,0 -6,-2.688 -6,-6 v -6 c 0,-3.314 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.686 6,6 v 26 z"    id="path13"    inkscape:connector-curvature="0" /> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,166.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path15"    inkscape:connector-curvature="0" /> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,120 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -26 c 0,-3.313 2.687,-6 6,-6 h 65.5 c 3.313,0 6,2.687 6,6 v 6 z"    id="path17"    inkscape:connector-curvature="0" /> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,213.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path19"    inkscape:connector-curvature="0" /> </g> <g    id="g21"    style="fill:#0CFB0C;fill-opacity:1;stroke:none"> <path    style="fill:#0CFB0C;fill-opacity:1;stroke:none"    d="m 221.141,266.334 c 0,3.313 -2.688,6 -6,6 h -65.5 c -3.313,0 -6,-2.688 -6,-6 v -6 c 0,-3.314 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.686 6,6 v 26 z"    id="path23"    inkscape:connector-curvature="0" /> <path    style="fill:#0CFB0C;fill-opacity:1;stroke:none"    d="m 221.141,166.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path25"    inkscape:connector-curvature="0" /> <path    style="fill:#0CFB0C;fill-opacity:1;stroke:none"    d="m 221.141,120 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -26 c 0,-3.313 2.687,-6 6,-6 h 65.5 c 3.313,0 6,2.687 6,6 v 6 z"    id="path27"    inkscape:connector-curvature="0" /> <path    style="fill:#0CFB0C;fill-opacity:1;stroke:none"    d="m 221.141,213.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path29"    inkscape:connector-curvature="0" /> </g> </g> <g    id="Ebene_1"    style="stroke:#000000;stroke-opacity:1"    transform="matrix(1.6146267,0,0,1.6146267,-112.50812,-110.12429)"> </g> </svg>
2015.03.06 20:45:12 5: Triggering Batteriestati (1 changes)


Achtung Log läuft von unten nach oben!

Ich hänge mal noch die anderen Attribute mit an:

attr Batteriestati cellStyle { "r:1"=>'style="font-weight:bold;;;;font-size:16px"', "r:3"=>'style="font-weight:bold"',"r:7" =>'style="font-weight:bold"', "r:13"=>'style="font-weight:bold"',"r:19"=>'style="font-weight:bold"'}
attr Batteriestati commands {"battery.low"=>"set %DEVICE replaceBatteryForSec 60",'Batteriestati.Batteriewechsel'=>'{fhem("setreading $DEVICE Batteriedauer_alt ". ReadingsVal($DEVICE,"Batteriewechsel",0))}','Batteriestati.Batteriewechsel'=>'setreading %DEVICE Batteriewechsel 0'}
attr Batteriestati room 085System
attr Batteriestati valueFormat {if($READING eq "batteryLevel"){if($VALUE>=3){$VALUE=100} elsif($VALUE>=2.7){$VALUE=75}elsif($VALUE>=2.5){$VALUE=50}elsif($VALUE>=2.2){$VALUE=25} else{$VALUE=0}}}
attr Batteriestati valueIcon {'batteryLevel.100'=>'measure_battery_100@0CFB0C','batteryLevel.75'=>'measure_battery_75@42BC0A', 'batteryLevel.50'=>'measure_battery_50@F5FF10','batteryLevel.25'=>'measure_battery_25@FB5909', 'batteryLevel.0'=>'measure_battery_0@E50005','battery.ok'=>'measure_battery_100@0CFB0C', 'battery.low'=>'measure_battery_50@E50005'}
attr Batteriestati valueStyle style="text-align:right"
attr Batteriestati valueSuffix {"batteryLevel"=>" (".ReadingsVal($DEVICE,$READING,0)." V)","Batteriewechsel"=>" Tage","Batteriedauer_alt"=>" Tage"}

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Motivierte linke Hände am 08 März 2015, 09:03:53
Hi Andre,

Zitat von: justme1968 am 06 März 2015, 11:54:22
@Motivierte linke Hände: in $ROW hast du die nummer der aktuellen zeile. wenn du dein alles ok ganz ans ende stellst und davor alle zeilen leer sind ist $ROW == 1 (oder 2 wenn du überschriften hast). wenn nicht wurde vorher eine zeile angezeigt und du kannst das alles ok weg lassen.

Das klingt nach einer guten Möglichkeit. Ich habe jetzt ein wenig damit herumexperimentiert. Im valueFormat steht aktuell

{ rg_Meldungen_valueFormat($DEVICE,$READING,$VALUE,$ROW); }

und rg_Meldungen_valueFormat sieht so aus:

sub rg_Meldungen_valueFormat($$$$) {
  my ($DEVICE,$READING,$VALUE,$ROW) = @_;

  if ($DEVICE ne "dum_leere_Liste") {
    if (($VALUE eq "closed") || ($VALUE eq "dry") || ($VALUE eq "nein") || ($VALUE eq "ok")) {
      return undef;
    } else {
      if (index($DEVICE, 'Sens_') != -1) {
        if ((ReadingsVal($DEVICE,"temperature","999")-$VALUE) < 3) {
          return "&nbsp";
        } else {
          return undef;
        }
      } else {
        return $VALUE;
      }
    }
  } else {
    Log 1, ("rg_Meldungen_valueFormat: ROW >$ROW<");
    if (($ROW eq "2") || ($ROW eq "1")) {
      return "&nbsp";
    } else {
      return undef;
    }
  }
}


Du siehst den Log-Befehl. Lt. diesem ist $ROW leer:

2015.03.08 08:58:22 1: rg_Meldungen_valueFormat: ROW ><

(Ja, ich weiß, dass der Test auf $ROW 1 oder 2 noch nicht ganz passt, das ist noch Teil der Versuche, das überhaupt ans Laufen zu bringen.  :))

Einen schönen Sonntag, und ich finde es wirklich beeindruckend, wie viel Du an allen Ecken zu FHEM beiträgst - durch diverse Module wie auch durch die dauerhafte, sehr schnellen und hilfreichen Support hier. Respekt!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 08 März 2015, 12:21:33
Hallo Andre,

noch Mal zu meinem Beitrag 1202, bei dem ich in der readingsGroup readings für die Ausgabensteuerung hinterlegen möchte.
Den Fehler, dass

define meine_rg readingsGroup meine_rg:Ansicht  [A-Z][a-z]_Fenster:state....

zur Ausgabe von "state" der readingsGroup führte, habe ich gefunden:

attr meine_rg valueIcon %devStateIcon

muss natürlich jetzt

attr meine_rg valueIcon{'state' => '%devStateIcon'}
heißen...
Da die rg kein devStateIcon hat, kommt statt dessen der Text von "state" und nicht der Wert von "Ansicht". Da erst Mal drauf kommen.... :-)

ok.
Was aber trotzdem nun nicht geht ist:

attr meine_rg commands {'Ansicht' => 'Ansicht:alle,offene,geschlossene'}

weil in
sub readingsGroup_set

"Ansicht" als "unbekannt" gemeldet wird und das notify auf

define meine_rg_not notify meine_rg:Ansicht.* {perl-code...}

daher nicht mehr angesprungen wird.

Mit "setreading meine_rg Ansicht alle" kann man zwar das reading setzen, aber nicht über die fhem-Oberfläche per Menü (bzw. attr meine_rg commands ...).

Ich fände es allerdings ganz chic, wenn man in der rg readings für die individuelle Ausgabensteuerung  hinterlegen könnte, ansonsten müsste man überall extra dummys anlegen.

In der sub readingsGroup_set

habe ich am Schluß mal folgende Zeile eingefügt:

return undef if(exists($hash->{READINGS}{$cmd}));
  return "Unknown argument $cmd, choose one of $list";
} # end sub readingsGroup_set


damit werden alle readings für den set-Befehl "legalisiert" und das Menü "Ansicht" funktioniert.

Alternativ könnte man auch in der set-Routine noch auf das Attribut "setList" prüfen und die Werte dort als gültige "userreadings" zulassen.

Könnte man die obige Zeile in den Code mit aufnehmen?
Der dürfte ja nicht weiter stören und man kann readings für die Ausgabensteuerung in der rg hinterlegen und mit fhem-Mitteln ändern.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 12 März 2015, 21:33:32
Hi, ich bekomme diese Meldung seit gestern im LOG
015.03.12 21:14:13.096 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 732.

Woher könnte das kommen?

Danke

EDIT

Kann man das Knob Element in einer RD nutzen? Wenn ja wie?

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: vbs am 15 März 2015, 23:38:21
Ich habe im Moment das Problem, dass beim Aufruf meiner RG folgende Meldung im Log kommt:
2015.03.15 23:26:58 1: PERL WARNING: Use of uninitialized value $lookup in pattern match (m//) at ./FHEM/33_readingsGroup.pm line 339.

Ich habe jetzt schon ganz viele Attribute gelöscht, um das Problem einzugrenzen und ich denke im Moment, dass es an "valueFormat" liegt. Und zwar scheint es zu passieren wenn ich als valueFormat eine Perl-Funktion eingebe, die dann "undef" zurück liefert. Meines Wissens ist doch die Rückgabe von undef der Weg, um ein Reading in der RG auszublenden oder?

So sieht mein Device aus (ist eine RG für ein Enigma2-Device):
Internals:
   DEF        wz_dm7020hd:<Status>,state,<Kanal>,channel
wz_dm7020hd:,<Aktuell>,eventtitle,<Rest>,eventremaining_hr,<Dauer>,eventduration_hr
wz_dm7020hd:<Beschreibung>,eventdescription
wz_dm7020hd:,<Nächste>,eventtitle_next,<Start>,eventstart_next_hr,<Dauer>,eventduration_next_hr
wz_dm7020hd:,<HDD Kapazität>,hdd1_capacity,<Frei>,wz_dm7020hd:hdd1_free wz_dm7020hd:,<Lautstärke>,volume,<HDD>,hdd1_capacity,<Frei>,hdd1_free
wz_dm7020hd:,<Nächste&nbsp;Aufname>,recordings_next_name,<Uhrzeit>,recordings_next_hr
wz_rg_dm7020hd:,labelRec1,recordings1_name@wz_dm7020hd,recordings1_servicename@wz_dm7020hd
wz_rg_dm7020hd:,labelRec2,recordings2_name@wz_dm7020hd,recordings2_servicename@wz_dm7020hd
wz_rg_dm7020hd:,labelRec3,recordings3_name@wz_dm7020hd,recordings3_servicename@wz_dm7020hd
wz_rg_dm7020hd:,labelRec4,recordings4_name@wz_dm7020hd,recordings4_servicename@wz_dm7020hd

   NAME       wz_rg_dm7020hd
   NR         415
   NTFY_ORDER 50-wz_rg_dm7020hd
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     wz_dm7020hd 1
     wz_rg_dm7020hd 1
   Content2:
     wz_dm7020hd 1
   DEVICES:
     ARRAY(0xab81fb0)
     ARRAY(0xadf49d8)
     ARRAY(0xab81d40)
     ARRAY(0xab81f20)
     ARRAY(0xab82010)
     ARRAY(0xab81f60)
     ARRAY(0xab81f90)
     ARRAY(0xadf4f60)
     ARRAY(0xab81f00)
     ARRAY(0xadf4ab8)
     ARRAY(0xab83cb0)
   DEVICES2:
     ARRAY(0xab81fb0)
     ARRAY(0xadf49d8)
     ARRAY(0xab81d40)
     ARRAY(0xab81f20)
     ARRAY(0xab82010)
     ARRAY(0xab81f60)
     ARRAY(0xab81f90)
     ARRAY(0xadf4f60)
     ARRAY(0xab81f00)
     ARRAY(0xadf4ab8)
     ARRAY(0xab83cb0)
     ARRAY(0xadf5080)
     ARRAY(0xadf5160)
     ARRAY(0xadf50b0)
     ARRAY(0xadf51e0)
     ARRAY(0xadf51c0)
     ARRAY(0xadf5260)
     ARRAY(0xadf5240)
     ARRAY(0xadf52e0)
   Readings:
     2015-02-17 23:10:39   labelRec1       Laufende Aufnahme
     2015-02-17 23:10:43   labelRec2       Laufende Aufnahme
     2015-02-17 23:10:47   labelRec3       Laufende Aufnahme
     2015-02-17 23:10:51   labelRec4       Laufende Aufnahme
   Fhem:
     lastDefChange 1
     last_update 1426458690.09262
   Helper:
     DEF
     mapping    &nbsp;
     valueFormat {return undef}
Attributes:
   alias      Dreambox
   group      Geräte
   mapping    &nbsp;
   nostate    1
   notime     1
   room       Wohnzimmer
   valueFormat {return undef}


Normalerweise sieht der Inhalt von valueFormat natürlich anders aus, aber zum Testen habe ich mal direkt undef zurück gegeben. Wenn ich das Attribut lösche, dann kommt der Fehler auch nicht mehr.
Prinzipiell funktioniert der Mechanismus: Also wenn das Attribut vorhanden ist, dann sind alle Readings unsichtbar.
Ich kann nicht sagen, ob der Fehler jetzt erst neu ist. Ist mir vlt. vorher einfach nicht aufgefallen.

Hier der Vollständigkeit halber nochmal mein eigentliches "Produktiv"-Device:
Internals:
   DEF        wz_dm7020hd:<Status>,state,<Kanal>,channel
wz_dm7020hd:,<Aktuell>,eventtitle,<Rest>,eventremaining_hr,<Dauer>,eventduration_hr
wz_dm7020hd:<Beschreibung>,eventdescription
wz_dm7020hd:,<Nächste>,eventtitle_next,<Start>,eventstart_next_hr,<Dauer>,eventduration_next_hr
wz_dm7020hd:,<HDD Kapazität>,hdd1_capacity,<Frei>,wz_dm7020hd:hdd1_free wz_dm7020hd:,<Lautstärke>,volume,<HDD>,hdd1_capacity,<Frei>,hdd1_free
wz_dm7020hd:,<Nächste&nbsp;Aufname>,recordings_next_name,<Uhrzeit>,recordings_next_hr
wz_rg_dm7020hd:,labelRec1,recordings1_name@wz_dm7020hd,recordings1_servicename@wz_dm7020hd
wz_rg_dm7020hd:,labelRec2,recordings2_name@wz_dm7020hd,recordings2_servicename@wz_dm7020hd
wz_rg_dm7020hd:,labelRec3,recordings3_name@wz_dm7020hd,recordings3_servicename@wz_dm7020hd
wz_rg_dm7020hd:,labelRec4,recordings4_name@wz_dm7020hd,recordings4_servicename@wz_dm7020hd

   NAME       wz_rg_dm7020hd
   NR         415
   NTFY_ORDER 50-wz_rg_dm7020hd
   STATE      Initialized
   TYPE       readingsGroup
   Content:
     wz_dm7020hd 1
     wz_rg_dm7020hd 1
   Content2:
     wz_dm7020hd 1
   DEVICES:
     ARRAY(0xadc98d0)
     ARRAY(0xb0485f0)
     ARRAY(0xadc9660)
     ARRAY(0xadc9840)
     ARRAY(0xadc9930)
     ARRAY(0xadc9880)
     ARRAY(0xadc98b0)
     ARRAY(0xb048790)
     ARRAY(0xadc9820)
     ARRAY(0xb0486d0)
     ARRAY(0xadd9ca8)
   DEVICES2:
     ARRAY(0xadc98d0)
     ARRAY(0xb0485f0)
     ARRAY(0xadc9660)
     ARRAY(0xadc9840)
     ARRAY(0xadc9930)
     ARRAY(0xadc9880)
     ARRAY(0xadc98b0)
     ARRAY(0xb048790)
     ARRAY(0xadc9820)
     ARRAY(0xb0486d0)
     ARRAY(0xadd9ca8)
     ARRAY(0xb0488b0)
     ARRAY(0xb048990)
     ARRAY(0xb0488e0)
     ARRAY(0xb048a10)
     ARRAY(0xb0489f0)
     ARRAY(0xb048a90)
     ARRAY(0xb048a70)
     ARRAY(0xb048b10)
   Readings:
     2015-02-17 23:10:39   labelRec1       Laufende Aufnahme
     2015-02-17 23:10:43   labelRec2       Laufende Aufnahme
     2015-02-17 23:10:47   labelRec3       Laufende Aufnahme
     2015-02-17 23:10:51   labelRec4       Laufende Aufnahme
   Fhem:
     lastDefChange 1
     last_update 1426458950.61751
   Helper:
     DEF
     mapping    &nbsp;
     valueFormat { if($READING eq 'hdd1_capacity' or $READING eq 'hdd1_free') { return "%.2f";  } elsif( $READING eq 'volume' ) {if( ReadingsVal($DEVICE, "mute", "") eq "on") {return "mute";} else {return "%i %%";}  }elsif ($READING =~ /recordings._.*name/) { return ($VALUE eq '-')  ? undef : $VALUE;}elsif ($READING =~ /labelRec.*/) {my $no = substr($READING, 8, 1);return (ReadingsVal('wz_dm7020hd', 'recordings' . $no . '_name', '-') eq '-') ? undef : $VALUE;}}
     valueStyle { if($READING eq "hdd1_free" && $VALUE < 200){ 'style="color:red"' }elsif( $READING eq "hdd1_free" && $VALUE < 500 ){ 'style="color:orange"' }elsif( $READING eq "volume" && ReadingsVal($DEVICE, "mute", "") eq "on" ){ 'style="color:red"' }elsif( $READING =~ /recordings._.*name/ ) {'style="color:red"'}elsif( $READING =~ /labelRec./ ) {}else{ 'style="color:green"' } }
     valueSuffix { if($READING eq 'hdd1_capacity' or $READING eq 'hdd1_free') { return " GB";  } }
     Commands:
       channel    channel:
     Valuecolumns:
       eventdescription colspan="4"
     Valueicon:
       state      %devStateIcon
Attributes:
   alias      Dreambox
   commands   { channel => "channel:" }
   comment    Es müssen händisch die Readings "labelRec1" bis "labelRec4" angelegt werden. Inhalt immer "Laufende Aufnahme". Für Anzeige der letzen RG-Zeilen
   group      Geräte
   mapping    &nbsp;
   nostate    1
   notime     1
   room       Wohnzimmer
   valueColumns { eventdescription => 'colspan="4"' }
   valueFormat { if($READING eq 'hdd1_capacity' or $READING eq 'hdd1_free') { return "%.2f";  } elsif( $READING eq 'volume' ) {if( ReadingsVal($DEVICE, "mute", "") eq "on") {return "mute";} else {return "%i %%";}  }elsif ($READING =~ /recordings._.*name/) { return ($VALUE eq '-')  ? undef : $VALUE;}elsif ($READING =~ /labelRec.*/) {my $no = substr($READING, 8, 1);return (ReadingsVal('wz_dm7020hd', 'recordings' . $no . '_name', '-') eq '-') ? undef : $VALUE;}}
   valueIcon  {state => '%devStateIcon'}
   valueStyle { if($READING eq "hdd1_free" && $VALUE < 200){ 'style="color:red"' }elsif( $READING eq "hdd1_free" && $VALUE < 500 ){ 'style="color:orange"' }elsif( $READING eq "volume" && ReadingsVal($DEVICE, "mute", "") eq "on" ){ 'style="color:red"' }elsif( $READING =~ /recordings._.*name/ ) {'style="color:red"'}elsif( $READING =~ /labelRec./ ) {}else{ 'style="color:green"' } }
   valueSuffix { if($READING eq 'hdd1_capacity' or $READING eq 'hdd1_free') { return " GB";  } }
Titel: Antw:Neues Modul readingsGroup
Beitrag von: HoTi am 16 März 2015, 07:13:10
Den Fehler von VBS habe ich leider auch schon lange drin. Bei der Müllabfuhr-Visualisierung http://forum.fhem.de/index.php?topic=32382.0 (http://forum.fhem.de/index.php?topic=32382.0)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Motivierte linke Hände am 16 März 2015, 07:42:25
Ich glaube(!), ich hatte diesen Fehler schon bei eigenen Routinen, und zwar immer dann, wenn ich mit einem String gearbeitet habe, der bei Übergabe leer war.

Kann es sein, dass die Rückgabe von undef in Euren Beispielen dazu führt, dass die entsprechende rg komplett leer ist?

Nur 'ne Vermutung.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: vbs am 16 März 2015, 18:17:09
Also in meinem Beispiel habe ich ja ohne String gearbeitet, aber zum Testen einfach immer "undef" zurück gegeben und da tritt es auch auf:
valueFormat {return undef}

Also die komplette RG ist bei mir dann nicht leer, sondern nur das Reading, bei dem ich undef zurück gebe (wie es ja wohl auch sein soll).
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 16 März 2015, 21:03:03
Hi,
ich habe über das widgetOverride Attribute in einer RG ein Knob Element definiert, allerdings passiert nichts
EDIT
hab grad gesehen das ich es über das Commands Attribut machen muss, aber dann bekomme ich für Knob Elemente angezeigt, mit je 2 unterschiedlichen Werte, was mach ich da noch falsch?

nternals:
   DEF        <Gerät>,<Soll>,<Ist>
Gaeste_WC_Clima:desired-temp,measured-temp
   NAME       rd_Gaeste_WC
   NR         240
   NTFY_ORDER 50-rd_Gaeste_WC
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Gaeste_WC_Clima 1
   Content2:
   DEVICES:
     ARRAY(0x2cfe1d8)
     ARRAY(0x2d1a788)
   Fhem:
     lastDefChange 11
     last_update 1426536777.8377
   Helper:
     DEF
     commands   desired-temp:knob,min:5,max:30,step:0.5,fgColor:#FF9900,anglearc:180,angleoffset:270,bgcolor:#9999CC,width:250,linecap:round,font:lcars,displayPrevious:true
     nameStyle  style="color:yellow;font-weight:bold"
     Mapping:
       Gaeste_WC_Clima Gäste WC
Attributes:
   commands   desired-temp:knob,min:5,max:30,step:0.5,fgColor:#FF9900,anglearc:180,angleoffset:270,bgcolor:#9999CC,width:250,linecap:round,font:lcars,displayPrevious:true
   fp_Gaeste_WC1 238,221,0,
   mapping    {'Gaeste_WC_Clima' => 'Gäste WC' }
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   style      style="font-size:20px;color:lightgray;text-align:left"
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 März 2015, 21:17:40
die undef warnung sollte ab morgen weg sein.

das widgetOverride attribut ist ein globales attribut in fhem um das widget zu ändern das für das kommando eines devices verwendet wird. es wird in dem device gesetzt aus dem das kommando kommt.

die readingsGroup hat keine eigenen kommandos also macht es keinen sinn widgetOverride hier zu setzen.

die widgets die die readingsGroup für ein reading eines angezeigten devices verwendet werden über das commands attribut konfiguriert. wenn du widgetOverride im betreffenden device für ein kommando gesetzt ist sollte das übernommen werden wenn du im commands attribut kein eigenes widget angibst.

der erste fall funktioniert so:attr rd_Gaeste_WC commands { 'desired-temp' => 'desired-temp:'}
der zweite sollte so funktionieren:attr rd_Gaeste_WC commands { 'desired-temp' => 'desired-temp:knob,min:5,max:30,step:0.5,fgColor:#FF9900,anglearc:180,angleoffset:270,bgcolor:#9999CC,width:250,linecap:round,font:lcars,displayPrevious:true'}ich weiss aber nicht ganz genau ob es mit den mehrfachen : eventuell noch probleme gibt.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Joker am 18 März 2015, 17:41:20
Hi
ich habe mal eine Frage zur Funktionsweise der Readingsgroup.
Wenn ich sowas mache:
attr rg_heatingInfo valueSuffix {"batteryLevel"=> sprintf("%.1f", ReadingsVal($DEVICE,$READING,0)) ." V" }

Dann hätte ich gedacht, das sprintf wird nur ausgeführt, wenn das Reading ein "batteryLevel" enthält. Scheinbar wird es aber für jedes Reading in der ReadingsGroup ausgeführt, denn ich erhalte solche Fehlermeldungen:
PERL WARNING: Argument "auto" isn't numeric in sprintf at (eval 23194) line 1.

Ist das so gewollt? Die batteryLevel Readings enthalten numerische Werte. Aber ich habe auch Readings, die z.B. das "auto" liefern. Wie umgehe ich das Warning jetzt am Besten? Habe zwar schon von dieser Fehlermeldung hier im Thread gelesen, aber die Lösung ist mir nicht klar...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 18 März 2015, 17:47:56
schau mal in dein log. da sollten noch andere meldungen stehen. unter anderem das die syntax die du verwendest falsch ist.

der teil rechts vom => wird nur für das entsprechende reading ausgeführt, aber der gesammte ausdruck wird für jedes reading ausgeführt um vom string auf den hash zu kommen in dem dann der ausdruck gesucht wird.

du solltest es etwa so schreiben:attr rg_heatingInfo valueSuffix {"batteryLevel"=> '{sprintf("%.1f", ReadingsVal($DEVICE,$READING,0)) ." V"}' }


gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Joker am 18 März 2015, 18:00:53
Danke für die schnelle Antwort. Über das Logfile bin ich auf das Problem gestoßen, denn das war voll von diesen Fehlermeldungen. Allerdings finde ich sonst keine Fehlermeldungen, die wie Du sagst etwas von falscher Syntax sagen. Dies hier sind alle Fehlermeldungen die zu sehen sind wenn ich auf die Seite mit der Readingsgroup wechsle:

2015.03.18 17:33:58 1: PERL WARNING: Argument "auto" isn't numeric in sprintf at (eval 171) line 1.
2015.03.18 17:33:58 1: PERL WARNING: Argument "off" isn't numeric in sprintf at (eval 174) line 1.
2015.03.18 17:33:58 1: PERL WARNING: Argument "auto" isn't numeric in sprintf at (eval 189) line 1.
2015.03.18 17:33:58 1: PERL WARNING: Argument "on" isn't numeric in sprintf at (eval 192) line 1.
2015.03.18 17:33:59 1: PERL WARNING: Argument "auto" isn't numeric in sprintf at (eval 207) line 1.
2015.03.18 17:33:59 1: PERL WARNING: Argument "on" isn't numeric in sprintf at (eval 210) line 1.
2015.03.18 17:33:59 1: PERL WARNING: Argument "auto" isn't numeric in sprintf at (eval 225) line 1.
2015.03.18 17:33:59 1: PERL WARNING: Argument "on" isn't numeric in sprintf at (eval 228) line 1.
2015.03.18 17:33:59 1: PERL WARNING: Argument "auto" isn't numeric in sprintf at (eval 243) line 1.
2015.03.18 17:33:59 1: PERL WARNING: Argument "off" isn't numeric in sprintf at (eval 246) line 1.
2015.03.18 17:33:59 1: PERL WARNING: Argument "auto" isn't numeric in sprintf at (eval 261) line 1.
2015.03.18 17:33:59 1: PERL WARNING: Argument "off" isn't numeric in sprintf at (eval 264) line 1.
2015.03.18 17:33:59 1: PERL WARNING: Argument "auto" isn't numeric in sprintf at (eval 279) line 1.
2015.03.18 17:33:59 1: PERL WARNING: Argument "off" isn't numeric in sprintf at (eval 282) line 1.
2015.03.18 17:33:59 1: PERL WARNING: Argument "auto" isn't numeric in sprintf at (eval 297) line 1.
2015.03.18 17:33:59 1: PERL WARNING: Argument "on" isn't numeric in sprintf at (eval 300) line 1.
2015.03.18 17:33:59 1: PERL WARNING: Argument "auto" isn't numeric in sprintf at (eval 315) line 1.
2015.03.18 17:33:59 1: PERL WARNING: Argument "off" isn't numeric in sprintf at (eval 318) line 1.
2015.03.18 17:33:59 1: PERL WARNING: Argument "auto" isn't numeric in sprintf at (eval 333) line 1.
2015.03.18 17:33:59 1: PERL WARNING: Argument "on" isn't numeric in sprintf at (eval 336) line 1.


Ich habe jetzt mal den Ausdruck so umgebaut wie Du gesagt hast- jetzt sind die Fehlermeldungen weg, perfekt!

Was mich noch interessieren würde, aber da weiß ich nicht ob das hier her gehört: Wieso stehen in den Warnings keine korrekten File- und Line Angaben, sondern sowas wie "at (eval 333) line 1"? Liegt das an Perl oder an Readingsgroup? Mich hat es eine ganze Weile gekostet um zu finden, wo das her kommt, gibt es da eine bessere Vorgehensweise als Trial&Error?

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 19 März 2015, 20:08:38
Hi,
mit
{ 'desired-temp' => 'desired-temp:knob,min:5,max:30,step:0.5,fgColor:#FF9900,anglearc:180,angleoffset:270,bgcolor:#9999CC,width:250,linecap:round,font:lcars,displayPrevious:true'}
wirds dann angezeigt, jetzt hab ich noch das Problem das "Soll"" nicht Zentriert über dem Element steht und das "IST" nicht Zentriert über der IST Teperatur steht, wie kann ich das noch hin bekommen?

Internals:
   DEF        <Soll>,<Ist>
Gaeste_WC_Clima:desired-temp,measured-temp
   NAME       rd_Gaeste_WC
   NR         240
   NTFY_ORDER 50-rd_Gaeste_WC
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Gaeste_WC_Clima 1
   Content2:
   DEVICES:
     ARRAY(0x3342c98)
     ARRAY(0x3c34448)
   Fhem:
     lastDefChange 10
     last_update 1426791966.54793
   Helper:
     DEF
     nameStyle  style="color:yellow;font-weight:bold"
     Commands:
       desired-temp desired-temp:knob,min:5,max:30,step:0.5,fgColor:#FF9900,anglearc:180,angleoffset:270,bgcolor:#9999CC,width:250,linecap:round,font:lcars,displayPrevious:true
     Mapping:
       Gaeste_WC_Clima
Attributes:
   commands   { 'desired-temp' => 'desired-temp:knob,min:5,max:30,step:0.5,fgColor:#FF9900,anglearc:180,angleoffset:270,bgcolor:#9999CC,width:250,linecap:round,font:lcars,displayPrevious:true'}
   fp_Gaeste_WC1 238,221,0,
   mapping    {'Gaeste_WC_Clima' => '' }
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   style      style="font-size:20px;color:lightgray;text-align:left"


Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 19 März 2015, 20:19:40
setz mal nonames oder setz vor das soll noch ein <>,

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 19 März 2015, 20:27:11
Hi Danke,
mit einem <>, sieht es fast gut aus:-)
Ist wird jetzt schön Zentriert über der IST Temperatur angezeigt, das SOLL ist aber noch links Bündig über dem Element und nicht Zentriert
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 19 März 2015, 20:30:32
mit cellStyle das alignment setzen
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 19 März 2015, 20:49:24
Hi,
danke, das klappt schonmal weitestgehend :-)
Allerdings ist SOLL jetzt plötzlich nicht mehr Gelb......

List sieht jetzt so aus
Internals:
   DEF        <>,<Soll>,<Ist>
Gaeste_WC_Clima:desired-temp,measured-temp
   NAME       rd_Gaeste_WC
   NR         240
   NTFY_ORDER 50-rd_Gaeste_WC
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Gaeste_WC_Clima 1
   Content2:
   DEVICES:
     ARRAY(0x3879640)
     ARRAY(0x44572d8)
   Fhem:
     lastDefChange 32
     last_update 1426794535.07951
   Helper:
     DEF
     nameStyle  style="color:yellow;font-weight:bold"
     Cellstyle:
       r:1,c:2    style="text-align:center"
     Commands:
       desired-temp desired-temp:knob,min:5,max:30,step:0.5,fgColor:#FF9900,anglearc:180,angleoffset:270,bgcolor:#9999CC,width:250,linecap:round,font:lcars,displayPrevious:true
     Mapping:
       Gaeste_WC_Clima
Attributes:
   cellStyle  { "r:1,c:2" => 'style="text-align:center"' }
   commands   { 'desired-temp' => 'desired-temp:knob,min:5,max:30,step:0.5,fgColor:#FF9900,anglearc:180,angleoffset:270,bgcolor:#9999CC,width:250,linecap:round,font:lcars,displayPrevious:true'}
   fp_Gaeste_WC1 220,221,0,
   mapping    {'Gaeste_WC_Clima' => '' }
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   style      style="font-size:20px;color:lightgray;text-align:left"
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 19 März 2015, 20:52:52
die farbe muss naturlich auch da rein. oder das alignment eindünstetet die farbe definiert hast.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 19 März 2015, 21:01:37
Perfekt, das wars.
Vielen Dank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 19 März 2015, 21:31:30
Muss leider nochmal fragen, hab noch eine andere RD welche ich jetzt auf Knob umgestellt habe, diese hat jetzt 5 Elemente untereinander, die kann ich aber auf meinem FP schlecht darstellen, ich würde jetzt gerne 3 untereinander und zwei rechts von den 3 anderen darstellen, geht das oder muss ich dafür eine zweite rd definieren?

die Rd sieht im Moment so aus:
Internals:
   DEF        <Gerät>,<Soll>,<Ist>
Gaeste_WC_Clima:desired-temp,measured-temp Heizung_Flur_Clima:desired-temp,measured-temp
Kueche_Clima:desired-temp,measured-temp
Heizung_Tuer_ClimRT_tr:desired-temp,measured-temp
HeizungFenster_Clima:desired-temp,measured-temp
   NAME       rd_Heizungs_Slider
   NR         214
   NTFY_ORDER 50-rd_Heizungs_Slider
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Gaeste_WC_Clima 1
     HeizungFenster_Clima 1
     Heizung_Flur_Clima 1
     Heizung_Tuer_ClimRT_tr 1
     Kueche_Clima 1
   Content2:
   DEVICES:
     ARRAY(0x2a2e4e8)
     ARRAY(0x2a7ff78)
     ARRAY(0x33657e8)
     ARRAY(0x30d6be8)
     ARRAY(0x2c7b3c8)
     ARRAY(0x1c26868)
   Fhem:
     lastDefChange 10
     last_update 1426795500.83873
   Helper:
     DEF
     nameStyle  style="color:yellow;font-weight:bold"
     Cellstyle:
       r:1,c:2    style="text-align:center;color:yellow;font-weight:bold"
     Commands:
       desired-temp desired-temp:knob,min:5,max:30,step:0.5,fgColor:#FF9900,anglearc:180,angleoffset:270,bgcolor:#9999CC,width:250,linecap:round,font:lcars,displayPrevious:true
     Mapping:
       Gaeste_WC_Clima Gäste WC
       HeizungFenster_Clima Heizung Wohnzimmer Fenster
       Heizung_Flur_Clima Heizung Flur
       Heizung_Tuer_ClimRT_tr Heizung Wohnzimmer Tür
       Kueche_Clima Küche
Attributes:
   cellStyle  { "r:1,c:2" => 'style="text-align:center;color:yellow;font-weight:bold"' }
   commands   { 'desired-temp' => 'desired-temp:knob,min:5,max:30,step:0.5,fgColor:#FF9900,anglearc:180,angleoffset:270,bgcolor:#9999CC,width:250,linecap:round,font:lcars,displayPrevious:true'}
   fp_Heizung 218,200,0,
   group      Heizung
   mapping    {'Gaeste_WC_Clima' => 'Gäste WC', 'Heizung_Flur_Clima' => 'Heizung Flur', 'Heizung_Tuer_ClimRT_tr' => 'Heizung Wohnzimmer Tür', 'Kueche_Clima' => 'Küche', 'HeizungFenster_Clima' => 'Heizung Wohnzimmer Fenster'}
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   room       Flur Erdgeschoss,Gäste_WC,Küche,Wohnzimmer
   style      style="font-size:20px;color:lightgray;text-align:left"


Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 19 März 2015, 21:35:03
natürlich geht das.

alles was auf eine zeile soll muss mit , getrennt hintereinander stehen. ohne leerzeichen. wenn du readings von unterschiedlichen devices mischst musst du hinter dem reading jeweils den devices namen mit @ getrennt dahinter hängen.

dafür gibt es aber wirklich schon beispiele ...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 19 März 2015, 21:42:58
Sorry, hab gegooglet aber nichts entsprechendes gefunden.:-(

Meinst du so?
<Gerät>,<Soll>,<Ist>
Heizung_Tuer_ClimRT_tr:desired-temp,measured-temp@Heizung_Tuer,HeizungFenster_Clima:desired-temp,measured-temp@HeizungFenster
Gaeste_WC_Clima:desired-temp,measured-temp
Heizung_Flur_Clima:desired-temp,measured-temp
Kueche_Clima:desired-temp,measured-temp

Dann wird aber HeizungFenster_Clima garnicht mehr angezeigt
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 19 März 2015, 21:50:19
da fehlt entweder ein leerzeichen vor dem device namen oder der device name muss mit @ angehängt werden.

es steht in der commandref, im wiki und bestimmt ein halbes Dutzend nal im forum.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 19 März 2015, 22:13:11
Sorry aber ich bekomms nicht hin, hab im Wiki das gefunden:
Zitatdefine wzTemperaturenRG readingsGroup Aussen:,<Temperatur>,temperature,<Luftfeuchte>,humidity Wohnzimmer:,<Temperatur>,temperature,<Luftfeuchte>,humidity Kasten_E_Geraete:,<Temperatur>,temperature,<Luftfeuchte>,humidity   Die readings temperatur und humidity der Devices Aussen, Wohnzimmer und Kasten_E_Geraete in einer Zeile pro Device.
Und habs danach dann so gemacht
Heizung_Tuer_ClimRT_tr:,desired-temp,measured-temp HeizungFenster_Clima:,desired-temp,measured-temp


Was überseh ich da???
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 19 März 2015, 22:34:26
http://forum.fhem.de/index.php/topic,16552.msg256989.html#msg256989 (http://forum.fhem.de/index.php/topic,16552.msg256989.html#msg256989)
http://forum.fhem.de/index.php/topic,28494.msg213486.html#msg213486 (http://forum.fhem.de/index.php/topic,28494.msg213486.html#msg213486)
http://www.fhemwiki.de/wiki/ReadingsGroup#Readings_aus_zus.C3.A4tzlichen_Devices (http://www.fhemwiki.de/wiki/ReadingsGroup#Readings_aus_zus.C3.A4tzlichen_Devices)
...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 19 März 2015, 23:41:43
Hallo Andre,
sitze jetzt schon einige Tage an folgendem Problem, finde aber keine Lösung :'(

Ich fasse in einer readingsgroup mehrere Kalender (aus owncloud) zusammen ,das letzte reading eines jeden Eintrages ist der jeweilige Kalendername.
Ich möchte nun abhängig vom Namen des Kalenders die gesamte Zeile in einer bestimmten Farbe darstellen.

Mit valueStyle bekomme ich immer nur die Farbe für den Kalender(t_***_source) geändert.
Habe das schon mit cellstyle versucht, ohne Erfolg!

Geht das überhabt, das man in Abhängigkeit eines Wertes dann eine Zeile einfärbt ?



define rg_Termine readingsGroup <Datum>,<Uhrzeit>,<Text>,<Kalender> vocalview2:t_001_bdate,t_001_btime,t_001_summary,t_001_source vocalview2:t_002_bdate,t_002_btime,t_002_summary,t_002_source vocalview2:t_003_bdate,t_003_btime,t_003_summary,t_003_source vocalview2:t_004_bdate,t_004_btime,t_004_summary,t_004_source vocalview2:t_005_bdate,t_005_btime,t_005_summary,t_005_source vocalview2:t_006_bdate,t_006_btime,t_006_summary,t_006_source vocalview2:t_007_bdate,t_007_btime,t_007_summary,t_007_source vocalview2:t_008_bdate,t_008_btime,t_008_summary,t_008_source vocalview2:t_009_bdate,t_009_btime,t_009_summary,t_009_source vocalview2:t_010_bdate,t_010_btime,t_010_summary,t_010_source vocalview2:t_011_bdate,t_011_btime,t_011_summary,t_011_source vocalview2:t_012_bdate,t_012_btime,t_012_summary,t_012_source vocalview2:t_013_bdate,t_013_btime,t_013_summary,t_013_source vocalview2:t_014_bdate,t_014_btime,t_014_summary,t_014_source vocalview2:t_015_bdate,t_015_btime,t_015_summary,t_015_source vocalview2:t_016_bdate,t_016_btime,t_016_summary,t_016_source vocalview2:t_017_bdate,t_017_btime,t_017_summary,t_017_source vocalview2:t_018_bdate,t_018_btime,t_018_summary,t_018_source vocalview2:t_019_bdate,t_019_btime,t_019_summary,t_019_source vocalview2:t_020_bdate,t_020_btime,t_020_summary,t_020_source
attr rg_Termine group Kalenderansicht2
attr rg_Termine nameStyle style="font-weight:bold;;color:Black"
attr rg_Termine nonames 1
attr rg_Termine room Kalender
attr rg_Termine valueStyle {if(substr($READING,5,7) eq "_source" && $VALUE eq "Klaus"){ 'style="color:blue"' }elsif( substr($READING,5,7) eq "_source" && $VALUE eq "Kathleen" ){ 'style="color:red"' }elsif( substr($READING,5,7) eq "_source" && $VALUE eq "Familie" ){ 'style="color:green"' }else{ 'style="color:black"' } }
attr rg_Termine visibility hidden

define at_KalenderTermine at +*02:00:00 {\
  my $i;;\
  my $modtext = "<Datum>,<Uhrzeit>,<Text>,<Kalender> ";;\
  for($i= 1;;$i<=20;;$i++){\
  $modtext .= "vocalview2:t_".sprintf('%03d',$i)."_bdate,t_".sprintf('%03d',$i)."_btime,t_".sprintf('%03d',$i)."_summary,t_".sprintf('%03d',$i)."_source "               ;;}\
  fhem("modify rg_Termine $modtext");;\
}
attr at_KalenderTermine room Kalender


Danke für einen Kleinen Tritt in die richtige Richtung !

klaus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 20 März 2015, 08:48:41
ich hab dir im anderen thread geantwortet :)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 22 März 2015, 11:01:27
Zitat von: justme1968 am 19 März 2015, 22:34:26
http://forum.fhem.de/index.php/topic,16552.msg256989.html#msg256989 (http://forum.fhem.de/index.php/topic,16552.msg256989.html#msg256989)
http://forum.fhem.de/index.php/topic,28494.msg213486.html#msg213486 (http://forum.fhem.de/index.php/topic,28494.msg213486.html#msg213486)
http://www.fhemwiki.de/wiki/ReadingsGroup#Readings_aus_zus.C3.A4tzlichen_Devices (http://www.fhemwiki.de/wiki/ReadingsGroup#Readings_aus_zus.C3.A4tzlichen_Devices)
...

Hi Andre,
danke für deine geduld, hab das glaub ich jetzt verstanden, hab aber dann das Problem das die Devices die jetzt rechts neben den anderen stehen keine Namen mehr haben, links die schon, was hab ich da noch falsch gemacht? Wenn sie untereinander stehen sind die Namen da
Internals:
   DEF        <Gerät>,<Soll>,<Ist>,<Gerät>,<Soll>,<Ist>
Gaeste_WC_Clima:desired-temp,measured-temp@HeizungFenster_Clima,desired-temp,measured-temp<Heizung Fenster>
Heizung_Flur_Clima:desired-temp,measured-temp@Heizung_Tuer_ClimRT_tr,desired-temp,measured-temp
Kueche_Clima:desired-temp,measured-temp
   NAME       rd_Heizungs_Slider
   NR         214
   NTFY_ORDER 50-rd_Heizungs_Slider
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Gaeste_WC_Clima 1
     Heizung_Flur_Clima 1
     Kueche_Clima 1
   Content2:
     HeizungFenster_Clima 1
     Heizung_Tuer_ClimRT_tr 1
   DEVICES:
     ARRAY(0x4f54048)
     ARRAY(0x4df74c0)
     ARRAY(0x4ced8e0)
     ARRAY(0x4cd7728)
   DEVICES2:
     ARRAY(0x4f54048)
     ARRAY(0x4df74c0)
     ARRAY(0x4ced8e0)
     ARRAY(0x4cd7728)
     ARRAY(0x483a348)
     ARRAY(0x4cacd78)
   Fhem:
     lastDefChange 55
     last_update 1427018187.58372
   Helper:
     DEF
     nameStyle  style="color:yellow;font-weight:bold"
     Cellstyle:
       r:1,c:2    style="text-align:center;color:yellow;font-weight:bold"
       r:1,c:4    style="text-align:center;color:yellow;font-weight:bold"
     Commands:
       desired-temp desired-temp:knob,min:5,max:30,step:0.5,fgColor:#FF9900,anglearc:180,angleoffset:270,bgcolor:#9999CC,width:250,linecap:round,font:lcars,displayPrevious:true
     Mapping:
       Gaeste_WC_Clima Gäste WC
       HeizungFenster_Clima Heizung Wohnzimmer Fenster
       Heizung_Flur_Clima Heizung Flur
       Heizung_Tuer_ClimRT_tr Heizung Wohnzimmer Tür
       Kueche_Clima Küche
Attributes:
   cellStyle  { "r:1,c:2" => 'style="text-align:center;color:yellow;font-weight:bold"',"r:1,c:4" => 'style="text-align:center;color:yellow;font-weight:bold"' }
   commands   { 'desired-temp' => 'desired-temp:knob,min:5,max:30,step:0.5,fgColor:#FF9900,anglearc:180,angleoffset:270,bgcolor:#9999CC,width:250,linecap:round,font:lcars,displayPrevious:true'}
   fp_Heizung 218,200,0,
   group      Heizung
   mapping    {'Gaeste_WC_Clima' => 'Gäste WC', 'Heizung_Flur_Clima' => 'Heizung Flur', 'Heizung_Tuer_ClimRT_tr' => 'Heizung Wohnzimmer Tür', 'Kueche_Clima' => 'Küche', 'HeizungFenster_Clima' => 'Heizung Wohnzimmer Fenster'}
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   room       Flur Erdgeschoss,Gäste_WC,Küche,Wohnzimmer
   style      style="font-size:20px;color:lightgray;text-align:left"
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 März 2015, 11:58:02
jede zeile hat nur einen zeilen titel. wenn du zusätzliche namen anzeigen willst geht das z.b. mit ...,+NAME@<device>,... oder ...,?alias@<device>,...

um den namen aus den internals oder den alias aus den attributen anzuzeigen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 22 März 2015, 17:22:34
Super, danke, eine letzte frage hab ich noch, wie kann ich die Device Namen anstatt links vom Knob element über das Element bekommen?

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 März 2015, 17:38:14
mit ...,<br>,... kannst du einen zeilenumbruch einfügen und mit ...,<>,... eine leere zelle.

damit kannst du dir ein layout zusammen bauen das so ausschaut wie du es möchtest.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 23 März 2015, 00:57:41
Hallo Andre,

kann man eigentlich anstelle einer leeren Zelle (<>) auch einen  festen Text (z.B. "Status der Tür") einfügen ?

gruss
klaus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 23 März 2015, 07:14:10
ja. das geht aber besser über den ! modifier und ein nicht vorhandenes reading.

bei <text> dürfen keine leerzeichen vorhanden sein. dir kannst du durch &nbsp; ersetzen. aber für diese texte greifen die value artribute nicht.

bei ...,!text,... greifen alle value attribute und du kannst denn text inklusive leerzeichen per eigenem reading oder per valueFormat setzen.

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 26 März 2015, 17:27:23
Zitat von: justme1968 am 23 März 2015, 07:14:10
ja. das geht aber besser über den ! modifier und ein nicht vorhandenes reading.

bei <text> dürfen keine leerzeichen vorhanden sein. dir kannst du durch &nbsp; ersetzen. aber für diese texte greifen die value artribute nicht.

bei ...,!text,... greifen alle value attribute und du kannst denn text inklusive leerzeichen per eigenem reading oder per valueFormat setzen.

gruß
  andre

habe ich hier irgend etwas falsch verstanden ? , aber  <text>  geht nicht !

define TV_Programm readingsGroup <Sendeplatz><Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung> \
<1>,TV_Programme_next:ard_time@TV_Programme,ard@TV_Programme,ard_next_time,ard_next \
<2>,TV_Programme_next:zdf_time@TV_Programme,zdf@TV_Programme,zdf_next_time,zdf_next \
<3>,TV_Programme_next:rtl1_time@TV_Programme,rtl1@TV_Programme,rtl1_next_time,rtl1_next \
<4>,TV_Programme_next:sat1_time@TV_Programme,sat1@TV_Programme,sat1_next_time,sat1_next\


Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 26 März 2015, 17:30:38
Hallo Andre,

noch eine Frage. Gibt es schon eine Möglichkeit bei eine aufklappbaren ReadingsGroup  eine Symbol zu verwenden.

> rg_termine
hier also anstelle des ">" ein ICON ? (hatte ich schon einmal gefragt , damals ging es (noch) nicht  ;)

danek
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 26 März 2015, 17:31:18
Zitathabe ich hier irgend etwas falsch verstanden ? , aber  <text>  geht nicht !
das habe ich nicht verstanden...

das icon geht noch nicht.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 26 März 2015, 21:28:01
Zitat von: justme1968 am 26 März 2015, 17:31:18
das habe ich nicht verstanden...

das icon geht noch nicht.

gruss
  andre

Hallo Andre,
sorry, vielleicht unklar ausgedrückt.
Derzeit schaut das so aus wie im Bildanhang. Jetzt möchte ich gern einfach quassi eine Spalte mit reinem Text davor.
Also vor die Programm-ICONS jeweils eine Nummer (erste Zeile 01 , zweite Zeile 02 , dritte Zeile 03 usw.)

gruss  & Danke
kvo1
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 28 März 2015, 17:19:28
Hi, hab im Log diese Meldung:
2015.03.28 17:16:27.510 3: rd_Gaeste_WC: Can't find string terminator '"' anywhere before EOF at (eval 39) line 1, <$fh> line 1453.

Die rd sieht so aus
Internals:
   DEF        <>,<Soll>,<Ist>
Gaeste_WC_Clima:desired-temp,measured-temp
   NAME       rd_Gaeste_WC
   NR         240
   NTFY_ORDER 50-rd_Gaeste_WC
   STATE      Initialized
   TYPE       readingsGroup
   Content:
     Gaeste_WC_Clima 1
   Content2:
   DEVICES:
     ARRAY(0x244ab50)
     ARRAY(0x244ab98)
   Fhem:
     lastDefChange 1
     last_update 1427559389.23868
   Helper:
     DEF
     mapping    {'Gaeste_WC_Clima' => "Gäste WC'' }
     nameStyle  style="color:yellow;font-weight:bold"
     Cellstyle:
       r:1,c:2    style="text-align:center;color:yellow;font-weight:bold"
     Commands:
       desired-temp desired-temp:knob,min:5,max:30,step:0.5,fgColor:#FF9900,anglearc:180,angleoffset:270,bgcolor:#9999CC,width:250,linecap:round,font:lcars,displayPrevious:true
Attributes:
   cellStyle  { "r:1,c:2" => 'style="text-align:center;color:yellow;font-weight:bold"' }
   commands   { 'desired-temp' => 'desired-temp:knob,min:5,max:30,step:0.5,fgColor:#FF9900,anglearc:180,angleoffset:270,bgcolor:#9999CC,width:250,linecap:round,font:lcars,displayPrevious:true'}
   fp_Gaeste_WC1 220,221,0,
   mapping    {'Gaeste_WC_Clima' => "Gäste WC'' }
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   style      style="font-size:20px;color:lightgray;text-align:left"


Was hab ich da falsch gemacht?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 29 März 2015, 18:39:37
Schau dir mal das Mapping an... am Ende
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 30 März 2015, 20:26:28
Du hast recht, das sieht im list falsch aus, das seltsame ist, das es in der rd Übersicht anders aussieht, siehe Screen

Das list liefert wieder das
Internals:
   DEF        <>,<Soll>,<Ist>
Gaeste_WC_Clima:desired-temp,measured-temp
   NAME       rd_Gaeste_WC
   NR         240
   NTFY_ORDER 50-rd_Gaeste_WC
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Gaeste_WC_Clima 1
   Content2:
   DEVICES:
     ARRAY(0x3c565d0)
     ARRAY(0x3345ca0)
   Fhem:
     lastDefChange 5
     last_update 1427739555.42536
   Helper:
     DEF
     mapping    {'Gaeste_WC_Clima' => "Gäste WC'' }
     nameStyle  style="color:yellow;font-weight:bold"
     Cellstyle:
       r:1,c:2    style="text-align:center;color:yellow;font-weight:bold"
     Commands:
       desired-temp desired-temp:knob,min:5,max:30,step:0.5,fgColor:#FF9900,anglearc:180,angleoffset:270,bgcolor:#9999CC,width:250,linecap:round,font:lcars,displayPrevious:true
Attributes:
   cellStyle  { "r:1,c:2" => 'style="text-align:center;color:yellow;font-weight:bold"' }
   commands   { 'desired-temp' => 'desired-temp:knob,min:5,max:30,step:0.5,fgColor:#FF9900,anglearc:180,angleoffset:270,bgcolor:#9999CC,width:250,linecap:round,font:lcars,displayPrevious:true'}
   fp_Gaeste_WC1 220,221,0,
   mapping    {'Gaeste_WC_Clima' => "Gäste WC'' }
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   style      style="font-size:20px;color:lightgray;text-align:left"


EDIT

Bekomme im Log auch noch diese Meldung:
2015.03.30 22:12:38.744 2: Can't find string terminator '"' anywhere before EOF at (eval 277) line 1.

2015.03.30 22:12:38.745 2: Can't find string terminator '"' anywhere before EOF at (eval 278) line 1.

2015.03.30 22:12:38.748 2: Can't find string terminator '"' anywhere before EOF at (eval 279) line 1.

2015.03.30 22:12:38.748 2: Can't find string terminator '"' anywhere before EOF at (eval 280) line 1.

2015.03.30 22:12:38.814 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 734.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 30 März 2015, 23:10:33
Dann zeig doch mal die gesamte Definition der RG.... am besten als Textfile !
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 31 März 2015, 20:06:00
Das list oben ist komplett, oder was meinst du?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 01 April 2015, 01:34:36
Wie geschrieben, die rg mal als Anhang .
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 01 April 2015, 21:39:21
Bitte schön  ;)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 01 April 2015, 23:27:33
Dann ändere doch wirklich mal.....
       mapping    {'Gaeste_WC_Clima' => "Gäste WC'' }

In

     mapping    {'Gaeste_WC_Clima' => "Gäste WC" }

Kopiere es hier raus !
   
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 02 April 2015, 21:36:11
Ah, jetzt sehe ich was du meinst :(
Danke für den Hinweis
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 05 April 2015, 10:57:58
Hi, hab noch ein Problem mit einer readingsGroup,
beim TV Programm werden  einige Senungsnamen falsch dargestellt und die Überschriften sollten komplett Gelb sein, aber nur "Programme" wird gelb dargestellt, sowie das das Logo von 13th Street nich nicht funktioniert.

Wenn ich wie hier 13th STreet im nameIcon Attribut mit angebe, dann wird garkein Icon mehr angezeigt, wenn ich es entferne, werden alle ausser 13thStreet angezeigt, was könnte da falsch sein? Das Icon liegt im richtigen Verzeichniss und heisst 13thstreet.png

Internals:
   DEF        <Programm>,<Jetzt>,<Dann>,<Uhrzeit>,<PrimeTime>
TV_Programme_next:13THSTREET@TV_Programme,13THSTREET_next,13THSTREET_next_time,13THSTREET_abend@TV_Programme_abend
TV_Programme_next:Sat1@TV_Programme,Sat1_next,Sat1_next_time,Sat1_abend@TV_Programme_abend
TV_Programme_next:Pro7@TV_Programme,Pro7_next,Pro7_next_time,Pro7_abend@TV_Programme_abend
TV_Programme_next:RTL@TV_Programme,RTL_next,RTL_next_time,RTL_abend@TV_Programme_abend
TV_Programme_next:ARD@TV_Programme,ARD_next,ARD_next_time,ARD_abend@TV_Programme_abend
TV_Programme_next:ZDF@TV_Programme,ZDF_next,ZDF_next_time,ZDF_abend@TV_Programme_abend
TV_Programme_next:Sport1@TV_Programme,Sport1_next,Sport1_next_time,Sport1_abend@TV_Programme_abend
TV_Programme_next:rtl2@TV_Programme,rtl2_next,rtl2_next_time,RTL2_abend@TV_Programme_abend
TV_Programme_next:KABEL_1@TV_Programme,KABEL_1_next,KABEL_1_next_time,Kabel1_abend@TV_Programme_abend
TV_Programme_next:VOX@TV_Programme,VOX_next,VOX_next_time,VOX_abend@TV_Programme_abend
   NAME       TV_Programm
   NR         195
   NTFY_ORDER 50-TV_Programm
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     TV_Programme_next 1
   Content2:
     TV_Programme 1
     TV_Programme_abend 1
   DEVICES:
     ARRAY(0x2ee2348)
     ARRAY(0x17801c0)
     ARRAY(0x35c3af8)
     ARRAY(0x345d8c0)
     ARRAY(0x2f15808)
     ARRAY(0x36d9228)
     ARRAY(0x2f04258)
     ARRAY(0x312a510)
     ARRAY(0x2f011d8)
     ARRAY(0x1b6dfe8)
     ARRAY(0x2ee1c40)
   DEVICES2:
     ARRAY(0x2ee2348)
     ARRAY(0x17801c0)
     ARRAY(0x35c3af8)
     ARRAY(0x345d8c0)
     ARRAY(0x2f15808)
     ARRAY(0x36d9228)
     ARRAY(0x2f04258)
     ARRAY(0x312a510)
     ARRAY(0x2f011d8)
     ARRAY(0x1b6dfe8)
     ARRAY(0x2ee1c40)
     ARRAY(0x17c36c8)
     ARRAY(0x179aae0)
     ARRAY(0x345e528)
     ARRAY(0x2f01b50)
     ARRAY(0x35b9bf8)
     ARRAY(0x1b6e7c8)
     ARRAY(0x345e798)
     ARRAY(0x282f050)
     ARRAY(0x2f39210)
     ARRAY(0x345e570)
     ARRAY(0x2efae10)
     ARRAY(0x3549970)
     ARRAY(0x36edc38)
     ARRAY(0x35ba6a8)
     ARRAY(0x28411c0)
     ARRAY(0x2bce310)
     ARRAY(0x2ed4c78)
     ARRAY(0x345dad8)
     ARRAY(0x2eec7b0)
     ARRAY(0x2f08898)
   Fhem:
     lastDefChange 25
     last_update 1428224068.21534
   Helper:
     DEF
     commands   {"set Senderwechsel %READING"}
     nameIcon   { 13THSTREET => '13thstreet', Pro7 => 'pro7', Sat1 => 'sat1', RTL => 'rtl', Sport1 => 'sport1', ZDF => 'zdf', ARD => 'ard',rtl2 => 'rtl2',KABEL_1 => 'kabel1',VOX => 'vox' }
     nameStyle  style="color:yellow;font-weight:bold"
Attributes:
   commands   {"set Senderwechsel %READING"}
   fp_Reciever 272,831,0,
   group      TV_Programm
   nameIcon   { 13THSTREET => '13thstreet', Pro7 => 'pro7', Sat1 => 'sat1', RTL => 'rtl', Sport1 => 'sport1', ZDF => 'zdf', ARD => 'ard',rtl2 => 'rtl2',KABEL_1 => 'kabel1',VOX => 'vox' }
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   style      style="width:1000px;color:white;font-size:18px"


Danke


EDIT

Hab dann im Log auch diese Meldung
2015.04.05 10:54:28.143 3: TV_Programm: syntax error at (eval 23760) line 1, near "13THSTREET"

2015.04.05 10:54:28.219 2: syntax error at (eval 23765) line 1, near "13THSTREET"

2015.04.05 10:54:28.220 2: syntax error at (eval 23766) line 1, near "13THSTREET"
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 April 2015, 14:09:29
alles links vom => muss in jeweils in anführungszeichen. dabei gibt es nur die ausnahme wenn perl es eindeutig als string erkennt. das ist bei einem wort das mit einer zahl anfängt nicht der fall. also in nameIcon das reading links vom => in anführungszeichen setzen. 

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Vrob01 am 06 April 2015, 02:12:49
Ich stehe gerade ein bisschen auf dem Schlauch. Und zwar versuche ich gerade, in einer RG für einen dummy switch lediglich die webCmds "on" und "off" darzustellen. Das konkrete reading, bzw. der STATE interessiert mich nicht, weil ich das eigentlich nur brauche, um ein notfiy device zu triggern.
Um das mal konkret zu beschreiben: Ich steuere unsere Heizungen per MAX! und möchte jetzt die Funktionalität des Eco-Tasters emulieren. Also quasi zwei "Tasten", die alle Geräte entweder in den "Auto" oder "Eco" Modus schalten. Dank des Wikis und Forums habe ich bereits den physischen Eco-Taster zum Laufen bekommen, dh. die Logik funktioniert bereits, nur an der Darstellung hapert es.

Ich habe mir jetzt einen dummy angelegt, auf dessen State-Änderungen ("Eco" und "Auto") ich per notify reagiere. Hier mal dessen config:
Internals:
   NAME       Fake_Eco
   NR         140
   STATE      Eco
   TYPE       dummy
   Readings:
     2015-04-06 01:53:31   state           Eco
Attributes:
   devStateIcon Eco:time_eco_mode Auto:time_eco_mode
   room       Wohnung
   setList    state:Eco,Auto
   webCmd     Eco:Auto


Jetzt interessiert mich dessen State aber überhaupt nicht, weil es mir eigentlich nur darum geht, dem Benutzer eine Möglichkeit zu geben, per Klick Events zu generieren, die dann die entsprechenden notify-devices triggern.

Was ich bis jetzt - mal so grob in ASCII-Art dargestellt - hinbekomme ist:

| <Symbol> | Soll Manu       |  Soll Auto       |
|  Wohnung  | <Dropdown> | <Dropdown> |

Was ich gerne hätte wäre:

| <Symbol> | Soll Manu       | Soll Auto        | Eco Switch |
| Wohnung   | <Dropdown> | <Dropdown> | on   off       |

Der Grund, weshalb mich der State meines "Fake_Eco"-Switches nicht interessiert, ist, weil der ja in der Zwischenzeit entweder durch den physischen Eco-Switch oder durch interaktion mit einem Thermostat bzw. Wandthermostat verändert worden sein könnte...

Naja, ich hoffe hier nicht ganz offtopic zu sein (immerhin kriege ich es ja auch mit FHEMWEB nicht hin, so einen Pushbutton darzustellen) :/
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Motivierte linke Hände am 06 April 2015, 09:49:17
Und wenn Du den webcmd des Dummy in on:off änderst, mit setList diese beiden Optionen zulässt als state und das dann in die RG einbindest?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 06 April 2015, 10:30:26
Zitat von: justme1968 am 05 April 2015, 14:09:29
alles links vom => muss in jeweils in anführungszeichen. dabei gibt es nur die ausnahme wenn perl es eindeutig als string erkennt. das ist bei einem wort das mit einer zahl anfängt nicht der fall. also in nameIcon das reading links vom => in anführungszeichen setzen. 

gruss
  andre

Super das wars, vielen Dank, aber woran kann das noch liegen?
Zitatbeim TV Programm werden  einige Senungsnamen falsch dargestellt und die Überschriften sollten komplett Gelb sein, aber nur "Programme" wird gelb dargestellt, sowie das das Logo von 13th Street nich nicht funktioniert.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Vrob01 am 06 April 2015, 23:48:52
Zitat von: Motivierte linke Hände am 06 April 2015, 09:49:17
Und wenn Du den webcmd des Dummy in on:off änderst, mit setList diese beiden Optionen zulässt als state und das dann in die RG einbindest?
Dann wird mir halt "on" bzw. "off" je nach gelesenem Status angezeigt. Durch einen Klick kann ich dann halt zwischen den beiden Stati hin- und herschalten. ICh glaube, es ist ein bisschen egal, ob 'state' jetzt zwischen "eco" und "auto" oder "on" und "off" geschaltet werden kann. Eigentlich will ich ja nur einen klickbaren Trigger darstellen ;)

Lg,
Markus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 07 April 2015, 15:44:32
@Andre

Hallo Andre, ich habe mir für einen Floorplan eine readingsGroup erstellt welche nur 3 Elemente enthält. Auf einem 14 Zoll Lenovo Tablet laufen 2 Floorplanseiten welche über JavaScript alle 30 sec. wechseln und auf der 2. Seite nur die aktuelle Zeit, die Temperatur/Luftfeuchte und die Regenmenge/Tag anzeigt. Über eine eigene css habe ich style und color angepasst:
#Zeit_dummy {font-size:152px; color: #3A5FCD; font-weight: bold; }
#Lenovo_Garten_dummy {font-size:56px; color: #FF7F24; font-weight: bold; }
#Lenovo_Regen_dummy {font-size:56px; color: #FF7F24; font-weight: bold; }



Leider funktioniert so ein text-align: center nicht um die 3 Zeilen zentriert darzustellen. Aus dem Grund die readingsGroup:
define Lenovo_Tab_Site2 readingsGroup Zeit_dummy:.* Lenovo_Garten_dummy:.* Lenovo_Regen_dummy.*
attr Lenovo_Tab_Site2 DbLogExclude .*
attr Lenovo_Tab_Site2 noheading 1
attr Lenovo_Tab_Site2 nonames 1
attr Lenovo_Tab_Site2 notime 1
attr Lenovo_Tab_Site2 room Test
attr Lenovo_Tab_Site2 valueStyle style="text-align:center"


style Attribute (font-size und color) wirken sich auf die gesamte readingsGroup aus, nicht auf einzelne Lines.
Wie ist es nun möglich die Ausgabe wie im Screenshot hinzubekommen (der Screenshot ist noch mit der css und man sieht, dass die Textzeilen nicht zentriert untereinander stehen) Jeh nach Inhalt "wandert" die Darstellung ja aus der Mitte.

Im screenshot2 ist die jetzige readingsGroup zu sehen, dabei sollte:
Zeile 1 in font-size 152px color #3A5FCD und font-weight bold
Zeile 2 in font-size 56px color #FF7F24 und font-weight bold
Zeile 3 in font-size 56px color #FF7F24 und font-weight bold
dargestellt werden.

Wie kann ich das erreichen?

VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Motivierte linke Hände am 07 April 2015, 16:38:57
Zitat von: Vrob01 am 06 April 2015, 23:48:52
Dann wird mir halt "on" bzw. "off" je nach gelesenem Status angezeigt. Durch einen Klick kann ich dann halt zwischen den beiden Stati hin- und herschalten. ICh glaube, es ist ein bisschen egal, ob 'state' jetzt zwischen "eco" und "auto" oder "on" und "off" geschaltet werden kann. Eigentlich will ich ja nur einen klickbaren Trigger darstellen ;)

Dann habe ich offenbar Probleme zu verstehen, was genau Du möchtest. Ein klickbares Icon ginge ja über devStateIcon...?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 07 April 2015, 17:20:35
leider werden style Attribute des dummy devices nicht auf die readingsGroup vererbt. Siehe Screenshot:

P.S. OK, hatte das column Style Attribut übersehen, damit scheint es dann wohl zu funktionieren


VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 April 2015, 18:01:37
du kannst entweder mit css arbeiten und dann die readingsGroup per css stylen oder du kannst die diversen style attribute der readingsGroup verwenden. unter umständen kann man beides mischen wenn man genau weiss was und wie.

das stylen der quell devices per css hat keinen einfluss auf die readingsGroup.

für das was du möchtest ist es am einfachsten cellStyle zu verwenden und mit r:0 r:1 und r:2 die kompletten drei zeilen zu stylen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 07 April 2015, 18:34:39
Danke Andre, da war ich gerade drann. Leider sehe ich nicht wie die einzelnen Columns getrennt werden müssen:

attr Lenovo_Tab_Site2 cellStyle { "r:1" => 'style="color:#3A5FCD";"font-size:152px"';"r:2" => 'style="color:#FF7F24";"font-size:56px"';"r:3" => 'style="color:#FF7F24";"font-size:56px"' }

soweit war ich bis eben aber leider läuft es so nicht.
P.S. Coding ist aus der DEF der readingsGroup
VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 April 2015, 18:42:59
etwa so:attr Lenovo_Tab_Site2 cellStyle { "r:1" => 'style="color:#3A5FCD;font-size:152px"',"r:2" => 'style="color:#FF7F24;font-size:56px"',"r:3" => 'style="color:#FF7F24;font-size:56px"' }

die teile die überall gleich sind kannst du in das globale style attribut der readingsGroup rausziehen.
attr Lenovo_Tab_Site2 style="text-align:center;background: #111111;"

wobei center im floorplan normalerweise sowieso standart ist.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 07 April 2015, 19:06:39
Aus irgendeinem Grund funktioniert das nicht. Ich hatte das vorhin schon so wie du es angeben hast. Anbei ein Screenshot, im oberen Bereich die readingsGroup.

Und aus der fhem.cfg:
define Lenovo_Tab_Site2 readingsGroup Zeit_dummy:.* Lenovo_Garten_dummy:.* Lenovo_Regen_dummy.*
attr Lenovo_Tab_Site2 DbLogExclude .*
attr Lenovo_Tab_Site2 cellStyle { "r:1" => 'style="color:#3A5FCD;;font-size:152px"';;"r:2" => 'style="color:#FF7F24;;font-size:56px"';;"r:3" => 'style="color:#FF7F24;;font-size:56px"' }
attr Lenovo_Tab_Site2 nonames 1
attr Lenovo_Tab_Site2 notime 1
attr Lenovo_Tab_Site2 room Test
attr Lenovo_Tab_Site2 valueStyle style="text-align:center"

VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 April 2015, 19:16:29
sorry. oben war noch ein tippfehler und ein copy&paste fehler drin. hab es oben geändert bei mir geht es damit.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 07 April 2015, 19:19:28
Das Anführunszeichen bei column 2, dass hatte ich schon geändert. Kopiere den Code gleich nochmal.

Danke dir Andre, jetzt läuft es. Schönen Abend noch.

VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cotecmania am 11 April 2015, 17:58:02
Hallo,

bei mir funktionieren cellStyle bzw. nameStyle nicht mehr.


Internals:
   DEF
  MeinWetter:<Heute>,fc2_day_of_week,fc3_day_of_week,fc4_day_of_week,fc5_day_of_week
  MeinWetter:fc1_icon,fc2_icon,fc3_icon,fc4_icon,fc5_icon
  MeinWetter:fc1_high_c,fc2_high_c,fc3_high_c,fc4_high_c,fc5_high_c
  MeinWetter:fc1_low_c,fc2_low_c,fc3_low_c,fc4_low_c,fc5_low_c
  Wetter_PP:fc0_chOfRainDay,fc1_chOfRainDay,fc2_chOfRainDay,fc3_chOfRainDay,fc4_chOfRainDay
   NAME       RG_MeinWetter
   NR         603
   NTFY_ORDER 50-RG_MeinWetter
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     MeinWetter 1
     Wetter_PP  1
   Content2:
   DEVICES:
     ARRAY(0x15e0d90)
     ARRAY(0x1313a30)
     ARRAY(0x1ad2be8)
     ARRAY(0x22b7c58)
     ARRAY(0x22d4c90)
   Fhem:
     lastDefChange 53
     last_update 1428767148.32525
   Helper:
     DEF
     nameStyle  style="text-align:center"
     valueIcon  {'%VALUE'}
     valueStyle style="text-align:right"
     Valueformat:
       fc0_chOfRainDay %.0f%
       fc1_chOfRainDay %.0f%
       fc1_high_c %.0f°C
       fc1_low_c  %.0f°C
       fc2_chOfRainDay %.0f%
       fc2_high_c %.0f°C
       fc2_low_c  %.0f°C
       fc3_chOfRainDay %.0f%
       fc3_high_c %.0f°C
       fc3_low_c  %.0f°C
       fc4_chOfRainDay %.0f%
       fc4_high_c %.0f°C
       fc4_low_c  %.0f°C
       fc5_high_c %.0f°C
       fc5_low_c  %.0f°C
Attributes:
   fp_Tablet  600,-13,0,,
   fp_Test    600,-13,0,,
   nameStyle  style="text-align:center"
   noheading  1                                 #damit die Überschrift ausgeblendet wird
   nolinks    1                                 #Die Namen nicht als Links
   nonames    1
   room       Wetter
   valueFormat {"fc1_low_c" => "%.0f°C", "fc1_high_c" => "%.0f°C", "fc2_low_c" => "%.0f°C", "fc2_high_c" => "%.0f°C", "fc3_low_c" => "%.0f°C", "fc3_high_c" => "%.0f°C", "fc4_low_c" => "%.0f°C", "fc4_high_c" => "%.0f°C", "fc5_low_c" => "%.0f°C", "fc5_high_c" => "%.0f°C", "fc0_chOfRainDay" => "%.0f%", "fc1_chOfRainDay" => "%.0f%", "fc2_chOfRainDay" => "%.0f%", "fc3_chOfRainDay" => "%.0f%", "fc4_chOfRainDay" => "%.0f%", }
   valueIcon  {'%VALUE'}
   valueStyle style="text-align:right"



Die Überschrift ist nicht zentriert und die Werte nicht rechtsbündig ...
Ideen ?

Gruss
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 17 April 2015, 19:07:05
Hi,
ich hab nach jedem neustart diese Meldung im Log
2015.04.17 19:03:01.796 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 734 in 734 steht
Zitat$v = sprintf( $value_format, $v );
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Dduieh am 17 April 2015, 19:58:06
Hallo,

ich habe eine readingsgroup in einem Raum eingefügt. Nun möchte ich, dass die readingsgroup ganz oben vor den anderen Groups angezeigt wird.
Ist das möglich?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Joker am 17 April 2015, 20:11:19
Ja klar, hat aber nix mit readingsGroup zu tun.
Du kannst alle Devices mit dem attribut "sortBy" für die Anzeige in FHEMWEB sortieren. Siehe commandref unter FHEMWEB.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Dduieh am 17 April 2015, 20:22:24
Danke für die schnelle Antwort, aber bei mir funktioniert das nicht ... oder ich stehe auf dem Schlauch?
Siehe Anhang
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Joker am 17 April 2015, 20:49:20
Hm, eigentlich nicht. Bin der Meinung das müsste so stimmen. Da kann ich Dir grad nicht weiter helfen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 17 April 2015, 21:40:41
Worauf bezieht sich das.   sortby=6. ?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Dduieh am 17 April 2015, 21:47:21
Direkt auf sz_Rollo
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Joker am 17 April 2015, 22:05:16
Äh, warte mal. Du musst das sortby natürlich der ReadingsGroup zuweisen, wenn Du die eine ReadingsGroup vor der andern haben willst  ;)
Hast Du das so?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 17 April 2015, 22:17:01
Zitat von: Joker am 17 April 2015, 22:05:16
Äh, warte mal. Du musst das sortby natürlich der ReadingsGroup zuweisen, wenn Du die eine ReadingsGroup vor der andern haben willst  ;)
Hast Du das so?
Genau das meint ich  ;)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Dduieh am 17 April 2015, 22:35:06
Das UNIRoll ist aber keine ReadingsGroup, sondern ein ganz normales Device.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 19 April 2015, 01:42:06
Zitat von: Dduieh am 17 April 2015, 22:35:06
Das UNIRoll ist aber keine ReadingsGroup, sondern ein ganz normales Device.

du kannst in den Räumen nichts sortieren, da gibt es hier im Forum schon diverse Wünsche...!

In einer Group geht das mit sortby...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 19 April 2015, 10:41:21
man kann sowohl in der raum übersicht als auch innerhalb einer gruppe (und auch innerhalb einer readingsGroup) mit sortby sortieren.

das problem hier ist das es zwei arten von fhem devices gibt. die 'normalen' und die 'at end'. zu letzteren gehört alles was kein device icon hat sondern direkt html zur darstellung verwendet. also vor allem svg, weblink und readingsGroup.

beim seitenaufbau werden zuerst alle 'normalen' devices untereinander korrekt sortier angezeigt und danach alle 'at end' devices. diese wiederum untereinander sortiert.

aber beide arten werden nicht vermischt.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 19 April 2015, 10:42:50
@Tommy82: du hast einen wert der nicht als zahl erkannt wird. du musst valueFormat entsprechend wählen das dieser fall getrennt berückichtigt wird.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 19 April 2015, 10:57:52
Hast du einen Tip für mich wie ich den relativ einfach finden kann? Da ich mittlerweile einige rd's im einsatz habe
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 22 April 2015, 09:27:06
Hallo, Andre. Habe folgendes Attribut in readingsGroup:

attr Lenovo_Tab_Site2 cellStyle { "r:1" => 'style="color:#3A5FCD;;font-size:152px"',"r:2" => 'style="color:#FF7F24;;font-size:56px"',"r:3" => 'style="color:#FF7F24;;font-size:56px"'

Soweit, sogut ABER nach einem Server Neustart bleibt davon in der config nur:

{ "r:1" => 'style="color:

und der Rest ist weg. Schon mehrfach getestet und natürlich mit save config gesichert.
Hat da jemand einen Tip?

P.S. es ist egal ob das cellStyle Attribut in der Webansicht oder direkt in der config angelegt wird, nach einem shutdown ist es nur noch "verstümmelt" vorhanden.
VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: krikan am 22 April 2015, 09:31:20
Hallo Frank,
evtl. alte fhem.pl?
Siehe http://forum.fhem.de/index.php/topic,9965.msg265204.html#msg265204.
Gruß, Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 22 April 2015, 09:34:02
Joh, kann z.Zt. Nicht updaten da WVC sonst nicht mehr läuft und ich warten will bis das Modul gefixt ist.

Danke,
VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 April 2015, 09:49:29
du kannst entweder farbnamen verwenden oder den inhalt des attributs in eine sub in 99_myUtils auslagern und diese nur aufrufen.

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 22 April 2015, 10:16:25
Das mit der sub hatte ich schon einmal in Angriff genommen aber bin dabei leider an der Syntax gescheitert was das setzen von einfachen und doppelten Anführungszeichen angeht.
Das geht nicht:

sub cell()

{

fhem "attr Lenovo_Tab_Site2 cellStyle { 'r:1' => 'style=color:#3A5FCD;font-size:152px','r:2' => 'style=color:#FF7F24;font-size:56px','r:3' => 'style=color:#FF7F24;font-size:56px' }";
}

VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 April 2015, 10:49:36
du musst keinen fhem aufruf machen. die sub gibt einfach eine referenz auf den hash zurück.

such mal etwas weiter oben im thread. da gibt es beispiele.

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 April 2015, 11:19:55
oder du gibst den string direkt zurück: sub cell()
{
  return "{ 'r:1' => 'style=color:#3A5FCD;font-size:152px','r:2' => 'style=color:#FF7F24;font-size:56px','r:3' => 'style=color:#FF7F24;font-size:56px' }";
}


hier ist noch eine variante beschrieben: http://forum.fhem.de/index.php/topic,30959.msg235755.html#msg235755 (http://forum.fhem.de/index.php/topic,30959.msg235755.html#msg235755).

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Pfriemler am 22 April 2015, 16:54:02
Kurze Zwischenfragen - SUFU etc. erfolglos:

1. Ich möchte eine readingsGroup platzieren, mit der ich auf kritische Batteriezustände in allen Geräten hingewiesen werde. Das geht mit der Def .*:battery ja prima. Auswahl der Anzeigen, Formatierung, Farbe - alles klar.
Wie kann ich erreichen, dass nur Geräte in der Übersicht erscheinen, die einen kritischen Batteriezustand haben - also als reading battery den Wert "low". Ich finde dazu nix.

2. In der <devspec> kann ich ja auch Internals als Kriterium angeben, etwa "TYPE=CUL_HM". Leider liefern die state-Sensoren in HM auch in den Sensorkanälen ein battery-reading, so dass ich von einem Gerät bei acht Kanälen neun Batteriemeldungen bekomme. Ich dachte hier also, auf ein INTERNAL zu filtern, dass nur die Geräte haben, konkret: IODev. Da könnte ich ja auch auf HM filtern (konkret auf das Device "HMLAN1", mehr habe ich bis jetzt nicht:
define battStatus readingsGroup IODev=HMLAN1:battery

Die Liste ist dann aber leer.
Mit IODev=HM.*:battery ebenso, aber - jetzt kommt's: mit IODev=H.*:battery werden alle Geräte (ohne Kanäle) angezeigt, wie ich möchte. Gleiches passiert mit IODev=.*:battery. Allerdings werden in beiden Fällen auch FHTs gelistet, die als IODev den CUL1 haben - aber wo bitte ist das H in CUL1?

Wo ist der Denkfehler?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 April 2015, 17:13:52
zu 1.: für alle geräte deren zustand nicht kritisch ist in valueFormat undef zurück geben. das gerät wird dann ausgelassen. wichtig: wenn sich während die readingsGroup angezeigt wird der zustand auf kritisch ändert kann das gerät nicht per longpoll wieder eingeblendet werden sondern nur durch reload. wenn das einblenden auch per longpoll gehen soll musst du per cellStyle die höhe der zeile auf 0 setzen.

zu 2.: das mit IODev geht nicht weil das intern kein name ist sondern eine referenz auf eine interne datenstruktur. das H.* geht mehr oder weniger nur zufällig und macht nicht das was du erwartest.

du kannst aber statt über das internal IODev über das attribut IODev gehen:define battStatus readingsGroup IODev&HMLAN1:battery

ansonsten schau mal hier: http://forum.fhem.de/index.php/topic,31792.msg286846.html#msg286846 (http://forum.fhem.de/index.php/topic,31792.msg286846.html#msg286846) da ist beschrieben wie man z.b. über den den TYPE CUL_HM und das subtype attribut (oder mehr als ein internal und attribut) gehen kann.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 April 2015, 17:22:56
ich habe eben eine version eingecheckt bei der man auch auf das internal IODev filtern kann.

ab morgen im update.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Pfriemler am 22 April 2015, 19:37:14
Zitat von: justme1968 am 22 April 2015, 17:13:52
zu 1.: für alle geräte deren zustand nicht kritisch ist in valueFormat undef zurück geben.

{ ($VALUE eq 'low')?"niedrig":undef }

Funktioniert. Und gleich eingedeutscht. Prima!
Da die Seite nur gelegentlich aufgerufen wird, ist die eventuelle Nichtaktualität hier gar kein Problem. Aber Danke für den Hinweis.

Zitatzu 2.: das mit IODev geht nicht weil das intern kein name ist sondern eine referenz auf eine interne datenstruktur.
Bäh. Es steht aber so in den Internals. Da dachte ich ehmd.

Zitatdas H.* geht mehr oder weniger nur zufällig und macht nicht das was du erwartest.
Ich habe ja nicht den blassesten Schimmer gehabt. Aber nun lassen wir es ruhen.

Zitatdu kannst aber statt über das internal IODev über das attribut IODev gehen:define battStatus readingsGroup IODev&HMLAN1:battery
Das hatte ich erst mal übersehen, dass das IODev auch dort steht. Mit
IODev&HMLAN.:battery IODev&CUL.:battery
erwische ich wohl alle Geräte die über mehrere HMLANs oder CULs laufen - vorausgesetzt ich habe nicht mehr als je neun davon ... Mit je einem gehts jedenfalls.

Den Hinweis auf :FILTER nehme ich mir dann auch mal zu Herzen. Spannende Sache das, wie kam ich bisher ohne aus?  ;D Vielen DANK!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Pfriemler am 22 April 2015, 20:01:17
Mist. Einen noch:
Wieso filtert IODev&HMLAN.:FILTER=serialNr!=KEQxxxxxxx:battery IODev&CUL.:battery
(xxxxxxx=Seriennummer) nicht nur das eine Gerät, sondern alle aus der Anzeige? Mit
TYPE=CUL_HM:FILTER=serialNr!=KEQxxxxxxx:battery IODev&CUL.:battery
funktioniert's hingegen (obwohl ich ja da wieder die Kanäle dabei habe die ich nicht wollte). Hat das was mit den unterschiedlchen Suchbereichen (Internals, Attributs) zu tun?
Hintergrund: Der betreffende Aktor wird mit knapp 5V netzversorgt und meldet trotzdem ein Batterieproblem, weil sich die Schwelle nicht unter 5V setzen lässt...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 April 2015, 20:17:17
das liegt daran das die & variante readingsGroup spezifisch ist.

FILTER verwendet das generelle devspec format das in der commandref beschreiben ist hier gibt es die & variante nicht

beide lassen sich leider nicht kombinieren.

ich habe vorhin einen patch gepostet damit das IODev in den internals auch per devspec und list funktioniert. wenn rudi das übernimmt kannst du IODev=... auch mit FILTER verwenden.

bis dahin kannst du bei TYPE=... bleiben und in valueFormat prüfen ob AttrVal($DEVICE,"IODev",undef) vorhanden ist und wenn nicht undef zurück geben. dann wird das device auch übersprungen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 23 April 2015, 08:28:17
rudi hat es eingecheckt. sollte als ab morgen gehen.

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Pfriemler am 23 April 2015, 13:35:34
Zitat von: justme1968 am 23 April 2015, 08:28:17
...sollte als ab morgen gehen.

Genau. Heute geht's nämlich noch nicht  ;)
Wie ich in valueFormat die Ausfilterung von "ok" und "Nicht-Geräten" und der einen Ausnahme gleichzeitig löse, dazu fehlte mir gestern der Hirnschmalz, aber es bleibt natürlich Plan B. Eigentlich ist es ganz klar für die Übersichtsseite (nur lowBatt: "ok" oder Attribut "IODev" nicht vorhanden oder serialNr=X > undef, sonst "niedrig"), aber in der Gesamtübersicht bräuchte ich eine Verkettung mit drei Ausgaben (Nicht-Gerät und Ausnahmegerät > undef, der Rest in "ok" oder "niedrig je nach Value). Zur Not müsste ich da halt "low" akzeptieren, geht auch.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 23 April 2015, 17:57:17
Zitataber es bleibt natürlich Plan B. Eigentlich ist es ganz klar für die Übersichtsseite (nur lowBatt: "ok" oder Attribut "IODev" nicht vorhanden oder serialNr=X > undef, sonst "niedrig"), aber in der Gesamtübersicht bräuchte ich eine Verkettung mit drei Ausgaben (Nicht-Gerät und Ausnahmegerät > undef, der Rest in "ok" oder "niedrig je nach Value). Zur Not müsste ich da halt "low" akzeptieren, geht auch.
hmmmm...  *kopfkratz*  ...hmmmm.   ???
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 26 April 2015, 01:11:46
Hallo zusammen,
ich möchte gern in Abhängigkeit des Zustandes eines readings einen Teil der restlichen readings (bzw all)
ausblenden.

die rg sieht so aus
define rg_text readingsGroup squeeze_pi3:currentTitle,currentArtist
attr rg_text group Titel_und_Interpret
attr rg_text noheading 1
attr rg_text nonames 0
attr rg_text notime 1
attr rg_text room SB_PLAYER
attr rg_text style style="color:blue;;text-align:center;;font-size:15px"


Hier wird also der Name des Device selbst sowie der Titel und der Artist angezeigt!
wenn der Player (squeeze_pi3) ausgeschaltete wird, sollen die beiden readings Titel und Artist ausgeblendet werden. Mein Ansatz

attr rg_text valueFormat {if($READING eq "state" && $VALUE eq "off" ) currentTitle => "", currentArtist => "" }
oder
attr rg_text valueFormat {if( ReadingsVal(squeeze_pi3, "state", "off") eq "off" ) currentTitle => "", currentArtist => ""  }

scheint irgendwie ein Problem zu haben ???? habe schon gesucht und Wiki (mehrfach) gelesen.

hat jemand eine Idee.....
Danke vorab
kvo1
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 26 April 2015, 20:08:30
die kannst du variante mit perl code und die hash variante nicht auf diese art mischen. das geht nur anders rum. also etwa so:attr rg_text valueFormat { currentTitle => '{return "" if( ReadingsVal($DEVICE, "state", "off") eq "off" ); return $VALUE;}', currentArtist =>  '{return "" if( ReadingsVal($DEVICE, "state", "off") eq "off" ); return $VALUE;}' }

wenn es sowieso nur die beiden readings sind geht auch ein einfaches:attr rg_text valueFormat {return "" if( ReadingsVal($DEVICE, "state", "off") eq "off" ); return $VALUE;}

wenn dein player aber ausgeschaltet wird während die readingsGroup angezeigt wird würde sie in beiden fällen nicht aktualisiert weil die readingsGroup nicht weiss das die anzeige der beiden readings von state abhängt.

viel besser ist es wenn du in einem notify auf off direkt im device die beiden readings mit setreading korrigierst. dann bekommt es auch die readingsGroup mit und alles geht automatisch.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 29 April 2015, 20:02:53
Hallo Andre,

hier .....
attr rg_text valueFormat { currentTitle => '{return "" if( ReadingsVal($DEVICE, "state", "off") eq "off" ); return $VALUE;}', currentArtist =>  '{return "" if( ReadingsVal($DEVICE, "state", "off") eq "off" ); return $VALUE;}' }

kam eine Fehlermeldung...

lag an den fehlenden Semikolon .....
attr rg_text valueFormat { currentTitle => '{return "" if( ReadingsVal($DEVICE, "state", "off") eq "off" );; return $VALUE;}', currentArtist =>  '{return "" if( ReadingsVal($DEVICE, "state", "off") eq "off" );; return $VALUE;}' }

Zitatwenn dein player aber ausgeschaltet wird während die readingsGroup angezeigt wird würde sie in beiden fällen nicht aktualisiert weil die readingsGroup nicht weiss das die anzeige der beiden readings von state abhängt.

viel besser ist es wenn du in einem notify auf off direkt im device die beiden readings mit setreading korrigierst. dann bekommt es auch die readingsGroup mit und alles geht automatisch.
genau das war dann auch das Problem, es wird nicht aktualisiert !
Habe das Ein- / Ausblenden der rgr über ein DOIF gelöst !

Danke und Gruss
klaus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 April 2015, 20:04:49
die 'fehlen' nur wenn du es direkt in der config einträgst. wenn du es über die detail ansicht eingibt passt es.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 29 April 2015, 20:43:01
Zitat von: justme1968 am 29 April 2015, 20:04:49
die 'fehlen' nur wenn du es direkt in der config einträgst. wenn du es über die detail ansicht eingibt passt es.

gruss
  andre
:-[ erwischt  :-[

gruss klaus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: optimizer am 01 Mai 2015, 00:13:15
Hi,

bestimmt nur eine Kleinigkeit für euch:
Meine Stromverbrauchstabelle soll auf Readings des statistics-Modul zugreifen (stat... u. stat...Last). Im Bild Soll_mit Markierung.jpg habe ich die Werte markiert, die ich gerne hätte.

In attr valueFormat habe ich deshalb versucht spaltenweise zu formatieren:  {c:1 => (split(' ',$VALUE))[1], c:2 => (split(' ',$VALUE))[1], c:3 => (split(' ',$VALUE))[4]} (geht nicht)

Bei nur einem Spalten-Format {c:1 => (split(' ',$VALUE))[1]} werden alle Werte gleich formatiert (Ist2.jpg) - unabhängig von der Spalte  :( .
Gibts noch einen Trick?

Gruß
Karlheinz
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 05 Mai 2015, 21:12:36
Hallo Andre,

baue gerade eine zentrale Konsole für meine Sonos-Player auf Basis einer readingsGroup und brauche mal einen Tipp.

Die Bedienungskonsole soll SonosCC heißen und oben soll über eine Auswahlliste (Menü) ein Player ausgewählt werden.
Der Rest darunter soll den Status und die Bedienungselemente des ausgewählten Players anzeigen.
Also so was in dem Stil:

define SonosCC-rg readingsGroup SonosCC:Master <{ReadingsVal('SonosCC','Master','nicht gefunden');;}>:Volume,Bass,Treble

In dem reading Master von SonosCC steht dann Player1...Player3, der im Menü ausgewählte Player.
Player1...3 sind vom Typ SONOSPLAYER.

Ich habe jetzt die Befürchtung, dass über die Indirektion (Devicename kommt über die Funktion ReadingsVal longpoll nicht mehr funktioniert, d.h. wenn sich bspw. Volume des ausgewählten Players ändert, dass dies in der rg nicht aktualisiert wird.

Wenn dem so sein sollte, sehe ich zwei Workarounds:

1. Voluem,Bass,Treble usw. werden readings von SonosCC und ein  notify auf alle SONOSPLAYER überträgt die Änderungen der Werte für den gerade ausgewählten Player in die SonosCC.

2. Die rg-Definition sieht so aus:

define SonosCC_rg readingsGroup SonosCC:Master Player1:Volume,Bass,Treble Player2:Volume,Bass,Treble..... Playern:Volume,Bass,Treble

Es wird dann über ein valueFormat für Volume,Bass,Treble eine Funktion gebaut, die für alle Player undef zurückliefert, bis auf den gerade in SonosCC:Master ausgewählrten Player.
Ein bißerl Overhead, aber longpoll müsste ja dann funktionieren.

Gibt es noch eine andere Mölgichkeit?

P.S.: Da kommt noch mehr hinein:
Gruppieren und Ungruppieren von Playern
Auswahl von Playlisten, Favorieten und Radiosendern
Navigation über die Musikbibliothek per Genre, Interpret oder Album....

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 Mai 2015, 21:55:35
longpoll funktioniert für solche 'indirekten' readings nur dann wenn du das reading von dem sie abhängen auch mit angibst. einfach mit @ an die schliessende geschweifte klammer angehängt. vor das grösser zeichen.

die <{...}@reading> variante ist aber eigentlich 'veraltet' das meiste geht mit der neuen !reading variante besser. diese kann man auch von aussen durch ein trigger <rg> <reading> zur aktualisierung zwingen.

ansonsten gibt es über die berechnung erweiterungen aus dem anderen thread bald die möglichkeit abhängigkeiten von zellen innerhalb einer readingsGroup anzugeben und bei änderungen einer zelle automatisch änderungen in den abhängigen zellen anzustossen.

schau dir auf jeden fall mal diesen beitrag hier: http://forum.fhem.de/index.php/topic,14163.msg193890.html#msg193890 (http://forum.fhem.de/index.php/topic,14163.msg193890.html#msg193890) an und frag mal bei der-Lolo nach. wir hatten genau mit so einer 'indirekten' steuerung schon angefangen. er hatte schon implementiert das man in der linken spalte das gerät auswählt und dann in der mittleren spalte steuern kann.


für die gruppierung der sonos player gibt es irgendwo im forum schon mal einen ansatz über eine readingGroup. das ist aber glaube ich auch nicht fertig geworden.


die auswahl von favoriten und radio sondern sollte kein problem sein. da gibt es schon einige beispiele. inklusive icons.


für das blättern durch die ganze bibliothek habe ich gerade etwas in arbeit das genau so ausschaut wie die auswahl in der sonos anwendung. das braucht aber noch eine weile bis es fertig ist.


gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 06 Mai 2015, 16:17:43
Hallo Andre,

danke für die Antwort.
Ich habe noch eine Bitte, ist wohl verloren gegangen.
Ich hatte doch vor einiger Zeit mal das Problem, dass ich direkt an eine readingsGroup eine Menüliste angehängt habe, um damit bspw. die Ansicht umzuschalten.
per
command {'Ansicht' => 'Ansicht:',...

Leider bringt dann die Funktion

readingsGroup_set

eine Fehlermeldung. Könntest Du am Schluß der Funktion vor der Fehlermeldung folgende Zeile einfügen:


# eigenes reading?
return undef if(exists($hash->{READINGS}{$cmd}));

  return "Unknown argument $cmd, choose one of $list";
}


Danke.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: privat58 am 07 Mai 2015, 13:12:25
Hallo,
kann man eigentlich mit valueStyle ein anderes Reading nutzen, um z.Bsp. die Farbe zu ändern. Ich habe leider kein Beispiel gefunden.
Hintergrund ist folgender. Ein Klimalogg pro ist in fhem eingebunden und die Temperaturen  der Sensoren werden im Floorplan angezeigt, ich würde gern eine andere Farbe nutzen, um anzuzeigen wenn die Batterie des Sensors alle wird. Die Temperaturen werden so von mir genutzt:
define Bienen1 readingsGroup KLIMALOGG:TempSensor4
attr Bienen1 fp_Wetter 10,570
attr Bienen1 group z_Anzeige
attr Bienen1 mapping { 'TempSensor4' => 'Bienen 1:' }
attr Bienen1 noheading 1
attr Bienen1 nolinks 1
attr Bienen1 notime 1
attr Bienen1 style style="font-size:35px"
attr Bienen1 valueFormat %.1f&degC

Die Batterie hat folgendes reading "KLIMALOGG:BatterieSensor4" mit dem Wert 0 und 1.
Dank an Euch im Voraus
Steffen
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 Mai 2015, 18:39:34
@Elektrolurch: kannst du mir bitte ein kurzes beispiel mit zwei oder drei dummys dafür machen?

@privat58: ja. das geht natürlich. du brauchst etwas in der art:attr Bienen1 valueStyle { temperature => '{...}' }

und im ... teil kannst du den style mit perl code und ReadingsVal($DEVICE,'BatterieSensor4','0') bestimmen.

die wichtige einschränkung ist das der temperatur wert nicht per longpoll auf die neue farbe geändert wird wenn sich der batterie stand ändert sondern immer nur aktualisiert wird wenn sich die temperatur ändert.

wenn du die farbe auch direkt live ändern möchtest wenn sich der batterie wert ändert brauchst du noch ein notify das ein künstliches temperatur event triggert.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 07 Mai 2015, 20:11:52
Hallo Andre,

Zitat:
@Elektrolurch: kannst du mir bitte ein kurzes beispiel mit zwei oder drei dummys dafür machen?

...für die Ergänzung um die eine Zeile????

Wir hatten das doch schon weiter oben, da gab es ja einen Bug, wenn ein reading der readingGroup angezeigt wurde. Die Endlosschleife hast Du ja ausgebaut, jetzt geht es nur noch darum, dass beim

attr command das set funktioniert.

define myrg readingsGroup myrg:Ansicht
attr myrg commands {'Ansicht' => 'Ansicht:Normal,Expert'}


macht ja dann:

set myrg Ansicht Normal
und das wird derzeit durch die readingsGroup_set
blockiert.
Daher die Ergänzung vor der Fehlerbehandlung.


Habe die Zeile bei mir schon seit Wochen lokal in der 33_readingsGroup.pm eingefügt und funktioniert alles.
Muss nur bei jedem update die Ergänzung wieder von Hand einpflegen.
Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: privat58 am 07 Mai 2015, 22:04:14
@justme1968:
Ups, jetzt bin ich überfordert, aber schön das es funktionieren kann. Wofür steht das "temperature=>"?
Es ist schwer, einen Akkuzustand "1"zu simulieren. Könnte es so funktionieren?
attr Bienen1 valueStyle { temperature => '{ReadingsVal($DEVICE,'BatterieSensor4','0')?'style="color:black"':'style="color:red"'}

Ansonsten muss ich mal schauen, ob ich noch ein paar leere Batterien habe.
Steffen
Titel: Neues Modul readingsGroup
Beitrag von: justme1968 am 08 Mai 2015, 10:32:38
@Elektrolurch: mir ging es bei dem beispiel auch eher darum das ich was zum testen habe. die eine zeile einfügen ist meiner meinung nach nur die halbe lösung. da das set kommando dann zwar keine fehler mehr liefert aber auch nichts tut. meine idee war ein setList wie beim dummy nachzurüsten so das die readingsGroup mit dem set auch etwas vernünftiges macht. also z.b. den status intern zu setzen so das er bei einem refresh auch wieder da ist.

@privat58: das temperature muss bei dir vermutlich eher TempSensor4 heissen. es ist einfach der name des readings das angezeigt wird. so in etwa wie du es geschrieben hat sollte es funktionieren. aber du hat bei den verschachtelten anführungszeichen noch ein problem. versuch es mal so:attr Bienen1 valueStyle { TempSensor4 => '{ReadingsVal($DEVICE,"BatterieSensor4","0")?"style=\"color:black\"":"style=\"color:red\""}' }testen kannst du das ganz einfach in dem du mit setreading das batterie reading von hand auf einen anderen wert setzt.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: privat58 am 09 Mai 2015, 12:36:36
Danke Andre,
ein attr Bienen1 valueStyle { TempSensor4 => '{ReadingsVal($DEVICE,"BatterieSensor4","0")?"style=\"color:red\"":"style=\"color:black\""}' }
führte zum Erfolg.
Steffen
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 11 Mai 2015, 19:20:36
Hallo andre,

ich benötige mal deine Hilfe bei einem Reading der Form <{perl}[@readings]>. In der Commandref steht weiterhin
Zitatif readings is given the perl expression will be reevaluated during longpoll updates.
.
Bedeutet dies, dass die perl expression nur aktualisiert wird, wenn das reading aktualisiert wird, ich die perl expression jedoch nicht über valueColumns oder so ansprechen kann?

Hier der konkrete Fall:

DEF
.*_Clima:<>,<{rg($DEVICE,'alias')}@alias>

valueColumns
{'alias' => 'colspan="2"'}

sub rg($$){
  my $device = shift;
  my $function = shift;
 
  my $room = AttrVal($device, 'room', 'unsorted');
 
  switch ($function) {
    case 'alias' {
      return (AttrVal($device, 'alias', $device));
    }
  }
}


Der Alias wird korrekt wiedergegeben, sofern vorhanden, nur geht er nicht über zwei Spalten.

Wie kann ich das beheben?

Grüße
Igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 Mai 2015, 19:41:18
die 'alte' <{perl}[@readings]> variante hat einige einschränkungen was die formatierung angeht.

wenn ich deine sub richtig verstehe willst du einfach nur den alias ausgeben? warum zeigst du ihn nicht über ?alias an ?

alias ist sowieso kein reading und würde niemals per longpoll aktualisiert.

wenn du eigenen code einbauen möchtest ist es am besten du nimmst die neue !reading variante damit kannst du ein 'pseudo' reading anzeigen das es im device nicht geben muss. also z.b. !alias. das kannst du dann mit valueFormat formatieren und ich sonst alle anderen value attribute verwenden. auch valueColumns.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 11 Mai 2015, 19:49:00
Zitat von: justme1968 am 11 Mai 2015, 19:41:18
wenn ich deine sub richtig verstehe willst du einfach nur den alias ausgeben? warum zeigst du ihn nicht über ?alias an ?

Wenn alias nicht gesetzt ist gibt die sub den device Namen zurück.
Habe es nun mit dem pseudoreading gelöst

DEF
.*_Clima:<>,!alias

valueFormat
{'alias' => '{rg($DEVICE,"alias")}'}


Vielen Dank für die schnelle Hilfe.

Grüße
igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 Mai 2015, 19:57:23
ein {'alias' => '$ALIAS'} sollte schon reichen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 11 Mai 2015, 20:10:05
Zitat von: justme1968 am 11 Mai 2015, 19:57:23
ein {'alias' => '$ALIAS'} sollte schon reichen.

Dann wird nur $ALIAS angezeigt, wenn es keinen alias gibt.

Grüße
igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 Mai 2015, 20:27:03
du hast recht. die version bei der das geht ist noch nicht eingecheckt...

sorry für das durcheinander.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 11 Mai 2015, 20:33:57
Nun habe ich doch noch einen kleinen Knackpunkt bei dem ich nicht weiter komme:

valueFormat
{'alias' => '<a href=/fhem?detail=$DEVICE>{rg($DEVICE,"alias")}</a>'


Ich möchte ja auch gerne auf das "reading" klicken können um zu dem device zu kommen. Wie muss ich denn hier vorgehen um nun als Linknamen den Perlrückgabewert zu erhalten?

Grüße
igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 Mai 2015, 20:37:58
etwas in der art:valueFormat {'alias' => '{"<a href=/fhem?detail=$DEVICE>". rg($DEVICE,"alias") ."</a>"}' }

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 18 Mai 2015, 22:10:34
Zitat von: justme1968 am 19 April 2015, 10:42:50
@Tommy82: du hast einen wert der nicht als zahl erkannt wird. du musst valueFormat entsprechend wählen das dieser fall getrennt berückichtigt wird.

gruss
  andre

Kannst du mir einen Tip wie ich "einfach" rausfinden kann bei welcher meiner rd's das Problem auftitt?

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: gloob am 20 Mai 2015, 18:09:32
Gibt es eine Möglichkeit bei einer readingsGroup die Spaltenbreite vorzugeben? Es sieht ein wenig unschön aus wenn die erste Spalte mit dem Devicenamen immer unterschiedlich breit ist.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 09 Juni 2015, 15:04:36
Hallo Andre,

habe noch eine Kleinigkeit gefunden:

Wenn man bspw

define myrg readingsGroup Thermostat:desired-temp
attr myrg commands {'desired-temp' => 'desired-temp:'}
attr myrg valueSuffix {'desired-temp' => '{($VALUE=~m/on|off/)?"":" °C"}'}

funktioniert das nicht.

Möchte bei Temperaturangaben hinter dem Auswahlmenü " °C" stehen haben, bei on oder off nichts.

Grund: $VALUE enthält leider nicht desired-temp, sondern den HTML-Ausdruck für das Menü.
Und da ist die gesamte Menüliste mit allen Werten drin, also auch on und off, so dass der Ausdruck immer "wwahr" ist.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Motivierte linke Hände am 14 Juni 2015, 10:52:32
Ich muss leider diese Frage aus dem März nochmal hochholen, weil ich das wirklich nicht hinbekomme:

Zitat von: justme1968 am 06 März 2015, 11:54:22
@Motivierte linke Hände: in $ROW hast du die nummer der aktuellen zeile. wenn du dein alles ok ganz ans ende stellst und davor alle zeilen leer sind ist $ROW == 1 (oder 2 wenn du überschriften hast). wenn nicht wurde vorher eine zeile angezeigt und du kannst das alles ok weg lassen.

Im valueFormat steht aktuell

{ rg_Meldungen_valueFormat($DEVICE,$READING,$VALUE,$ROW); }

und rg_Meldungen_valueFormat sieht so aus:

sub rg_Meldungen_valueFormat($$$$) {
  my ($DEVICE,$READING,$VALUE,$ROW) = @_;
  Log 1, ("rg_Meldungen_valueFormat: Gerät $DEVICE, Value >$VALUE<, Readings >$READING<, Row >$ROW<");
  [...]
}


Wenn ich in diesem Sub nur die Inhalte der übergebenen Variablen logge, ist $ROW immer leer:

2015.06.14 10:40:59 1: rg_Meldungen_valueFormat: Gerät Fstr_Buero, Value >open<, Readings >state<, Row ><
2015.06.14 10:40:59 1: rg_Meldungen_valueFormat: Gerät Fstr_Gaestebad, Value >open<, Readings >state<, Row ><
2015.06.14 10:40:59 1: rg_Meldungen_valueFormat: Gerät Fstr_Garagentor, Value >closed<, Readings >state<, Row ><


@Andre: Kann ich $ROW nicht in valueFormat verwenden? Wenn nein, wie hattest Du Deinen Tipp oben gemeint, wo sollte ich das einbauen?

Danke für's Anschieben,
Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 15 Juni 2015, 18:23:45
Hallo Andre,

die readingsGroup unterstützen ja auch die Anzeige von Attributen:

define attr_rg readingsGroup  fritzbox:?verbose

Was jetzt schön wäre, wenn man Attribute auch verändern könnte:

attr attr_rg commands {'verbose' => 'verbose:'}

und aus der attrlist des Moduls die Eingabe abgeleitet würde, ähnlich wie beim set-Befehl.

Hier also: verbose:0,1,2,3,4
eine Auswahlliste

Ich würde dies für nützlich und interessant halten.

Elektrolurch

P.S.:
Wird zu #1362 vom: 09 Juni 2015,  eine Anpassung geben oder muss ich einen Work-around basteln :-) ?

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 15 Juni 2015, 18:52:06
das mit den attributen schaue ich mir an und die änderung für aus dem anderen post kommt auch noch.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 15 Juni 2015, 18:56:30
Uii. Das wäre super. Bin nämlich auf den Geschmack gekommen und versuche alles eher jetzt so modulmässig zu programmieren. So manche Steuerungswerte habe ich dann in dummys als readings hinterlegt, aber eigentlich wäre es schon schicker, da Attribute draus zu machen.

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 15 Juni 2015, 20:40:08
für die attribute habe ich eine lösung. rudi muss noch einen drei zeiler am fhemweb javascript file einbauen und dann kommt das readingsGroup update demnächst.

für die value suffix geschichte habe ich auch eine lösung. dazu muss ich aber erst die änderungen zur 'tabellen kalkulation' einchecken. da habe ich intern auch die werte vor dem ersetzen zur verfügung.

magst du mir für die set geschichten vom 6.mai vielleicht doch noch ein beispiel machen? dann würde ich eine lösung dafür auch noch einchecken.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 16 Juni 2015, 10:44:54
Hallo Andre,
Zitat:
magst du mir für die set geschichten vom 6.mai vielleicht doch noch ein beispiel machen? dann würde ich eine lösung dafür auch noch einchecken.


Klar. Ist ja ganz einfach:


define myrg readingsGroup myrg:<Ansicht>,Ansicht global:?verbose
attr myrg commands {'Ansicht' => 'Ansicht:Normal,Fachmann', 'verbose' => 'verbose:'}
attr myrg room myrgtest
define myrg_not notify myrg:.* {Log(1,"$NAME $EVENT bei Ansicht -> per modify Anzeige der rg aendern");;}


"Ansicht" ist ein reading von myrg und soll per notify und "modify" die Anzeige der myrg umschalten. Hier gibt es nur die Meldung im Log (reicht ja zum Testen :D).

Derzeit führt das reading der myrg dazu, dass der set-Befehl aufgerufen wird, es dort aber nicht bekannt ist und am Ende auf die Fehlerbehandlung (Ausgabe wie bei set myrg ?) aufläuft.


Ich denke, es gibt zwei Lösungen:

1. readingsGroup_set
...

return undef if(exists($hash->{READINGS}{$cmd}));

  return "Unknown argument $cmd, choose one of $list";
}


Nachteil: Das reading muss auf alle Fälle schon einmal mit
setreading myrg Ansicht Fachmann
erzeugt worden sein.

2. habe ich aber noch nicht ausprobiert
a) attrlist wird um setList erweitert
b)   return "Unknown argument $cmd, choose one of $list " . AttrVal($name,'setList','');

Habe ich noch nicht ausprobiert, sollte aber funktionieren.
Um eine Anzeige zu erzwingen, wenn das reading noch nicht existiert, sollte man es dann als:

myrg:<Anzeige>,!Anzeige

definieren.

Ich habe derzeit 9 readingsGroups im Einsatz, bei denen ich die Anzeige über eine Auswahlliste modifiziere.

Gruß

Elektrolurch

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Juni 2015, 23:48:39
ab morgen gibt es eine version in der dein valueSuffix problem behoben sein sollte, es setList und setFn attribute gibt und die commands für attribute geht.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 17 Juni 2015, 10:18:08
Na, dann sage ich schon mal herzlichen Dank. Ich hoffe, dass sich viele Nutzer der readingsGroup "bereichert" fühlen. Das mit den einstellbaren Attributen halte ich für eine sehr gute Sache. Und wenn man es z.B. dazu nutzt, per disable etwas ein oder auszuschalten.

Gruß
Titel: Neues Modul readingsGroup
Beitrag von: justme1968 am 19 Juni 2015, 14:10:56
sollte ab morgen behoben sein.

gruß
  andre

ps: nur zum einheiten anhängen gibt es inzwischen valueSuffix. das sollte nicht mehr über valueFormat gemacht werden.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: spikeh1 am 19 Juni 2015, 14:31:30
Zitat von: justme1968 am 19 Juni 2015, 14:10:56
sollte ab morgen behoben sein.

gruß
  andre

ps: nur zum einheiten anhängen gibt es inzwischen valueSuffix. das sollte nicht mehr über valueFormat gemacht werden.

Ich glaube das ist auf meinen Post bezogen, welchen ich gleich wieder gelöscht habe. Du bist schnell.  :)
Habe gesehen das in einem anderen Post, ein ähnliches Problem besteht. Habe es mit $NUM lösen können.
Fehler erscheint nicht mehr.
valueSuffix schaue ich mir an.

Danke.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Invers am 19 Juni 2015, 23:58:52
Vor einigen Tagen wurde dieses Modul geändert. Seitdem bekomme ich fehlermeldungen, ohne Änderungen vorgenommen zu haben.
Ich habe die neueste Version des Dashboards installiert. Vielleicht gibt es auch dabei einen Zusammenhang

Meine RG

define rg_Temperaturen readingsGroup <%temp_temperature>,<Temperatur>,<Luftfeuchte> TMP_Aussen:,temperature,humidity TMP_WZ:,temperature,humidity TMP_Ku:,temperature,humidity TMP_SZ:,temperature,humidity TMP_Bu:,temperature,humidity TMP_Bad:,temperature,humidity TMP_Ko:,temperature,humidity TMP_HF:,temperature,<>
attr rg_Temperaturen cellStyle {'style="color:yellow"'}
attr rg_Temperaturen fp_Thermometer 18,182,0,,
attr rg_Temperaturen group Temperaturen
attr rg_Temperaturen nameStyle style="color:yellow"
attr rg_Temperaturen noheading 1
attr rg_Temperaturen room Temperatur
attr rg_Temperaturen valueFormat {temperature => "%.1f °C", humidity =>"%.1f %%" }
attr rg_Temperaturen valueStyle {if($DEVICE eq "TMP_Aussen" && $READING eq "temperature" && $VALUE > 30) { 'style="color:red"'} elsif($DEVICE eq "TMP_Aussen" && $READING eq "temperature" && $VALUE > 20)  { 'style="color:orange"'} elsif($DEVICE eq "TMP_Aussen" && $READING eq "temperature" && $VALUE < 5) { 'style="color:lightblue"'} elsif($DEVICE eq "TMP_Ku" && $READING eq "temperature" && $VALUE > 30) { 'style="color:red"'} elsif($DEVICE eq "TMP_Ku" && $READING eq "temperature" && $VALUE > 20) { 'style="color:orange"'} elsif($DEVICE eq "TMP_Ku" && $READING eq "temperature" && $VALUE < 5) { 'style="color:lightblue"'} elsif($DEVICE eq "TMP_Bad" && $READING eq "temperature" && $VALUE > 30)  { 'style="color:red"'} elsif($DEVICE eq "TMP_Bad" && $READING eq "temperature" && $VALUE > 20)  { 'style="color:orange"'} elsif($DEVICE eq "TMP_Bad" && $READING eq "temperature" && $VALUE < 5) { 'style="color:lightblue"'} elsif($DEVICE eq "TMP_SZ" && $READING eq "temperature" && $VALUE > 30) { 'style="color:red"'} elsif($DEVICE eq "TMP_SZ" && $READING eq "temperature" && $VALUE > 20) { 'style="color:orange"'} elsif($DEVICE eq "TMP_Kuehl" && $READING eq "temperature" && $VALUE > 7.5) { 'style="color:red"'} elsif($DEVICE eq "TMP_Kuehl" && $READING eq "temperature" && $VALUE > 6.4) { 'style="color:lightgreen"'} elsif($DEVICE eq "TMP_Kuehl" && $READING eq "temperature" && $VALUE < 6.5) { 'style="color:lightblue"'} elsif($DEVICE eq "TMP_SZ" && $READING eq "temperature" && $VALUE < 5) { 'style="color:lightblue"'} elsif($READING eq "humidity" && $VALUE > 65) { 'style="color:red"'} elsif($READING eq "humidity" && $VALUE > 60) { 'style="color:orange"'} else{'style="color:lightgreen"'} }



Die Fehlermeldungen lauten auszugsweise:
2015.06.19 23:47:48 1: PERL WARNING: Argument "22.8 M-BM-0C" isn't numeric in numeric gt (>) at (eval 640) line 1.
2015.06.19 23:47:48 1: PERL WARNING: Argument "48.0 %" isn't numeric in numeric gt (>) at (eval 643) line 1.
2015.06.19 23:47:48 1: PERL WARNING: Argument "21.5 M-BM-0C" isn't numeric in numeric gt (>) at (eval 646) line 1.
2015.06.19 23:47:48 1: PERL WARNING: Argument "43.0 %" isn't numeric in numeric gt (>) at (eval 649) line 1.
2015.06.19 23:47:48 1: PERL WARNING: Argument "44.0 %" isn't numeric in numeric gt (>) at (eval 655) line 1.
2015.06.19 23:47:48 1: PERL WARNING: Argument "23.8 M-BM-0C" isn't numeric in numeric gt (>) at (eval 658) line 1.
2015.06.19 23:47:48 1: PERL WARNING: Argument "45.0 %" isn't numeric in numeric gt (>) at (eval 661) line 1.
2015.06.19 23:47:48 1: PERL WARNING: Argument "44.0 %" isn't numeric in numeric gt (>) at (eval 667) line 1.
2015.06.19 23:47:53 1: PERL WARNING: Argument "14.7 M-BM-0C" isn't numeric in numeric gt (>) at (eval 704) line 1.
2015.06.19 23:47:53 1: PERL WARNING: Argument "62.0 %" isn't numeric in numeric gt (>) at (eval 707) line 1.
2015.06.19 23:47:53 1: PERL WARNING: Argument "42.0 %" isn't numeric in numeric gt (>) at (eval 713) line 1.
2015.06.19 23:47:53 1: PERL WARNING: Argument "22.8 M-BM-0C" isn't numeric in numeric gt (>) at (eval 716) line 1.
2015.06.19 23:47:53 1: PERL WARNING: Argument "48.0 %" isn't numeric in numeric gt (>) at (eval 719) line 1.
2015.06.19 23:47:53 1: PERL WARNING: Argument "21.5 M-BM-0C" isn't numeric in numeric gt (>) at (eval 722) line 1.
2015.06.19 23:47:53 1: PERL WARNING: Argument "43.0 %" isn't numeric in numeric gt (>) at (eval 725) line 1.
2015.06.19 23:47:53 1: PERL WARNING: Argument "44.0 %" isn't numeric in numeric gt (>) at (eval 731) line 1.
2015.06.19 23:47:53 1: PERL WARNING: Argument "23.8 M-BM-0C" isn't numeric in numeric gt (>) at (eval 734) line 1.
2015.06.19 23:47:53 1: PERL WARNING: Argument "45.0 %" isn't numeric in numeric gt (>) at (eval 737) line 1.
2015.06.19 23:47:53 1: PERL WARNING: Argument "44.0 %" isn't numeric in numeric gt (>) at (eval 743) line 1.
2015.06.19 23:48:28 1: PERL WARNING: Use of uninitialized value $v in sprintf at fhem.pl line 1972.


und:

2015.06.19 23:43:29 1: PERL WARNING: Use of uninitialized value $NUM in substitution (s///) at ./FHEM/33_readingsGroup.pm line 336.

Es stören offenbar die Zeichen hinter den Zahlen.

Für einen trottelsicheren, konkreten Hinweis zur Lösung des Problemes wäre ich dankbar. 

Danke im Voraus.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 20 Juni 2015, 00:02:24
die probleme sollten morgen alle behoben sein.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Invers am 20 Juni 2015, 00:07:01
Das ist mir die liebste Antwort. Danke.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 20 Juni 2015, 14:47:28
Hallo Andre,

ich kämpfe mit der setList / setFn - Erweiterung.
Zuerst habe ich eine zeitlang gebraucht, bis ich herausgefunden habe, dass es nicht reicht, nur die gewünschte setList - Erweiterung anzugeben, sondern es muss auch eine setFn - Funktion vorhanden sein und zwar auch noch in {} eingeschlossen.
(Ich hatte ursprünglich ein notify an die rg gehängt)
Bei Dir im Code sind dann $CMD und $ARGS belegt.
Das Attr sieht bei mir jetzt so aus:
setFn {Alle_Liste_rg_not($CMD,$ARGS)}

Aber wie kann ich jetzt den hash oder den Namen des devices an die Funktion durchreichen?

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 20 Juni 2015, 14:53:42
der name der readingsGroup steckt in $name

du kannst in der setFn alles machen was du möchtest. ein reading setzen und damit ein event für ein notify auslösen, mit trigger ein event auslösen, ein attribut setzen oder direkt eine funktion aufrufen die dann macht was du möchstest.

eben weil es so viele möglichkeiten gibt wird nichts automatisch gemacht.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 20 Juni 2015, 17:10:50
Zitat:
der name der readingsGroup steckt in $name

-> also der eval-Aufruf nimmt alle lokal in der sub definierten Variablen mit, gut zu wissen. $CMD und $ARGS sind also nur so aus Gründen der Konvention vorhanden.... aber die lokalen Variablen kennt man ja nur, wenn man den Code anschaut.
Eigentlich müsste es ja nicht $name sondern $DEVICE heissen, damit die commandref stimmt.

Zitat:
du kannst in der setFn alles machen was du möchtest. ein reading setzen und damit ein event für ein notify auslösen, mit trigger ein event auslösen, ein attribut setzen oder direkt eine funktion aufrufen die dann macht was du möchstest.

Ok, das war schon klar. Ich hhatte das vorher als notify dran, habe die sub jetzt aber an den setFn - Aufruf angepasst. Setze darin das reading  "Ansicht" und lasse den Bildschirm neu aufbauen, da sich ja der Anzeigeinhalt der rg geändert hat.

Noch eine kleine Anektote:
valueStyle und $NUM:
Ich hatte ja so Werte wie 45.345,1
Da Du ja $NUM nicht durch abschneiden, sondern durch weglassen aller Nichtziffern erzeugst ->

Wenn die Solaranlage bei mir läuft, wird die aktuelle Puffertemperatur und die Starttemperatur im gleichen Feld angezeigt:

45.5 / 43,3 C

Daher der Wert.
Ich habe wieder auf $VALUE umgestellt, in der Routine, die in Abhängigkeit vom reading  und der Temperatur die Farbe umschaltet, war es sowieso so implementiert, dass ich hinten den Rest abschneide.

Jetzt läuft alles wieder.... :D

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 20 Juni 2015, 17:21:48
nicht nur aus gründen der konvention sondern auch als garantie das sie sich nicht ändern wenn ich am code etwas umbaue. also besser nicht im quelltext schauen was es noch alles gibt :)

nein. $DEVICE ist jeweils der name eines device dessen reading angezeigt wird. $name ist der name der readingsGroup selber.

da fällt mir ein ich wollte ja noch einbauen das man eine komplette readingsGroup refreshen kann. ohne das die komplette seite aktualisiert wird. kommt noch ...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 20 Juni 2015, 18:26:42
Zitat:
nein. $DEVICE ist jeweils der name eines device dessen reading angezeigt wird. $name ist der name der readingsGroup selber.

Hast ja wie immer recht... -D

Zitat:
da fällt mir ein ich wollte ja noch einbauen das man eine komplette readingsGroup refreshen kann. ohne das die komplette seite aktualisiert wird. kommt noch ...


Ich komme gar nicht so schnell hinterher, alle die netten neuen Featurs einzubauen...

Aber Attribute per rg setzen ist nett, habe mir gerade die dummys für die Treppenhauslichtsteuerung für drei Etagen herausgeworfen und ein kleines Modul gemacht. Die Einstellungen liegen jetzt in Attributen.
Schaut viel ordentlicher aus... :-D

(Auch wenn das Rudi vielleicht nicht hören mag :-(

Gruß
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fruit am 21 Juni 2015, 08:42:14
One of my readingsGroup does not show icons since yesterday's update. I hoped the update this morning may bring them back - but still no icons.
All other readingsGroup are fine - with some recent minor modifications.

Based very much on http://forum.fhem.de/index.php/topic,32382.msg254621.html#msg254621 (http://forum.fhem.de/index.php/topic,32382.msg254621.html#msg254621) my fhem.cfg contains
define rgWasteCalendar readingsGroup wastecalendar:!title \ wastecalendar:!day|0,!Grey_bin|0,!Blue_bin|0,!Brown_bin|0 \ wastecalendar:!day|1,!Grey_bin|1,!Blue_bin|1,!Brown_bin|1 \ wastecalendar:!day|2,!Grey_bin|2,!Blue_bin|2,!Brown_bin|2 \ wastecalendar:!day|3,!Grey_bin|3,!Blue_bin|3,!Brown_bin|3 \ wastecalendar:!day|4,!Grey_bin|4,!Blue_bin|4,!Brown_bin|4 \ wastecalendar:!day|5,!Grey_bin|5,!Blue_bin|5,!Brown_bin|5 \ wastecalendar:!day|6,!Grey_bin|6,!Blue_bin|6,!Brown_bin|6 \ wastecalendar:!day|7,!Grey_bin|7,!Blue_bin|7,!Brown_bin|7 \ wastecalendar:!day|8,!Grey_bin|8,!Blue_bin|8,!Brown_bin|8 \ wastecalendar:!day|9,!Grey_bin|9,!Blue_bin|9,!Brown_bin|9 \ wastecalendar:!day|10,!Grey_bin|10,!Blue_bin|10,!Brown_bin|10 \ wastecalendar:!day|11,!Grey_bin|11,!Blue_bin|11,!Brown_bin|11 \ wastecalendar:!day|12,!Grey_bin|12,!Blue_bin|12,!Brown_bin|12 \ wastecalendar:!day|13,!Grey_bin|13,!Blue_bin|13,!Brown_bin|13 \ wastecalendar:!day|14,!Grey_bin|14,!Blue_bin|14,!Brown_bin|14
attr rgWasteCalendar cellStyle { "r:1"=>'style="font-weight:bold;;;;font-size:16px"',"c:1"=>'style="font-weight:bold;;;;text-align:right;;;;padding-left:28pt;;;;"'}
attr rgWasteCalendar group rg2
attr rgWasteCalendar nonames 1
attr rgWasteCalendar valueColumns { title => 'colspan="7"' }
attr rgWasteCalendar valueFormat {if($READING eq 'title'){$VALUE="recycling"}else{my($r,$d)=split(/\|/,$READING);;;;;;;;my $v=fhem("get wastecalendar days $d",1);;;;;;;;if($v eq "none"){$VALUE=undef}else{if($r eq 'day'){if($d==0){$VALUE="Today"}elsif($d==1){$VALUE="Tomorrow"}else{$VALUE="In $d Days"}}else{if($v=~m/$r/){$VALUE=1}else{$VALUE=' '}}}}}
attr rgWasteCalendar valueIcon {if($VALUE eq 'recycling'){$VALUE}elsif($VALUE eq 1){if($READING=~m/Grey_bin/){$VALUE='dustbin@5C5959'}elsif($READING=~m/Blue_bin/){$VALUE='dustbin@0617EE'}elsif($READING=~m/Brown_bin/){$VALUE='dustbin@E86915'}}else{$VALUE=''}}
attr rgWasteCalendar valueSuffix {'title'=>' Recycling'}
attr rgWasteCalendar verbose 0

The result should look something like the attached image but I see no icons at all and no error messages.

I suspect I have missed some obvious change through google translate but I have no idea how to get the icons back
Titel: Antw:Neues Modul readingsGroup
Beitrag von: punker am 21 Juni 2015, 10:14:43
Hi,

habe nach dem heutigen Update diese Warnings im Log:

PERL WARNING: Argument "12.1 C (measured)" isn't numeric in numeric gt (>) at (eval 141) line 1.
PERL WARNING: Argument "12.1 C (measured)" isn't numeric in sprintf at /opt/fhem/FHEM/33_readingsGroup.pm line 523


Ich weiß, dass diese Meldungen von meinen Dect200-Steckdosen verursacht werden, aber wie bekomme ich sie weg?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 21 Juni 2015, 10:27:36
@fruit: i have just fixed the icon problem.

@punker: das es die meldung erst heute gibt kann ich mir nicht vorstellen. du musst alles was nach der zahl kommt abschneiden. z.b. mitattr <rg> valueFormat {$NUM}

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: punker am 21 Juni 2015, 11:03:34
Zitat von: justme1968 am 21 Juni 2015, 10:27:36
@punker: das es die meldung erst heute gibt kann ich mir nicht vorstellen. du musst alles was nach der zahl kommt abschneiden. z.b. mitattr <rg> valueFormat {$NUM}

stimmt, ich hatte die "use warnings" auskommentiert!

Hab das so wie du schreibst gemacht, aber die Meldung kommt wieder:

PERL WARNING: Argument "17.7 C (measured)" isn't numeric in numeric gt (>) at (eval 137) line 1.
:(
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fruit am 21 Juni 2015, 11:12:16
Zitat von: justme1968 am 21 Juni 2015, 10:27:36
@fruit: i have just fixed the icon problem.

Thanks, I guess I hadn't missed anything in translation then.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 21 Juni 2015, 11:20:37
schalte mal stacktrace ein um zu sehen wo die meldung genau her kommt und zeig mir das log.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: punker am 21 Juni 2015, 11:25:43
2015.06.21 11:23:23 3: stacktrace:
2015.06.21 11:23:23 3:     main::__ANON__                      called by (eval 612) (1)
2015.06.21 11:23:23 3:     (eval)                              called by /opt/fhem/FHEM/33_readingsGroup.pm (340)
2015.06.21 11:23:23 3:     main::lookup2                       called by /opt/fhem/FHEM/33_readingsGroup.pm (622)
2015.06.21 11:23:23 3:     main::readingsGroup_value2html      called by /opt/fhem/FHEM/33_readingsGroup.pm (990)
2015.06.21 11:23:23 3:     main::readingsGroup_2html           called by /opt/fhem/FHEM/33_readingsGroup.pm (1079)
2015.06.21 11:23:23 3:     main::readingsGroup_detailFn        called by /opt/fhem/FHEM/01_FHEMWEB.pm (2548)
2015.06.21 11:23:23 3:     main::FW_devState                   called by /opt/fhem/FHEM/01_FHEMWEB.pm (1428)
2015.06.21 11:23:23 3:     main::FW_showRoom                   called by /opt/fhem/FHEM/01_FHEMWEB.pm (801)
2015.06.21 11:23:23 3:     main::FW_answerCall                 called by /opt/fhem/FHEM/01_FHEMWEB.pm (433)
2015.06.21 11:23:23 3:     main::FW_Read                       called by fhem.pl (3023)
2015.06.21 11:23:23 3:     main::CallFn                        called by fhem.pl (643)
2015.06.21 11:23:23 1: PERL WARNING: Argument "17.7 C (measured)" isn't numeric in numeric gt (>) at (eval 614) line 1.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 21 Juni 2015, 12:19:39
in deinem valueStyle musst du auch $NUM statt $VALUE verwenden.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: punker am 21 Juni 2015, 12:28:16
Vielen Dank! 8)
Sieht so aus, als ob die Meldungen weg sind!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 23 Juni 2015, 23:07:20
hallo andre. Habe heute, nach 5 Monaten, nun endlich einen update von fhem gemacht. Leider zeigt meine Heizungswerte2 readingsGroup jetzt ein seltsames Verhalten. Die Buttons für up (red), down (blue) und white "zappeln" völlig sinnlos herum. D.h. alle paar Sekunden wechseln die Buttons die Farbe, zeigen mal up, mal down und mal die Farbe weis an, obwohl sich an den Temperaturen nichts ändert. Anbei mal die Codes:

define notifyHeizungUpDown notify .*:desired-new.* { myUtils_HeizungUpDownNotify($NAME,$EVTPART1);; }
attr notifyHeizungUpDown DbLogExclude .*
define Heizungswerte2 readingsGroup <%sani_heating>, < >,<Act>,<Soll>,<Ist> \
Bad_Heizung_ClimRT_tr|Kueche_Heizung_ClimRT_tr|SZ_Heizung_links_ClimRT_tr|SZ_Heizung_rechts_ClimRT_tr|Kinderzimmer_Heizung_links_ClimRT_tr|Kinderzimmer_Heizung_rechts_ClimRT_tr|Flur_Heizung_Clima|WZ_links_Heizung_Clima|WZ_rechts_Heizung_Clima:ValvePosition,desired-temp,measured-temp,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired.*>,desired.new,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired.*>
attr Heizungswerte2 DbLogExclude .*
attr Heizungswerte2 fp_Heizung_FP 40,250,0,
attr Heizungswerte2 fp_Le_Status 58,650,0,
attr Heizungswerte2 fp_Status 120,1050,0,
attr Heizungswerte2 group Thermostate
attr Heizungswerte2 nameStyle style="color:yellow"
attr Heizungswerte2 noheading 1
attr Heizungswerte2 room Heizung
attr Heizungswerte2 valueStyle {($VALUE eq "00")?'style="visibility:hidden"':''}


Und die sub:

sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}

#Heizung regeln in readingsGroup
sub
myUtils_HeizungUpDown($$)
{
  my($DEVICE,$CMD) = @_;

  my $icon = $CMD;
  my $VALUE = ReadingsVal($DEVICE,"desired-new","20" );
  $VALUE = ReadingsVal($DEVICE,"desired-temp","20" )
     if( !$VALUE || $VALUE == 0 );
  my $link;

  if( $CMD eq "up" ) {
    $icon = "control_arrow_upward";
    $VALUE += 1;

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

    if( $VALUE >= 18 ) {
      $icon .= "\@blue";
      $link = "setreading $DEVICE desired-new $VALUE";
    }
  }

  my $notify = "notifyHeizungUpDown";
  if( !defined($defs{$notify}) ) {
    CommandDefine(undef,
                   "$notify notify .*:desired-new.* "
                   ."{ myUtils_HeizungUpDownNotify(\$NAME,\$EVTPART1); }" );
  }

  my $ret = "%$icon";
  $ret .= "%$link" if( $link );

  return $ret;
}
sub
myUtils_HeizungUpDownNotify($$)
{
  my($DEVICE,$VALUE) = @_;

  return if( $VALUE == 0 );

  my $at = "triggerHeizungUpDown_$DEVICE";
  CommandDelete(undef, $at) if( defined($defs{$at}) );
  CommandDefine(undef,
                 "$at at +00:00:03 "
                 ."{my \$v = ReadingsVal(\"$DEVICE\",\"desired-new\",undef);"
                 ."fhem(\"set $DEVICE desired-temp \$v\") if( \$v );"
                 ."fhem(\"setreading $DEVICE desired-new 00\");}" );

  return undef;
}


Vielleicht siehst du ja den Fehler, ich habe, bis auf das update, nichts an der Konfiguration geändert.

VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 24 Juni 2015, 14:58:28
Hallo andre,

für eine readingsGroup in der mehrere EIB aktoren dargestellt werden benutze ich zur Icon Zuweisung !readings. In diesem Fall !light !skylight und !window. Diese werden dann durch valueFormat wieder auf state gemappt

'light' => '{ReadingsVal($DEVICE, "state", "")}'

Nur werden sie nun nicht mehr via longpoll aktualisiert.
Gibt es dazu eine einfache Lösung? Mir würde momentan nur einfallen ein eventMap in den Devices anzulegen z.B.

eventMap on:light_on off:light_off

und dann das icon über state.light_on etc. zuzuweisen.

Edit: Geht natürlich nicht, da ich dann das internal STATE abfragen müsste, welches auch nicht aktualisiert wird. Bleiben nur userreadings.

Grüße
igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 24 Juni 2015, 15:19:52
@franky08: gibt es im event monitor events die das flackern auslösen?

@igami: longpoll updates gehen nur wenn es ein original reading gibt und dieses entweder direkt verwendet oder über <{...}@reading> eingebunden wird. ich bin mir nicht sicher ob ich verstehe warum du überhaupt über !readings gehst.

ich würde sagen das einfachste ist im device selber das icon per devStateIcon zu vergeben und dann im der readingGroup in das value icon auf {state => '%devStateIcon'} zu setzen. und ganz nebenbei hast du auch noch im original device ein passendes icon.

alternativ kannst du zwei stufig vorgehen und zuerst per valueFormat ein eindeutiges reading aus devicetyp und state erzeugen und dann dieses per valueIcon anzeigen. aber das ist in deinem fall eigentlich schon zu kompliziert.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 24 Juni 2015, 17:08:16
Hallo Andre, ich hab mal einen Ausschnitt vom Event Monitor eingefügt, leider geht das mit dem Filter bei mir nicht, bekomme keine Dialogbox.

Ich hab das Verhalten der readingsGroup mal als Video angehangen.

VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 24 Juni 2015, 18:33:26
Habe jetzt aus meinem Backup die:
# $Id: 33_readingsGroup.pm 7406 2015-01-02 15:02:11Z justme1968 $

zurück kopiert, mit der Version zeigt die readingsGroup wieder "normales" Verhalten.

P.S. eine etwas neuere Version habe ich leider nicht, da mein letztes update Ende Januar war

VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 25 Juni 2015, 10:11:27
Dann ist ja gut. Das lange posting des logs schaut sich sowieso niemand an. Viel hilft nicht immer viel.

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: franky08 am 25 Juni 2015, 10:17:04
Der Filter im Event Monitor funktioniert bei mir nicht und Andre wollte die Meldungen aus dem Event Monitor mal sehen.

VG
Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 25 Juni 2015, 11:06:48
Das Listing ist aber ewig lang und macht den Artikel nicht gerade übersichtlicher.
Außerdem wurde hier im Forum auch schon festgestellt, dass das Einstellen von Beiträgen um so länger dauert, je länger der Artikel wird.
Wenn schon langes Listing, dann als Anhang (Datei).
Danke.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 25 Juni 2015, 12:12:28
Zitat von: justme1968 am 24 Juni 2015, 15:19:52
@igami: longpoll updates gehen nur wenn es ein original reading gibt und dieses entweder direkt verwendet oder über <{...}@reading> eingebunden wird. ich bin mir nicht sicher ob ich verstehe warum du überhaupt über !readings gehst.

ich würde sagen das einfachste ist im device selber das icon per devStateIcon zu vergeben und dann im der readingGroup in das value icon auf {state => '%devStateIcon'} zu setzen. und ganz nebenbei hast du auch noch im original device ein passendes icon.

Ich bin über die !readings gegangen weil es sich immer um state handelt und ich nicht wusste, wie ich dafür unterschiedliche icons angeben sollte, aber das mit dem mappen auf %devStateIcon bewirkt ja genau was ich möchte.

Vielen Dank.

igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 27 Juni 2015, 17:56:44
Hallo Andre,

ich habe mir folgendes gebaut:
Da wo in einer rg ein Icon angezeigt werden soll, möchte ich unter dem Icon auch einen Text  ausgeben (wg. Barrierefreiheit). Da die Icons anklickbar sind (commands->Befehl) und auf meinem per Tasten bedienbaren Nokia Iconen nicht immer einwandfrei selektiert werden, soll der Label_Text auch noch anklickbar sein und darunter stehen.
leider
Mit valueIcon geht das nicht ganz so einwandfrei, aber mit valueFormat:

...valueFormat {'UP' => '{MakeIconwithLabel("fts_shutter_up",$VALUE,"öffnen")}',...

Die sub sieht so aus:
sub MakeIconwithLabel($$$)
{
my ($icon,$value,$label) = @_;
my $html;
$html = FW_makeImage($icon, $value, "icon");
$html .= '<br><span style="text-align:center"; "font-size:9px">' . $label . '</span>';
return $html;
} # end sub MakeIconwithLabel


klappt auch wie gewünscht.
Nun meine Frage:
Ich möchte den state mit dem devStateIcon ausgeben:

...valueFormat {'state' => '{MakeIconwithLabel("%devStateIcon",$VALUE,$VALUE)}',...

mit %devStateIcon geht es nicht.
Und $devStateIcon gibt es wohl auch nicht.
Vermutlich ist die Lösung ganz einfach, ... aber....


Und da habe ich noch was zum knobeln:

In einer rg zeige ich alle Thermostate an. Die "desired-temp" springt bei den fhts auf 12.0, wenn ein Fenster offen ist. Mit einer entsprechenden valueIcon wird dann statt des Auswahlmenüs für die desired-temp ein offenes Fenster angezeigt. Leider ist dies aber immer noch anklickbar und sendet "set th desired-temp 12.0" an das Thermostat. Im Sommer stehen aber die fhts alle auf "off" (nur bei offenem Fenster wird 12.0 angezeigt). Das Klicken hätte jetzt zur Folge, dass eine Aktivierung des Heizkreises stattfindet.
Wie kann ich also für 12.0 commands für desired-temp ausnehmen?

commands {'desired-temp.12.0' => '', 'desired-temp' => 'desired-temp:-,off,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0'

Das desired-temp.12.0 => '' zeigt leider keine Wirkung.

Das Icon:
valueIcon ... 'desired-temp.12.0' => 'signal_Fenster_Offen.on@red',

funktioniert allerdings, ist aber anklickbar.


Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ext23 am 07 Juli 2015, 08:07:25
Guten Morgen,

ich habe mal zwei oder drei Fragen zur readingsgroup. Irgendwie kommt man ja um die readingsgroup nicht rum wenn man die Sachen gescheit formatieren möchte ;-) Im Anhang mein Beispiel von dem ich hier rede. Achso und die Fragen stammen von einem Perl Muffel ;-)

1. Wie kann ich ein ValueIcon zentriert platzieren? attr valueStyle style="text-align:center" hilft hier nicht.

2. Kann ich beim attribut commands auch perl code einbauen? Hintergrund ist das ich das "gießen" erst ermöglichen möchte, wenn die Wassertonne noch voll genug ist. Hat diese den Status leer soll die Gießkanne keine Funktion hinterlegt haben.

3. Ich würde gerne die Zeit anzeigen wann die Schaltsteckdose an der die Pumpe angeschlossen ist zuletzt "ausgelöst" wurde. Einfach um zu sehen wann die Blumen das letzte mal bewässert wurden. Nun ist das ein bissel schwierig aber ich würde einfach mal ein Zeitstempel aus irgend einem reading benutzen (auch wenn diese nicht immer stimmen, geade nach einem status request). Wie mache ich das am besten? "attr notime 1" ist gesetzt.

Gruß
Daniel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 Juli 2015, 10:23:32
1. ist noch ein offenes todo

2. jein. direkt perl code geht zwar. aber das ist nicht wirklich praktikabel. siehe z.b. hier: http://forum.fhem.de/index.php/topic,14425.msg262811.html#msg262811 (http://forum.fhem.de/index.php/topic,14425.msg262811.html#msg262811). aber: du kannst dir den perl code einfach in ein notify stecken und es per trigger ... über commands auslösen.

beim nochmal lesen glaube ich aber du meinst etwas ganz anderes :) ...

dazu gibt es zwei möglichkeiten. wenn es einen eindeutigen wert gibt bei dem nichts passieren soll schreib den explizit vorher hin und mappe ihn auf nichts:..., 'tonne.leer' => undef, 'tone.voll' ='set ...', ...oder wie bei jedem anderen mapping mit perl:..., tonne => '{return undef if( $VALUE <10); return "set ..."; }', ...

3. etwa so:..., <{ReadingsTimestamp($DEVICE,'reading',""}@reading>, ...

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ext23 am 07 Juli 2015, 11:28:45
Ahh ok, Punkt 3 klappt (auch wenn ich noch nicht so richtig zufrieden bin, es gibt eben kein Zeitstempel der sagt wann die Dose zuletzt aus gegangen ist. Vermutlich müsste man da im Log schauen) UND das ist nicht Longpoll kompatible, zumindest updated der das erst beim refresh.

Punkt 1, ok, unkritisch.

Wegen Punkt 2: Ich hab in meinem Command Attribut:
commands    {"state.off"=>"set %DEVICE on-for-timer 360","state.on"=>"set %DEVICE off"}

Heißt ich müsste ja jetzt noch ein "status.voll" => "set %DEVICE on-for-timer 360" hinzufügen. (status ist das reading von der Tonne) Aber das kann doch so nicht funktionieren oder? Ich brache dann eher eine AND Verknüpfung, also status.voll && state.off, geht das?

Gruß
Daniel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: TeeVau am 07 Juli 2015, 13:41:14
Zu Punkt 3:
Ich habe sowas ähnliches letzte Woche gemacht. Vielleicht hilft es dir ja?!. Lediglich Longpoll funktioniert nicht, das mag aber an dem Unwissen zu readingsGroup liegen.
In die 99_myUtils:
# Rechnet aus einem Zeit String (FMT) die Sekunden aus seit Epoche.
# Author : Reinerlein http://forum.fhem.de/index.php/topic,11304.msg65976.html#msg65976
# Aufruf : GetTimeFromString("2015-07-02 15:05:36")
# Param 1: Datum und Zeit im FHEM fmt Format
# Return : Sekunden seit Epoche
sub GetTimeFromString($) {
my ($timeStr) = @_;

eval {
use Time::Local;
if($timeStr =~ m/^(\d{4})-(\d{2})-(\d{2}) ([0-2]\d):([0-5]\d):([0-5]\d)$/) {
return timelocal($6, $5, $4, $3, $2 - 1, $1 - 1900);
}
}
}

# Berechnet von einem Start Datum aus, wieviel Tage und Wochen vergangen sind.
# Author : TeeVau (fhem@622mbit.de)
# Aufruf : printDateDiff("2015-07-02 15:05:36") oder printDateDiff("2015-07-02 15:05:36", "2015-07-12 16:02:01")
# Param 1: Start Datum.
# Param 2: Optional: End Datum. Wenn nicht angegeben wird das aktuelle genommen.
# Return : <1-12> Woche[n], <> Tag[en]
sub printDateDiff($;$) {
  my($from, $to) = @_;
  my $logTxt = "";
  my $return = undef;
  $to = TimeNow() if (!defined($to));   #Ist keine "bis" Zeit angegeben verwende "jetzt"
 
  #Umwandeln in Epoche in die Sekunden subtrahieren
  my $diff = GetTimeFromString($to) - GetTimeFromString($from);
 
  #http://wiki.selfhtml.org/wiki/Perl/Funktionen_für_Datum_und_Uhrzeit
  my $Wochen = int($diff / (7 * 24 * 3600));
  $diff %= (7 * 24 * 3600);
  my $Tage = int($diff / (24 * 3600));
  $diff %= (24 * 3600);
 
  if ($Wochen != 0) {
    $return .= "$Wochen ";      #Wert
    if ($Wochen == 1) {$return .= "Woche"} else {$return .= "Wochen"}     #Text
  }
 
  if ($Tage != 0) {
    $return .= "$Tage ";        #Wert
    if ($Tage == 1) {$return .= "Tag"} else {$return .= "Tagen"}          #Text
  }
 
  if ($Tage == 0 && $Wochen == 0) { $return .= "Heute"; }

  return $return;
}



Mit printDateDiff() lasse ich mir dann Ausgeben wieviel Tage bzw. Wochen etwas her ist.

Das ganze sieht dann in der DEF so aus:
aq_wz_ww:,<>,<setWW>,<{printDateDiff(ReadingsTimestamp($DEVICE,"Wasserwechsel",""))}@reading>

Und ergibt im Ganzen das angehängte Bild.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 Juli 2015, 13:47:33
damit longpoll geht musst du den namen des readings angeben (nicht das wort reading):aq_wz_ww:,<>,<setWW>,<{printDateDiff(ReadingsTimestamp($DEVICE,"Wasserwechsel",""))}@Wasserwechsel>

zu 2: geht es jetzt um state oder um status?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ext23 am 07 Juli 2015, 15:20:24
Ach ich hatte das Device hinter dem @, ok aber auch mit dem reading geht bei mir das longpoll nicht. Also so habe ich das jetzt:
<{ReadingsTimestamp('sz_Giessanlage','CommandAccepted','error')}@CommandAccepted>

Es geht um beides, also wenn der state=off ist UND der status=voll dann soll die Gießkanne, also das Icon beim Drücken eine Aktion on-for-timer ausführen. Wenn state=off und status=leer dann soll nichts passieren und wenn state=on dann soll ein set off als command hinterlegt sein. So war mein Plan. Ich möchte halt vermeiden das jemand die Gießanlage aktiviert obwohl die Tonne leer ist.
Das reading "state" kommt von der HM-Steckdose, das reading "status" vom AVR-NET-IO der wiederum den Füllstand der Tonne dort wiederspiegelt.

Gruß
Daniel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 Juli 2015, 22:34:37
erzeugt das Reading ein event um event monitor?

wenn du das kommando von zwei readings abhäng machen willst dann brauchst du die variante mit perl code  {...}

wenn du auch dafür eine longpoll aktualisierung willst musst du das zusammenbauen der bedingung aber in ein notify auslagern und nur das ergebnis der verknüpfung in der readingsGroup auswerten.

gruß
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ulli am 07 Juli 2015, 22:44:05
Weiß wer warum folgendes readingsGroup nicht aktualisiert wird durch einen LongPoll?

define rg_Raumklima readingsGroup <Raum>,<Status>,<Mode>,<Soll-Temp>,<nextUpdate>,<Ist-Temp>,<Ist-Feuchtigkeit>,<Taupunkt>,<Battery>,<Off>,<On> \
Heizung:state,<>,<>,<>,<>,<>,<>,<>,<{"%temp_temperature_min%set+Heizung+off"}@state>,<{"%sani_heating_timer%set+Heizung+on"}@state> \
.._Heating:state,setMode@{$DEVICE."Valve"},setTemp@{$DEVICE."Valve"},nextUpdate@{$DEVICE."Control"},!temperature@!{$DEVICE."_Climate"},!humidity@!{$DEVICE."_Climate"},!dewpoint@!{$DEVICE."_Climate"},!battery@!{$DEVICE."_Climate"},<{"%temp_temperature_min%set+$DEVICE+off"}@state>,<{"%sani_heating_timer%set+$DEVICE+on"}@state>
attr rg_Raumklima commands { 'setMode' => 'setMode:' }
attr rg_Raumklima mapping { 'WZ_Heating' => 'Wohnzimmer', 'SZ_Heating' => 'Schlafzimmer', 'Heizung' => 'Heizung' }
attr rg_Raumklima nameStyle style='text-align:left;;'
attr rg_Raumklima valueFormat {'temperature' => "%.0f °C", 'setTemp' => "%.0f °C", 'humidity' =>"%.0f %%" , 'nextUpdate' => '{myTimeTillUpdate($VALUE,"")}'}
attr rg_Raumklima valueStyle {myReadingsGroupClimateValueStyle($DEVICE,$READING,$VALUE)}
attr rg_Raumklima valueIcon { state => '%devStateIcon', 'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red' }
attr rg_Raumklima noheading 1
attr rg_Raumklima group Raumklima


Der Status der Devices wird einzeln in FHEM über einen LongPoll aktualisiert aber im readingsGroup Device nicht...
Was mache ich denn falsch?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ext23 am 07 Juli 2015, 23:24:52
Zitat von: justme1968 am 07 Juli 2015, 22:34:37
erzeugt das Reading ein event um event monitor?

wenn du das kommando von zwei readings abhäng machen willst dann brauchst du die variante mit perl code  {...}

wenn du auch dafür eine longpoll aktualisierung willst musst du das zusammenbauen der bedingung aber in ein notify auslagern und nur das ergebnis der verknüpfung in der readingsGroup auswerten.

Das erzeugt vermutlich kein event nein, aber gut, ich muss mir da was anderes einfallen lassen, die Zeiten sind nicht das was ich brauche, das ist mir zu unsicher. Ich pack das erst mal nach hinten in die queue. Dann schau ich mir mal die funktion oben von TeeVau an, das brauche ich dazu nämlich auch, sieht besser aus als die plumpe Timestamp.

Ja sind zwei readings, ok also perl. Longpoll brauch ich auch, weil sich der status der Tonne ja ändern kann im laufe der Zeit und da muss der ja sofort drauf reagieren und das commando unterbinden. Dann muss ich mir das mit dem Notify mal anschauen, dann werd ich das so machen. Also notify -> Bedingung -> Ergebnis in eine Variable -> die Variable dann auswerten. Gut ich versuch das mal so.

Dank dir.

Gruß
Daniel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: TeeVau am 08 Juli 2015, 07:13:38
Hallo Daniel,

nur zur Info: Je nachdem wie wichtig dir die Genauigkeit der Zeitangabe ist, musst du an meiner Funktion ggf. noch einmal Hand anlegen. Es ist z.B. so, dass erst dann "1 Tag" ausgegeben wird, wenn wirklich 24 Stunden vorbei sind. Alles unter 24 Stunden wird wiederum als "heute" ausgegeben.
Für meinen Anwendungsfall reicht das aus. Ich verwende es als "Logbuch" für diverse Parameter der zwei Aquarien. Die Zeitangabe brauche ich in diesem Fall nicht so akkurat. Ein paar Stunden Toleranz sind da akzeptabel.

@André
Danke für den Hinweis, jetzt funktioniert es (Hab mich schon gewundert über die Syntax. @reading kam mir irgendwie so komisch vor vor;-) )
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 08 Juli 2015, 11:43:25
Hallo Andre,

Zitat:
dazu gibt es zwei möglichkeiten. wenn es einen eindeutigen wert gibt bei dem nichts passieren soll schreib den explizit vorher hin und mappe ihn auf nichts:
Code: [Auswählen]
..., 'tonne.leer' => undef, 'tone.voll' ='set ...', ...

Ich hatte in
« Antwort #1399 am: 27 Juni 2015, 17:56:44 »
folgendes gefragt, aber leider klappt Dein Tipp nicht.

In einer rg zeige ich alle Thermostate an. Die "desired-temp" springt bei den fhts auf 12.0, wenn ein Fenster offen ist. Mit einer entsprechenden valueIcon wird dann statt des Auswahlmenüs für die desired-temp ein offenes Fenster angezeigt. Leider ist dies aber immer noch anklickbar und sendet "set th desired-temp 12.0" an das Thermostat. Im Sommer stehen aber die fhts alle auf "off" (nur bei offenem Fenster wird 12.0 angezeigt). Das Klicken hätte jetzt zur Folge, dass eine Aktivierung des Heizkreises stattfindet.
Wie kann ich also für 12.0 commands für desired-temp ausnehmen?

commands {'desired-temp.12.0' => '', 'desired-temp' => 'desired-temp:-,off,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0'


Das Icon:
valueIcon ... 'desired-temp.12.0' => 'signal_Fenster_Offen.on@red',

funktioniert allerdings, ist aber weiterhin anklickbar.

oder auch
commands {'desired-temp.12.0' => 'undef', 'desired-temp' => 'desired-

zeigt weiterhin das Icon als anklickbar an.

Sind vielleicht die 2 x '.'
in desired-temp.12.0
das Problem?

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 Juli 2015, 15:01:21
@Elektrolurch: ich kann das problem nur bedingt nachstellen. bzw das eigentliche problem ist nicht das das mapping nicht funktioniert (wenn die seite neu aufgebaut wird wird bei 12.0 nur der wert angezeigt und ist nicht anklickbar und bei anderen werten wird das dropdown angezeigt und is auswählbar) sondern das umschalten zwischen einem aktiven element (das dropdown) und einem reinen text.

das umschalen wäre zwar prinzipiell noch möglich, aber auf fhem/perl seite weiss ich gar nicht nicht das gerade ein dropdown bzw aktives element angezeigt wird. und wenn ich das wüsste könnte ich relativ einfach auch nur vom drop down zum text schalten und nicht wieder zurück.

ich muss mal schauen ob es hierfür eine lösung gibt.

das aktuelle icon musst du dir dann in deiner sub auch selber holen. das geht mit etwa so:my $room = ($FW_room ? "&amp;room=$FW_room" : "");
my (undef, undef, $icon) = FW_devState($name, $room, ());


gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ulli am 10 Juli 2015, 18:32:29
Andre, hast du eine Idee warum meine rg nicht über einen LongPoll aktualisiert wird?

Zitat von: ulli am 07 Juli 2015, 22:44:05
Weiß wer warum folgendes readingsGroup nicht aktualisiert wird durch einen LongPoll?

define rg_Raumklima readingsGroup <Raum>,<Status>,<Mode>,<Soll-Temp>,<nextUpdate>,<Ist-Temp>,<Ist-Feuchtigkeit>,<Taupunkt>,<Battery>,<Off>,<On> \
Heizung:state,<>,<>,<>,<>,<>,<>,<>,<{"%temp_temperature_min%set+Heizung+off"}@state>,<{"%sani_heating_timer%set+Heizung+on"}@state> \
.._Heating:state,setMode@{$DEVICE."Valve"},setTemp@{$DEVICE."Valve"},nextUpdate@{$DEVICE."Control"},!temperature@!{$DEVICE."_Climate"},!humidity@!{$DEVICE."_Climate"},!dewpoint@!{$DEVICE."_Climate"},!battery@!{$DEVICE."_Climate"},<{"%temp_temperature_min%set+$DEVICE+off"}@state>,<{"%sani_heating_timer%set+$DEVICE+on"}@state>
attr rg_Raumklima commands { 'setMode' => 'setMode:' }
attr rg_Raumklima mapping { 'WZ_Heating' => 'Wohnzimmer', 'SZ_Heating' => 'Schlafzimmer', 'Heizung' => 'Heizung' }
attr rg_Raumklima nameStyle style='text-align:left;;'
attr rg_Raumklima valueFormat {'temperature' => "%.0f °C", 'setTemp' => "%.0f °C", 'humidity' =>"%.0f %%" , 'nextUpdate' => '{myTimeTillUpdate($VALUE,"")}'}
attr rg_Raumklima valueStyle {myReadingsGroupClimateValueStyle($DEVICE,$READING,$VALUE)}
attr rg_Raumklima valueIcon { state => '%devStateIcon', 'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red' }
attr rg_Raumklima noheading 1
attr rg_Raumklima group Raumklima


Der Status der Devices wird einzeln in FHEM über einen LongPoll aktualisiert aber im readingsGroup Device nicht...
Was mache ich denn falsch?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 Juli 2015, 18:33:49
siehst du etwas in der JavaScript console?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ulli am 10 Juli 2015, 18:47:27
Nein ich bekomme bei dem ReadingGroup keine Updates.
Wenn ich in die rg options gehe sehe ich folgendes auf der JS-console:

"18:43:53.732 FW_queryValue:{ReadingsVal("rg_Raumklima","visibility","")}" fhemweb.js:209:4
"18:43:53.736 FW_queryValue:{AttrVal("rg_Raumklima","room","")}" fhemweb.js:209:4
"18:43:53.967 Longpoll with filter rg_Raumklima" fhemweb.js:209:4
"18:43:54.016 Rcvd: " fhemweb.js:209:4
"18:44:19.047 Rcvd: ["#FHEMWEB:FHEMWEB:192.168.178.32:39372","$('#saveCheck').css('visibility','visible')",""]"

sonst kommt nichts.

Gehe ich jetzt direkt in das Device "WZ_Heating_Climate" welches die Temperaturen beinhaltet, werden die Readings regelmäßig aktualisiert und es gibt folgende Ausgabe auf der js-console:

"18:46:08.099 Rcvd: ["WZ_Heating_Climate-battery","ok","ok"]" fhemweb.js:209:4
"18:46:08.100 Rcvd: ["WZ_Heating_Climate-battery-ts","2015-07-10 18:46:08","2015-07-10 18:46:08"]" fhemweb.js:209:4
"18:46:08.101 Rcvd: ["WZ_Heating_Climate-dewpoint","8.6","8.6"]" fhemweb.js:209:4
"18:46:08.101 Rcvd: ["WZ_Heating_Climate-dewpoint-ts","2015-07-10 18:46:08","2015-07-10 18:46:08"]" fhemweb.js:209:4
"18:46:08.102 Rcvd: ["WZ_Heating_Climate-temperature","24.2","24.2"]" fhemweb.js:209:4
"18:46:08.103 Rcvd: ["WZ_Heating_Climate-temperature-ts","2015-07-10 18:46:08","2015-07-10 18:46:08"]" fhemweb.js:209:4
"18:46:08.103 Rcvd: ["WZ_Heating_Climate-humidity","37","37"]" fhemweb.js:209:4
"18:46:08.104 Rcvd: ["WZ_Heating_Climate-humidity-ts","2015-07-10 18:46:08","2015-07-10 18:46:08"]"

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Talkabout am 10 Juli 2015, 19:02:41
Hallo Andre,

ich habe eine technische Frage zu den ReadingsGroups. In FHEMWEB wird für Dein Modul die JavaScript-Datei

fhemweb_readingsGroup.js

mit in die HTML Seite eingebettet. Diese Datei beinhaltet einen ready-Handler um auf das onload-Event der Seite zu reagieren. Die Methode führt dann folgenden Code aus:

function
FW_readingsGroupReadyFn() {
  // replace all informIds of the form devName-readingName with rgName-devName.readingName
  $(".readingsGroup").each(function() {
    var name = $(this).attr('id').split("-")[1];
    $(this).find("[informId]").each(function() {
      var informId = $(this).attr('informId');
      var parts = informId.split("-");
      if( parts[0] != name ) {
        informId = name+'-'+informId.replace('-','.');
        $(this).attr('informId', informId);
      }
    });
  });
}


Im Dashboard werden die einzelnen Tabs per AJAX nachgeladen, was dazu führt, dass die Methode für die auf diese Weise geladenen Tabs nicht ausgeführt wird. Nun meine Frage, wie wichtig die Ausführung dieser Methode ist? Ich habe sie bei mir im Code nun so eingebaut, dass sie aufgerufen wird, sobald ein Tab geladen ist. Ich weiss aber nicht, ob ich damit etwas kaputt mache, wenn die Methode mehrfach läuft. Für den Use Case im Dashboard wäre es auch nicht schlecht, wenn man der Methode ein Root-Objekt mitgeben kann, auf dem sie anfängt zu suchen. So etwas wie:

function
FW_readingsGroupReadyFn($rootNode) {
  // replace all informIds of the form devName-readingName with rgName-devName.readingName
  var $selector = $rootNode ? $rootNode.find('.readingsGroup') : $('.readingsGroup');
  $selector.each(function() {
    var name = $(this).attr('id').split("-")[1];
    $(this).find("[informId]").each(function() {
      var informId = $(this).attr('informId');
      var parts = informId.split("-");
      if( parts[0] != name ) {
        informId = name+'-'+informId.replace('-','.');
        $(this).attr('informId', informId);
      }
    });
  });
}


Damit könnte ich den Overhead entfernen der entsteht, wenn das komplette Dokument durchsucht wird und es nur auf die Objekte im neu geladenen Tab beschränken.

Danke Dir!

Gruss
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 Juli 2015, 19:40:44
@ulli: geht es um eine readingsGroup in der raum ansicht oder im dashboard?

@Talkabout: die routine ist dazu da um in widgets (slider, drop down, ...) und dem state icon - die jeweils über fhemweb eigene routinen erzeugt werden und somit eine informid devName-readingName haben - mit einer informId zu versehen bei der die readingsGroup der devName ist. sonst passt die informId nicht zu den events die die readingGroup erzeugt. die original device events werden ja ausgefiltert wenn das eigentliche device nicht im angezeigten raum ist.

ohne die routine gehen dann die longpoll updates für diese elemente nicht. das mehrfach aufrufen sollte kein problem sein.

die idee ein optionales root objekt zu übergeben ist gut. wenn du magst kann ich das nachher genau so einchecken.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Talkabout am 10 Juli 2015, 19:44:05
Zitat von: justme1968 am 10 Juli 2015, 19:40:44
@ulli: geht es um eine readingsGroup in der raum ansicht oder im dashboard?

@Talkabout: die routine ist dazu da um in widgets (slider, drop down, ...) und dem state icon - die jeweils über fhemweb eigene routinen erzeugt werden und somit eine informid devName-readingName haben - mit einer informId zu versehen bei der die readingsGroup der devName ist. sonst passt die informId nicht zu den events die die readingGroup erzeugt. die original device events werden ja ausgefiltert wenn das eigentliche device nicht im angezeigten raum ist.

ohne die routine gehen dann die longpoll updates für diese elemente nicht. das mehrfach aufrufen sollte kein problem sein.

die idee ein optionales root objekt zu übergeben ist gut. wenn du magst kann ich das nachher genau so einchecken.

gruss
  andre
Danke Dir für die Erklärung.

Einchecken gerne, aber teste es bitte vorher. Ich habe den Code direkt im Forum geändert, daher keine Garantie auf Korrektheit ;)

Gruss
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ulli am 10 Juli 2015, 19:58:47
Ich bekomme kein update in der Raum Ansicht und auch nicht im Dashboard.
(ich dachte anfangs das es am Dashboard liegt.  Habe aber heute gemerkt das es auch nicht in einem Raum aktualisiert wird.)

Gesendet von meinem SM-P600 mit Tapatalk

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Talkabout am 10 Juli 2015, 20:00:24
Zitat von: ulli am 10 Juli 2015, 19:58:47
Ich bekomme kein update in der Raum Ansicht und auch nicht im Dashboard.
(ich dachte anfangs das es am Dashboard liegt.  Habe aber heute gemerkt das es auch nicht in einem Raum aktualisiert wird.)

Gesendet von meinem SM-P600 mit Tapatalk
Hallo Ulli,

kann ich dann erstmal davon ausgehen, dass das Problem für das Dashboard nicht mehr relevant ist? Ich würde gerne die anderen Bugfixes einchecken, aber solange Du noch die Probleme hattest wollte ich warten...

Gruss
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ulli am 10 Juli 2015, 20:54:21
So wie es aussieht ist es ein generelles rg problem...daher unabhängig von dashboard.
Ich hoffe daher das andre mir helfen kann.

Besten dank

Gesendet von meinem SM-P600 mit Tapatalk

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Talkabout am 10 Juli 2015, 22:16:20
Zitat von: justme1968 am 10 Juli 2015, 19:40:44
die idee ein optionales root objekt zu übergeben ist gut. wenn du magst kann ich das nachher genau so einchecken.
Ich habe den Aufruf im Dashboard nun so angepasst, dass dort für jeden Tab dessen jquery-Objekt als Parameter an Deine Methode übergeben wird. Wenn Du also meine Änderungen eincheckst, greift diese direkt auch im Dashboard.

Gruss
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 12 Juli 2015, 16:54:05
bin leider noch nicht dazu gekommen. kommt aber auf jeden fall noch.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ulli am 14 Juli 2015, 18:46:23
Ich habe das Problem endlich gefunden warum mein rg nicht per LongPoll aktualisiert wird.
!temperature@!{$DEVICE."_Climate"}

Das ! nach dem @ führt dazu das das Reading nicht aktualisiert wird.
Es funktioniert nur wie folgt:
!temperature@{$DEVICE."_Climate"}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Talkabout am 14 Juli 2015, 18:48:26
Zitat von: ulli am 14 Juli 2015, 18:46:23
Ich habe das Problem endlich gefunden warum mein rg nicht per LongPoll aktualisiert wird.
!temperature@!{$DEVICE."_Climate"}

Das ! nach dem @ führt dazu das das Reading nicht aktualisiert wird.
Es funktioniert nur wie folgt:
!temperature@{$DEVICE."_Climate"}
Funktioniert es damit auch im Dashboard?

Gruss
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ulli am 14 Juli 2015, 18:58:43
yep! :)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 19 Juli 2015, 21:15:54
Hallo andre,

mal wieder eine kleine Frage:
in der readingsGroup für meine Heizkörper lasse ich mir den btnLock anzeigen und steuern, funktioniert soweit auch ganz okay, nur haben die HM-CC-RT-DN drei Lock-Modus btnLock, globalBtnLock und ModusBtnLock, um flexibel zu sein habe ich diese in einen Dummy geschrieben, sodass ich dort umschalten kann um die richtige Art in der readingsGroup angezeigt zu bekommen. Gelöst habe ich das momentan über valueFormat

'btnLock' => '{ReadingsVal(readingsGroup($DEVICE,"device"),"R-".AttrVal("default_hc","lockMode","btnLock"),"off")}'

nur wird es hier ja nicht über longpoll aktualisiert. Kann man irgendwie etwas bauen, dass in der DEF steht

...,{"R-".AttrVal("default_hc","lockMode","btnLock")}@readingsGroup($DEVICE,"device"),...

Ansonsten muss ich mir ein notify schreiben, dass die DEF der readingsGroup ändert, sobald ich das Attribut ändere.

Grüße
igami
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 09 August 2015, 21:36:52
Hi, hab plötzlich diese Meldungen im Log
2015.08.09 21:38:03.677 1: PERL WARNING: Subroutine VU_UltimoRGvalueFormat redefined at ./FHEM/99_myUtils.pm line 178.
2015.08.09 21:38:03.679 1: PERL WARNING: Subroutine rg_Uno_Schlafzimmer_1valueFormat redefined at ./FHEM/99_myUtils.pm line 195.
2015.08.09 21:38:03.681 1: PERL WARNING: Subroutine rg_Uno_Kellerbar_1valueFormat redefined at ./FHEM/99_myUtils.pm line 212.
2015.08.09 21:38:03.688 1: PERL WARNING: Subroutine MuelltermineA redefined at ./FHEM/99_myUtils.pm line 230.


dabei handelt es sich um rd's
in myUtils steht
in 178:
{
in 195
{
ind 212
{
in 230 genauso {

heisst das am ende fehlen nur 4 }
??
Titel: Antw:Neues Modul readingsGroup
Beitrag von: stromer-12 am 09 August 2015, 22:12:56
Das kommt bei Änderung der myUtils zur Laufzeit mitunter vor.

Gesendet von meinem GT-I9295

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Gizmoh am 18 August 2015, 12:40:59
Hallo zusammen,

ich habe ein Problem mit einer ReadingsGroup bzw. mit leeren Spalten in einer RG
Ich habe eine Zeile wie folgt definiert:
DEF
<%max_heizungsthermostat>,<Ventil>,<Soll>,<Ist>,<MaxV>,<GID>,<Mode>,<Batterie>,<Temperatur> MAX_029e10:<>,state,temperature,maxValveSetting,<>,groupid,mode,battery,state@HeizkoerperWohnzimmer

Dazu kommen noch andere Heizkörper, dieses Wandthermostat hat keine Ventilstellung und keine Max-Ventilstellung, daher habe ich diese Spalten mit "<>" leer gemacht.

Wenn ich dies allerdings mache wird der Link auf auf Device aus der rg entfernt. Ohne die <> kann ich in der ersten Spalte auf den Devicenamen klicken und lande in der Detailansicht.
Wie kann ich die Spalten leer lassen und trotzdem den Link aufs Device behalten?

Danke und Grüße
Gizmoh
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 18 August 2015, 12:48:48
du kannst entweder den link von hand einbauen. beispiele gibt es weiter oben und ich glaube auch im wiki oder du kannst valueColumn verwenden um ein reading in eine bestimmte spalte zu schieben und die leeren spalten automatisch zu überspringen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 19 August 2015, 06:54:42
Hi,
bekomme jetzt beim fhem start diese Meldung:

2015.08.19 06:42:52.501 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 525.

Hab ich was falsch definiert?

EDIT
und bei aktiviertem stacktrace, diesen Log eintrag
2015.08.19 20:33:32.776 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 525.
2015.08.19 20:33:32.776 3: stacktrace:
2015.08.19 20:33:32.776 3:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (524)
2015.08.19 20:33:32.777 3:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (992)
2015.08.19 20:33:32.777 3:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1081)
2015.08.19 20:33:32.777 3:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1493)
2015.08.19 20:33:32.778 3:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (806)
2015.08.19 20:33:32.778 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (435)
2015.08.19 20:33:32.778 3:     main::FW_Read                       called by fhem.pl (3046)
2015.08.19 20:33:32.779 3:     main::CallFn                        called by fhem.pl (649)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: tiwo85 am 29 August 2015, 12:14:28
Hallo,
ich brauch jetzt auch mal Hilfe  ;)

Ich versuche die ganze Zeit das Beispiel aus dem Wiki http://www.fhemwiki.de/wiki/ReadingsGroup#Heizungsteuerung_f.C3.BCr_HM_Wand-_und_Heizk.C3.B6rperthermostate für meine FHTs umzusetzen. Soweit so gut, die Anzeige funktioniert samt der Icons.

(http://images.tapatalk-cdn.com/15/08/29/7974be68e061716a448567160e19576c.jpg)

Aber die Anzeige des Ventils (actuator) macht mir im Log PERL WARNINGs
PERL WARNING: Argument "27%" isn't numeric in devision (/) at ...

in fhem sieht das ganze so aus:
attr heatingInfo valueFormat {if($READING eq "actuator" && $VALUE ne "0"){$VALUE = int(int($VALUE)/10)*10}}

Auszug aus

attr heatingInfo valueIcon:

'actuator.0' => 'sani_heating_level_0@002AE0',
'actuator.10' => 'sani_heating_level_10@F8D53D','actuator.20' => 'sani_heating_level_20@FF9341',
'actuator.30' => 'sani_heating_level_30@F17F3F','actuator.40' => 'sani_heating_level_40@E46C3C',
'actuator.50' => 'sani_heating_level_50@DE3B3A','actuator.60' => 'sani_heating_level_60@A30D2D',
'actuator.70' => 'sani_heating_level_70@B40A23','actuator.80' => 'sani_heating_level_80@C40619',
'actuator.90' => 'sani_heating_level_90@D4030F','actuator.100' => 'sani_heating_level_100@E50005'


ich habe schon aus
$VALUE = int($VALUE/10)*10
$VALUE = int(int($VALUE)/10)*10 gemacht. Die Warnings bleiben und müllen mir das Log voll.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 29 August 2015, 12:21:18
int() ist nicht geeignet den nichtnumerischen teil abzuschneiden. das ginge z.b. mit einer regex.

nimm $NUM statt $VALUE. das ist der numerische wert.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: tiwo85 am 29 August 2015, 12:24:58
Danke,
Das war's

Gesendet von meinem D5803 mit Tapatalk

Titel: Antw:Neues Modul readingsGroup
Beitrag von: volschin am 30 August 2015, 00:30:22
Hallo zusammen,
ich stehe gerade etwas auf dem Schlauch, Wenn ich einen Wert ohne Kommas im define angebe, bekomme ich den Timestamp mit rein. Aber wie bekomme ich den wieder, wenn ich mehrere Werte angegeben habe, für einen bestimmten Wert?

Mein define sieht aktuell so aus:
<Raum>,<VOC>,<Luftquali>,<TP>,<Lüftung>,<Fenster>
AirQuality.Bad:sensor_value,state,state@Humidity.Bad,state@Lueftung.Bad,state@Fenster.Bad
AirQuality.Kueche:sensor_value,state,state@Humidity.Kueche,state@Lueftung.Kueche,state@s_Fenster.Schlafen
AirQuality.Schlafen:sensor_value,state,state@Humidity.Schlafen,state@Lueftung.Schlafen,state@s_Fenster.Schlafen
AirQuality.Wohnen:sensor_value,state,state@Humidity.Wohnen,state@Lueftung.Wohnen,state@s_Fenster.Schlafen


Jetzt möchte ich den Timestamp von AirQuality.Bad:sensor_value mit drin haben. An anderer Stelle mache ich das mit
{ReadingsTimestamp("AirQuality.Bad","sensor_value","")}.

Hier führt der Einbau zum sofortigen Absturz von FHEM.

Hat jemand eine Hilfestellung für mich?

Gruß
Veit
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 30 August 2015, 11:25:22
...,<{...}>,...

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 30 August 2015, 11:25:58
...,<{...}>,...

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: volschin am 30 August 2015, 18:22:29
Danke, funktioniert grundsätzlich, aber ich verliere den Longpoll. Gibt es noch eine andere Möglichkeit den Timestamp wieder reinzubekommen mit Longpoll?

Gruß
Veit
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 30 August 2015, 18:34:09
zwischen } und > mit @ den reading namen anhängen

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frank am 03 September 2015, 10:37:39
hallo andre,

ich habe probleme mit freezes (perfmon) bei einer readingsgoup, die seit den veränderungen im juni auftreten. mit der version 8462 scheint noch alles halbwegs normal zu laufen. seit dem müssen sich die verarbeitungszeiten bei einer readingsänderung mindestens verdoppelt haben, sodass nun bei jeder readingsänderung freezes auftauchen, sobald die readingsgroup sichtbar ist.

könntest du mal einen blick riskieren, ob es eventuell möglich ist, ein paar optimierungen zu finden. irgend etwas muss in den neuen versionen ja "hakeln". die readingsgroup ist bestimmt seit frühjahr des jahres unverändert und fehler/warnungen werden mit der aktuellen version auch nicht gemeldet.
http://forum.fhem.de/index.php/topic,40635.msg328563.html#msg328563 (http://forum.fhem.de/index.php/topic,40635.msg328563.html#msg328563)

gruss frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 03 September 2015, 11:15:16
hab dir im anderen thread geantwortet.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 07 September 2015, 20:15:03
Hallo,

wollte heute mal die
set name visibility hide
ausprobieren.

1. Dabei ist mir aufgefallen, dass wohl in der Commandref beim set-Befehl das "visibility" in der Beschreibung fehlt (oder es wird mir nicht vorgelesen)

2. set name visibility hide

hat leider nicht zum Ergebnis, dass die rg ausgeblendet wird.  Habe ich das falsch verstanden, dass mit dem set name visibility show/hide nicht die Sichtbarkeit in einer Seite ein- oder ausgeschaltet werden kann??
Eine Fehlermeldung gibt es jedenfalls nicht.
Möchte in Abhängigkeit von den in der ersten rg angezeigten Werte die weiteren rgs ein- bzw. ausblenden.


Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 20 September 2015, 15:51:01
Hallo,

das mit visibility klappt nicht, ich habe jetzt disable auf 3 gesetzt und damit bekomme ich die gewünschte (ausgeblendete) Darstellung. Was visibility machen soll, ist mir nicht klar.

Habe da noch ein anderes Problem:

Mit folgender Definition möchte ich das Icon für Shuffle und Repeat nur dann anzeigen, wenn currentNormalAudio = 1 ist, beim Radio-Stram macht ja "zufällige Wiedergabe" oder "Wiederholen" keinen Sinn.
   DEF        SonosCC:!Previous,transportState,!Next,!VolumeD,!VolumeU,Loudness,!Mute,<{ReadingsVal($DEVICE,'currentNormalAudio',0)?'Shuffle':undef}>@currentNormalAudio,<{ReadingsVal($DEVICE,'currentNormalAudio',0)?'Repeat':undef}>@currentNormalAudio

Und wenn

     2015-09-20 15:29:44   currentNormalAudio 1

werden die beiden Icons trotzdem nicht angezeigt.
Ich habe die CommandRef so verstanden, dass

<{perl Ausdruck, der den Readingnamen zurückliefrt}> ist und
@reading2 das reading ist, dass auch longpoll triggert.
Die Anzeige soll sich sowohl aktualisieren, wenn Shuffle oder Repeat sich ändert, als auch wenn der Audiostream umgeschaltet wird (ein/ausblenden der Icons)

Was mache ich da falsch?

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 14 November 2015, 13:23:09
Hallo,

attr SonosCC_rg0 valueSuffix {'state.on' => '<br><span style="text-align:center">ein<br>$ROOM</span>','state.off' => '<br><span style="text-align:center">aus<br>$ROOM</span>' }

Weder $ROOM noch %ROOM werden ersetzt. Auf dem Screen erscheint an der entsprechenden Stelle nur "$ROOM".


Geht die Ersetzung für ValueSuffix nicht?

Für den vorigen Post habe ich auch noch keine Lösung gefunden.

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 15 November 2015, 12:02:13
bis jetzt wird ROOM (und GROUP) nur für mapping, valueIcon und nameIcon unterstützt. das muss ich noch vereinheitlichen.

visibility ist dazu da eine readingsGroup (oder einen teil davon) ein und aus zu blenden. du musst aber auch das visibility attribut passend setzen.

das mit dem icons schaue ich mir an.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 15 November 2015, 12:18:21
Ok. Danke. Hatte schon im Code von Lookup2 nachgesehen.
Habe mir über eine sub einen Workaround gebastelt. Wäre allerdings schön, wenn das tatsächlich einheitlich wäre. Ich muss mir ja wg. Screenreader zu jedem Icon noch einen Text basteln, da brauche ich schon ziemlich häufig das valueSuffix. Hier in dem Fall sollte der Raumname der Schalter angezeigt werden.

Mit dem visibility Attribut hatte ich auch schon herumgespielt, aber mit wenig Erfolg.
Derzeit setze ich für die rgs, die ein-/ausgeblendet werden sollen, disable auf 3 und rufe die js-Funktion für den Screenaufbau auf.
Die hat allerdings den Nachteil, dass bei meinem Firefox (aktuelle Version) eine Nachfrage kommt, wenn zwei Fenster offen sind und dann wird das Fenster im Hintergrund nach vorne gepoppt und fhem ist dann nicht mehr das aktive Fenster. So ganz ist das noch nicht zufriedenstellend..

Gruß und schönes Wk.

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: smeagel am 19 November 2015, 05:00:07
Hallöchen,

ich habe hier ein ,vielleicht, ganz triviales Problemchen....

Ich möchte in einer rg alle Devices haben, welche mit Temperatur im alias anfangen.

Ich habe mir schon überall den Wolf gesucht aber komme leider nicht weiter -
gibt es hier jemand der mir vielleicht weiterhelfen könnte?


Danke & Gruß, Smeagel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: grappa24 am 23 November 2015, 20:13:48
PERL WARNING: Argument "%EVTPART1" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 525

Diesen Fehler habe ich seit dem heutigen update. Liegt das am Code selbst oder an einem falschen Einsatz meinerseits?

VG Dieter
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 24 November 2015, 11:04:06
das EVTPART in der readingsGroup geht ist mehr oder weniger zufall und nicht direkt beabsichtigt. du solltest $VALUE oder $NUM verwenden.

ansonsten schau mal ob jetzt $EVTPART1 geht. ist teil der featurelevel 5.7 umstellung in fhem.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: grappa24 am 24 November 2015, 15:55:21
Zitat von: justme1968 am 24 November 2015, 11:04:06ansonsten schau mal ob jetzt $EVTPART1 geht. ist teil der featurelevel 5.7 umstellung in fhem.
mit $EVTPART1 gehts, danke Andre - da hatte sich doch glatt ein altes Stück Code versteckt ... :o
Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 25 November 2015, 13:45:26
ich habe mir eine Readingsgroup erstellt die bisher auch richtig angezeigt hat.

Jetzt habe ich den Terrassen Sensor ausgetauscht weil der auch den Luftdruck anzeigt, diesen bekomme ich aber nicht in der readingsgroup zum anzeigen, wo liegt mein Fehler..?


DEF der readingsgroup:
Temperatur_Norden:,<Temperatur>,temperature,<Luftfeuchte>,humidity Temperatur_Terrasse:,<Temperatur>,temperature,<Luftfeuchte>,humidity,<Helligkeit>,luminosity,<Luftdruck>pressure

valueFormat der readingsgroup:
{ temperature => "%.1f °C", humidity => "%.1f %%", luminosity => "%.1f Lx", pressure => "%i mbar" }


valueStyle der readingsgroup:
{ if($DEVICE eq "Eingang Norden" && $READING eq "temperature" && $VALUE > 30) { 'style="color:red"'}elsif($DEVICE eq "Eingang Norden" && $READING eq "temperature" && $VALUE > 22) { 'style="color:orange"'}elsif($DEVICE eq "Eingang Norden" && $READING eq "temperature" && $VALUE < 5) { 'style="color:blue"'}elsif($DEVICE eq "Terrasse Süden" && $READING eq "temperature" && $VALUE > 30) { 'style="color:red"'}elsif($DEVICE eq "Terrasse Süden" && $READING eq "temperature" && $VALUE > 22) { 'style="color:orange"'}elsif($DEVICE eq "Terrasse Süden" && $READING eq "temperature" && $VALUE < 5) { 'style="color:blue"'}elsif($READING eq "humidity" && $VALUE > 65) { 'style="color:red"'}elsif($READING eq "humidity" && $VALUE > 60) { 'style="color:orange"'}elsif($READING eq "luminosity" && $VALUE < 20) { 'style="color:red"'}elsif($READING eq "luminosity" && $VALUE < 150) { 'style="color:orange"'}elsif($READING eq "pressure" && $VALUE < 1000) { 'style="color:red"'}elsif($READING eq "pressure" && $VALUE < 900) { 'style="color:orange"'}else{'style="color:lightgreen"'} }

Frage am Rande, wie habt ihr eure Werte definiert, also ab wann rot, orange, blau und grün angezeigt wird.
Wäre mal interessant zu wissen besonders grad jetzt bei dem Luftdruckwert da ich den bisher nicht hatte.
Kann ich auch vor den Werten jeweils noch ein Icon anzeigen..?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: grappa24 am 25 November 2015, 14:49:58
Zitat von: moonsorrox am 25 November 2015, 13:45:26
Frage am Rande, wie habt ihr eure Werte definiert, also ab wann rot, orange, blau und grün angezeigt wird.
Wäre mal interessant zu wissen besonders grad jetzt bei dem Luftdruckwert da ich den bisher nicht hatte.
Hier mal meine Abstufungen:
Luftfeuchte: blau unter 40%, dann grün bis 60%, darüber rot
Temperatur: blau unter 6 °C, dann grün bis 24°C, darüber rot
Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 26 November 2015, 01:55:48
Den Fehler habe ich jetzt gefunden...!  ;)
Hier fehlt ein Komma "<Luftdruck>,pressure"

Zitat von: grappa24 am 25 November 2015, 14:49:58
Hier mal meine Abstufungen:
Luftfeuchte: blau unter 40%, dann grün bis 60%, darüber rot
Temperatur: blau unter 6 °C, dann grün bis 24°C, darüber rot

ja OK Danke
Ich habe das jetzt mal angepaßt mit 6 °C da wir grad 5,2 ° haben, aber hier wird nichts blau  :-\
Irgendwo da oben in meinem Code noch ein Fehler drin ?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: gero am 26 November 2015, 07:37:03
Heißt dein Device "Temperatur_Terrasse" oder "Terrasse Süden"? Ich nehme an die vergleichst im valueStyle auf den alias und nicht den Devicenamen.

Gruß,
Gero
Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 26 November 2015, 11:53:24
Zitat von: gero am 26 November 2015, 07:37:03
Heißt dein Device "Temperatur_Terrasse" oder "Terrasse Süden"? Ich nehme an die vergleichst im valueStyle auf den alias und nicht den Devicenamen.

Gruß,
Gero

Oh je macht man es richtig geht es  :)
ich hatte einiges geändert gerade weil ich die Namen aufgeräumt hatte und angepaßt, dabei habe ich wie du richtig erkannt hast den Alias eingetragen, was dann natürlich nicht funktioniert...!
Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 12 Dezember 2015, 02:28:32
Hi, beim setzen einer Temperatur am HM-CC-RT-DN bekomme ich diese Log Fehlermeldung:
2015.12.12 02:22:53.907 3: CUL_HM set HeizungFenster_Clima desired-temp 19
2015.12.12 02:22:55.737 3: CUL_HM set Heizung_Tuer_ClimRT_tr desired-temp 19.5
2015.12.12 02:24:57.154 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 525.


Was ist da falsch?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: igami am 12 Dezember 2015, 17:04:43
Eine kurze Frage zum zentrieren von Icons:
Ich nutze

attr myReadingsGroup valueStyle style="text-align:center"

alles passt. Dann weise ich die Icons zu, und die werden linksbündig angezeigt, sind ja auch kein text, aber wie müsste der Style dann aussehen?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 13 Dezember 2015, 13:21:26
aus meiner Bedienleiste für Sonos

valueColumns {'Play' => 'width="60" align="center"','transportState' => 'width="60" align="center"','Pause' => 'width="60" align="center"','Previous' => 'width="60" align="center"','Next' => 'width="60" align="center"','VolumeD' => 'width="60" align="center"','VolumeU' => 'width="60" align="center"','Loudness' => 'width="60" align="center"','Mute' => 'width="60" align="center"','MuteT' => 'width="60" align="center"','ShuffleT' => 'width="60" align="center"','RepeatT' => 'width="60" align="center"',}


valueIcon {'Play' => 'rc_PLAY.svg','transportState.PLAYING' => 'rc_PLAY.svg','transportState.STOPPED' => 'rc_PAUSE.svg','transportState.PAUSED_PLAYBACK' => 'rc_PAUSE.svg','transportState.ERROR' => 'rc_PAUSE.svg@red','Pause' => 'rc_PAUSE.svg','Previous' => 'rc_PREVIOUS.svg','Next' => 'rc_NEXT.svg','VolumeD' => 'rc_VOLDOWN.svg','VolumeU' => 'rc_VOLUP.svg','Loudness' => 'audio_loudness.svg','Mute.0' => 'rc_MUTE.svg','Mute.1' => 'rc_MUTE.svg@red','Shuffle.0' => 'rc_SHUFFLE.svg','Shuffle.1' => 'rc_SHUFFLE.svg@red','Repeat.0' => 'rc_REPEAT.svg','Repeat.1' => 'rc_REPEAT.svg@red' }
valueStyle {'Play' => 'style="font-size:9px"','transportState' => 'style="font-size:9px"','Pause' => 'style="font-size:9px"','Previous' => 'style="font-size:9px"','Next' => 'style="font-size:9px"','VolumeD' => 'style="font-size:9px"','VolumeU' => 'style="font-size:9px"','Loudness' => 'style="font-size:9px"','Mute' => 'style="font-size:9px"','MuteT' => 'style="font-size:9px"','ShuffleT' => 'style="font-size:9px"','RepeatT' => 'style="font-size:9px"',}
valueSuffix {'Play' => '<br><span style="text-align:center">Start</span>','transportState.PLAYING' => '<br><span style="text-align:center">abspielen</span>','transportState.STOPPED' => '<br><span style="text-align:center">angehalten</span>','transportState.PAUSED_PLAYBACK' => '<br><span style="text-align:center">Pause</span>','transportState.ERROR' => '<br><span style="text-align:center">ausgeschaltet</span>','Pause' => '<br><span style="text-align:center">Pause</span>','Previous' => '<br><span style="text-align:center">Zurück</span>','Next' => '<br><span style="text-align:center">Vorwärts</span>','VolumeD' => '<br><span style="text-align:center">Leiser</span>','VolumeU' => '<br><span style="text-align:center">Lauter</span>','Loudness.0' => '<br><span style="text-align:center">Loudness<br>aus</span>','Loudness.1' => '<br><span style="text-align:center">Loudness<br>ein</span>','Mute.0' => '<br><span

Damit steht unter den Icons noch ein Text u.U. auch noch mit der Wertangabe.

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 14 Dezember 2015, 17:20:15
Hallo,
hat jemand eine Idee, wie ich das hier in eine readingsGroup kriege?
Würde das gerne für alle Dim Devices im Raum so einstellen.

attr device widgetOverride dim:knob,min:0,max:100,step:1,linecap:round,angleOffset:-125,angleArc:250

Spartacus:
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 14 Dezember 2015, 18:00:17
Das müsste doch mit dem command - Attribut der rg gehen:

attr rg commands {'dim' => 'dim:knob,min:0,max:100,step:1,linecap:round,angleOffset:-125,angleArc:250'}

Wenn Du das so schreibst:

attr rg commands {'dim' => 'dim:'}
sollte eigentlich das in fhem für das device default definierte setlist funktionieren. Ob das allerdings mit widgetOverwrite geht, weiß ich nicht. Ausprobieren.

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 14 Dezember 2015, 18:16:07
Hallo Elektrolurch,
ja, das geht tatsächlich! Sowohl Dein die erste als auch die zweite Variante
Danke Dir!
Spartacus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 15 Dezember 2015, 10:46:10
Hallo,
ich habe noch eine Frage zum Thema readingsGroup.

Habe einen Slider eingebaut, allerdings wird der Wert im Slider selber nicht aktualisiert, wenn ich die Position anfahre(siehe Screenshot). Erst nach einem Browser Refresh wird dann die Zahl dargestellt.

Woran liegt das?
Danke,
Spartacus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 15 Dezember 2015, 15:17:43
Hallo Spartakus,

ist für die Webinstanz von fhem das Attribut "longpoll auf 1 gesetzt?

Wie wird denn der Wert des readings aktualisiert?

Wenn Du die command-Anweisung in der rg für den slider heraus nimmst, dann wird ja nur das reading angezeigt. Wird dann der Wert in der Darstellung aktualisiert?
Alternativ kannst Du auch mal statt des sliders eine dropdown-Liste definieren.

'dim' => 'dim:0,10,20,30' duw.

Wird die richtig akualisiert?
Wenn es mit dem nackten reading oder dem dropdown-Menü funktioniert, dann liegt es am slider....

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 15 Dezember 2015, 17:12:25
Hallo Elektrolurch,
danke für Deine ausführliche Antwort. Dropdown und ohne Slider funktioniert in der rg wie es soll! Longpoll ist auch gesetzt.
Der Slider im enocean device funktioniert jedoch korrekt, nur halt in der rg nicht.

Hier mal die rg:
Internals:
   CFGFN      Config/01-Wohnzimmer.cfg
   DEF        switch.di.02.EG.wz.RO.xx.dum:<%fts_shutter_automatic>,<Automatik>,state,!Ein,!Aus,<>
EG.wz.RO.links:<%fts_shutter_updown>,<Wohnzimmer&nbsplinks>,position,<Position>,!pos,<in&nbsp%>
EG.wz.RO.rechts:<%fts_shutter_updown>,<Wohnzimmer&nbsprechts>,position,<Position>,!pos,<in&nbsp%>
   NAME       rg.01.EG.wz.RO
   NR         859
   NTFY_ORDER 50-rg.01.EG.wz.RO
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     EG.wz.RO.links 1
     EG.wz.RO.rechts 1
     switch.di.02.EG.wz.RO.xx.dum 1
   Content2:
   DEVICES:
     ARRAY(0x2f5a818)
     ARRAY(0x2f5aa40)
     ARRAY(0x2f5a950)
   Fhem:
     lastDefChange 6
     last_update 1450194826.45943
   Helper:
     DEF
     commands   {'Ein' => 'set $DEVICE on', 'Aus' => 'set $DEVICE off', 'pos' => 'position:slider,0,5,100'}
     Positions:
       EG.wz.RO.links.pos 2:5
       EG.wz.RO.links.position 2:3
       EG.wz.RO.rechts.pos 3:5
       EG.wz.RO.rechts.position 3:3
       switch.di.02.EG.wz.RO.xx.dum.Aus 1:5
       switch.di.02.EG.wz.RO.xx.dum.Ein 1:4
       switch.di.02.EG.wz.RO.xx.dum.state 1:3
     Valueicon:
       position   %devStateIcon
     Values:
       formated:



         ARRAY(0x2f29be8)
         ARRAY(0x2f3e3f0)
         ARRAY(0x2f3e810)
       orig:



         ARRAY(0x2f2c620)
         ARRAY(0x2f23f68)
         ARRAY(0x2ef63e8)
       prefixsuffix:



         ARRAY(0x2f3dff8)
         ARRAY(0x2f2ec68)
         ARRAY(0x2f2c158)
Attributes:
   alias      Rolladen schalten
   commands   {'Ein' => 'set $DEVICE on', 'Aus' => 'set $DEVICE off', 'pos' => 'position:slider,0,5,100'}
   nonames    1
   notime     1
   room       01-Wohnzimmer
   valueIcon  {'position'=> '%devStateIcon' }


...und noch was: Ich versuche krampfhaft für das Dummy-Device "switch.di.02.EG.wz.RO.xx.dum" ein valueIcon für "on" und "off" anzuzeigen. Aber irgendwie klappt das nicht zusammen mit der Posizionsanzeige.

valueIcon {"on" =>"10px-kreis-gruen","off" => "10px-kreis-rot"} Ich könnte ich auch auf das devStateIcon des Devices mit
{ 'state'=> '%devStateIcon' } verweisen. Dann funktioniert aber die position für den Rolladen nicht mehr!
Jemand eine Idee?
Christian
Titel: Problem mit mapping nach update auf [r10157]
Beitrag von: burtb am 15 Dezember 2015, 21:33:02
Hallo justme1968!

Nach einem Update auf o.g. Rev. funktionieren die Dropdowns in meiner readingsGroup nicht mehr bzw. werden mit dem Match aus dem Mapping-Attribut ersetzt.
Muss ich an der Def etwas ändern oder ist das ein Bug?
Es handelt sich um HM-Thermostate.

list:

Internals:
   CFGFN      ./FHEM/33_readingsGroup.cfg
   DEF        <Regler>,<CMD>,<Modus>,<Fenster>,<Temperatur>,<Ventil>,<Steuerung>,<Batterie>,<Bediensperre>
.*_Clima:state@{getDev($DEVICE)},controlMode,R-winOpnMode,measured-temp,ValvePosition,desired-temp,batteryLevel@{getDev($DEVICE)},R-btnLock@{getDev($DEVICE)}
   NAME       Thermostate_rdg
   NR         207
   NTFY_ORDER 50-Thermostate_rdg
   STATE      Initialized
   TYPE       readingsGroup
   CHANGETIME:
   Content:
     EG_Esszimmer_Thermostat_Heizkoerper_Clima 1
     EG_Spielzimmer_Thermostat_Heizkoerper_Clima 1
     EG_WC_Thermostat_Fussbodenheizung_Clima 1
     EG_Wohnzimmer_Thermostat_Heizkoerper_Clima 1
     OG_Bad_Thermostat_Fussbodenheizung_Clima 1
     OG_Bad_Thermostat_Heizkoerper_Clima 1
     OG_Buero_Thermostat_Heizkoerper_Clima 1
     OG_Kinderzimmer_Thermostat_Heizkoerper_Clima 1
     OG_Schlafzimmer_Thermostat_Heizkoerper_Clima 1
   Content2:
     EG_Esszimmer_Thermostat_Heizkoerper 1
     EG_Spielzimmer_Thermostat_Heizkoerper 1
     EG_WC_Thermostat_Fussbodenheizung 1
     EG_Wohnzimmer_Thermostat_Heizkoerper 1
     OG_Bad_Thermostat_Fussbodenheizung 1
     OG_Bad_Thermostat_Heizkoerper 1
     OG_Buero_Thermostat_Heizkoerper 1
     OG_Kinderzimmer_Thermostat_Heizkoerper 1
     OG_Schlafzimmer_Thermostat_Heizkoerper 1
   DEVICES:
     ARRAY(0x39c6160)
     ARRAY(0x319cd58)
     ARRAY(0x39d1f50)
     ARRAY(0x389f7b8)
     ARRAY(0x39f7618)
     ARRAY(0x39dfac8)
     ARRAY(0x344bd48)
     ARRAY(0x35fc410)
     ARRAY(0x349fad8)
     ARRAY(0x171a238)
   DEVICES2:
     ARRAY(0x39c6160)
     ARRAY(0x319cd58)
     ARRAY(0x39d1f50)
     ARRAY(0x389f7b8)
     ARRAY(0x39f7618)
     ARRAY(0x39dfac8)
     ARRAY(0x344bd48)
     ARRAY(0x35fc410)
     ARRAY(0x349fad8)
     ARRAY(0x171a238)
     ARRAY(0x3198770)
     ARRAY(0x39ddd28)
     ARRAY(0x39dd9f8)
     ARRAY(0x39d3fc0)
     ARRAY(0x39dd258)
     ARRAY(0x39d52e8)
     ARRAY(0x35e1ff8)
     ARRAY(0x39d1288)
     ARRAY(0x1806ea8)
     ARRAY(0x2b28e68)
     ARRAY(0x39dda28)
     ARRAY(0x39ccf88)
     ARRAY(0x39ece08)
     ARRAY(0x34992f0)
     ARRAY(0x35d9de8)
     ARRAY(0x39cfa68)
     ARRAY(0x39da340)
     ARRAY(0x39cfff0)
     ARRAY(0x31ac4a0)
     ARRAY(0x343b7f0)
     ARRAY(0x39cd950)
     ARRAY(0x389ada8)
     ARRAY(0x31abd38)
     ARRAY(0x1806fc8)
     ARRAY(0x39d94e0)
     ARRAY(0x39e8838)
     ARRAY(0x208dfc8)
   Fhem:
     lastDefChange 34
     last_update 1450209953.6675
   Helper:
     DEF
     commands   { 'desired-temp'=>'desired-temp:','controlMode'=>'controlMode:','R-btnLock.on'=>'set $DEVICE regSet btnLock off','R-btnLock.off'=>'set $DEVICE regSet btnLock on' }
     nameStyle  style="font-weight:bold;text-align:left"
     valueFormat {if($READING eq "batteryLevel"){if($VALUE>=3){$VALUE=100} elsif($VALUE>=2.7){$VALUE=75}elsif($VALUE>=2.5){$VALUE=50}elsif($VALUE>=2.2){$VALUE=25} else{$VALUE=0}}}
     valueStyle { if($READING eq "measured-temp" && $VALUE > 23.0) {'style="color:red;text-align:center"'} elsif($READING eq "measured-temp" && $VALUE < 19.0) {'style="color:blue;text-align:center"'} elsif($READING eq "ValvePosition" && $VALUE >= 60) {'style="color:red;text-align:center"'} elsif($READING eq "ValvePosition" && $VALUE <= 59 && $VALUE >= 11) {'style="color:orange;text-align:center"'} elsif($READING eq "ValvePosition" && $VALUE <= 10) {'style="color:blue;text-align:center"'} else {'style="color:green;text-align:center"'} }
     Mapping:
       EG_Esszimmer_Thermostat_Heizkoerper_Clima HK Esszimmer
       EG_Spielzimmer_Thermostat_Heizkoerper_Clima HK Spielzimmer
       EG_WC_Thermostat_Fussbodenheizung_Clima FB WC
       EG_Wohnzimmer_Thermostat_Heizkoerper_Clima HK Wohnzimmer
       OG_Bad_Thermostat_Fussbodenheizung_Clima FB Bad
       OG_Bad_Thermostat_Heizkoerper_Clima HK Bad
       OG_Buero_Thermostat_Heizkoerper_Clima HK Buero
       OG_Kinderzimmer_Thermostat_Heizkoerper_Clima HK Kinderzimmer
       OG_Schlafzimmer_Thermostat_Heizkoerper_Clima HK Schlafzimmer
     Valueicon:
       R-btnLock.off secur_open@red
       R-btnLock.on secur_locked@green
       R-btnLock.set_off secur_open@orange
       R-btnLock.set_on secur_open@orange
       R-winOpnMode.on fts_window_1w@green
       battery.low batterie@red
       battery.ok batterie@green
       batteryLevel.0 measure_battery_0@blue
       batteryLevel.100 measure_battery_100@green
       batteryLevel.25 measure_battery_25@red
       batteryLevel.50 measure_battery_50@orange
       batteryLevel.75 measure_battery_75@green
       state.CMDs_done edit_settings@green
       state.CMDs_pending edit_settings@orange
       state.CMDs_processing... edit_settings@red
       state.MISSING ACK message_attention@red
     Valuesuffix:
       ValvePosition  %
       desired-temp &deg;C
       measured-temp  &deg;C
Attributes:
   commands   { 'desired-temp'=>'desired-temp:','controlMode'=>'controlMode:','R-btnLock.on'=>'set $DEVICE regSet btnLock off','R-btnLock.off'=>'set $DEVICE regSet btnLock on' }
   mapping    { 'OG_Bad_Thermostat_Heizkoerper_Clima'=>'HK Bad','OG_Bad_Thermostat_Fussbodenheizung_Clima'=>'FB Bad','OG_Schlafzimmer_Thermostat_Heizkoerper_Clima'=>'HK Schlafzimmer','EG_Esszimmer_Thermostat_Heizkoerper_Clima'=>'HK Esszimmer','EG_WC_Thermostat_Fussbodenheizung_Clima'=>'FB WC','OG_Buero_Thermostat_Heizkoerper_Clima'=>'HK Buero','EG_Spielzimmer_Thermostat_Heizkoerper_Clima'=>'HK Spielzimmer','EG_Wohnzimmer_Thermostat_Heizkoerper_Clima'=>'HK Wohnzimmer','OG_Kinderzimmer_Thermostat_Heizkoerper_Clima'=>'HK Kinderzimmer'}
   nameStyle  style="font-weight:bold;text-align:left"
   noheading  1
   room       Reading
   style      style="text-align:center"
   valueFormat {if($READING eq "batteryLevel"){if($VALUE>=3){$VALUE=100} elsif($VALUE>=2.7){$VALUE=75}elsif($VALUE>=2.5){$VALUE=50}elsif($VALUE>=2.2){$VALUE=25} else{$VALUE=0}}}
   valueIcon  {'R-winOpnMode.on'=>'fts_window_1w@green','state.CMDs_done'=>'edit_settings@green','state.CMDs_pending'=>'edit_settings@orange','state.CMDs_processing...'=>'edit_settings@red','state.MISSING ACK'=>'message_attention@red','battery.ok'=>'batterie@green','battery.low'=>'batterie@red','batteryLevel.100'=>'measure_battery_100@green','batteryLevel.75'=>'measure_battery_75@green','batteryLevel.50'=>'measure_battery_50@orange','batteryLevel.25'=>'measure_battery_25@red','batteryLevel.0'=>'measure_battery_0@blue','R-btnLock.on'=>'secur_locked@green','R-btnLock.set_on'=>'secur_open@orange','R-btnLock.off'=>'secur_open@red','R-btnLock.set_off'=>'secur_open@orange'}
   valueStyle { if($READING eq "measured-temp" && $VALUE > 23.0) {'style="color:red;text-align:center"'} elsif($READING eq "measured-temp" && $VALUE < 19.0) {'style="color:blue;text-align:center"'} elsif($READING eq "ValvePosition" && $VALUE >= 60) {'style="color:red;text-align:center"'} elsif($READING eq "ValvePosition" && $VALUE <= 59 && $VALUE >= 11) {'style="color:orange;text-align:center"'} elsif($READING eq "ValvePosition" && $VALUE <= 10) {'style="color:blue;text-align:center"'} else {'style="color:green;text-align:center"'} }
   valueSuffix { 'measured-temp' => " &deg;C", 'ValvePosition' => " %", 'desired-temp' => "&deg;C" }
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 16 Dezember 2015, 08:48:37
Zitat von: Tommy82 am 12 Dezember 2015, 02:28:32
Hi, beim setzen einer Temperatur am HM-CC-RT-DN bekomme ich diese Log Fehlermeldung:
2015.12.12 02:22:53.907 3: CUL_HM set HeizungFenster_Clima desired-temp 19
2015.12.12 02:22:55.737 3: CUL_HM set Heizung_Tuer_ClimRT_tr desired-temp 19.5
2015.12.12 02:24:57.154 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 525.


Was ist da falsch?

Hi, ich find den Fehler nicht, wo könnte ich mal suchen!?

Danke
Titel: Antw:Problem mit mapping nach update auf [r10157]
Beitrag von: JoeALLb am 16 Dezember 2015, 10:09:56
Zitat von: burtb am 15 Dezember 2015, 21:33:02
Nach einem Update auf o.g. Rev. funktionieren die Dropdowns in meiner readingsGroup nicht mehr bzw. werden mit dem Match aus dem Mapping-Attribut ersetzt.

.... kannst Du mir mal deine getDev() zeigen?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Dezember 2015, 10:42:22
@JoeALLb: das ist dazu da um den text vor dem drop down oder slider zu ersetzen. das gab es eigentlich früher schon mal und ist durch einen umbau auf javascript seite mal verloren gegangen. mach mal bitte den match genauer oder liefere genau für das reading mit dem drop down ein undef zurück.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 16 Dezember 2015, 11:04:04
Hallo,
so, dass mit dem Icon im zweiten Device habe ich jetzt hingekriegt. Allerdings stört mich immer noch die Sache mit dem Slider (siehe Bild, bzw. im Thread weiter oben)!

Weiß niemand, wie man das lösen kann, bzw. ob es zu lösen ist?
Spartacus.
Titel: Antw:Problem mit mapping nach update auf [r10157]
Beitrag von: burtb am 16 Dezember 2015, 19:55:33
Zitat von: JoeALLb am 16 Dezember 2015, 10:09:56
.... kannst Du mir mal deine getDev() zeigen?

Aber sischer :)


sub getDev($)
{
    my $device = shift;
    return InternalVal($device,"device","error");
    }
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Motivierte linke Hände am 17 Dezember 2015, 11:27:05
Hi Andre,

Zitat von: justme1968 am 16 Dezember 2015, 10:42:22
@JoeALLb: das ist dazu da um den text vor dem drop down oder slider zu ersetzen. das gab es eigentlich früher schon mal und ist durch einen umbau auf javascript seite mal verloren gegangen. mach mal bitte den match genauer oder liefere genau für das reading mit dem drop down ein undef zurück.

Genau das Problem von JoeALLb habe ich auch. Ich habe noch nicht ganz verstanden, was Du brauchst. "Mapping" sieht bei mir aktuell so aus:

[...]dum_Fstr_Sonnenschutztemperatur_aussen => 'Außentemp. Sonnenschutz', dum_Fstr_Sonnenschutztemperatur_innen => 'Innentemp. Sonnenschutz',[...]

Der entsprechende Teil der Definition:

[...]
dum_Fstr_Sonnenschutztemperatur_innen:state
dum_Fstr_Sonnenschutztemperatur_aussen:state
[...]


Wie könnte man den Match noch genauer machen? Ich möchte, dass der im Mapping angegebene Text und dann die Dropdown-Box angezeigt wird. Bis "gerade eben" funktionierte das auch noch so.

Anbei der Vollständigkeit halber noch das list auf die komplette readingsGroup:

Internals:
   DEF        dum_Rollo_runter_bei_Film:state
dum_Keiner_da_Fstr_auf_Rollo_zu:state
dum_abwesend_Rollo_Ausgang_Terrasse_zu:state
dum_Fstr_auf_Rollo_hoch:state
dum_Rollo_auf_Licht_aus:state
dum_Fstr_Sonnenschutztemperatur_innen:state
dum_Fstr_Sonnenschutztemperatur_aussen:state


   NAME       rg_Rollooptionen
   NR         877
   NTFY_ORDER 50-rg_Rollooptionen
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     dum_Fstr_Sonnenschutztemperatur_aussen 1
     dum_Fstr_Sonnenschutztemperatur_innen 1
     dum_Fstr_auf_Rollo_hoch 1
     dum_Keiner_da_Fstr_auf_Rollo_zu 1
     dum_Rollo_auf_Licht_aus 1
     dum_Rollo_runter_bei_Film 1
     dum_abwesend_Rollo_Ausgang_Terrasse_zu 1
   Content2:
   DEVICES:
     ARRAY(0x6e56c18)
     ARRAY(0x6fcebe8)
     ARRAY(0x747a3a8)
     ARRAY(0x6eaf6e0)
     ARRAY(0x7a1af20)
     ARRAY(0x747c688)
     ARRAY(0x6e44208)
   Fhem:
     lastDefChange 763
     last_update 1450347787.24547
   Helper:
     DEF
     valueStyle {if ($READING eq "state") {'style="text-align:center"'}}
     Commands:
       state      state:
     Mapping:
       dum_Fstr_Sonnenschutztemperatur_aussen Außentemp. Sonnenschutz
       dum_Fstr_Sonnenschutztemperatur_innen Innentemp. Sonnenschutz
       dum_Fstr_auf_Rollo_hoch Fenster auf, Rollo hoch
       dum_Keiner_da_Fstr_auf_Rollo_zu Fstr offen, keiner da, Rollo zu
       dum_Rollo_auf_Licht_aus Rolladen auf, hell, Licht aus
       dum_Rollo_runter_bei_Film Rollo runter, wenn TV an
       dum_abwesend_Rollo_Ausgang_Terrasse_zu Keiner da, Rollo Terrasse zu
     Positions:
       dum_Fstr_Sonnenschutztemperatur_aussen.state 7:1
       dum_Fstr_Sonnenschutztemperatur_innen.state 6:1
       dum_Fstr_auf_Rollo_hoch.state 4:1
       dum_Keiner_da_Fstr_auf_Rollo_zu.state 2:1
       dum_Rollo_auf_Licht_aus.state 5:1
       dum_Rollo_runter_bei_Film.state 1:1
       dum_abwesend_Rollo_Ausgang_Terrasse_zu.state 3:1
     Valueicon:
       dum_Fstr_auf_Rollo_hoch %devStateIcon
       dum_Keiner_da_Fstr_auf_Rollo_zu %devStateIcon
       dum_Rollo_auf_Licht_aus %devStateIcon
       dum_Rollo_runter_bei_Film %devStateIcon
       dum_abwesend_Rollo_Ausgang_Terrasse_zu %devStateIcon
     Values:
       formated:

         ARRAY(0x6e72f28)
       orig:

         ARRAY(0x737fa60)
       prefixsuffix:

         ARRAY(0x6e0b2a8)
Attributes:
   commands   { 'state' => 'state:' }
   fp_fp_Config_Rollos 120,880,0,,
   mapping    {dum_Rollo_runter_bei_Film => "Rollo runter, wenn TV an", dum_Keiner_da_Fstr_auf_Rollo_zu => 'Fstr offen, keiner da, Rollo zu', dum_abwesend_Rollo_Ausgang_Terrasse_zu => 'Keiner da, Rollo Terrasse zu', dum_Fstr_auf_Rollo_hoch => 'Fenster auf, Rollo hoch', dum_Fstr_Sonnenschutztemperatur_aussen => 'Außentemp. Sonnenschutz', dum_Fstr_Sonnenschutztemperatur_innen => 'Innentemp. Sonnenschutz', dum_Rollo_auf_Licht_aus => 'Rolladen auf, hell, Licht aus' }
   noheading  1
   nolinks    1
   nostate    1
   notime     1
   room       Cfg_Fenster,Cfg_Floorplan
   style      class="block wide rg_Rollooptionen"
   valueIcon  { "dum_Rollo_runter_bei_Film" => '%devStateIcon', "dum_Keiner_da_Fstr_auf_Rollo_zu" => '%devStateIcon', "dum_abwesend_Rollo_Ausgang_Terrasse_zu" => '%devStateIcon', 'dum_Fstr_auf_Rollo_hoch' => '%devStateIcon', 'dum_Rollo_auf_Licht_aus' => '%devStateIcon' }
   valueStyle {if ($READING eq "state") {'style="text-align:center"'}}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: JoeALLb am 18 Dezember 2015, 10:08:10
Ich habe ein Beispiel analog zu
http://www.fhemwiki.de/wiki/ReadingsGroup#Heizungswerte.2C_Status_und_Regelm.C3.B6glichkeit

nachgebaut.
Was jedoch bei mir nicht funktioniert ist, das Aktualisieren eines Readings:

Wenn ich diese Zeile im myUtils.pm Skript angebe, bekomme ich bei jedem Klick auf das Icon in der Readinggroup eine Message zugeschickt. Soweit,. so gut!
Jedoch ändert sich der Rückgabewert aus ReadingsVal() nicht!
  $link = "set telegram message set $DEVICE ".ReadingsVal("dateTimePickerPopUp2","state","1") ;

Erst wenn ich die Definition der ReadingsGroup neu einlese
<Device><Comment>
.*_Clima:state@{getDev($DEVICE)},<{myUtils_CheckHeizung($DEVICE,"down")}@desired-new>

wird ein zwischenzeitlich aktualisierter Wert des dateTimePickerPopUp2 übernommen.

Was übersehe ich da? Liest die RG den Code myUtils_CheckHeizung() als Cach in den Speicher?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Spartacus am 18 Dezember 2015, 12:08:19
Hallo,
ich muss doch noch einmal fragen, ob jemand eine Idee hat, wie das Slider-Problem in der rg gelöst werden kann. Ich kann die Werte über den Slider einstellen, dann fährt der Rolladen auch in die gewünschte Position aber dann springt der Slider zurück auf "NaN" (was auch immer das bedeutet). im Log ist unter verbose=5 nichts Ungewöhnliches zu finden. Ein Browser Refresh stell dann wieder den Zahlenwert ein.
Longpoll ist gesetzt!

Christian
Titel: Antw:Problem mit mapping nach update auf [r10157]
Beitrag von: dev0 am 22 Dezember 2015, 14:31:23
Zitat von: burtb am 15 Dezember 2015, 21:33:02
Nach einem Update auf o.g. Rev. funktionieren die Dropdowns in meiner readingsGroup nicht mehr
Das ist bei mir und hier (http://forum.fhem.de/index.php/topic,45901.0.html) auch so, nach einem Restore der 33_readingsGroup.pm vom 14.12. funktioniert es bei mir auch wieder.

list der RG (BA_HEIZUNG => HM-CC-RT-DN):

Internals:
   CFGFN      FHEM/_my_heizung.cfg
   DEF        <%sani_heating>,<Heiz-Mode>,<Temp-Soll>,<Temp-Ist>,<Feuchte>,<Heiz-Ventil>,<Bat-Level>,<Bat-Status>
BA_HEIZUNG_Clima:controlMode,desired-temp,measured-temp,humidity@BA_SENSOR_TEMP_HUM,ValvePosition,batteryLevel@BA_HEIZUNG,<{batLevelIndicator('BA_HEIZUNG')}>
   NAME       BA_HEIZUNG_RG
   NR         954
   NTFY_ORDER 50-BA_HEIZUNG_RG
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     BA_HEIZUNG_Clima 1
   Content2:
     BA_HEIZUNG 1
     BA_SENSOR_TEMP_HUM 1
   DEVICES:
     ARRAY(0x3838b90)
     ARRAY(0x383de48)
   DEVICES2:
     ARRAY(0x3838b90)
     ARRAY(0x383de48)
     ARRAY(0x342ec00)
     ARRAY(0x3838368)
   Fhem:
     lastDefChange 1
     last_update 1450788370.01858
   Helper:
     DEF
     nameStyle  style="xcolor:white"
     valueStyle {if( $READING eq "measured-temp" && $VALUE > 24.0 ){ 'style="color:red"' }elsif( $READING eq "measured-temp" && $VALUE < 20.0 ){ 'style="color:CornflowerBlue"' }elsif( $READING eq "measured-temp" ){ 'style="color:green"' }elsif( $READING eq "humidity" && $VALUE < 40.0 ){ 'style="color:CornflowerBlue"' }elsif( $READING eq "humidity" && $VALUE > 60.0 ){ 'style="color:red"' }elsif( $READING eq "humidity" ){ 'style="color:green"' }else{ 'style="color:gray"' }}
     Commands:
       controlMode controlMode:
       desired-temp desired-temp:
     Mapping:
       controlMode
       desired-temp
     Positions:
       BA_HEIZUNG.batteryLevel 2:6
       BA_HEIZUNG_Clima.ValvePosition 2:5
       BA_HEIZUNG_Clima.controlMode 2:1
       BA_HEIZUNG_Clima.desired-temp 2:2
       BA_HEIZUNG_Clima.measured-temp 2:3
       BA_SENSOR_TEMP_HUM.humidity 2:4
     Valueformat:
       ValvePosition %.0f %%
       batteryLevel %.1f V
       desired-temp %.1f °C
       humidity   %.1f %
       maxValveSetting %.0f %%
       measured-temp %.1f °C
     Valueicon:
       battery.low batterie@red
       battery.ok batterie@lightgreen
       window.closed fts_window_1w@lightgreen
       window.open fts_window_1w_open@red
     Values:
       formated:

         ARRAY(0x3e39b68)
         ARRAY(0x4224850)
         ARRAY(0x41a7cd0)
         ARRAY(0x3e04978)
         ARRAY(0x4304018)
         ARRAY(0x423e328)
       orig:

         ARRAY(0x41a80a8)
         ARRAY(0x4230260)
         ARRAY(0x41a86d8)
         ARRAY(0x3187458)
         ARRAY(0x423d810)
         ARRAY(0x423da08)
       prefixsuffix:

         ARRAY(0x41a7da8)
         ARRAY(0x4302538)
         ARRAY(0x429e518)
         ARRAY(0x4303338)
         ARRAY(0x423e1a8)
         ARRAY(0x4232340)
Attributes:
   alias      Heizung
   commands   { 'desired-temp' => 'desired-temp:', 'controlMode' => 'controlMode:' }
   group      Heizung
   mapping    { 'desired-temp' => '', 'controlMode' => '' }
   nameStyle  style="xcolor:white"
   room       Bad
   valueFormat {'measured-temp' => "%.1f °C", 'desired-temp' => "%.1f °C", 'ValvePosition' =>"%.0f %%", 'maxValveSetting' =>"%.0f %%" , 'batteryLevel' =>"%.1f V" , 'humidity' =>"%.1f %"}
   valueIcon  {'battery.ok' => 'batterie@lightgreen', 'battery.low' => 'batterie@red', 'window.closed' => 'fts_window_1w@lightgreen', 'window.open' => 'fts_window_1w_open@red'}
   valueStyle {if( $READING eq "measured-temp" && $VALUE > 24.0 ){ 'style="color:red"' }elsif( $READING eq "measured-temp" && $VALUE < 20.0 ){ 'style="color:CornflowerBlue"' }elsif( $READING eq "measured-temp" ){ 'style="color:green"' }elsif( $READING eq "humidity" && $VALUE < 40.0 ){ 'style="color:CornflowerBlue"' }elsif( $READING eq "humidity" && $VALUE > 60.0 ){ 'style="color:red"' }elsif( $READING eq "humidity" ){ 'style="color:green"' }else{ 'style="color:gray"' }}


Das ist mehr oder weniger von einem Beispiel aus dem Wiki abgeleitet. Ebenso batLevelIndicator($):

sub batLevelIndicator($) {
my $device = shift;
my $myBatLevel = ReadingsVal($device,"batteryLevel", "" );
my $myBatStatus = ReadingsVal($device,"battery", "" );

if (($myBatLevel eq "" && $myBatStatus eq "") || (index($device, "_", 3) > 0)) {
return;
}
else {
if ($myBatLevel eq ""){
if    ( $myBatStatus =~ m/ok/  ) {return ("%Battery-hs-100");}
elsif ( $myBatStatus =~ m/low/ ) {return ("%Battery-hs-020");}
}
else {
if    ( $myBatLevel                      <= 2.1) {return ("%Battery-hs-020");}
elsif ( $myBatLevel > 2.1 && $myBatLevel <= 2.3) {return ("%Battery-hs-040");}
elsif ( $myBatLevel > 2.3 && $myBatLevel <= 2.5) {return ("%Battery-hs-060");}
elsif ( $myBatLevel > 2.5 && $myBatLevel <= 3.0) {return ("%Battery-hs-080");}
elsif ( $myBatLevel                      >  3.0) {return ("%Battery-hs-100");}
}
}
}


Ich vermute, dass es unabhängig von diesem Thema ist, mit beiden Version erscheint foldende Warnung im Log, wenn die RG angezeigt wird:

2015.12.22 13:46:26.880 1: PERL WARNING: Missing argument in sprintf at ./FHEM/33_readingsGroup.pm line 525.
2015.12.22 13:46:26.880 1: PERL WARNING: Invalid conversion in sprintf: end of string at ./FHEM/33_readingsGroup.pm line 525.


/Uli
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ext23 am 23 Dezember 2015, 15:04:36
Ich weiß nicht ob es dasselbe Problem ist wie hier beschrieben aber mir ist auch aufgefallen, dass seit geraumer Zeit die PullDowns innerhalb der ReadingsGroup nicht aktualisiert werden trotz aktiviertem Longpoll.

Fällt mir auch jetzt im Winter wieder auf wo man doch ab und an mal an der Heizung dreht. Im Prinzip stört mich das nicht weiter, nur wenn die soll Temperatur 19 Grad beträgt, das Pul0lDown aber 22 Grad anzeigt und ich jetzt 22 Grad einstellen möchte ist das blöd ;-)

/Daniel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 23 Dezember 2015, 19:05:52
@burtb,dev0: sollte ab morgen wieder gehen.

@ext23: gibt es fehler auf der javascript konsole ?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dev0 am 23 Dezember 2015, 19:18:17
Vielen Dank!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ext23 am 23 Dezember 2015, 22:26:09
Nicht das ich wüsste, hier der Output nachdem ich das Fenster geschlossen habe und so die desired temp auf 21 Grad gesetzt wird (vorher 12).

22:22:42.627 Rcvd: ["Heizungssteuerung-wz_Fenster.state","<svg class=\"icon fts_window_1w 00FF00\" alt=\"closed\" title=\"closed\" version=\"1.0\" xmln...(1718) fhemweb.js:232:5
22:22:42.629 Rcvd: ["Heizungssteuerung-wz_Fenster.state-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:42.630 Rcvd: ["battStatus-wz_Fenster.battery","ok","ok"] fhemweb.js:232:5
22:22:42.630 Rcvd: ["battStatus-wz_Fenster.battery-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:42.631 Rcvd: ["wz_Fenster","closed","<div id=\"wz_Fenster\"  class=\"col2\"><img class=' signal_Fenster_Offen_off' src=\"/fhem/images/default/sig...(200) fhemweb.js:232:5
22:22:42.632 Rcvd: ["wz_Fenster-battery","ok","ok"] fhemweb.js:232:5
22:22:42.632 Rcvd: ["wz_Fenster-battery-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:42.633 Rcvd: ["wz_Fenster-contact","closed (to HMLAN1)","closed (to HMLAN1)"] fhemweb.js:232:5
22:22:42.634 Rcvd: ["wz_Fenster-contact-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:42.634 Rcvd: ["wz_Fenster-trigger_cnt","179","179"] fhemweb.js:232:5
22:22:42.635 Rcvd: ["wz_Fenster-trigger_cnt-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:42.636 Rcvd: ["wz_Fenster-state","closed","closed"] fhemweb.js:232:5
22:22:42.637 Rcvd: ["wz_Fenster-state-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:43.241 Rcvd: ["Heizungssteuerung-wz_Fenster.state","<svg class=\"icon fts_window_1w 00FF00\" alt=\"closed\" title=\"closed\" version=\"1.0\" xmln...(1718) fhemweb.js:232:5
22:22:43.242 Rcvd: ["Heizungssteuerung-wz_Fenster.state-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:43.243 Rcvd: ["battStatus-wz_Fenster.battery","ok","ok"] fhemweb.js:232:5
22:22:43.244 Rcvd: ["battStatus-wz_Fenster.battery-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:43.244 Rcvd: ["wz_Fenster","closed","<div id=\"wz_Fenster\"  class=\"col2\"><img class=' signal_Fenster_Offen_off' src=\"/fhem/images/default/sig...(200) fhemweb.js:232:5
22:22:43.245 Rcvd: ["wz_Fenster-battery","ok","ok"] fhemweb.js:232:5
22:22:43.246 Rcvd: ["wz_Fenster-battery-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:43.247 Rcvd: ["wz_Fenster-contact","closed (to wz_Thermostat)","closed (to wz_Thermostat)"] fhemweb.js:232:5
22:22:43.247 Rcvd: ["wz_Fenster-contact-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:43.248 Rcvd: ["wz_Fenster-trigger_cnt","179","179"] fhemweb.js:232:5
22:22:43.249 Rcvd: ["wz_Fenster-trigger_cnt-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:43.249 Rcvd: ["wz_Fenster-state","closed","closed"] fhemweb.js:232:5
22:22:43.250 Rcvd: ["wz_Fenster-state-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:43.251 Rcvd: ["wz_Thermostat_WindowRec","last:wz_Fenster:closed","<div id=\"wz_Thermostat_WindowRec\"  class=\"col2\">last:wz_Fenster:closed</div...(135) fhemweb.js:232:5
22:22:43.251 Rcvd: ["wz_Thermostat_WindowRec-trigLast","wz_Fenster:closed","wz_Fenster:closed"] fhemweb.js:232:5
22:22:43.252 Rcvd: ["wz_Thermostat_WindowRec-trigLast-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:43.253 Rcvd: ["wz_Thermostat_WindowRec-trig_wz_Fenster","closed","closed"] fhemweb.js:232:5
22:22:43.253 Rcvd: ["wz_Thermostat_WindowRec-trig_wz_Fenster-ts","2015-12-23 22:23:08","2015-12-23 22:23:08"] fhemweb.js:232:5
22:22:45.331 Rcvd: ["Heizungssteuerung-wz_Thermostat.battery","<svg class=\"icon measure_battery_100 0CFB0C\" alt=\"ok\" title=\"ok\"    xmlns:dc=\"htt...(12535) fhemweb.js:232:5
22:22:45.334 Rcvd: ["Heizungssteuerung-wz_Thermostat.battery-ts","2015-12-23 22:23:11","2015-12-23 22:23:11"] fhemweb.js:232:5
22:22:45.335 Rcvd: ["Heizungssteuerung-wz_Thermostat.desired-temp","21.0 °C","21.0 °C"] fhemweb.js:232:5
22:22:45.339 Rcvd: ["Heizungssteuerung-wz_Thermostat.desired-temp-ts","2015-12-23 22:23:11","2015-12-23 22:23:11"] fhemweb.js:232:5
22:22:45.340 Rcvd: ["battStatus-wz_Thermostat.battery","ok","ok"] fhemweb.js:232:5
22:22:45.341 Rcvd: ["battStatus-wz_Thermostat.battery-ts","2015-12-23 22:23:11","2015-12-23 22:23:11"] fhemweb.js:232:5
22:22:45.341 Rcvd: ["wz_Thermostat","Temp:21.2 °C, Ventil:0, Soll-Temp:21.0 °C","<div id=\"wz_Thermostat\"  class=\"col2\">Temp:21.2 °C, Ventil:0, Soll...(153) fhemweb.js:232:5
22:22:45.342 Rcvd: ["wz_Thermostat-battery","ok","ok"] fhemweb.js:232:5
22:22:45.343 Rcvd: ["wz_Thermostat-battery-ts","2015-12-23 22:23:11","2015-12-23 22:23:11"] fhemweb.js:232:5
22:22:45.343 Rcvd: ["wz_Thermostat-desired-temp","21.0","21.0"] fhemweb.js:232:5
22:22:45.344 Rcvd: ["wz_Thermostat-desired-temp-ts","2015-12-23 22:23:11","2015-12-23 22:23:11"] fhemweb.js:232:5
22:22:45.345 Rcvd: ["wz_Thermostat_Climate","0","<div id=\"wz_Thermostat_Climate\"  class=\"col2\">0</div>"] fhemweb.js:232:5
22:22:45.346 Rcvd: ["wz_Thermostat_Climate-desired-temp","21.0","21.0"] fhemweb.js:232:5
22:22:45.346 Rcvd: ["wz_Thermostat_Climate-desired-temp-ts","2015-12-23 22:23:11","2015-12-23 22:23:11"] fhemweb.js:232:5


Gruß
Daniel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 23 Dezember 2015, 22:33:28
wo kommen die °C her ? stehen die wirklich so im reading des device ?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ext23 am 23 Dezember 2015, 22:43:31
Mhh nein, im STATE bei den internals.

Im readings sieht das so aus:
desired-temp      21.0      2015-12-23 22:23:10

Gruß
Daniel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 23 Dezember 2015, 22:46:48
in deinem log gibt es aber diese zeile: 22:22:45.335 Dcvd: ["Heizungssteuerung-wz_Thermostat.desired-temp","21.0 °C","21.0 °C"] fhemweb.js:232:5

da geht es ums reading.

zeig mal bitte ein list vom device.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ext23 am 23 Dezember 2015, 22:57:13
Da gibt es aber auch eine Zeile ohne das °C.


Internals:
   CFGFN      /opt/fhem/cfg/Wohnzimmer.cfg
   DEF        1D2544
   HMLAN1_MSGCNT 2545
   HMLAN1_RAWMSG E1D2544,0000,ECAE7F7C,FF,FFB7,C2A2581D25441A2BCA0000
   HMLAN1_RSSI -73
   HMLAN1_TIME 2015-12-23 22:53:25
   IODev      HMLAN1
   LASTInputDev HMLAN1
   MSGCNT     2545
   NAME       wz_Thermostat
   NR         891
   NTFY_ORDER 50-wz_Thermostat
   STATE      Temp:21.3 °C, Ventil:0, Soll-Temp:21.0 °C
   TYPE       CUL_HM
   channel_01 wz_Thermostat_Weather
   channel_02 wz_Thermostat_Climate
   channel_03 wz_Thermostat_WindowRec
   lastMsg    No:C2 - t:58 s:1D2544 d:1A2BCA 0000
   protCondBurst on
   protLastRcv 2015-12-23 22:53:25
   protResnd  3 last_at:2015-12-21 22:48:53
   protSnd    287 last_at:2015-12-23 22:23:10
   protState  CMDs_done
   rssi_HMLAN1 avg:-70.5 max:-68 lst:-71 cnt:12 min:-72
   rssi_at_HMLAN1 avg:-73.47 lst:-73 max:-68 cnt:2545 min:-93
   Readings:
     2015-12-21 22:28:33   Activity        alive
     2015-12-23 22:23:09   CommandAccepted yes
     2015-04-03 18:20:31   D-firmware      2.1
     2015-04-03 18:20:31   D-serialNr      JEQxxxxxxxx
     2015-10-11 10:19:16   PairedTo        0xxxxxxx
     2014-08-15 15:19:02   R-backlOnMode   auto
     2014-08-15 15:19:02   R-backlOnTime   25
     2014-08-15 15:19:02   R-btnLock       off
     2014-08-15 15:19:02   R-burstRx       on
     2014-08-15 15:19:02   R-pairCentral   0xxxxxxx
     2015-12-23 22:53:25   actuator        0
     2015-12-23 22:23:10   battery         ok
     2015-12-21 22:51:10   controlMode     auto
     2015-12-21 22:51:10   day-temp        22 C
     2015-12-21 22:51:10   decalcDay       Sat
     2015-12-23 22:23:10   desired-temp    21.0
     2015-12-21 22:51:10   displayMode     temp-hum
     2015-12-21 22:51:10   displayTemp     actual
     2015-12-21 22:51:10   displayTempUnit celsius
     2015-12-23 22:53:05   humidity        66
     2015-12-23 22:53:05   measured-temp   21.3
     2015-12-21 22:51:10   night-temp      19 C
     2015-12-21 22:51:10   party-temp      20 C
     2015-09-23 10:09:27   powerOn         2015-09-23 10:09:27
     2015-09-23 10:09:27   recentStateType info
     2015-12-23 22:53:05   state           T: 21.3 H: 66
     2015-05-27 15:30:00   temperature     0
     2015-12-23 00:00:09   time-request    -
     2015-02-04 17:51:51   trigLast        wz_Fenster :closed
     2015-02-04 17:51:51   trig_wz_Fenster closed
   Helper:
     HM_CMDNR   194
     PONtest    1
     cSnd       11xxxxxx1D254402022B,11xxxxxx1D254402022C
     mId        0039
     rxType     140
     Expert:
       def        1
       det        1
       raw        0
       tpl        0
     Io:
       newChn     +1D2544,00,00,00
       nextSend   1450907605.38767
       prefIO
       rxt        2
       vccu
       p:
         1D2544
         00
         00
         00
     Mrssi:
       mNo        C2
       Io:
         HMLAN1     -71
     Prt:
       awake      0
       bErr       0
       brstWu     1
       sProc      0
       sleeping   1
       Rspwait:
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
     Rssi:
       Hmlan1:
         avg        -70.5
         cnt        12
         lst        -71
         max        -68
         min        -72
       At_hmlan1:
         avg        -73.4754420432221
         cnt        2545
         lst        -73
         max        -68
         min        -93
Attributes:
   IODev      HMLAN1
   actCycle   000:10
   actStatus  alive
   alias      Wohnzimmer
   autoReadReg 4_reqStatus
   burstAccess 1_auto
   comment    Batteriewechsel: 23.09.2015
   expert     1_on
   firmware   2.1
   fp_Wohnung 300,400,2,Heizung
   group      Heizung
   model      HM-CC-TC
   room       Wohnzimmer
   serialNr   JEQxxxxxxx
   stateFormat Temp:measured-temp °C, Ventil:actuator, Soll-Temp:desired-temp °C
   subType    thermostat
   webCmd     desired-temp
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 23 Dezember 2015, 23:01:09
zeig bitte auch ein list auf die readingsGroup und einen screenshot.

danke
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ext23 am 23 Dezember 2015, 23:25:32
Internals:
   CFGFN      /opt/fhem/cfg/ReadingsGroup.cfg
   DEF        <%sani_heating>,<Soll>,<Soll neu>,<Boost>,<Ist>,<Ventil / RH>,<Modus>,<Fenster>,<Lock>,<Bat>
az_Heizung_Clima:desired-temp,<sollsetz>,!boost,measured-temp,ValvePosition,controlMode,<>,R-btnLock@az_Heizung,batteryLevel@az_Heizung
bz_Heizung_ClimRT_tr:desired-temp,<sollsetz>,!boost,measured-temp,ValvePosition,controlMode,state@bz_Fenster,R-btnLock@bz_Heizung,batteryLevel@bz_Heizung
<>,<>,<>,<>,<>,<>,<>,<>,<>,<>
sz_Thermostat:desired-temp,<sollsetz>,!boost,measured-temp,humidity,controlMode@sz_Thermostat_Climate,state@sz_Fenster,R-btnLock@sz_Thermostat,battery@sz_Thermostat
sz_Stellantrieb_links:<>,<>,<>,<>,ValvePosition,<>,<>,<>,battery
sz_Stellantrieb_rechts:<>,<>,<>,<>,ValvePosition,<>,<>,<>,battery
<>,<>,<>,<>,<>,<>,<>,<>,<>,<>
wz_Thermostat:desired-temp,<sollsetz>,!boost,measured-temp,humidity,controlMode@wz_Thermostat_Climate,state@wz_Fenster,R-btnLock@wz_Thermostat,battery@wz_Thermostat
wz_Stellantrieb_links:<>,<>,<>,<>,ValvePosition,<>,<>,<>,battery
wz_Stellantrieb_rechts:<>,<>,<>,<>,ValvePosition,<>,<>,<>,battery
<>,<>,<>,<>,<>,<>,<>,<>,<>,<>
bz_Handtuchtrockner:state,<>,<>,<>,<>,<>,<>,<>,<>
   NAME       Heizungssteuerung
   NR         1521
   NTFY_ORDER 50-Heizungssteuerung
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     az_Heizung_Clima 1
     bz_Handtuchtrockner 1
     bz_Heizung_ClimRT_tr 1
     sz_Stellantrieb_links 1
     sz_Stellantrieb_rechts 1
     sz_Thermostat 1
     wz_Stellantrieb_links 1
     wz_Stellantrieb_rechts 1
     wz_Thermostat 1
   Content2:
     az_Heizung 1
     bz_Fenster 1
     bz_Heizung 1
     sz_Fenster 1
     sz_Thermostat 1
     sz_Thermostat_Climate 1
     wz_Fenster 1
     wz_Thermostat 1
     wz_Thermostat_Climate 1
   DEVICES:
     ARRAY(0x3e62c698)
     ARRAY(0x4504fd90)
     ARRAY(0x4504f9b8)
     ARRAY(0x3e61fd18)
     ARRAY(0x3e59fcf8)
     ARRAY(0x4503f318)
     ARRAY(0x3e62e490)
     ARRAY(0x450519c0)
     ARRAY(0x45042668)
     ARRAY(0x3e620240)
     ARRAY(0x3e62bf60)
     ARRAY(0x45020310)
     ARRAY(0x3c035ac8)
   DEVICES2:
     ARRAY(0x3e62c698)
     ARRAY(0x4504fd90)
     ARRAY(0x4504f9b8)
     ARRAY(0x3e61fd18)
     ARRAY(0x3e59fcf8)
     ARRAY(0x4503f318)
     ARRAY(0x3e62e490)
     ARRAY(0x450519c0)
     ARRAY(0x45042668)
     ARRAY(0x3e620240)
     ARRAY(0x3e62bf60)
     ARRAY(0x45020310)
     ARRAY(0x3c035ac8)
     ARRAY(0x3e611950)
     ARRAY(0x3e62e3a0)
     ARRAY(0x450527d8)
     ARRAY(0x4504f958)
     ARRAY(0x45051a38)
     ARRAY(0x3e62de90)
     ARRAY(0x45055ac0)
     ARRAY(0x45055e80)
     ARRAY(0x42a7f7d0)
     ARRAY(0x4504fe80)
     ARRAY(0x45050240)
     ARRAY(0x3e635bb8)
     ARRAY(0x45051588)
   Fhem:
     lastDefChange 106
     last_update 1450904468.59736
   Helper:
     DEF
     valueFormat {if($READING eq "ValvePosition" && $VALUE ne "0"){$VALUE = int($VALUE/10)*10}elsif($READING eq "batteryLevel"){if($VALUE>=3){$VALUE=100}elsif($VALUE>=2.7){$VALUE=75}elsif($VALUE>=2.5){$VALUE=50}elsif($VALUE>=2.2){$VALUE=25}else{$VALUE=0}}}
     valueStyle {if($READING eq "measured-temp"){my $t=$VALUE;my $d=ReadingsVal($DEVICE,'desired-temp',0);if($t-$d>=1){'style="color:rgb(251,63,11);"'}elsif($t-$d<=-1){'style="color:rgb(79,58,251);"'}else{'style="color:rgb(12,251,12);"'}}}
     valueSuffix {"desired-temp"=>" °C", "measured-temp"=>" °C","ValvePosition"=>" (".ReadingsVal($DEVICE,$READING,0)." %)","humidity"=>" ".ReadingsVal($DEVICE,$READING,0)." % RH","batteryLevel"=>" (".ReadingsVal($DEVICE,$READING,0)." V)"}
     Cellstyle:
       r:1        style="font-weight:bold;;font-size:16px"
       r:13,c:0   style="font-weight:bold"
       r:2,c:0    style="font-weight:bold"
       r:3,c:0    style="font-weight:bold"
       r:5,c:0    style="font-weight:bold"
       r:9,c:0    style="font-weight:bold"
     Commands:
       Heizungssteuerung.sollsetz desired-temp:5.0,12.0,18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0
       R-btnLock.off set %DEVICE regSet btnLock on
       R-btnLock.on set %DEVICE regSet btnLock off
       boost      set %DEVICE controlMode boost
       controlMode.auto set %DEVICE controlMode manual
       controlMode.boost set %DEVICE controlMode auto
       controlMode.manual set %DEVICE controlMode auto
       state.off  set %DEVICE on-for-timer 7200
       state.on   set %DEVICE off
     Mapping:
       sz_Stellantrieb_links &nbsp;&nbsp;&nbsp;Regler links
       sz_Stellantrieb_rechts &nbsp;&nbsp;&nbsp;Regler rechts
       wz_Stellantrieb_links &nbsp;&nbsp;&nbsp;Regler links
       wz_Stellantrieb_rechts &nbsp;&nbsp;&nbsp;Regler rechts
     Positions:
       az_Heizung.R-btnLock 2:8
       az_Heizung.batteryLevel 2:9
       az_Heizung_Clima.ValvePosition 2:5
       az_Heizung_Clima.boost 2:3
       az_Heizung_Clima.controlMode 2:6
       az_Heizung_Clima.desired-temp 2:1
       az_Heizung_Clima.measured-temp 2:4
       bz_Fenster.state 3:7
       bz_Handtuchtrockner.state 13:1
       bz_Heizung.R-btnLock 3:8
       bz_Heizung.batteryLevel 3:9
       bz_Heizung_ClimRT_tr.ValvePosition 3:5
       bz_Heizung_ClimRT_tr.boost 3:3
       bz_Heizung_ClimRT_tr.controlMode 3:6
       bz_Heizung_ClimRT_tr.desired-temp 3:1
       bz_Heizung_ClimRT_tr.measured-temp 3:4
       sz_Fenster.state 5:7
       sz_Stellantrieb_links.ValvePosition 6:5
       sz_Stellantrieb_links.battery 6:9
       sz_Stellantrieb_rechts.ValvePosition 7:5
       sz_Stellantrieb_rechts.battery 7:9
       sz_Thermostat.R-btnLock 5:8
       sz_Thermostat.battery 5:9
       sz_Thermostat.boost 5:3
       sz_Thermostat.desired-temp 5:1
       sz_Thermostat.humidity 5:5
       sz_Thermostat.measured-temp 5:4
       sz_Thermostat_Climate.controlMode 5:6
       wz_Fenster.state 9:7
       wz_Stellantrieb_links.ValvePosition 10:5
       wz_Stellantrieb_links.battery 10:9
       wz_Stellantrieb_rechts.ValvePosition 11:5
       wz_Stellantrieb_rechts.battery 11:9
       wz_Thermostat.R-btnLock 9:8
       wz_Thermostat.battery 9:9
       wz_Thermostat.boost 9:3
       wz_Thermostat.desired-temp 9:1
       wz_Thermostat.humidity 9:5
       wz_Thermostat.measured-temp 9:4
       wz_Thermostat_Climate.controlMode 9:6
     recalc:

       ARRAY(0x46664af0)


       ARRAY(0x455cdd18)
     Valueicon:
       R-btnLock.off secur_open@0CFB0C
       R-btnLock.on secur_locked@F7301D
       R-btnLock.set_off hourglass
       R-btnLock.set_on hourglass
       R-globalBtnLock.off secur_open@0CFB0C
       R-globalBtnLock.on secur_locked@F7301D
       R-globalBtnLock.set_off hourglass
       R-globalBtnLock.set_on hourglass
       ValvePosition.0 sani_heating_level_0@002AE0
       ValvePosition.10 sani_heating_level_10@F8D53D
       ValvePosition.100 sani_heating_level_100@E50005
       ValvePosition.20 sani_heating_level_20@FF9341
       ValvePosition.30 sani_heating_level_30@F17F3F
       ValvePosition.40 sani_heating_level_40@E46C3C
       ValvePosition.50 sani_heating_level_50@DE3B3A
       ValvePosition.60 sani_heating_level_60@A30D2D
       ValvePosition.70 sani_heating_level_70@B40A23
       ValvePosition.80 sani_heating_level_80@C40619
       ValvePosition.90 sani_heating_level_90@D4030F
       battery.low measure_battery_0@E50005
       battery.ok measure_battery_100@0CFB0C
       batteryLevel.0 measure_battery_0@E50005
       batteryLevel.100 measure_battery_100@0CFB0C
       batteryLevel.25 measure_battery_25@FB5909
       batteryLevel.50 measure_battery_50@F5FF10
       batteryLevel.75 measure_battery_75@42BC0A
       boost      sani_heating_boost@FF0000
       controlMode.auto sani_heating_automatic@FFC13A
       controlMode.boost sani_heating_boost@FB0C02
       controlMode.manual sani_heating_manual@795CFF
       controlMode.set_auto hourglass
       controlMode.set_boost hourglass
       controlMode.set_manual hourglass
       humidity   humidity@6FD9FB
       state.closed fts_window_1w@00FF00
       state.off  sani_heating_level_0@0000FF
       state.on   sani_heating_level_100@FF0000
       state.open fts_window_1w_open@FF0000
       state.set_off hourglass
       state.set_on-for-timer 7200 hourglass
       state.tilted fts_window_1w_tilt@0000FF
     Values:
       formated:

         ARRAY(0x78c1800)

         ARRAY(0x459b2838)
         ARRAY(0x4538be98)
         ARRAY(0x454e0420)
         ARRAY(0x45a10ec8)
         ARRAY(0x45f03360)
         ARRAY(0x45911328)
         ARRAY(0x4586fbe8)
       orig:

         ARRAY(0x45a7ca78)

         ARRAY(0x45807c80)
         ARRAY(0x4586f720)
         ARRAY(0x3958ecb8)
         ARRAY(0x45a42d50)
         ARRAY(0x4586d2d8)
         ARRAY(0x466c02f0)
         ARRAY(0x466bf110)
       prefixsuffix:

         ARRAY(0x45858540)

         ARRAY(0x466c0500)
         ARRAY(0x457b08d0)
         ARRAY(0x45f046d8)
         ARRAY(0x466bf5b8)
         ARRAY(0x45abb050)
         ARRAY(0x4556f910)
         ARRAY(0x459c6f78)
Attributes:
   cellStyle  { "r:1"=>'style="font-weight:bold;;font-size:16px"',"r:2,c:0"=>'style="font-weight:bold"',"r:3,c:0"=>'style="font-weight:bold"',"r:5,c:0"=>'style="font-weight:bold"',"r:9,c:0"=>'style="font-weight:bold"',"r:13,c:0"=>'style="font-weight:bold"'}
   commands   {'Heizungssteuerung.sollsetz'=>'desired-temp:5.0,12.0,18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0',"controlMode.manual"=>"set %DEVICE controlMode auto","controlMode.auto"=>"set %DEVICE controlMode manual","controlMode.boost"=>"set %DEVICE controlMode auto","R-btnLock.on"=>"set %DEVICE regSet btnLock off","R-btnLock.off"=>"set %DEVICE regSet btnLock on","boost"=>"set %DEVICE controlMode boost","state.on"=>"set %DEVICE off","state.off"=>"set %DEVICE on-for-timer 7200"}
   group      Heizungssteuerung
   mapping    {sz_Stellantrieb_links=>"&nbsp;&nbsp;&nbsp;Regler links",sz_Stellantrieb_rechts=>"&nbsp;&nbsp;&nbsp;Regler rechts",wz_Stellantrieb_links=>"&nbsp;&nbsp;&nbsp;Regler links",wz_Stellantrieb_rechts=>"&nbsp;&nbsp;&nbsp;Regler rechts"}
   noheading  1
   valueFormat {if($READING eq "ValvePosition" && $VALUE ne "0"){$VALUE = int($VALUE/10)*10}elsif($READING eq "batteryLevel"){if($VALUE>=3){$VALUE=100}elsif($VALUE>=2.7){$VALUE=75}elsif($VALUE>=2.5){$VALUE=50}elsif($VALUE>=2.2){$VALUE=25}else{$VALUE=0}}}
   valueIcon  {'controlMode.manual' => 'sani_heating_manual@795CFF','controlMode.auto' => 'sani_heating_automatic@FFC13A', 'controlMode.boost' => 'sani_heating_boost@FB0C02','humidity'=>'humidity@6FD9FB', 'R-globalBtnLock.on'=>'secur_locked@F7301D','R-globalBtnLock.off'=>'secur_open@0CFB0C','R-btnLock.on'=>'secur_locked@F7301D','R-btnLock.off'=>'secur_open@0CFB0C','ValvePosition.0' => 'sani_heating_level_0@002AE0','ValvePosition.10' => 'sani_heating_level_10@F8D53D','ValvePosition.20' => 'sani_heating_level_20@FF9341','ValvePosition.30' => 'sani_heating_level_30@F17F3F','ValvePosition.40' => 'sani_heating_level_40@E46C3C','ValvePosition.50' => 'sani_heating_level_50@DE3B3A','ValvePosition.60' => 'sani_heating_level_60@A30D2D','ValvePosition.70' => 'sani_heating_level_70@B40A23','ValvePosition.80' => 'sani_heating_level_80@C40619','ValvePosition.90' => 'sani_heating_level_90@D4030F','ValvePosition.100' => 'sani_heating_level_100@E50005','batteryLevel.100'=>'measure_battery_100@0CFB0C','batteryLevel.75'=>'measure_battery_75@42BC0A','batteryLevel.50'=>'measure_battery_50@F5FF10','batteryLevel.25'=>'measure_battery_25@FB5909','batteryLevel.0'=>'measure_battery_0@E50005','battery.ok'=>'measure_battery_100@0CFB0C','battery.low'=>'measure_battery_0@E50005','controlMode.set_boost' => 'hourglass','controlMode.set_auto' => 'hourglass','controlMode.set_manual' => 'hourglass','R-globalBtnLock.set_on' => 'hourglass','R-globalBtnLock.set_off' => 'hourglass','R-btnLock.set_on' => 'hourglass','R-btnLock.set_off' => 'hourglass','boost' => 'sani_heating_boost@FF0000','state.open' => 'fts_window_1w_open@FF0000','state.closed' => 'fts_window_1w@00FF00','state.tilted' => 'fts_window_1w_tilt@0000FF','state.on' => 'sani_heating_level_100@FF0000','state.off' => 'sani_heating_level_0@0000FF','state.set_off' => 'hourglass','state.set_on-for-timer 7200' => 'hourglass'}
   valueStyle {if($READING eq "measured-temp"){my $t=$VALUE;my $d=ReadingsVal($DEVICE,'desired-temp',0);if($t-$d>=1){'style="color:rgb(251,63,11);"'}elsif($t-$d<=-1){'style="color:rgb(79,58,251);"'}else{'style="color:rgb(12,251,12);"'}}}
   valueSuffix {"desired-temp"=>" °C", "measured-temp"=>" °C","ValvePosition"=>" (".ReadingsVal($DEVICE,$READING,0)." %)","humidity"=>" ".ReadingsVal($DEVICE,$READING,0)." % RH","batteryLevel"=>" (".ReadingsVal($DEVICE,$READING,0)." V)"}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 23 Dezember 2015, 23:32:02
die drop down menus gehören zu sollest, das reaadings heisst aber desired-temp. da kann nichts per longpoll aktualisiert werden. du brauchst ein sollsetz reading (und musst sollsetz verwenden) damit longpoll geht.

warum überhaupt zwei spalten für soll und soll neu? die zeigen doch in deinem fall immer das gleiche an? du kannst doch direkt für desired-temp das drop down verwenden.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ext23 am 23 Dezember 2015, 23:55:10
Mhh und wie mache ich das am besten?

Ich hatte damals nur das aus dem Wiki als Vorlage genommen und etwas erweitert und angepasst. Und ich meine auch, dass hat im letzten Jahr noch funktioniert mit dem Longpoll, ich hatte da schon mal Probleme mit aber dann lief es. Das ich zwei Spalten habe, ja stimmt schon, macht kein Sinn. Aber so habe ich immer gesehen wann er es übernommen hat. Außerdem finde ich es optisch besser, gut das °C bekommt man auch in die Box. Könnte man sich auch sparen ja, aber ich wollte da nicht ewig rumfrickeln und war froh das es lief, weißt ja SW Kram ist nicht so meins ;-)

/Daniel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Xaser am 01 Januar 2016, 10:58:09
Hallo.

Ich habe zwei Fragen zu den readingsGroup.

Ich habe mir eine Heizungssteuerung (ähnlich den Artikel im Wiki) zusammen gebaut:

Internals:
   DEF        <%sani_heating>,<Soll>,<Soll neu>,<Ist>,<Ventil>,<Modus>,<Bat>,<RSSI>,<LF>
Wandthermostat_Wohnzimmer:desiredTemperature,<sollsetz>,<{ReadingsVal("Temperatur_Wohnzimmer","temperature","")}>,<>,mode,battery,RSSI,<{ReadingsVal("Temperatur_Wohnzimmer","humidity","")}>
Thermostat_Wohnzimmer1:desiredTemperature,<>,<>,valveposition,mode,battery,RSSI
Thermostat_Wohnzimmer2:desiredTemperature,<>,<>,valveposition,mode,battery,RSSI
<>,<>,<>,<>,<>,<>,<>,<>
Thermostat_Kueche:desiredTemperature,<sollsetz>,<{ReadingsVal("Temperatur_Kueche","temperature","")}>,valveposition,mode,battery,RSSI,<{ReadingsVal("Temperatur_Kueche","humidity","")}>
<>,<>,<>,<>,<>,<>,<>,<>
Thermostat_Schlafzimmer:desiredTemperature,<sollsetz>,<{ReadingsVal("Temperatur_Schlafzimmer","temperature","")}>,valveposition,mode,battery,RSSI,<{ReadingsVal("Temperatur_Schlafzimmer","humidity","")}>
<>,<>,<>,<>,<>,<>,<>,<>
Thermostat_Bad:desiredTemperature,<sollsetz>,<{ReadingsVal("Temperatur_Bad","temperature","")}>,valveposition,mode,battery,RSSI,<{ReadingsVal("Temperatur_Bad","humidity","")}>
<>,<>,<>,<>,<>,<>,<>,<>
Thermostat_Arbeitszimmer:desiredTemperature,<sollsetz>,<{ReadingsVal("Temperatur_Arbeitszimmer","temperature","")}>,valveposition,mode,battery,RSSI,<{ReadingsVal("Temperatur_Arbeitszimmer","humidity","")}>
   NAME       heatingInfo
   NR         386
   NTFY_ORDER 50-heatingInfo
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Thermostat_Arbeitszimmer 1
     Thermostat_Bad 1
     Thermostat_Kueche 1
     Thermostat_Schlafzimmer 1
     Thermostat_Wohnzimmer1 1
     Thermostat_Wohnzimmer2 1
     Wandthermostat_Wohnzimmer 1
   Content2:
   DEVICES:
     ARRAY(0x3106cd0)
     ARRAY(0x318eca0)
     ARRAY(0x2e1f7f0)
     ARRAY(0x3be3088)
     ARRAY(0x4073178)
     ARRAY(0x37fa338)
     ARRAY(0x2bbcfb0)
     ARRAY(0x3f240f8)
     ARRAY(0x3c86250)
     ARRAY(0x2ef8b08)
     ARRAY(0x3974108)
     ARRAY(0x37a9c48)
   Fhem:
     lastDefChange 38
     last_update 1451562997.05122
   Helper:
     DEF
     Commands:
       heatingInfo.sollsetz desiredTemperature:5.0,12.0,18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0
       mode.auto  set %DEVICE desiredTemperature manual
       mode.manual set %DEVICE desiredTemperature auto
     Positions:
       Thermostat_Arbeitszimmer.RSSI 12:7
       Thermostat_Arbeitszimmer.battery 12:6
       Thermostat_Arbeitszimmer.desiredTemperature 12:1
       Thermostat_Arbeitszimmer.mode 12:5
       Thermostat_Arbeitszimmer.valveposition 12:4
       Thermostat_Bad.RSSI 10:7
       Thermostat_Bad.battery 10:6
       Thermostat_Bad.desiredTemperature 10:1
       Thermostat_Bad.mode 10:5
       Thermostat_Bad.valveposition 10:4
       Thermostat_Kueche.RSSI 6:7
       Thermostat_Kueche.battery 6:6
       Thermostat_Kueche.desiredTemperature 6:1
       Thermostat_Kueche.mode 6:5
       Thermostat_Kueche.valveposition 6:4
       Thermostat_Schlafzimmer.RSSI 8:7
       Thermostat_Schlafzimmer.battery 8:6
       Thermostat_Schlafzimmer.desiredTemperature 8:1
       Thermostat_Schlafzimmer.mode 8:5
       Thermostat_Schlafzimmer.valveposition 8:4
       Thermostat_Wohnzimmer1.RSSI 3:7
       Thermostat_Wohnzimmer1.battery 3:6
       Thermostat_Wohnzimmer1.desiredTemperature 3:1
       Thermostat_Wohnzimmer1.mode 3:5
       Thermostat_Wohnzimmer1.valveposition 3:4
       Thermostat_Wohnzimmer2.RSSI 4:7
       Thermostat_Wohnzimmer2.battery 4:6
       Thermostat_Wohnzimmer2.desiredTemperature 4:1
       Thermostat_Wohnzimmer2.mode 4:5
       Thermostat_Wohnzimmer2.valveposition 4:4
       Wandthermostat_Wohnzimmer.RSSI 2:7
       Wandthermostat_Wohnzimmer.battery 2:6
       Wandthermostat_Wohnzimmer.desiredTemperature 2:1
       Wandthermostat_Wohnzimmer.mode 2:5
     Values:
       formated:

         ARRAY(0x3cd7d88)


         ARRAY(0x3f225b8)
         ARRAY(0x3389278)
         ARRAY(0x4014f98)
         ARRAY(0x291c0a8)
       orig:

         ARRAY(0x3f230e8)


         ARRAY(0x2a77778)
         ARRAY(0x3f98438)
         ARRAY(0x3be7ce8)
         ARRAY(0x3c56980)
       prefixsuffix:

         ARRAY(0x3c42d88)


         ARRAY(0x3817830)
         ARRAY(0x37d1148)
         ARRAY(0x4014a88)
         ARRAY(0x3dd5268)
Attributes:
   commands   {
'heatingInfo.sollsetz'=>'desiredTemperature:5.0,12.0,18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0',
"mode.manual"=>"set %DEVICE desiredTemperature auto","mode.auto"=>"set %DEVICE desiredTemperature manual",
}
   room       30_Heizung


1. Ich möchte nun die Heizung immer über den Befehl "desiredTemperature auto" + die gewünschte Temperatur ansprechen. Wenn ich das "auto" nicht mit sende, springt das Thermostat immer in den Manuell Modus. Wie bekomme ich das hin? Ich habe jetzt schon einiges Probiert, allerdings komme ich einfach nicht auf das gewünschte Ergebnis.

2.Ich frage meine Raum-Temperaturen mit <{ReadingsVal("Temperatur_Wohnzimmer","temperature","")}> ab. Jetzt ist mir aufgefallen das er die neuen Temperaturen nur dann aktualisiert, wenn ich am Thermostat eine neue Temperatur eingebe oder die Seite aktualisiere. Eine automatische Aktualisierung funktioniert hier irgendwie nicht. Muss ich noch irgendwas ändern oder ggf. den Code ändern?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: tomspatz am 06 Januar 2016, 16:24:12
Jetz muss ich ier auch mal rein.
Im Event Monitor läuft ja immer die Readings Ausgabe, dabei kommen immer wieder komische Zeilen:
2016-01-06 16:15:07 readingsGroup BatterieStatus HeizungWohnzimmer.battery: image/svg+xml       ath9"    inkscape:connector-curvature="0" />                             
2016-01-06 16:15:07 readingsGroup BatterieStatusProzent HeizungWohnzimmer.battery: 84 %
2016-01-06 16:15:07 ZWave HeizungWohnzimmer battery: 84 %
2016-01-06 16:15:07 ZWave HeizungWohnzimmer setpointTemp: 22.0 C heating
2016-01-06 16:15:07 ZWave HeizungWohnzimmer ccsOverride: no, unused
2016-01-06 16:15:07 ZWave HeizungWohnzimmer wakeup: notification
2016-01-06 16:15:26 readingsGroup BatterieStatus HeizungKueche.battery: image/svg+xml       "    inkscape:connector-curvature="0" />                             
2016-01-06 16:15:26 readingsGroup BatterieStatusProzent HeizungKueche.battery: 90 %
2016-01-06 16:15:26 ZWave HeizungKueche battery: 90 %
2016-01-06 16:15:26 ZWave HeizungKueche setpointTemp: 19.0 C heating
2016-01-06 16:15:26 ZWave HeizungKueche ccsOverride: no, unused
2016-01-06 16:15:26 ZWave HeizungKueche wakeup: notification
2016-01-06 16:16:10 readingsGroup BatterieStatus HeizungSchlafzimmer.battery: image/svg+xml       "path9"    inkscape:connector-curvature="0" />                             
2016-01-06 16:16:10 readingsGroup BatterieStatusProzent HeizungSchlafzimmer.battery: 82 %
2016-01-06 16:16:10 ZWave HeizungSchlafzimmer battery: 82 %
2016-01-06 16:16:10 ZWave HeizungSchlafzimmer setpointTemp: 21.0 C heating
2016-01-06 16:16:10 ZWave HeizungSchlafzimmer ccsOverride: no, unused
2016-01-06 16:16:10 ZWave HeizungSchlafzimmer wakeup: notification
2016-01-06 16:17:56 readingsGroup BatterieStatus HeizungBuero.battery: image/svg+xml        z"    id="path9"    inkscape:connector-curvature="0" />                         
2016-01-06 16:17:56 readingsGroup BatterieStatusProzent HeizungBuero.battery: 75 %
2016-01-06 16:17:56 ZWave HeizungBuero battery: 75 %
2016-01-06 16:17:56 ZWave HeizungBuero setpointTemp: 20.0 C heating
2016-01-06 16:17:56 ZWave HeizungBuero ccsOverride: no, unused
2016-01-06 16:17:56 ZWave HeizungBuero wakeup: notification
2016-01-06 16:18:01 readingsGroup BatterieStatus HeizungBad.battery: image/svg+xml         inkscape:connector-curvature="0" />                             
2016-01-06 16:18:01 readingsGroup BatterieStatusProzent HeizungBad.battery: 88 %
2016-01-06 16:18:01 ZWave HeizungBad battery: 88 %
2016-01-06 16:18:01 ZWave HeizungBad setpointTemp: 20.0 C heating
2016-01-06 16:18:01 ZWave HeizungBad ccsOverride: no, unused
2016-01-06 16:18:01 ZWave HeizungBad wakeup: notification
2016-01-06 16:20:01 readingsGroup BatterieStatus HeizungWohnzimmer.battery: image/svg+xml                                     
2016-01-06 16:20:01 readingsGroup BatterieStatusProzent HeizungWohnzimmer.battery: 84 %
2016-01-06 16:20:01 ZWave HeizungWohnzimmer battery: 84 %
2016-01-06 16:20:01 ZWave HeizungWohnzimmer setpointTemp: 22.0 C heating
2016-01-06 16:20:01 ZWave HeizungWohnzimmer ccsOverride: no, unused


Das Ergebniss sieht gut aus, aber warum heisst es manchmal nur:
2016-01-06 16:20:01 readingsGroup BatterieStatus HeizungWohnzimmer.battery: image/svg+xml 

und dann wieder:
2016-01-06 16:15:07 readingsGroup BatterieStatus HeizungWohnzimmer.battery: image/svg+xml       ath9"    inkscape:connector-curvature="0" />   

Auch der rest dieser Zeilen sieht für mich komisch aus.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: JoeALLb am 11 Januar 2016, 16:01:29
Zur Vereinfachung habe ich im ThermostatBad ein Reading mit dem Namen des zugehörigen Fenster/Rollo.

Nun möchte ich in einer Readingsgroup der Thermostate gerne den Status des Rollos anzeigen.
Um nicht alle Rollos von Hand eingeben zu müssen würde ich gerne aus dem Reading "myFenster", das den Namen des Devices enthält, die Daten übernehmen.

So ähnlich hätte ich mir das vorgestellt.

position@<&device{myFenster}>

Nun die Frage: Ist so etwas möglich?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 Januar 2016, 16:43:11
die syntax ist so <reading>@<device>, wobei <device> auch mit {} eingeschlossener perl code sein darf. zwischen den {} darf kein leerzeichen stehen. deshalb ist es das einfachste eine routine aufzurufen. also etwa so <reading>@{myRolloOfThermostat($DEVICE)}.

myRolloOfThermostat musst du dann selber bauen.

im wiki gibt es beispiele.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: JoeALLb am 12 Januar 2016, 12:09:42
Zitat von: justme1968 am 11 Januar 2016, 16:43:11
die syntax ist so <reading>@<device>, wobei <device> auch mit {} eingeschlossener perl code sein darf. zwischen den {} darf kein leerzeichen stehen. deshalb ist es das einfachste eine routine aufzurufen. also etwa so <reading>@{myRolloOfThermostat($DEVICE)}.

myRolloOfThermostat musst du dann selber bauen.

im wiki gibt es beispiele.

Danke, klappt. eigentlich hatte ich es so auch schon versucht... aber irgendwo war wohl ein Fehler mit drin. Mir war der Zusammenhang hier mit den ">" nicht ganz klar,
speziell bei <reading>  im Beispiel  <reading>@{myRolloOfThermostat($DEVICE)}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: rippi46 am 12 Januar 2016, 12:21:16
Zitat von: Xaser am 01 Januar 2016, 10:58:09
Hallo.

Ich habe zwei Fragen zu den readingsGroup.

Ich habe mir eine Heizungssteuerung (ähnlich den Artikel im Wiki) zusammen gebaut:

Internals:
   DEF        <%sani_heating>,<Soll>,<Soll neu>,<Ist>,<Ventil>,<Modus>,<Bat>,<RSSI>,<LF>
Wandthermostat_Wohnzimmer:desiredTemperature,<sollsetz>,<{ReadingsVal("Temperatur_Wohnzimmer","temperature","")}>,<>,mode,battery,RSSI,<{ReadingsVal("Temperatur_Wohnzimmer","humidity","")}>
Thermostat_Wohnzimmer1:desiredTemperature,<>,<>,valveposition,mode,battery,RSSI
Thermostat_Wohnzimmer2:desiredTemperature,<>,<>,valveposition,mode,battery,RSSI
<>,<>,<>,<>,<>,<>,<>,<>
Thermostat_Kueche:desiredTemperature,<sollsetz>,<{ReadingsVal("Temperatur_Kueche","temperature","")}>,valveposition,mode,battery,RSSI,<{ReadingsVal("Temperatur_Kueche","humidity","")}>
<>,<>,<>,<>,<>,<>,<>,<>
Thermostat_Schlafzimmer:desiredTemperature,<sollsetz>,<{ReadingsVal("Temperatur_Schlafzimmer","temperature","")}>,valveposition,mode,battery,RSSI,<{ReadingsVal("Temperatur_Schlafzimmer","humidity","")}>
<>,<>,<>,<>,<>,<>,<>,<>
Thermostat_Bad:desiredTemperature,<sollsetz>,<{ReadingsVal("Temperatur_Bad","temperature","")}>,valveposition,mode,battery,RSSI,<{ReadingsVal("Temperatur_Bad","humidity","")}>
<>,<>,<>,<>,<>,<>,<>,<>
Thermostat_Arbeitszimmer:desiredTemperature,<sollsetz>,<{ReadingsVal("Temperatur_Arbeitszimmer","temperature","")}>,valveposition,mode,battery,RSSI,<{ReadingsVal("Temperatur_Arbeitszimmer","humidity","")}>
   NAME       heatingInfo
   NR         386
   NTFY_ORDER 50-heatingInfo
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Thermostat_Arbeitszimmer 1
     Thermostat_Bad 1
     Thermostat_Kueche 1
     Thermostat_Schlafzimmer 1
     Thermostat_Wohnzimmer1 1
     Thermostat_Wohnzimmer2 1
     Wandthermostat_Wohnzimmer 1
   Content2:
   DEVICES:
     ARRAY(0x3106cd0)
     ARRAY(0x318eca0)
     ARRAY(0x2e1f7f0)
     ARRAY(0x3be3088)
     ARRAY(0x4073178)
     ARRAY(0x37fa338)
     ARRAY(0x2bbcfb0)
     ARRAY(0x3f240f8)
     ARRAY(0x3c86250)
     ARRAY(0x2ef8b08)
     ARRAY(0x3974108)
     ARRAY(0x37a9c48)
   Fhem:
     lastDefChange 38
     last_update 1451562997.05122
   Helper:
     DEF
     Commands:
       heatingInfo.sollsetz desiredTemperature:5.0,12.0,18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0
       mode.auto  set %DEVICE desiredTemperature manual
       mode.manual set %DEVICE desiredTemperature auto
     Positions:
       Thermostat_Arbeitszimmer.RSSI 12:7
       Thermostat_Arbeitszimmer.battery 12:6
       Thermostat_Arbeitszimmer.desiredTemperature 12:1
       Thermostat_Arbeitszimmer.mode 12:5
       Thermostat_Arbeitszimmer.valveposition 12:4
       Thermostat_Bad.RSSI 10:7
       Thermostat_Bad.battery 10:6
       Thermostat_Bad.desiredTemperature 10:1
       Thermostat_Bad.mode 10:5
       Thermostat_Bad.valveposition 10:4
       Thermostat_Kueche.RSSI 6:7
       Thermostat_Kueche.battery 6:6
       Thermostat_Kueche.desiredTemperature 6:1
       Thermostat_Kueche.mode 6:5
       Thermostat_Kueche.valveposition 6:4
       Thermostat_Schlafzimmer.RSSI 8:7
       Thermostat_Schlafzimmer.battery 8:6
       Thermostat_Schlafzimmer.desiredTemperature 8:1
       Thermostat_Schlafzimmer.mode 8:5
       Thermostat_Schlafzimmer.valveposition 8:4
       Thermostat_Wohnzimmer1.RSSI 3:7
       Thermostat_Wohnzimmer1.battery 3:6
       Thermostat_Wohnzimmer1.desiredTemperature 3:1
       Thermostat_Wohnzimmer1.mode 3:5
       Thermostat_Wohnzimmer1.valveposition 3:4
       Thermostat_Wohnzimmer2.RSSI 4:7
       Thermostat_Wohnzimmer2.battery 4:6
       Thermostat_Wohnzimmer2.desiredTemperature 4:1
       Thermostat_Wohnzimmer2.mode 4:5
       Thermostat_Wohnzimmer2.valveposition 4:4
       Wandthermostat_Wohnzimmer.RSSI 2:7
       Wandthermostat_Wohnzimmer.battery 2:6
       Wandthermostat_Wohnzimmer.desiredTemperature 2:1
       Wandthermostat_Wohnzimmer.mode 2:5
     Values:
       formated:

         ARRAY(0x3cd7d88)


         ARRAY(0x3f225b8)
         ARRAY(0x3389278)
         ARRAY(0x4014f98)
         ARRAY(0x291c0a8)
       orig:

         ARRAY(0x3f230e8)


         ARRAY(0x2a77778)
         ARRAY(0x3f98438)
         ARRAY(0x3be7ce8)
         ARRAY(0x3c56980)
       prefixsuffix:

         ARRAY(0x3c42d88)


         ARRAY(0x3817830)
         ARRAY(0x37d1148)
         ARRAY(0x4014a88)
         ARRAY(0x3dd5268)
Attributes:
   commands   {
'heatingInfo.sollsetz'=>'desiredTemperature:5.0,12.0,18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0',
"mode.manual"=>"set %DEVICE desiredTemperature auto","mode.auto"=>"set %DEVICE desiredTemperature manual",
}
   room       30_Heizung


1. Ich möchte nun die Heizung immer über den Befehl "desiredTemperature auto" + die gewünschte Temperatur ansprechen. Wenn ich das "auto" nicht mit sende, springt das Thermostat immer in den Manuell Modus. Wie bekomme ich das hin? Ich habe jetzt schon einiges Probiert, allerdings komme ich einfach nicht auf das gewünschte Ergebnis.

2.Ich frage meine Raum-Temperaturen mit <{ReadingsVal("Temperatur_Wohnzimmer","temperature","")}> ab. Jetzt ist mir aufgefallen das er die neuen Temperaturen nur dann aktualisiert, wenn ich am Thermostat eine neue Temperatur eingebe oder die Seite aktualisiere. Eine automatische Aktualisierung funktioniert hier irgendwie nicht. Muss ich noch irgendwas ändern oder ggf. den Code ändern?

Hallo Xaser habe dir hier geantwortet; vielleicht ist das eine Lösung.http://forum.fhem.de/index.php/topic,46418.0.html (http://forum.fhem.de/index.php/topic,46418.0.html)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: pappn am 17 Januar 2016, 13:18:03
Hallo

habe ein kleines Problem. Seit ich diese ReadingsGroup definiert habedefine wetter_readings readingsGroup cp_S300TH:<Temperatur&nbsp;;Carport>,temperature \
cp_S300TH:<Durchschnittstemperatur>,T_avg_day \
<hr> \
ozw672:<Aussentemperatur>,Aussentemperatur \
ozw672:<Durchschnittstemperatur>,Aussentemperatur_avg_day
bekomme ich beim Aufruf immer 2016.01.17 13:11:06 1: PERL WARNING: Useless use of private variable in void context at (eval 2737) line 1.
2016.01.17 13:11:06 1: PERL WARNING: Useless use of private variable in void context at (eval 2738) line 1.
2016.01.17 13:11:06 1: PERL WARNING: Useless use of private variable in void context at (eval 2739) line 1.
2016.01.17 13:11:06 1: PERL WARNING: Useless use of private variable in void context at (eval 2740) line 1.
im log. Mit stacktrace erhalte ich:2016.01.17 13:11:06 1: PERL WARNING: Useless use of private variable in void context at (eval 2737) line 1.
2016.01.17 13:11:06 3: stacktrace:
2016.01.17 13:11:06 3:     main::__ANON__                      called by (eval 2737) (1)
2016.01.17 13:11:06 3:     (eval)                              called by ./FHEM/33_readingsGroup.pm (342)
2016.01.17 13:11:06 3:     main::lookup2                       called by ./FHEM/33_readingsGroup.pm (525)
2016.01.17 13:11:06 3:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1000)
2016.01.17 13:11:06 3:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1089)
2016.01.17 13:11:06 3:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (2715)
2016.01.17 13:11:06 3:     main::FW_devState                   called by ./FHEM/01_FHEMWEB.pm (1531)
2016.01.17 13:11:06 3:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (889)
2016.01.17 13:11:06 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (444)
2016.01.17 13:11:06 3:     main::FW_Read                       called by fhem.pl (3162)
2016.01.17 13:11:06 3:     main::CallFn                        called by fhem.pl (658)
2016.01.17 13:11:06 1: PERL WARNING: Useless use of private variable in void context at (eval 2738) line 1.
2016.01.17 13:11:06 3: stacktrace:
2016.01.17 13:11:06 3:     main::__ANON__                      called by (eval 2738) (1)
2016.01.17 13:11:06 3:     (eval)                              called by ./FHEM/33_readingsGroup.pm (342)
2016.01.17 13:11:06 3:     main::lookup2                       called by ./FHEM/33_readingsGroup.pm (525)
2016.01.17 13:11:06 3:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1000)
2016.01.17 13:11:06 3:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1089)
2016.01.17 13:11:06 3:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (2715)
2016.01.17 13:11:06 3:     main::FW_devState                   called by ./FHEM/01_FHEMWEB.pm (1531)
2016.01.17 13:11:06 3:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (889)
2016.01.17 13:11:06 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (444)
2016.01.17 13:11:06 3:     main::FW_Read                       called by fhem.pl (3162)
2016.01.17 13:11:06 3:     main::CallFn                        called by fhem.pl (658)
2016.01.17 13:11:06 1: PERL WARNING: Useless use of private variable in void context at (eval 2739) line 1.
2016.01.17 13:11:06 3: stacktrace:
2016.01.17 13:11:06 3:     main::__ANON__                      called by (eval 2739) (1)
2016.01.17 13:11:06 3:     (eval)                              called by ./FHEM/33_readingsGroup.pm (342)
2016.01.17 13:11:06 3:     main::lookup2                       called by ./FHEM/33_readingsGroup.pm (525)
2016.01.17 13:11:06 3:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1000)
2016.01.17 13:11:06 3:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1089)
2016.01.17 13:11:06 3:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (2715)
2016.01.17 13:11:06 3:     main::FW_devState                   called by ./FHEM/01_FHEMWEB.pm (1531)
2016.01.17 13:11:06 3:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (889)
2016.01.17 13:11:06 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (444)
2016.01.17 13:11:06 3:     main::FW_Read                       called by fhem.pl (3162)
2016.01.17 13:11:06 3:     main::CallFn                        called by fhem.pl (658)
2016.01.17 13:11:06 1: PERL WARNING: Useless use of private variable in void context at (eval 2740) line 1.
2016.01.17 13:11:06 3: stacktrace:
2016.01.17 13:11:06 3:     main::__ANON__                      called by (eval 2740) (1)
2016.01.17 13:11:06 3:     (eval)                              called by ./FHEM/33_readingsGroup.pm (342)
2016.01.17 13:11:06 3:     main::lookup2                       called by ./FHEM/33_readingsGroup.pm (525)
2016.01.17 13:11:06 3:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1000)
2016.01.17 13:11:06 3:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1089)
2016.01.17 13:11:06 3:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (2715)
2016.01.17 13:11:06 3:     main::FW_devState                   called by ./FHEM/01_FHEMWEB.pm (1531)
2016.01.17 13:11:06 3:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (889)
2016.01.17 13:11:06 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (444)
2016.01.17 13:11:06 3:     main::FW_Read                       called by fhem.pl (3162)
2016.01.17 13:11:06 3:     main::CallFn                        called by fhem.pl (658)

Kann mir jemand helfen herauszufinden woran das liegt?
Danke
Christof
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Januar 2016, 16:53:24
die warnung kommt aus deinem valueFormat. das hast du leider nicht gezeigt.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: pappn am 17 Januar 2016, 19:25:21
Oh, darauf wäre ich nicht gekommen. Valueformat ist:
{$READING => "%.1f °C"}

Christof
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 17 Januar 2016, 19:48:06
{$READING => "%.1f °C"} funktioniert nicht. wenn es für jedes reading gelten soll reicht attr <rg> valueFormat %.1f °C

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: pappn am 17 Januar 2016, 20:00:01
Super, Danke Andre.

Interessant ist allerdings, dass das Ergebnis passt. Nur die Perl Warnung kommt dazu.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: limats am 18 Januar 2016, 13:30:09
Hallo zusammen,

ich habe eine Frage zum Performance-Tuning von readingsGroup.

In einem anderen Thread (http://forum.fhem.de/index.php/topic,32382.0.html)  wurde folgende readingsGroup zur Müllabfuhrvisualisierung veröffentlicht:


define rgAbfallkalender readingsGroup abfallkalender:!title\
abfallkalender:!day|0,!Restabfall|0,!Leichtverpackungen|0,!Papier|0,!Bioabfall|0,!O-Tonne|0,!Tannenbaum|0\
abfallkalender:!day|1,!Restabfall|1,!Leichtverpackungen|1,!Papier|1,!Bioabfall|1,!O-Tonne|1,!Tannenbaum|1\
abfallkalender:!day|2,!Restabfall|2,!Leichtverpackungen|2,!Papier|2,!Bioabfall|2,!O-Tonne|2,!Tannenbaum|2\
abfallkalender:!day|3,!Restabfall|3,!Leichtverpackungen|3,!Papier|3,!Bioabfall|3,!O-Tonne|3,!Tannenbaum|3\
abfallkalender:!day|4,!Restabfall|4,!Leichtverpackungen|4,!Papier|4,!Bioabfall|4,!O-Tonne|4,!Tannenbaum|4\
abfallkalender:!day|5,!Restabfall|5,!Leichtverpackungen|5,!Papier|5,!Bioabfall|5,!O-Tonne|5,!Tannenbaum|5\
abfallkalender:!day|6,!Restabfall|6,!Leichtverpackungen|6,!Papier|6,!Bioabfall|6,!O-Tonne|6,!Tannenbaum|6\
abfallkalender:!day|7,!Restabfall|7,!Leichtverpackungen|7,!Papier|7,!Bioabfall|7,!O-Tonne|7,!Tannenbaum|7\
abfallkalender:!day|8,!Restabfall|8,!Leichtverpackungen|8,!Papier|8,!Bioabfall|8,!O-Tonne|8,!Tannenbaum|8\
abfallkalender:!day|9,!Restabfall|9,!Leichtverpackungen|9,!Papier|9,!Bioabfall|9,!O-Tonne|9,!Tannenbaum|9\
abfallkalender:!day|10,!Restabfall|10,!Leichtverpackungen|10,!Papier|10,!Bioabfall|10,!O-Tonne|10,!Tannenbaum|10\
abfallkalender:!day|11,!Restabfall|11,!Leichtverpackungen|11,!Papier|11,!Bioabfall|11,!O-Tonne|11,!Tannenbaum|11\
abfallkalender:!day|12,!Restabfall|12,!Leichtverpackungen|12,!Papier|12,!Bioabfall|12,!O-Tonne|12,!Tannenbaum|12\
abfallkalender:!day|13,!Restabfall|13,!Leichtverpackungen|13,!Papier|13,!Bioabfall|13,!O-Tonne|13,!Tannenbaum|13\
abfallkalender:!day|14,!Restabfall|14,!Leichtverpackungen|14,!Papier|14,!Bioabfall|14,!O-Tonne|14,!Tannenbaum|14
attr rgAbfallkalender alias Müllabfuhr
attr rgAbfallkalender cellStyle { "r:1"=>'style="font-weight:bold;;font-size:16px"',"c:1"=>'style="font-weight:bold;;text-align:right;;padding-left:28pt;;"'}
attr rgAbfallkalender nonames 1
attr rgAbfallkalender room Information
attr rgAbfallkalender valueColumns { title => 'colspan="7"' }
attr rgAbfallkalender valueFormat {if($READING eq 'title'){$VALUE="recycling"}else{my($r,$d)=split(/\|/,$READING);;;;my $v=fhem("get abfallkalender days $d",1);;;;if($v eq "none"){$VALUE=undef}else{if($r eq 'day'){if($d==0){$VALUE="Heute"}elsif($d==1){$VALUE="Morgen"}else{$VALUE="in $d Tagen"}}else{if($v=~m/$r/){$VALUE=1}else{$VALUE=' '}}}}}
attr rgAbfallkalender valueIcon {if($VALUE eq 'recycling'){$VALUE}elsif($VALUE eq 1){if($READING=~m/Restabfall/){$VALUE='bag'}elsif($READING=~m/Leichtverpackungen/){$VALUE='bag@FFFF00'}elsif($READING=~m/Papier/){$VALUE='bag@01A3F5'}elsif($READING=~m/Bioabfall/){$VALUE='bag@04D921'}elsif($READING=~m/O-Tonne/){$VALUE='dustbin@FF6D00'}elsif($READING=~m/Tannenbaum/){$VALUE='christmas_tree@2B6B17'}}else{$VALUE=''}}
attr rgAbfallkalender valueSuffix {'title'=>' Müllabfuhr'}


Durch den Code im valueFormat wird der Aufruf "fhem("get abfallkalender days $d",1)" für jede Spalte wiederholt und damit jeweils 7 mal mit den identischen Parametern aufgerufen.
Gibt es eine Möglichkeit das irgendwie zu verhindern? Also quasi eine Hilfsvariable, die nur einmal pro Zeile berechnet wird.

Gruß
Leo
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 18 Januar 2016, 13:49:34
den wert ein mal nachts holen und in einen dummy stecken. in der readingsGroup dann den dummy verwenden.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 01 März 2016, 21:59:52
Hi,
habe heute folgende Meldung im Log:

2016.03.01 21:43:43.154 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 525.
2016.03.01 21:43:43.155 3: stacktrace:
2016.03.01 21:43:43.156 3:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (524)
2016.03.01 21:43:43.156 3:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (997)
2016.03.01 21:43:43.157 3:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1086)
2016.03.01 21:43:43.157 3:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1592)
2016.03.01 21:43:43.157 3:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (897)
2016.03.01 21:43:43.158 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (446)
2016.03.01 21:43:43.158 3:     main::FW_Read                       called by fhem.pl (3147)
2016.03.01 21:43:43.158 3:     main::CallFn                        called by fhem.pl (654)
2016.03.01 21:43:44.305 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 525.
2016.03.01 21:43:44.306 3: stacktrace:
2016.03.01 21:43:44.306 3:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (524)
2016.03.01 21:43:44.307 3:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (997)
2016.03.01 21:43:44.307 3:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1086)
2016.03.01 21:43:44.307 3:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1592)
2016.03.01 21:43:44.308 3:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (897)
2016.03.01 21:43:44.308 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (446)
2016.03.01 21:43:44.308 3:     main::FW_Read                       called by fhem.pl (3147)
2016.03.01 21:43:44.309 3:     main::CallFn                        called by fhem.pl (654)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Kai-Alfonso am 08 März 2016, 10:50:44
Huhu,

ich versuche mich mal grad in die readingsGroup einzulesen und finde die Möglichkeiten recht spannend. Ich hab dazu auch gleich mal eine Frage:

Ich habe folgende RG

define Sonos_Bad_RG readingsGroup steckdose.Sonos_Bad:state Sonos_Bad:state doif.Bad.Sonos.AutoOff:state
attr Sonos_Bad_RG alias Sonos Badezimmer
attr Sonos_Bad_RG mapping {'steckdose.Sonos_Bad' => 'Strom', 'doif.Bad.Sonos.AutoOff' => 'autom. Abschaltung', 'Sonos_Bad' => 'Status'}
attr Sonos_Bad_RG room Badezimmer
attr Sonos_Bad_RG valueIcon { state => '%devStateIcon' }


Bedienung funktioniert super, allerdings scheint er den Status und Icons nur nach einem reload der Seite zu aktualisieren und nicht automatisch per longpoll. Weiß jemand, welchen Fehler ich gemacht habe?

Vielen Dank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Kai-Alfonso am 09 März 2016, 18:30:19
hmm, hat keine ne Idee? Andre vielleicht?  8) 8) 8) 8) :o :o
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 09 März 2016, 21:32:55
werden die icons der einzelnen devices korrekt aktualisiert? auch in einem zweiten browser fenster?

gibt es events dazu im event monitor?

was sagt verbose 5 auf die readingsGroup?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Kai-Alfonso am 10 März 2016, 07:57:31
Moin Andre

Zitat von: justme1968 am 09 März 2016, 21:32:55
werden die icons der einzelnen devices korrekt aktualisiert? auch in einem zweiten browser fenster?

Ja, hab im zweiter Browserfenster das richtige Device offen und das Devicon aktualisiert ohne reload der Seite - das Icon des gleichen Devices in der RG akualisiert sich nicht automatisch - erst nach Reload des Raums


Zitat von: justme1968 am 09 März 2016, 21:32:55
gibt es events dazu im event monitor?

2016-03-10 07:49:08 IT steckdose.Sonos_Bad on
2016-03-10 07:49:53 readingsGroup Sonos_Bad_RG Sonos_Bad.state: Online
2016-03-10 07:49:53 readingsGroup Sonos_Gruppen item:1:1: readingsGroup Sonos_Gruppen item:1:1:

Zitat von: justme1968 am 09 März 2016, 21:32:55
was sagt verbose 5 auf die readingsGroup?


Im Fhemlog selber ist nichts ausgetaucht, außer das schalten der Steckdose - relevante Zeilen des Event Monitors siehe oben

Danke :D
Titel: Antw:Neues Modul readingsGroup
Beitrag von: zYloriC am 21 März 2016, 15:41:19
Hallo zusammen,

ich versuche mit einem readingsGroup alle Geräte anzuzeigen, die aktuell ein Problem wie "MISSING ACK" haben. Diese Info ist im STATE des jeweiligen Geräts zu finden. Gibt es da eine Möglichkeit?
Oder gibt es einen Befehl "stateGroup"?? Leider konnte ich in Forum und Web bislang nichts finden.

Danke für eine Idee. Gruß zYloriC
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 05 April 2016, 12:22:30
Hallo Andre,

seit einiger Zeit bekomme ich folgende Warnung im log:
2016.04.05 12:12:01 1: PERL WARNING: Use of uninitialized value $room in substitution (s///) at ./FHEM/33_readingsGroup.pm line 312.

Ich hattte die Zeile 312 um ...if(defined($room));
ergänzt, aber mit dem heutigen Update war das natürlich wieder weg.
Vielleicht kannst Du für die subst in dem Block die if(defined... - Abfragen noch ergänzen, damit die Warnungen nicht mehr kommen.
Danke.

Gruß

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 April 2016, 12:36:37
bitte test mal die angehängte version und schau ob alles andere noch geht. ich glaube das problem ist eigentlich ein anderes.

danke
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 05 April 2016, 16:32:33
ok. Scheint zu funktionieren.
Das Problem ist, dass ich in einem mapping - Ausdruck ROOM und ALIAS  verwende. Die rg hat aber oben zwei andere Zeilen, da passt das mapping nicht. Vmtl. kommt daher der Fehler. In dem mapping-Ausdruck aber genau die zwei Zeilen auszunehmen, machen ihn ziemlich länglich.
Danke.

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cerberus am 05 April 2016, 22:55:58
Hallo, hat jemand noch eine Idee zu diesem Thema?

https://forum.fhem.de/index.php/topic,49929.msg417848.html#msg417848 (https://forum.fhem.de/index.php/topic,49929.msg417848.html#msg417848)

Grüße
cerberus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 10 April 2016, 13:15:39
Hallo zusammen,

habe da ein Verständnisproblem.
Ich möchte in einer readingsGroup den Namen eines Attributes dynamisch berechnen. Habe z.B. die Attribute alarm-name1...alarm-name3 und ein Attribut alarm-level mit den Werten 1 bis 3.

define Alarm_rg readingsGroup Alarm_innen:<Alarmname>,<{Alarm_getNumAttr($DEVICE,'alarm-name')}>@Alarm_innen

zeigt nur den Trailer "Alarmname" an.
Die Funktion Alarm_getNumAttr liefert den String "!?alarm-name2" entsprechend des alarm-level = 2 zurück, also das Attribut alarm-name2, wobei das ! soll sicher stellen, das auch bei nicht gesetztem Attribut ein leeres Textfeld angezeigt werden soll. (die Attribute alarm-name1...3 wurden allerdings gesetzt)

Leider verstehe ich da die Command-Ref nicht, habe schon alle Varianten durchgespielt:

◾ regex can be of the form <STRING> or <{perl}[@readings]> where STRING or the string returned by perl is inserted as a reading or:

so eingesetzt:
Alarm_innen:<Alarmname>,<{Alarm_GetNumAttr($DEVICE,'alarmname')}[@readings]>
liefert in der Anzeige:
Alarmname {Alarm_GetNumAttr($DEVICE,'alarmname')}[@readings]
also der perl-Ausdruck wird nicht evaluiert.

Außerdem steht die obige Angabe aus der Command-Ref im Widerspruch zur Schreibweise:

<String>, denn das wird doch immer als Text und nicht als reading interpretiert.

Auch ist mir die Bedeutung von [@readings] nicht klar.
Sind die [] - Optionsklammern oder gehören sie zur Syntax. Was ist @readings? Ein notwendiges Schlüsselwort für die Syntax oder durch was soll es aktuell ersetzt werden?
Geht das überhaupt für Attribute?

Wer kann mir da weiterhelfen?

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cerberus am 10 April 2016, 20:46:54
Hallo, ich habe zwei Fragen zu meiner ReadingsGroup.

In folgendem Beitrag habe ich die ReadingsGroup für Openweather für mich angepasst.

https://forum.fhem.de/index.php/topic,51321.15.html (https://forum.fhem.de/index.php/topic,51321.15.html)

Ich wollte nun die Readings in den Spalten zentriert darstellen, was ja mit der Funktion style="text-align:center" möglich ist. Ich weiß aber nicht wie ich auch die Icons mittig in der Spalte ausrichte. Eines noch dazu, einige Readings, unter anderem auch die Icons werden über 3 Spalten dargestellt damit ich die Min | Max Werte jeweils auch darunter stehen haben. Weiterhin würde ich gern wissen wie ich die Min und Max Temp noch weiter zusammenrücken kann, ich dachte da an style="text-align:right" für Min und style="text-align:left" für Max aber ich weiß nicht wie genau bzw. bekomme es nicht hin  :-\

hier der Code

define rg_WetterCom readingsGroup d_label:<%wettercom>,6,11,17,23,fc1_wday@WetterCom,fc2_wday@WetterCom \
WetterCom:<>,fc0_weatherCode06,fc0_weatherCode11,fc0_weatherCode17,fc0_weatherCode23,fc1_weatherCode,fc2_weatherCode\
WetterCom:<>,fc0_weather06,fc0_weather11,fc0_weather17,fc0_weather23,fc1_weather,fc1_weather  \
WetterCom:<Min|Max>,fc0_tempMin06,<|>,fc0_tempMax06,fc0_tempMin11,<|>,fc0_tempMax11,fc0_tempMin17,<|>,fc0_tempMax17,fc0_tempMin23,<|>,fc0_tempMax23,fc1_tempMin,<|>,fc1_tempMax,fc2_tempMin,<|>,fc2_tempMax  \
WetterCom:<Wind>,fc0_wind06,fc0_wind11,fc0_wind17,fc0_wind23,fc1_wind,fc2_wind  \
WetterCom:<Regen>,fc0_chOfRain06,fc0_chOfRain11,fc0_chOfRain17,fc0_chOfRain23,fc1_chOfRain,fc2_chOfRain
attr rg_WetterCom group Heute Wetter
attr rg_WetterCom noheading 1
attr rg_WetterCom nolinks 1
attr rg_WetterCom nonames 1
attr rg_WetterCom nostate 1
attr rg_WetterCom room Wetter_Klima
attr rg_WetterCom style style="border:0px;;background:none;;box-shadow:none"
attr rg_WetterCom valueColumns { '6' => 'colspan="3"', '11' => 'colspan="3"', '17' => 'colspan="3"', '23' => 'colspan="3"', 'fc1_wday' => 'colspan="3"', 'fc2_wday' => 'colspan="3"', \
'fc0_weatherCode06' => 'colspan="3"', 'fc0_weatherCode11' => 'colspan="3"', 'fc0_weatherCode17' => 'colspan="3"', 'fc0_weatherCode23' => 'colspan="3"', 'fc1_weatherCode' => 'colspan="3"', 'fc2_weatherCode' => 'colspan="3"', \
'fc0_weather06' => 'colspan="3"', 'fc0_weather11' => 'colspan="3"', 'fc0_weather17' => 'colspan="3"', 'fc0_weather23' => 'colspan="3"', 'fc1_weather' => 'colspan="3"', 'fc2_weather' => 'colspan="3"', \
'fc0_wind06' => 'colspan="3"', 'fc0_wind11' => 'colspan="3"', 'fc0_wind17' => 'colspan="3"', 'fc0_wind23' => 'colspan="3"', 'fc1_wind' => 'colspan="3"', 'fc2_wind' => 'colspan="3"', \
'fc0_chOfRain06' => 'colspan="3"', 'fc0_chOfRain11' => 'colspan="3"', 'fc0_chOfRain17' => 'colspan="3"', 'fc0_chOfRain23' => 'colspan="3"', 'fc1_chOfRain' => 'colspan="3"', 'fc2_chOfRain' => 'colspan="3"'}
attr rg_WetterCom valueFormat {return "%i&nbsp;;°C" if( $READING =~ m/temp/ );; \
return "%i&nbsp;;%%" if( $READING =~ m/chOfRain/ );; \
return "%i&nbsp;;km/h" if( $READING =~ m/wind/ ) }
attr rg_WetterCom valueIcon {return "openweather/d_%VALUE_S" if( $READING =~ m/Code/ );;\
return "openweather/d_%VALUE_S" if( $READING =~ m/Code06/ );; \
return "openweather/d_%VALUE_S" if( $READING =~ m/Code11/ );; \
return "openweather/d_%VALUE_S" if( $READING =~ m/Code17/ );; \
return "openweather/n_%VALUE_S" if( $READING =~ m/Code23/ )}
attr rg_WetterCom valueStyle style="text-align:center;;Icon:center"


Grüße
cerberus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 11 April 2016, 09:44:36
Du kannst z.B. mit valueFormat zwei Werte in einer Spalte ausgeben.

valueFormat{'mintemp' => '{"$VALUE C / " . ReadingsVal('Wetterstation','maxtemp',0) . " C"}' }

und wenn es noch komplizierter werden soll, das ganze in eine externe sub auslagern.
Mit <br> kann man auch zwei oder mehrere Zeilen in der Spalte ausgeben.
Ich habe mir eine sub gebastelt, die ein valueIcon mit darunter stehendem Text des Wertes zentriert in einer Spalte ausgibt.

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cerberus am 11 April 2016, 20:18:40
Hallo Elektrolurch, so sollte es doch funktionieren

{ 'fc0_tempMin06' => '{"$VALUE °C | " . ReadingsVal('WetterCom','fc0_tempMax06',0).  " C"}' }

tut es aber nicht  :(

Grüße
cerberus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 11 April 2016, 22:21:51
Hallo cerberus,

schau mal in Deinem Ausdruck nach, Du hast " und ' gemischt.
Wenn Du außen für den Hash ' ' verwendest, dann müssen alle Strings inerhalt des Stings mit " gequoted werden.

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cerberus am 11 April 2016, 22:52:12
Hallo Elektrolurch

meinst du so

{ "fc0_tempMin06" => {"$VALUE °C | " . ReadingsVal("WetterCom","fc0_tempMax06",0) .  " C"} }


leider bekomme ich dann als Reading nur das zu sehen


HASH(0x2baf358)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 12 April 2016, 10:17:50
Na, wie sieht denn ein hash in perl aus?

{'key' => 'value', ...}

und value ist hier ein ausführbares Stück perl-Code was in {} steht.
also so:
{ "fc0_tempMin06" => "{'$VALUE °C | ' . ReadingsVal('WetterCom','fc0_tempMax06',0) .  ' C'}" }

und wie schon oben geschrieben: innerhalb des Strings " ... " werden die Strings für die Parameter der Funktionen usw. mit ' ...' geschrieben, da ansonsten ja der äußere String zu früh schließt.
Bitte das also mal nachvollziehen...

Elektrolurch


Titel: Antw:Neues Modul readingsGroup
Beitrag von: Invers am 12 April 2016, 14:02:23
Ich habe in der Commandref gelesen, dass man die RG mit dem Befehl
set rg_Test visibility hide
ausblenden kann. Zumindest habe ich das so verstanden.

hide
will hide all visible instances of this readingsGroup


Das klappt aber so nicht.
Habe ich den Befehl falsch verstanden?
Was muss ich denn tun, um eine komplette RG auszublenden? Ich finde einfach nichts im Forum dazu.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 12 April 2016, 14:13:36
Klappt bei mir auch nicht. Vermutlich stimmt die Command-Ref nicht oder es fehlt die Beschreibung einer zusätzlichen Bedingung, die noch eingestellt werden müsste.
Was aber geht:

set rgt disable 3

Dann ist sie komplettt ausgeblendet.
Allerdings muss man dann mit "trigger js...." den Screen neu aktualisieren lassen, damit auch die Anzeige aktualisiert wird.

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Invers am 12 April 2016, 14:36:22
Danke dir, aber das scheint bei mir auch nicht zu helfen.
set rg_test disable 3
wird bei mir verweigert mit dem Hinweis auf visibility.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cerberus am 17 April 2016, 19:37:16
Zitat von: Elektrolurch am 12 April 2016, 10:17:50
Na, wie sieht denn ein hash in perl aus?

{'key' => 'value', ...}

und value ist hier ein ausführbares Stück perl-Code was in {} steht.
also so:
{ "fc0_tempMin06" => "{'$VALUE °C | ' . ReadingsVal('WetterCom','fc0_tempMax06',0) .  ' C'}" }

und wie schon oben geschrieben: innerhalb des Strings " ... " werden die Strings für die Parameter der Funktionen usw. mit ' ...' geschrieben, da ansonsten ja der äußere String zu früh schließt.
Bitte das also mal nachvollziehen...

Elektrolurch

Hallo Elektrolurch, das mit den zwei Reading in einer Spalte habe ich jetzt hin bekommen, leider scheitere ich aber noch daran ein Icon mit darunter stehendem Text anzeigen zulassen, damit dieses zentriert dargestellt wird. Würde es aber gern ohne sub machen. Kannst du mir nochmal einen Tip geben?

  :-\  bei Perl wurschtel ich mich immer so durch  ::)

Grüße
cerberus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 24 April 2016, 18:50:46
Zitat von: Tommy82 am 01 März 2016, 21:59:52
Hi,
habe heute folgende Meldung im Log:

2016.03.01 21:43:43.154 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 525.
2016.03.01 21:43:43.155 3: stacktrace:
2016.03.01 21:43:43.156 3:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (524)
2016.03.01 21:43:43.156 3:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (997)
2016.03.01 21:43:43.157 3:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1086)
2016.03.01 21:43:43.157 3:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1592)
2016.03.01 21:43:43.157 3:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (897)
2016.03.01 21:43:43.158 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (446)
2016.03.01 21:43:43.158 3:     main::FW_Read                       called by fhem.pl (3147)
2016.03.01 21:43:43.158 3:     main::CallFn                        called by fhem.pl (654)
2016.03.01 21:43:44.305 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 525.
2016.03.01 21:43:44.306 3: stacktrace:
2016.03.01 21:43:44.306 3:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (524)
2016.03.01 21:43:44.307 3:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (997)
2016.03.01 21:43:44.307 3:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1086)
2016.03.01 21:43:44.307 3:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1592)
2016.03.01 21:43:44.308 3:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (897)
2016.03.01 21:43:44.308 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (446)
2016.03.01 21:43:44.308 3:     main::FW_Read                       called by fhem.pl (3147)
2016.03.01 21:43:44.309 3:     main::CallFn                        called by fhem.pl (654)


Keiner eine idee waas da bei mir schief läuft
Titel: Antw:Neues Modul readingsGroup
Beitrag von: marvin78 am 25 April 2016, 10:22:11
Ein list von der Readingsgroup wäre hilfreich. Der Fehler sagt im Grunde was falsch ist: Du verwendest irgendwo ein - wo eine Zahl erwartet wird.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 25 April 2016, 20:02:32
Zitat von: marvin78 am 25 April 2016, 10:22:11
Ein list von der Readingsgroup wäre hilfreich. Der Fehler sagt im Grunde was falsch ist: Du verwendest irgendwo ein - wo eine Zahl erwartet wird.

Hi,
ja das ist das Problem, ich hab einige readingsGroups, und weiss nicht in welcher der Fehler sein könnte.

Hab schon mal in der fhem.cfg nach "-" gesucht, aber ohne eine auffälligkeit zu finden.

Wie könnte ich dem Problem denn am einfachsten auf die schliche kommen?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 28 April 2016, 12:04:30
Zitat:
set rg_test disable 3

disable ist ein Attribut, also

attr rg disable 3

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 28 April 2016, 12:11:07
Hallo,

in: « Antwort #1510 am: 10 April 2016, 13:15:39 »
hatte ich gefragt, ob auch Attribute in einer readingsGroup  so verwendet werden können, dass der Name des Attributes dynamisch berechnet wird, wie es laut Command-Ref ja für readings gehen soll.
Und ob jemand weiß, wie die korrekte Syntax lautet.
Ich bekomme es jedenfalls für Attribute nicht hin.
Niemand eine Idee?

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 30 April 2016, 13:36:04
Hallo Andre,

wenn ich in einer rg über das Attribut "commands" für ein reading ein textField für die Eingabe definiere, so erscheint auch nur das Textfeld ohne den Namen des readings.
Mache ich das Gleiche für ein Attribut (!?attname),  so wird dem Textfeld der Attributname vorangestellt. Der lässt sich auch nicht mit valuePrefix überschreiben.
Wird statt des textField z.B. eine Auswahlliste für das Attribut per "commands" definiert, so wird der Attributname (so wie es sein sollte) der Liste NICHT vorangestellt.
Lässt sich das für Textfelder ev. auch so anpassen?
(Damit die Symetrie zu readings stimmt :-))

Ich hänge mal den Auszug für die rg an.

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: pschlaeppi am 05 Mai 2016, 13:56:42
Guten Tag,

Ich versuche eiine Readingsgroup für meine Dachfenster zu erstellen mit dem Ziel das ich das Fenster über das Icon öffnen und schliessen lassen kann. Daneben in einer weiteren Spalte möchte ich gerne in einer Dropdown Liste verschiedene Zeiten wählen können nach denen das Fenster automatisch wieder geschlossen werden soll. Ist der Wert des Delays 0, soll es offen bleiben bis manuel geschlossen wird (Im Sommer der Default). Im Winter soll dann automatisch der Default auf 5 Minuten gesetzt werden.

Das Fenster wird über den state eines Dummy gesteuert (Auf,Zu). Die Delay Werte sollen im Reading "Delay" des selben Dummy gespeichert werden.

Sobald ein Wert im Dropdown selektiert wird, wollte ich das mittels notify abfangen und mittels einem kleinen Modul über setreading ins Delay Reading des Dummy schreiben.

Fenstersteuerung durch tippen des Icons funktioniert bestens. Sobald ich nun im Dropdown aber einen Wert selektiere, wird der auch in das Dummy Reading geschrieben, leider aber auch gleich noch in den state des Dummy der eigentlich nur die Zu, Auf Stati enthalten sollte.

Ist es überhaupt möglich meine Idee umzusetzen mit den Delay Werten im selben Dummy?
Ich habe jetzt schon ne ziemliche Anzahl Dummys und möchte die Menge gerne etwas deckeln.

Attached meine rG Definition und Dummy Screenshot nach Dropdown aktivierung.

Was mache ich falsch, wie packe ich das am besten an?

Gruss Philipp
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 Mai 2016, 20:07:19
schau dir die setList und readingList attribute des dumy an. damit legst du zum einen die möglichen kommandos fest und zum zweiten welche kommandos nicht in state landen sondern in einem anderen reading. dazu brauchst du also kein notify.

testen kannst du dann z.b. mit webCmd und es über das commands mapping in die readingsGroup einbauen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: pschlaeppi am 05 Mai 2016, 22:32:47
Hallo Andre,

Erst mal herzlichen Dank, hat bis aufs testen mit webCmd bestens funktioniert.

Das testen hab ich irgendwie nicht hingekiegt. Wie müsste der webCmd aussehen damit die Dropdown des Delays angezeigt wird?
      attr dm_eg.wg.SW.Fenster webCmd Delay

Der funktionierende Dummy sieht nun so aus:
define dm_eg.wg.SW.Fenster dummy
attr dm_eg.wg.SW.Fenster alias Dachfenster Wiga
attr dm_eg.wg.SW.Fenster devStateIcon Zu:fts_window_roof@:Auf Auf:fts_window_roof_open_2@red:Zu
attr dm_eg.wg.SW.Fenster eventMap on:Zu off:Auf
attr dm_eg.wg.SW.Fenster group Dachfenster Wiga
attr dm_eg.wg.SW.Fenster readingList Delay
attr dm_eg.wg.SW.Fenster room Dachfenster,Wiga
attr dm_eg.wg.SW.Fenster setList Zu,Auf


Die readingsGroup so:
# ReadingsGroup Dachfenster
define rg.Dachfenster readingsGroup <%fts_window_roof>,<Status>,<Delay>,<Rain>,<Lock>\
dm_og.fl.SW.Fenster:state,Delay,state@ou.xx.RS.Regen.Sensor,temperature@ou.xx.TH.Pergola\
<>,<>,<>\
dm_eg.wg.SW.Fenster:state,Delay,state@ou.xx.RS.Regen.Sensor,temperature@ou.xx.TH.Pergola\
<>,<>,<>\

attr rg.Dachfenster commands {'state.Zu' => 'set $DEVICE Auf','state.Auf' => 'set $DEVICE Zu','Delay' => 'Delay:0,5,15,30,60,120,180'}
attr rg.Dachfenster group 01 Dachfenster
attr rg.Dachfenster nameStyle style="font-weight:bold"
attr rg.Dachfenster noheading 1
attr rg.Dachfenster nolinks 0
attr rg.Dachfenster room Dachfenster
attr rg.Dachfenster style style="border:3px;;background:none;;box-shadow:none;;"
attr rg.Dachfenster valueIcon {state => '%devStateIcon','temperature'<=2 => 'secur_lock@red', 'temperature'>2 => 'secur_open@lightgreen'}
attr rg.Dachfenster valueStyle style="text-align:center"


Bei der readingsGroup möchte ich nun gerne in Abhängigkeit der Temperatur eines Aussensensors ein Lock Open oder Closed Icon anzeigen. Da limitierte Programmierfähigkeiten vorhanden sind, funktioniert mein obiger erster Versuch nicht unerwartet leider nicht.

Wie könnte das angestellt werden?

Danke

Gruss Philipp 

 
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 Mai 2016, 22:52:02
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
Titel: Antw:Neues Modul readingsGroup
Beitrag von: pschlaeppi am 06 Mai 2016, 11:59:16
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
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 12 Juni 2016, 12:06:43
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
Titel: Antw:Neues Modul readingsGroup - Einfache Balkendiagramme
Beitrag von: ext23 am 27 Juni 2016, 11:03:08
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
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Simon74 am 13 Juli 2016, 00:20:31
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 ?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 13 Juli 2016, 10:29:06
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
Titel: Antw:Neues Modul readingsGroup
Beitrag von: DerFrickler am 02 August 2016, 00:36:04
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!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Lichti am 11 September 2016, 11:16:20
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
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 September 2016, 11:21:11
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
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Lichti am 11 September 2016, 12:24:21
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 ?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 September 2016, 12:33:40
; verdoppeln wenn du von hand editierst. gib es im DEF bereich ein
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Lichti am 11 September 2016, 16:29:11
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!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 September 2016, 16:42:22
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...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Lichti am 11 September 2016, 16:50:35
OK, dann werde ich morgen mal updaten und testen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Lichti am 11 September 2016, 18:21:25
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
Titel: Antw:Neues Modul readingsGroup
Beitrag von: burtb am 11 September 2016, 19:25:20
Hallo!

Kann mir jemand verraten wie ich die Readingsgroup in der Gruppe "Heizung" ge-centert bekomme...
Sollte so sitzen wie der Plot darüber.

Danke!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 September 2016, 19:31:37
der plot ist auch nicht zentriert...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: burtb am 11 September 2016, 19:42:50
Dann anders gefragt: Kann ich irgendwo ein colspan=2 angeben um die readingsgroup über die 2. Tabellenspalte der Gruppe zu ziehen?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 September 2016, 19:48:11
du kannst colspan für die spalten innerhalb der readingsgroup setzen. die readingsgroup (und andere nicht normale devices) und die normalen devices darüber stehen in unterschiedlichen tabellen. da kommst du mit relativen größen nicht weit.

schau dir mal das css layout der seite an. du kannst die verwendeten styles anpassen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: burtb am 11 September 2016, 19:59:54
Ok danke, dann werde ich die readingsgroup umbauen damit es nicht zu breit wird.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: androsch am 27 September 2016, 16:35:56
Hallo,

leider blicke ich es irgendwie nicht mit den readingsGroups und den zugehörigen regex.

Ich würde gerne aus dem nmap-Scan-Modul meine Readings in einer readingsGroup anzeigen lassen und dabei die entsprechenden Readings in einer Art Schleife erzeugen.

Aus dem nmap-Modul kommen z.B. folgende Readings:


192.168.1.33_hostname Andy701-WLAN.fritz.box
192.168.1.33_macAddress 00:1F:C6:89:XX:XX
192.168.1.33_macVendor Asustek Computer
192.168.1.34_hostname 192.168.1.34
192.168.1.34_macAddress 00:1F:XX:XX:13:D6
192.168.1.34_macVendor Asustek Computer


d.h. die Readingsname haben jeweils eine entsprechende IP-Adresse vorne dran.

Nun sollte es doch innerhalb einer readingsgroup möglich sein, diese hochzuzählen und nicht


<IP-Adresse>,<Rechner-Name>,<MAC>,<Hersteller>
NetScan:<192.168.1.1>,*.\.1_hostname,*.\.1_macAddress,*.\.1_macVendor
NetScan:<192.168.1.2>,*.\.2_hostname,*.\.2_macAddress,*.\.2_macVendor
NetScan:<192.168.1.3>,*.\.3_hostname,*.\.3_macAddress,*.\.3_macVendor


so jede mögliche Nummer aufbauen zu müssen oder bin ich da komplett auf dem flaschen Dampfer? Ich habe da mit %ROW herumexperimentiert, aber das hilft mir auch nicht wirklich weiter, vielleicht kann mich mal jemand kneifen?

Danke für jede Hilfe...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 September 2016, 17:47:39
das geht nicht weil die readingGroup alle readings eigenständig behandelt und nur die möglichkeit bietet devices logisch zusammen zu gruppieren.

ich denke du bist mit einem weblink und etwas perl code das dir eine html Tabelle aus den reading aufbaut besser bedient.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: androsch am 27 September 2016, 23:10:33
Hallo,

ok, das war mir nicht ganz klar, ob ich die unterschiedlichen Readings innerhalb einer readingsGroup quasi durchzählen kann, aber dann werd ich das anders versuchen. perl und myutils ist also die bessere Wahl. Danke fürs Bestätigen.

Andreas
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 28 September 2016, 10:54:18
warte mal noch einen Moment mit dem selber bauen. ich habe noch eine idee.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 28 September 2016, 18:04:16
so... anbei ein erster vorschlag wie man das lösen könnte.

der eigentliche knackpunkt ist das die readingsGroup bis jetzt dafür gedacht ist gleiche oder zusammengehörende readings aus unterschiedlichen devices zusammen zu suchen.

hier müssen aber die readings eines devices auseinander sortiert bzw. nach einem muster gruppiert werden.

vorschlag:
- in der definition der readingsGroup wird das reading nach dem gruppiert werden soll gekennzeichnet.
- in der regex dieses readings wird der variable teil per capture group gekennzeichnet
- dieser variable teil ist überall sonst auf der zeile ebenfalls verwendbar
- es steckt keine weitere logik dahinter ausser string ersetzungen

dein anwendungsfall würde dann so aussehen:<IP-Adresse>,<Rechner-Name>,<MAC>,<Hersteller>
NetScan:@2,<#1>,(.*)_hostname,#1_macAddress,#1_macVendor

@2-> kennzeichnet das zweite reading, muss als erstes nach dem : stehen
#1 -> ist die erste capture group die dann als teil jedes anderen strings verwendet werden kann

probleme für die ich noch keine lösung habe:
- die sortierung der readings ist alphabetisch. das passt bei ip adressen nicht.
- wenn im device neue readings erscheinen werden die nicht automatisch sichtbar sondern erst beim refresh

gruss
  andre

ps: diskussion bitte hier: https://forum.fhem.de/index.php/topic,58212.0.html (https://forum.fhem.de/index.php/topic,58212.0.html)

edit: es gibt ein neues attribut sortFn mit dem der name einer routine angegeben werden kann mit der die readings sortiert werden. das kann der name einer eigenen routine aus 99_myUtils sein oder die mitgelieferte rgSortIP routine.

edit: 2016-10-02: feature ist so eingecheckt
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 02 Oktober 2016, 13:57:38
ich habe das eben so eingecheckt.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: gloob am 05 Oktober 2016, 15:36:11
Seit dem letzten Update passt bei mir die Ansicht der Readingsgroup für das einstellen der Thermostate nicht mehr.
Es ist alles etwas verschoben.

Gehe ich auf ein älteres Backup zurück sieht alles wieder normal aus.

https://forum.fhem.de/index.php/topic,26479.msg499035.html#msg499035 (https://forum.fhem.de/index.php/topic,26479.msg499035.html#msg499035)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: postman am 07 Oktober 2016, 01:17:45
Hallo zusammen,
ich weiss nicht, ob hier richtig; aber seit gestern habe ich einen merkwürdigen Effekt bei meinem readingsGroups.
Öffne ich ein readingsGroup wie in temp1.jpg, so wird der Wert, hier eine Temperatur korrekt angezeigt; nach wenigen Sekunden wird dann aber nur noch die Definition von "valueStyle" angezeigt, wie in temp2.jpg zu sehen.
Im Logfile wird dazu folgende Fehlermeldung ausgegeben:
2016.10.07 00:39:52 1: PERL WARNING: Use of uninitialized value $list[0] in pattern match (m//) at ./FHEM/33_readingsGroup.pm line 756.

Kann da jemand helfen?

Gruß postman
Titel: Antw:Neues Modul readingsGroup
Beitrag von: DeeSPe am 07 Oktober 2016, 01:38:03
Ist bei mir auch so.
Bei der longpoll Aktualisierung scheint was nicht zu stimmen.
Sieht so aus als wenn das HTML codiert ankommt.

Gruß
Dan
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Masterfunk am 07 Oktober 2016, 06:29:49
Habe das gleiche Problem
Titel: Antw:Neues Modul readingsGroup
Beitrag von: octek0815 am 07 Oktober 2016, 08:02:41
Bei mir leider auch.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 Oktober 2016, 09:55:06
das liegt an den änderungen aus diesem thread: https://forum.fhem.de/index.php/topic,57377.msg499873.html#msg499873 (https://forum.fhem.de/index.php/topic,57377.msg499873.html#msg499873).

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: HRueck am 07 Oktober 2016, 17:51:57
Bei mir kommt auch bei jeder Änderung eines Wertes in einer readingsGroup jede Menge Code, eingeschlossen zwischen <svg .... svg>
wenn ich die Seite im Browser neu lade, erscheint der neue geänderte Zustand korrekt.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: DeeSPe am 07 Oktober 2016, 18:09:01
Zitat von: HRueck am 07 Oktober 2016, 17:51:57
Bei mir kommt auch bei jeder Änderung eines Wertes in einer readingsGroup jede Menge Code, eingeschlossen zwischen <svg .... svg>
wenn ich die Seite im Browser neu lade, erscheint der neue geänderte Zustand korrekt.

readingsGroup ist meines Erachtens zur Zeit leider nicht wirklich benutzbar durch Änderung der Maskierung (https://forum.fhem.de/index.php/topic,57377.msg499873.html#msg499873) im Longpoll.

Da hilft wohl nur ein Restore von:
01_FHEMWEB.pm
98_JsonList.pm
98_JsonList2.pm
fhemweb.js


Gruß
Dan
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Masterfunk am 07 Oktober 2016, 18:10:15
Zitat von: DeeSPe am 07 Oktober 2016, 18:09:01
Da hilft wohl nur ein Restore von:
01_FHEMWEB.pm
98_JsonList.pm
98_JsonList2.pm


Leider hilft das bei mir auch nicht. :-(
Titel: Antw:Neues Modul readingsGroup
Beitrag von: DeeSPe am 07 Oktober 2016, 18:13:05
Zitat von: Masterfunk am 07 Oktober 2016, 18:10:15
Leider hilft das bei mir auch nicht. :-(

fhemweb.js

noch dazu!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Masterfunk am 07 Oktober 2016, 18:22:15
Zitat von: DeeSPe am 07 Oktober 2016, 18:13:05
fhemweb.js

noch dazu!

Bingo!

Danke für den Tip

Gruß Detlef
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 Oktober 2016, 19:40:46
habe eben eine version eingecheckt mit der es erst mal wieder funktioniert sollte.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: HRueck am 07 Oktober 2016, 20:49:35
was heist "eingecheckt"?
wo kann ich was finden?

beim updaten von fhem kommt "nothing to do"

Gruss Herbert,
und schon mal vielen Dank, dass das Problem eine Lösung zu haben scheint!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: DeeSPe am 07 Oktober 2016, 20:50:49
Zitat von: HRueck am 07 Oktober 2016, 20:49:35
was heist "eingecheckt"?
wo kann ich was finden?

beim updaten von fhem kommt "nothing to do"

Gruss Herbert,
und schon mal vielen Dank, dass das Problem eine Lösung zu haben scheint!

Ab morgen im Update oder jetzt schon via SVN...

Gruß
Dan
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 Oktober 2016, 20:50:56
updates werden immer morgens gegen 8 zusammengestellt. also bis dahin warten oder von hand aus dem svn holen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Masterfunk am 08 Oktober 2016, 10:50:29
Fehler in den Readingsgroups ist anscheinend behoben.
Habe gerade festgestellt das das Modul "lightscene" das gleiche Problem hat.

Gruß Detlef
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 08 Oktober 2016, 11:13:01
habs repariert und eingecheckt. readingsHistory war auch noch betroffen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: postman am 08 Oktober 2016, 12:20:29
Hallo Andre,
danke für die schnelle Hilfe ;D ;D ;D
Ich hab da noch mal eine Frage; weiss aber nicht ob diese hier her gehört:
Es geht und das Command update
M.E. ist eine Backuphistorie von 3 zu wenig (ich habe in der letzten woche mehrere Updates gemacht).
Wo lässt sich die Historie einstellen z.B auf 10 Backups?
Nochmal Danke; Toller support, den ihr da leistet

Gruß Uwe
Titel: Antw:Neues Modul readingsGroup
Beitrag von: octek0815 am 08 Oktober 2016, 19:39:14
Danke für die schnelle Hilfe, funktioniert wieder alles!

Grüße
Olli
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Masterfunk am 08 Oktober 2016, 20:07:39
Zitat von: postman am 08 Oktober 2016, 12:20:29
Wo lässt sich die Historie einstellen z.B auf 10 Backups?

attr global restoreDirs <Anzahl>

Der Wert "0" schaltet die Sicherung ganz ab.

Gruß Detlef
Titel: Antw:Neues Modul readingsGroup
Beitrag von: postman am 09 Oktober 2016, 00:26:09
Hallo Detlef,
danke, werde ich mal testen

Gruß Uwe
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Masterfunk am 12 Oktober 2016, 21:03:46
Irgendwie ist da noch ein Problem.
Meine Sonos Readingsgroups zeigen nach Änderung die Lautsärke mit "0" an.
Nach einem Refresh der Seite ist die Anzeige wieder in Ordnung.
Wenn ich mir statt dem Regler nur die Werte anzeigen lasse, wird der Wert auch richtig aktualisiert.

Hier das List der RG:

Internals:
   DEF        Sonos_Kueche:<{SONOS_getCoverTitleRG($DEVICE,300)}@infoSummarize2>
   NAME       Sonos_KuecheRG3
   NR         509
   NTFY_ORDER 50-Sonos_KuecheRG3
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Sonos_Kueche 1
   Content2:
   DEVICES:
     ARRAY(0x87b2488)
   Fhem:
     lastDefChange 1
     last_update 1476298658.34125
   Helper:
     DEF
     cellStyle  style="font-size:14px;color:white"
     nameStyle  style="text-align:left"
     Commands:
       Mute.0     set %DEVICE Mute 1
       Mute.1     set %DEVICE Mute 0
       Repeat.0   set %DEVICE Repeat 1
       Repeat.1   set %DEVICE Repeat 0
       Shuffle.0  set %DEVICE Shuffle 1
       Shuffle.1  set %DEVICE Shuffle 0
       Volume     Volume:knob,anglearc:315,angleoffset:200,min:0,max:100,step:1,linecap:round,fgColor:#404040,bgColor:white,width:110,height:110
       state.off  set %DEVICE on
       state.on   set %DEVICE off
       transportState.PAUSED_PLAYBACK set %DEVICE Play
       transportState.PLAYING set %DEVICE Pause
       transportState.STOPPED set %DEVICE Play
     Valueicon:
       Mute.0     audio_volume_mute.svg
       Mute.1     audio_volume_mute.svg@red
       Repeat.0   audio_repeat
       Repeat.1   audio_repeat.svg@green
       Shuffle.0  audio_shuffle
       Shuffle.1  audio_shuffle.svg@green
       state.off  general_aus@red
       state.on   general_an@green
       transportState.PAUSED_PLAYBACK audio_play.svg
       transportState.PLAYING audio_pause.svg
       transportState.STOPPED audio_play.svg
Attributes:
   cellStyle  style="font-size:14px;color:white"
   commands   { Volume => "Volume:knob,anglearc:315,angleoffset:200,min:0,max:100,step:1,linecap:round,fgColor:#404040,bgColor:white,width:110,height:110", "transportState.PLAYING" => "set %DEVICE Pause", "transportState.PAUSED_PLAYBACK" => "set %DEVICE Play", "transportState.STOPPED" => "set %DEVICE Play", "Shuffle.0" => "set %DEVICE Shuffle 1", "Shuffle.1" => "set %DEVICE Shuffle 0", "Repeat.0" => "set %DEVICE Repeat 1", "Repeat.1" => "set %DEVICE Repeat 0", "Mute.0" => "set %DEVICE Mute 1", "Mute.1" => "set %DEVICE Mute 0", "state.on" => "set %DEVICE off",  "state.off" => "set %DEVICE on" }
   fp_Grundriss 780,20,0,,
   nameStyle  style="text-align:left"
   noheading  1
   nonames    1
   notime     1
   room       Media
   valueIcon  { 'state.on' => 'general_an@green', 'state.off' => 'general_aus@red', 'transportState.STOPPED' => 'audio_play.svg', 'transportState.PAUSED_PLAYBACK' => 'audio_play.svg', 'transportState.PLAYING' => 'audio_pause.svg', 'Repeat.0' => 'audio_repeat', 'Repeat.1' => 'audio_repeat.svg@green', 'Shuffle.0' => 'audio_shuffle', 'Shuffle.1' => 'audio_shuffle.svg@green', 'Mute.0' => 'audio_volume_mute.svg', 'Mute.1' => 'audio_volume_mute.svg@red' }
   verbose    0


Gruß Detlef
Titel: Antw:Neues Modul readingsGroup
Beitrag von: netwalk am 12 Oktober 2016, 23:39:40
Bei mir wird nun nach dem heutigen Update in der ReadingsGroup meiner Sensoren z.B. statt des formatierten Wertes 10.1 für den Taupunkt bei einer Änderung des Wertes folgendes angezeigt:

<pre><html><div style="color:black;font-weight:bold;font-size:14px">10.1 </div></html></pre>

Definiert ist im valueStyle folgendes:

[...]
elsif($READING eq "dewpoint") { 'style="color:black;font-weight:bold;font-size:14px"'}
[...]


Beim ersten Laden der Seite und bei jedem Refresh ist die Formatierung in Ordnung.

Was läuft da falsch?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: DeeSPe am 13 Oktober 2016, 00:19:34
Zitat von: netwalk am 12 Oktober 2016, 23:39:40
Bei mir wird nun nach dem heutigen Update in der ReadingsGroup meiner Sensoren z.B. statt des formatierten Wertes 10.1 für den Taupunkt bei einer Änderung des Wertes folgendes angezeigt:

<pre><html><div style="color:black;font-weight:bold;font-size:14px">10.1 </div></html></pre>

Definiert ist im valueStyle folgendes:

[...]
elsif($READING eq "dewpoint") { 'style="color:black;font-weight:bold;font-size:14px"'}
[...]


Beim ersten Laden der Seite und bei jedem Refresh ist die Formatierung in Ordnung.

Was läuft da falsch?


Gruß
Dan
Titel: Antw:Neues Modul readingsGroup
Beitrag von: netwalk am 13 Oktober 2016, 06:24:15
FHEM ist auf dem aktuellen Stand (update check: nothing to do).

Neustart und Browser Cache leeren bringt leider nichts.
Noch eine Idee?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: netwalk am 13 Oktober 2016, 11:20:30
Ich habe nun einstweilen die Vorgängerversionen von

01_FHEMWEB.pm
98_JsonList.pm
98_JsonList2.pm
fhemweb.js


aus einem Backup vom September eingespielt. Damit scheint es wieder zu funktionieren.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 13 Oktober 2016, 19:04:50
ich kann das problem mit einer aktuellen version nicht reproduzieren.

kann du bitte ein beispiel mit einem dummy, einer rg und einem setreading kommando probieren das genau das problem zeigt?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 13 Oktober 2016, 20:16:05
Ich habe seit dem gestriegen Update ein ähnliches Verhalten, ich habe mehre readingsGroups womit ich meine HM-CC-RT-DN Thermostate regel, hab dazu das Knob Widget in der RD, wenn ich jetzt eine Temperatur ändere, springt das Knob Element immer direkt auf 5 Grad, wenn ich dann ein reload der Seite durchführe wird dann normalerweisse wieder die richtige Temperatur eingestellt, teilweise springt die Anzeige aber noch mehrmals.
Der Befehl wird aber korrekt an das Device übermittelt.

Bsp.
Internals:
   DEF        <Gerät>,<Soll>,<Ist>
Heizung_Kinderzimmer_Clima:desired-temp,measured-temp
   NAME       Heizung_Kinderzimmer_rd
   NR         282
   NTFY_ORDER 50-Heizung_Kinderzimmer_rd
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Heizung_Kinderzimmer_Clima 1
   Content2:
   DEVICES:
     ARRAY(0x44328b0)
     ARRAY(0x441b3e8)
   Helper:
     Dblog:
       Heizung_kinderzimmer_clima.desired-temp:
         Mydblog:
           TIME       1476382507.06732
           VALUE      <html>20.5</html>
       Heizung_kinderzimmer_clima.measured-temp:
         Mydblog:
           TIME       1476382507.08732
           VALUE      <html>21.5</html>
   Fhem:
     lastDefChange 1
     last_update 1476301845.549
   Helper:
     DEF
     nameStyle  style="color:yellow;font-weight:bold"
     Cellstyle:
       r:1,c:2    style="text-align:center;color:yellow;font-weight:bold"
     Commands:
       desired-temp desired-temp:knob,min:5,max:30,step:0.5,fgColor:#FF9900,anglearc:180,angleoffset:270,bgcolor:#9999CC,width:250,linecap:round,font:lcars,displayPrevious:true
     Mapping:
       Heizung_Kinderzimmer_Clima Kinderzimmer
     Positions:
       Heizung_Kinderzimmer_Clima.desired-temp 2:1
       Heizung_Kinderzimmer_Clima.measured-temp 2:2
     Values:
       formated:

         ARRAY(0x5015e60)
         ARRAY(0x4fd6630)
       orig:

         ARRAY(0x4ffa970)
         ARRAY(0x4426098)
       prefixsuffix:

         ARRAY(0x44f8a18)
         ARRAY(0x44f8718)
Attributes:
   cellStyle  { "r:1,c:2" => 'style="text-align:center;color:yellow;font-weight:bold"', }
   commands   { 'desired-temp' => 'desired-temp:knob,min:5,max:30,step:0.5,fgColor:#FF9900,anglearc:180,angleoffset:270,bgcolor:#9999CC,width:250,linecap:round,font:lcars,displayPrevious:true'}
   fp_Kinderzimmer1 194,147,0,,
   mapping    {'Heizung_Kinderzimmer_Clima' => 'Kinderzimmer' }
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   room       Kinderzimmer
   style      style="font-size:20px;color:lightgray;text-align:left"


Danke für die Hilfe


Edit, hab mal auf verbose 5 geloggt beim Temperatur einstellen über die rd
2016.10.13 20:15:30.530 1: PERL WARNING: Use of uninitialized value $v in sprintf at fhem.pl line 2127.
2016.10.13 20:15:30.531 3: stacktrace:
2016.10.13 20:15:30.531 3:     main::__ANON__                      called by fhem.pl (2127)
2016.10.13 20:15:30.532 3:     main::PrintHash                     called by fhem.pl (2122)
2016.10.13 20:15:30.532 3:     main::PrintHash                     called by fhem.pl (2122)
2016.10.13 20:15:30.533 3:     main::PrintHash                     called by fhem.pl (2215)
2016.10.13 20:15:30.533 3:     main::CommandList                   called by fhem.pl (1085)
2016.10.13 20:15:30.534 3:     main::AnalyzeCommand                called by fhem.pl (955)
2016.10.13 20:15:30.535 3:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2265)
2016.10.13 20:15:30.535 3:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (765)
2016.10.13 20:15:30.536 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (456)
2016.10.13 20:15:30.536 3:     main::FW_Read                       called by fhem.pl (3222)
2016.10.13 20:15:30.536 3:     main::CallFn                        called by fhem.pl (672)
2016.10.13 20:15:30.537 1: PERL WARNING: Use of uninitialized value $v in sprintf at fhem.pl line 2127.
2016.10.13 20:15:30.538 3: stacktrace:
2016.10.13 20:15:30.538 3:     main::__ANON__                      called by fhem.pl (2127)
2016.10.13 20:15:30.539 3:     main::PrintHash                     called by fhem.pl (2122)
2016.10.13 20:15:30.539 3:     main::PrintHash                     called by fhem.pl (2122)
2016.10.13 20:15:30.539 3:     main::PrintHash                     called by fhem.pl (2215)
2016.10.13 20:15:30.540 3:     main::CommandList                   called by fhem.pl (1085)
2016.10.13 20:15:30.540 3:     main::AnalyzeCommand                called by fhem.pl (955)
2016.10.13 20:15:30.541 3:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2265)
2016.10.13 20:15:30.541 3:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (765)
2016.10.13 20:15:30.542 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (456)
2016.10.13 20:15:30.542 3:     main::FW_Read                       called by fhem.pl (3222)
2016.10.13 20:15:30.543 3:     main::CallFn                        called by fhem.pl (672)
2016.10.13 20:15:30.543 1: PERL WARNING: Use of uninitialized value $v in sprintf at fhem.pl line 2127.
2016.10.13 20:15:30.544 3: stacktrace:
2016.10.13 20:15:30.544 3:     main::__ANON__                      called by fhem.pl (2127)
2016.10.13 20:15:30.545 3:     main::PrintHash                     called by fhem.pl (2122)
2016.10.13 20:15:30.545 3:     main::PrintHash                     called by fhem.pl (2122)
2016.10.13 20:15:30.546 3:     main::PrintHash                     called by fhem.pl (2215)
2016.10.13 20:15:30.546 3:     main::CommandList                   called by fhem.pl (1085)
2016.10.13 20:15:30.546 3:     main::AnalyzeCommand                called by fhem.pl (955)
2016.10.13 20:15:30.547 3:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2265)
2016.10.13 20:15:30.547 3:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (765)
2016.10.13 20:15:30.548 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (456)
2016.10.13 20:15:30.548 3:     main::FW_Read                       called by fhem.pl (3222)
2016.10.13 20:15:30.549 3:     main::CallFn                        called by fhem.pl (672)
2016.10.13 20:39:20.396 3: CUL_HM set Heizung_Kinderzimmer_Clima desired-temp 21.5


Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 13 Oktober 2016, 21:37:06
@Masterfunk: ich vermute dein problem ist das gleiche wie bei Tommy82. wenn ja ist es morgen behoben.

@netwalk: ich kann dein problem immer noch nicht nachstellen. es schaut nach einer seltsamen kombination von nicht aktuellen komponenten und alter version im browser cache aus. wenn du sagst das ist nicht so bitte stell es mal woe oben vorgeschlagen mit einem dummy und einer reg nach.

@Tommy82: ich denke das problem habe ich gefunden und behoben. ab morgen im update. ich hoffe es hat keine nebenwirkungen.

die log meldungen schauen nicht so aus als haben sie mit der readingsGroup zu tun.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Masterfunk am 13 Oktober 2016, 22:22:03
War so frei mir das file schon mal aus dem SVN zu holen.
Fehler ist weg, bisher keine Nebenwirkungen.

Danke und Gruß

Detlef
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 14 Oktober 2016, 13:19:10
Hi,
ha grade das Update gemacht und sieht so aus als ob das Problem gelöst wäre.

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhemfreund am 23 Oktober 2016, 20:50:02
Habe folgendes Problem nach einem heutigen FHEM Update:

Bei der Readings-Group Anzeige meiner Temperatur Sensoren bekomme ich nach einem Auto-Refresh HTML Tags statt upgedateter Temp. Werte angezeigt.
Hat das jemand auch? Der Fehler tritt bei Chrome + Firefox + IE auf.

Anbei 2 Bildschirm Kopien mit Darstellung der Temp. Werte jeweils vor (mit korrekter Darstellung) und nach einem Refresh (falsche Darstellung)

Andreas
Titel: Antw:Neues Modul readingsGroup
Beitrag von: DeeSPe am 23 Oktober 2016, 22:00:03
Wenn Du ein aktuelles  volles FHEM update gemacht hast, dann kann es eigentlich nur noch am Browser Cache liegen.
Also mal den Cache leeren und dann sollte es wieder funktionieren.

Gruß
Dan
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhemfreund am 23 Oktober 2016, 23:42:27
Diese Idee hatte ich auch schon. Habe jetzt auch nochmal extra den Browser Cache gelöscht - gleiches Ergebnis.

Andreas
Titel: Antw:Neues Modul readingsGroup
Beitrag von: PEPITO82 am 24 Oktober 2016, 07:36:20
@fhemfreund: Genau das gleiche Problem habe ich auch. Siehe hier: https://forum.fhem.de/index.php/topic,59209.0.html .

Bei mir sind seit dem Update am 9.10. die Werte mit HTML-Tags versehen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 24 Oktober 2016, 08:39:26
@fhemfreund: dein fhem ist nicht komplett aktuell. hast du das update auf alles gemacht?

@PEPITO82: dein problem bist nicht das gleiche. hier geht es um die darstellung.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhemfreund am 24 Oktober 2016, 10:55:00
@Andre - ja habe ich komplett via 'update' gemacht. Gibt es noch eine andere Möglichkeit? Oder eine Art 'force'? Andreas
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 24 Oktober 2016, 16:37:09
zeig mal was auf der javascript console steht wenn sich ein reading ändert.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhemfreund am 24 Oktober 2016, 22:15:45
Hier mal ein Auszug nach einem Readings Update (geloggt via Chrome)

Andreas


22:09:00.098 Longpoll with filter room=System%20Temperatur
22:09:28.252 Rcvd:
22:09:28.252 Rcvd: ["rg_battery-LaCrosse_02.dewpoint","<html><div style=\u0022text-align:right\u0022\u000a>11.5</div></html>","<html><div style=\u0022t...(179)
22:09:28.254 Rcvd: ["rg_battery-LaCrosse_02.dewpoint-ts","2016-10-24 22:09:20","2016-10-24 22:09:20"]
22:09:28.254 Rcvd: ["rg_battery-LaCrosse_02.temperature","<html><div style=\u0022text-align:right\u0022\u000a>19.2&deg;C</div></html>","<html><div styl...(194)
22:09:28.255 Rcvd: ["rg_battery-LaCrosse_02.temperature-ts","2016-10-24 22:09:20","2016-10-24 22:09:20"]
22:09:33.954 Rcvd: ["rg_battery-LaCrosse_02.temperature","<html><div style=\u0022text-align:right\u0022\u000a>19.3&deg;C</div></html>","<html><div styl...(194)
22:09:33.955 Rcvd: ["rg_battery-LaCrosse_02.temperature-ts","2016-10-24 22:09:25","2016-10-24 22:09:25"]
22:09:33.955 Rcvd: ["rg_battery-LaCrosse_02.dewpoint","<html><div style=\u0022text-align:right\u0022\u000a>11.6</div></html>","<html><div style=\u0022t...(179)
22:09:33.956 Rcvd: ["rg_battery-LaCrosse_02.dewpoint-ts","2016-10-24 22:09:25","2016-10-24 22:09:25"]
22:09:39.780 Rcvd: ["rg_battery-LaCrosse_02.dewpoint","<html><div style=\u0022text-align:right\u0022\u000a>11.3</div></html>","<html><div style=\u0022t...(179)
22:09:39.781 Rcvd: ["rg_battery-LaCrosse_02.dewpoint-ts","2016-10-24 22:09:30","2016-10-24 22:09:30"]
22:09:39.781 Rcvd: ["rg_battery-LaCrosse_02.humidity","<html><div style=\u0022text-align:right\u0022\u000a>60.0 %</div></html>","<html><div style=\u002...(183)
22:09:39.781 Rcvd: ["rg_battery-LaCrosse_02.humidity-ts","2016-10-24 22:09:30","2016-10-24 22:09:30"]
22:09:39.782 Rcvd: ["rg_battery-LaCrosse_02.temperature","<html><div style=\u0022text-align:right\u0022\u000a>19.2&deg;C</div></html>","<html><div styl...(194)
22:09:39.782 Rcvd: ["rg_battery-LaCrosse_02.temperature-ts","2016-10-24 22:09:30","2016-10-24 22:09:30"]
22:09:45.589 Rcvd: ["rg_battery-LaCrosse_02.dewpoint","<html><div style=\u0022text-align:right\u0022\u000a>11.5</div></html>","<html><div style=\u0022t...(179)
22:09:45.590 Rcvd: ["rg_battery-LaCrosse_02.dewpoint-ts","2016-10-24 22:09:35","2016-10-24 22:09:35"]
22:09:45.590 Rcvd: ["rg_battery-LaCrosse_02.humidity","<html><div style=\u0022text-align:right\u0022\u000a>61.0 %</div></html>","<html><div style=\u002...(183)
22:09:45.590 Rcvd: ["rg_battery-LaCrosse_02.humidity-ts","2016-10-24 22:09:35","2016-10-24 22:09:35"]
22:09:56.559 Rcvd: ["rg_battery-LaCrosse_31.battery","<html><svg class=\u0022icon measure_battery_100 white\u0022 data-txt=\u0022ok\u0022    xmlns:dc=\...(14234)
22:09:56.559 Rcvd: ["rg_battery-LaCrosse_31.battery-ts","2016-10-24 22:09:45","2016-10-24 22:09:45"]
22:09:56.559 Rcvd: ["rg_battery-LaCrosse_31.humidity","<html><div style=\u0022text-align:right\u0022\u000a>54.0 %</div></html>","<html><div style=\u002...(183)
22:09:56.559 Rcvd: ["rg_battery-LaCrosse_31.humidity-ts","2016-10-24 22:09:45","2016-10-24 22:09:45"]
22:09:56.559 Rcvd: ["rg_battery-LaCrosse_31.dewpoint","<html><div style=\u0022text-align:right\u0022\u000a>13.1</div></html>","<html><div style=\u0022t...(179)
22:09:56.559 Rcvd: ["rg_battery-LaCrosse_31.dewpoint-ts","2016-10-24 22:09:45","2016-10-24 22:09:45"]
22:10:24.554 Rcvd: ["rg_battery-LaCrosse_02.humidity","<html><div style=\u0022text-align:right\u0022\u000a>60.0 %</div></html>","<html><div style=\u002...(183)
22:10:24.554 Rcvd: ["rg_battery-LaCrosse_02.humidity-ts","2016-10-24 22:10:25","2016-10-24 22:10:25"]
22:10:24.554 Rcvd: ["rg_battery-LaCrosse_02.dewpoint","<html><div style=\u0022text-align:right\u0022\u000a>11.3</div></html>","<html><div style=\u0022t...(179)
22:10:24.554 Rcvd: ["rg_battery-LaCrosse_02.dewpoint-ts","2016-10-24 22:10:25","2016-10-24 22:10:25"]
22:10:39.740 Rcvd: ["rg_battery-LaCrosse_02.humidity","<html><div style=\u0022text-align:right\u0022\u000a>61.0 %</div></html>","<html><div style=\u002...(183)
22:10:39.741 Rcvd: ["rg_battery-LaCrosse_02.humidity-ts","2016-10-24 22:10:40","2016-10-24 22:10:40"]
22:10:39.742 Rcvd: ["rg_battery-LaCrosse_02.dewpoint","<html><div style=\u0022text-align:right\u0022\u000a>11.5</div></html>","<html><div style=\u0022t...(179)
22:10:39.742 Rcvd: ["rg_battery-LaCrosse_02.dewpoint-ts","2016-10-24 22:10:40","2016-10-24 22:10:40"]

Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 24 Oktober 2016, 23:06:20
das schaut korrekt aus.

dein fhemweb ist vermutlich nicht aktuell bzw. dein browser verwendet noch eine alte version.

bitte verglich mal die version in www/pgm2 mit der svn version und mit der version die dein browser geladen hat.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhemfreund am 25 Oktober 2016, 13:14:45
Habe gerade eben nochmal ein FHEM Update gemacht - gleicher Fehler. Meine aktuellen Versions-# sind:

$Id: 01_FHEMWEB.pm 12416 2016-10-24 06:21:37Z rudolfkoenig $
$Id: fhem.pl 12423 2016-10-24 17:30:37Z rudolfkoenig $

Die fhemweb.js Version in www/pgm2 wurde auch mit upgedated (sehe ich am Datum). Leider kann ich die Versionen nicht checken, da ich im js-File keine Versionierung sehe. Gibt es da noch einen Trick?

Andreas
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 25 Oktober 2016, 13:42:22
in fhemweb.js in zeile 707 passiert die verarbeitung der events.

zuerst das einschliessen in <pre> wenn es ein newline in der nachricht gibt.  kommentiere mal bitte zeile 708 und 709 in fhemweb.js aus. ist das problem dann weg? wenn nicht kommt das <pre> woanders her. ich habe aber keine idee woher. laut deiner js console wird es nicht mit gesendet.

im folgenden wird auch der inhalt zwischen den <html>...</html> extrahiert und dann gesetzt. hier könnte auch etwas schief gehen wenn die <html> stehen bleiben.

du kannst mal zwischen zeile 711 und 712 einconsole.log( "'" + d[2] + "'" );
console.log( ma );
einbauen und auf die js console schauen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhemfreund am 25 Oktober 2016, 15:30:05
Ok - habe jetzt

1. die <pre> verarbeitung auskommentiert. Ergebnis: siehe Anhang. <pre> taucht nicht mehr auf - der Fehler ist aber der gleiche.
2. deine 2 Code-Zeilen habe ich in die fhemweb.js eingefügt - dabei aber die original Version genommen, sprich Zeilen 708+709 nicht auskommentiert

Andreas

P.S. danke für deine Unterstützung!


15:35:46.994 Longpoll with filter room=System%20Temperatur
15:35:54.656 Rcvd:
15:35:54.832 Rcvd: ["rg_battery-LaCrosse_31.battery","<html><svg class=\u0022icon measure_battery_100 white\u0022 data-txt=\u0022ok\u0022    xmlns:dc=\...(14234)
'<html><svg class="icon measure_battery_100 white" data-txt="ok"    xmlns:dc="http://purl.org/dc/elements/1.1/"    xmlns:cc="http://creativecommons.org/ns#"    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    xmlns:svg="http://www.w3.org/2000/svg"    xmlns="http://www.w3.org/2000/svg"    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"    version="1.1"    x="0px"    y="0px"    width="361px"    height="361px"    viewBox="0 0 361 361"    style="enable-background:new 0 0 361 361;"    xml:space="preserve"    id="svg2"    inkscape:version="0.48.5 r10040"    sodipodi:docname="measure_battery_100.svg"><metadata    id="metadata36"><rdf:RDF><cc:Work        rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type          rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs    id="defs34" /><sodipodi:namedview    pagecolor="#ffffff"    bordercolor="#666666"    borderopacity="1"    objecttolerance="10"    gridtolerance="10"    guidetolerance="10"    inkscape:pageopacity="0"    inkscape:pageshadow="2"    inkscape:window-width="779"    inkscape:window-height="480"    id="namedview32"    showgrid="false"    inkscape:zoom="0.65373961"    inkscape:cx="180.5"    inkscape:cy="180.5"    inkscape:window-x="0"    inkscape:window-y="0"    inkscape:window-maximized="0"    inkscape:current-layer="svg2" /> <g    id="measure_x5F_battery_x5F_100"    style="stroke:#000000;stroke-opacity:1"    transform="matrix(1.6146267,0,0,1.6146267,-112.50812,-110.12429)"> <g    id="g5"    style="stroke:#000000;stroke-opacity:1"> <path    style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:white;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"    d="m 134.65625,89.15625 c -6.01649,0 -11,4.983509 -11,11 l 0,180 c 0,6.01649 4.98351,11 11,11 l 95.5,0 c 6.01631,0 11,-4.9825 11,-11 l 0,-180 c 0,-6.016491 -4.98351,-11 -11,-11 l -95.5,0 z m 0,10 95.5,0 c 0.60951,0 1,0.390491 1,1 l 0,180 c 0,0.6085 -0.39231,1 -1,1 l -95.5,0 c -0.60951,0 -1,-0.39049 -1,-1 l 0,-180 c 0,-0.609509 0.39049,-1 1,-1 z"    id="path7"    inkscape:connector-curvature="0" /> <path    style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:white;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"    d="m 169.625,69.65625 c -6.01649,0 -11,4.983509 -11,11 l 0,14 10,0 0,-14 c 0,-0.609509 0.39049,-1 1,-1 l 25.5,0 c 0.60951,0 1,0.390491 1,1 l 0,14 10,0 0,-14 c 0,-6.016491 -4.98351,-11 -11,-11 l -25.5,0 z"    id="path9"    inkscape:connector-curvature="0" /> </g> <g    style="stroke:#000000;stroke-opacity:1;display:none"    id="g11"> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,266.334 c 0,3.313 -2.688,6 -6,6 h -65.5 c -3.313,0 -6,-2.688 -6,-6 v -6 c 0,-3.314 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.686 6,6 v 26 z"    id="path13"    inkscape:connector-curvature="0" /> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,166.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path15"    inkscape:connector-curvature="0" /> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,120 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -26 c 0,-3.313 2.687,-6 6,-6 h 65.5 c 3.313,0 6,2.687 6,6 v 6 z"    id="path17"    inkscape:connector-curvature="0" /> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,213.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path19"    inkscape:connector-curvature="0" /> </g> <g    id="g21"    style="fill:white;fill-opacity:1;stroke:none"> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,266.334 c 0,3.313 -2.688,6 -6,6 h -65.5 c -3.313,0 -6,-2.688 -6,-6 v -6 c 0,-3.314 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.686 6,6 v 26 z"    id="path23"    inkscape:connector-curvature="0" /> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,166.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path25"    inkscape:connector-curvature="0" /> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,120 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -26 c 0,-3.313 2.687,-6 6,-6 h 65.5 c 3.313,0 6,2.687 6,6 v 6 z"    id="path27"    inkscape:connector-curvature="0" /> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,213.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path29"    inkscape:connector-curvature="0" /> </g> </g> <g    id="Ebene_1"    style="stroke:#000000;stroke-opacity:1"    transform="matrix(1.6146267,0,0,1.6146267,-112.50812,-110.12429)"> </g> </svg></html>'
Array[2]
15:35:54.832 Rcvd: ["rg_battery-LaCrosse_31.battery-ts","2016-10-25 15:35:55","2016-10-25 15:35:55"]
15:35:54.832 Rcvd: ["rg_battery-LaCrosse_31.temperature","<html><div style=\u0022text-align:right\u0022\u000a>22.2&deg;C</div></html>","<html><div styl...(194)
'<pre><html><div style="text-align:right"
>22.2&deg;C</div></html></pre>'
null
15:35:54.832 Rcvd: ["rg_battery-LaCrosse_31.temperature-ts","2016-10-25 15:35:55","2016-10-25 15:35:55"]
15:35:54.832 Rcvd: ["rg_battery-LaCrosse_31.humidity","<html><div style=\u0022text-align:right\u0022\u000a>56.0 %</div></html>","<html><div style=\u002...(183)
'<pre><html><div style="text-align:right"
>56.0 %</div></html></pre>'
null
15:35:54.832 Rcvd: ["rg_battery-LaCrosse_31.humidity-ts","2016-10-25 15:35:55","2016-10-25 15:35:55"]
15:35:54.832 Rcvd: ["rg_battery-LaCrosse_31.dewpoint","<html><div style=\u0022text-align:right\u0022\u000a>13.0</div></html>","<html><div style=\u0022t...(179)
'<pre><html><div style="text-align:right"
>13.0</div></html></pre>'
null
15:35:54.832 Rcvd: ["rg_battery-LaCrosse_31.dewpoint-ts","2016-10-25 15:35:55","2016-10-25 15:35:55"]
15:35:55.071 Rcvd: ["rg_battery-LaCrosse_2E.battery","<html><svg class=\u0022icon measure_battery_100 white\u0022 data-txt=\u0022ok\u0022    xmlns:dc=\...(14234)
'<html><svg class="icon measure_battery_100 white" data-txt="ok"    xmlns:dc="http://purl.org/dc/elements/1.1/"    xmlns:cc="http://creativecommons.org/ns#"    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    xmlns:svg="http://www.w3.org/2000/svg"    xmlns="http://www.w3.org/2000/svg"    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"    version="1.1"    x="0px"    y="0px"    width="361px"    height="361px"    viewBox="0 0 361 361"    style="enable-background:new 0 0 361 361;"    xml:space="preserve"    id="svg2"    inkscape:version="0.48.5 r10040"    sodipodi:docname="measure_battery_100.svg"><metadata    id="metadata36"><rdf:RDF><cc:Work        rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type          rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs    id="defs34" /><sodipodi:namedview    pagecolor="#ffffff"    bordercolor="#666666"    borderopacity="1"    objecttolerance="10"    gridtolerance="10"    guidetolerance="10"    inkscape:pageopacity="0"    inkscape:pageshadow="2"    inkscape:window-width="779"    inkscape:window-height="480"    id="namedview32"    showgrid="false"    inkscape:zoom="0.65373961"    inkscape:cx="180.5"    inkscape:cy="180.5"    inkscape:window-x="0"    inkscape:window-y="0"    inkscape:window-maximized="0"    inkscape:current-layer="svg2" /> <g    id="measure_x5F_battery_x5F_100"    style="stroke:#000000;stroke-opacity:1"    transform="matrix(1.6146267,0,0,1.6146267,-112.50812,-110.12429)"> <g    id="g5"    style="stroke:#000000;stroke-opacity:1"> <path    style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:white;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"    d="m 134.65625,89.15625 c -6.01649,0 -11,4.983509 -11,11 l 0,180 c 0,6.01649 4.98351,11 11,11 l 95.5,0 c 6.01631,0 11,-4.9825 11,-11 l 0,-180 c 0,-6.016491 -4.98351,-11 -11,-11 l -95.5,0 z m 0,10 95.5,0 c 0.60951,0 1,0.390491 1,1 l 0,180 c 0,0.6085 -0.39231,1 -1,1 l -95.5,0 c -0.60951,0 -1,-0.39049 -1,-1 l 0,-180 c 0,-0.609509 0.39049,-1 1,-1 z"    id="path7"    inkscape:connector-curvature="0" /> <path    style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:white;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"    d="m 169.625,69.65625 c -6.01649,0 -11,4.983509 -11,11 l 0,14 10,0 0,-14 c 0,-0.609509 0.39049,-1 1,-1 l 25.5,0 c 0.60951,0 1,0.390491 1,1 l 0,14 10,0 0,-14 c 0,-6.016491 -4.98351,-11 -11,-11 l -25.5,0 z"    id="path9"    inkscape:connector-curvature="0" /> </g> <g    style="stroke:#000000;stroke-opacity:1;display:none"    id="g11"> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,266.334 c 0,3.313 -2.688,6 -6,6 h -65.5 c -3.313,0 -6,-2.688 -6,-6 v -6 c 0,-3.314 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.686 6,6 v 26 z"    id="path13"    inkscape:connector-curvature="0" /> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,166.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path15"    inkscape:connector-curvature="0" /> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,120 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -26 c 0,-3.313 2.687,-6 6,-6 h 65.5 c 3.313,0 6,2.687 6,6 v 6 z"    id="path17"    inkscape:connector-curvature="0" /> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,213.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path19"    inkscape:connector-curvature="0" /> </g> <g    id="g21"    style="fill:white;fill-opacity:1;stroke:none"> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,266.334 c 0,3.313 -2.688,6 -6,6 h -65.5 c -3.313,0 -6,-2.688 -6,-6 v -6 c 0,-3.314 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.686 6,6 v 26 z"    id="path23"    inkscape:connector-curvature="0" /> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,166.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path25"    inkscape:connector-curvature="0" /> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,120 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -26 c 0,-3.313 2.687,-6 6,-6 h 65.5 c 3.313,0 6,2.687 6,6 v 6 z"    id="path27"    inkscape:connector-curvature="0" /> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,213.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path29"    inkscape:connector-curvature="0" /> </g> </g> <g    id="Ebene_1"    style="stroke:#000000;stroke-opacity:1"    transform="matrix(1.6146267,0,0,1.6146267,-112.50812,-110.12429)"> </g> </svg></html>'
Array[2]
15:35:55.071 Rcvd: ["rg_battery-LaCrosse_2E.battery-ts","2016-10-25 15:35:55","2016-10-25 15:35:55"]
15:35:55.071 Rcvd: ["rg_battery-LaCrosse_2E.dewpoint","<html><div style=\u0022text-align:right\u0022\u000a>13.2</div></html>","<html><div style=\u0022t...(179)
'<pre><html><div style="text-align:right"
>13.2</div></html></pre>'
null
15:35:55.071 Rcvd: ["rg_battery-LaCrosse_2E.dewpoint-ts","2016-10-25 15:35:55","2016-10-25 15:35:55"]
15:35:55.071 Rcvd: ["rg_battery-LaCrosse_2E.humidity","<html><div style=\u0022text-align:right\u0022\u000a>66.0 %</div></html>","<html><div style=\u002...(183)
'<pre><html><div style="text-align:right"
>66.0 %</div></html></pre>'
null
15:35:55.071 Rcvd: ["rg_battery-LaCrosse_2E.humidity-ts","2016-10-25 15:35:55","2016-10-25 15:35:55"]
15:35:55.071 Rcvd: ["rg_battery-LaCrosse_2E.temperature","<html><div style=\u0022text-align:right\u0022\u000a>19.7&deg;C</div></html>","<html><div styl...(194)
'<pre><html><div style="text-align:right"
>19.7&deg;C</div></html></pre>'
null
15:35:55.071 Rcvd: ["rg_battery-LaCrosse_2E.temperature-ts","2016-10-25 15:35:55","2016-10-25 15:35:55"]
15:35:55.694 Rcvd: ["rg_battery-LaCrosse_39.battery","<html><svg class=\u0022icon measure_battery_100 white\u0022 data-txt=\u0022ok\u0022    xmlns:dc=\...(14234)
'<html><svg class="icon measure_battery_100 white" data-txt="ok"    xmlns:dc="http://purl.org/dc/elements/1.1/"    xmlns:cc="http://creativecommons.org/ns#"    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    xmlns:svg="http://www.w3.org/2000/svg"    xmlns="http://www.w3.org/2000/svg"    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"    version="1.1"    x="0px"    y="0px"    width="361px"    height="361px"    viewBox="0 0 361 361"    style="enable-background:new 0 0 361 361;"    xml:space="preserve"    id="svg2"    inkscape:version="0.48.5 r10040"    sodipodi:docname="measure_battery_100.svg"><metadata    id="metadata36"><rdf:RDF><cc:Work        rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type          rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs    id="defs34" /><sodipodi:namedview    pagecolor="#ffffff"    bordercolor="#666666"    borderopacity="1"    objecttolerance="10"    gridtolerance="10"    guidetolerance="10"    inkscape:pageopacity="0"    inkscape:pageshadow="2"    inkscape:window-width="779"    inkscape:window-height="480"    id="namedview32"    showgrid="false"    inkscape:zoom="0.65373961"    inkscape:cx="180.5"    inkscape:cy="180.5"    inkscape:window-x="0"    inkscape:window-y="0"    inkscape:window-maximized="0"    inkscape:current-layer="svg2" /> <g    id="measure_x5F_battery_x5F_100"    style="stroke:#000000;stroke-opacity:1"    transform="matrix(1.6146267,0,0,1.6146267,-112.50812,-110.12429)"> <g    id="g5"    style="stroke:#000000;stroke-opacity:1"> <path    style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:white;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"    d="m 134.65625,89.15625 c -6.01649,0 -11,4.983509 -11,11 l 0,180 c 0,6.01649 4.98351,11 11,11 l 95.5,0 c 6.01631,0 11,-4.9825 11,-11 l 0,-180 c 0,-6.016491 -4.98351,-11 -11,-11 l -95.5,0 z m 0,10 95.5,0 c 0.60951,0 1,0.390491 1,1 l 0,180 c 0,0.6085 -0.39231,1 -1,1 l -95.5,0 c -0.60951,0 -1,-0.39049 -1,-1 l 0,-180 c 0,-0.609509 0.39049,-1 1,-1 z"    id="path7"    inkscape:connector-curvature="0" /> <path    style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:white;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"    d="m 169.625,69.65625 c -6.01649,0 -11,4.983509 -11,11 l 0,14 10,0 0,-14 c 0,-0.609509 0.39049,-1 1,-1 l 25.5,0 c 0.60951,0 1,0.390491 1,1 l 0,14 10,0 0,-14 c 0,-6.016491 -4.98351,-11 -11,-11 l -25.5,0 z"    id="path9"    inkscape:connector-curvature="0" /> </g> <g    style="stroke:#000000;stroke-opacity:1;display:none"    id="g11"> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,266.334 c 0,3.313 -2.688,6 -6,6 h -65.5 c -3.313,0 -6,-2.688 -6,-6 v -6 c 0,-3.314 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.686 6,6 v 26 z"    id="path13"    inkscape:connector-curvature="0" /> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,166.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path15"    inkscape:connector-curvature="0" /> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,120 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -26 c 0,-3.313 2.687,-6 6,-6 h 65.5 c 3.313,0 6,2.687 6,6 v 6 z"    id="path17"    inkscape:connector-curvature="0" /> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,213.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path19"    inkscape:connector-curvature="0" /> </g> <g    id="g21"    style="fill:white;fill-opacity:1;stroke:none"> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,266.334 c 0,3.313 -2.688,6 -6,6 h -65.5 c -3.313,0 -6,-2.688 -6,-6 v -6 c 0,-3.314 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.686 6,6 v 26 z"    id="path23"    inkscape:connector-curvature="0" /> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,166.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path25"    inkscape:connector-curvature="0" /> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,120 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -26 c 0,-3.313 2.687,-6 6,-6 h 65.5 c 3.313,0 6,2.687 6,6 v 6 z"    id="path27"    inkscape:connector-curvature="0" /> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,213.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path29"    inkscape:connector-curvature="0" /> </g> </g> <g    id="Ebene_1"    style="stroke:#000000;stroke-opacity:1"    transform="matrix(1.6146267,0,0,1.6146267,-112.50812,-110.12429)"> </g> </svg></html>'
Array[2]
15:35:55.694 Rcvd: ["rg_battery-LaCrosse_39.battery-ts","2016-10-25 15:35:56","2016-10-25 15:35:56"]
15:35:55.694 Rcvd: ["rg_battery-LaCrosse_39.dewpoint","<html><div style=\u0022text-align:right\u0022\u000a>10.2</div></html>","<html><div style=\u0022t...(179)
'<pre><html><div style="text-align:right"
>10.2</div></html></pre>'
null
15:35:55.694 Rcvd: ["rg_battery-LaCrosse_39.dewpoint-ts","2016-10-25 15:35:56","2016-10-25 15:35:56"]
15:35:55.745 Rcvd: ["rg_battery-LaCrosse_39.temperature","<html><div style=\u0022text-align:right\u0022\u000a>23.1&deg;C</div></html>","<html><div styl...(194)
'<pre><html><div style="text-align:right"
>23.1&deg;C</div></html></pre>'
null
15:35:55.746 Rcvd: ["rg_battery-LaCrosse_39.temperature-ts","2016-10-25 15:35:56","2016-10-25 15:35:56"]
15:35:55.746 Rcvd: ["rg_battery-LaCrosse_39.humidity","<html><div style=\u0022text-align:right\u0022\u000a>44.0 %</div></html>","<html><div style=\u002...(183)
'<pre><html><div style="text-align:right"
>44.0 %</div></html></pre>'
null
15:35:55.746 Rcvd: ["rg_battery-LaCrosse_39.humidity-ts","2016-10-25 15:35:56","2016-10-25 15:35:56"]
15:36:00.374 Rcvd: ["rg_battery-LaCrosse_02.battery","<html><svg class=\u0022icon measure_battery_100 white\u0022 data-txt=\u0022ok\u0022    xmlns:dc=\...(14234)
'<html><svg class="icon measure_battery_100 white" data-txt="ok"    xmlns:dc="http://purl.org/dc/elements/1.1/"    xmlns:cc="http://creativecommons.org/ns#"    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    xmlns:svg="http://www.w3.org/2000/svg"    xmlns="http://www.w3.org/2000/svg"    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"    version="1.1"    x="0px"    y="0px"    width="361px"    height="361px"    viewBox="0 0 361 361"    style="enable-background:new 0 0 361 361;"    xml:space="preserve"    id="svg2"    inkscape:version="0.48.5 r10040"    sodipodi:docname="measure_battery_100.svg"><metadata    id="metadata36"><rdf:RDF><cc:Work        rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type          rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs    id="defs34" /><sodipodi:namedview    pagecolor="#ffffff"    bordercolor="#666666"    borderopacity="1"    objecttolerance="10"    gridtolerance="10"    guidetolerance="10"    inkscape:pageopacity="0"    inkscape:pageshadow="2"    inkscape:window-width="779"    inkscape:window-height="480"    id="namedview32"    showgrid="false"    inkscape:zoom="0.65373961"    inkscape:cx="180.5"    inkscape:cy="180.5"    inkscape:window-x="0"    inkscape:window-y="0"    inkscape:window-maximized="0"    inkscape:current-layer="svg2" /> <g    id="measure_x5F_battery_x5F_100"    style="stroke:#000000;stroke-opacity:1"    transform="matrix(1.6146267,0,0,1.6146267,-112.50812,-110.12429)"> <g    id="g5"    style="stroke:#000000;stroke-opacity:1"> <path    style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:white;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"    d="m 134.65625,89.15625 c -6.01649,0 -11,4.983509 -11,11 l 0,180 c 0,6.01649 4.98351,11 11,11 l 95.5,0 c 6.01631,0 11,-4.9825 11,-11 l 0,-180 c 0,-6.016491 -4.98351,-11 -11,-11 l -95.5,0 z m 0,10 95.5,0 c 0.60951,0 1,0.390491 1,1 l 0,180 c 0,0.6085 -0.39231,1 -1,1 l -95.5,0 c -0.60951,0 -1,-0.39049 -1,-1 l 0,-180 c 0,-0.609509 0.39049,-1 1,-1 z"    id="path7"    inkscape:connector-curvature="0" /> <path    style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:white;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"    d="m 169.625,69.65625 c -6.01649,0 -11,4.983509 -11,11 l 0,14 10,0 0,-14 c 0,-0.609509 0.39049,-1 1,-1 l 25.5,0 c 0.60951,0 1,0.390491 1,1 l 0,14 10,0 0,-14 c 0,-6.016491 -4.98351,-11 -11,-11 l -25.5,0 z"    id="path9"    inkscape:connector-curvature="0" /> </g> <g    style="stroke:#000000;stroke-opacity:1;display:none"    id="g11"> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,266.334 c 0,3.313 -2.688,6 -6,6 h -65.5 c -3.313,0 -6,-2.688 -6,-6 v -6 c 0,-3.314 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.686 6,6 v 26 z"    id="path13"    inkscape:connector-curvature="0" /> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,166.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path15"    inkscape:connector-curvature="0" /> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,120 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -26 c 0,-3.313 2.687,-6 6,-6 h 65.5 c 3.313,0 6,2.687 6,6 v 6 z"    id="path17"    inkscape:connector-curvature="0" /> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,213.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path19"    inkscape:connector-curvature="0" /> </g> <g    id="g21"    style="fill:white;fill-opacity:1;stroke:none"> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,266.334 c 0,3.313 -2.688,6 -6,6 h -65.5 c -3.313,0 -6,-2.688 -6,-6 v -6 c 0,-3.314 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.686 6,6 v 26 z"    id="path23"    inkscape:connector-curvature="0" /> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,166.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path25"    inkscape:connector-curvature="0" /> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,120 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -26 c 0,-3.313 2.687,-6 6,-6 h 65.5 c 3.313,0 6,2.687 6,6 v 6 z"    id="path27"    inkscape:connector-curvature="0" /> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,213.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path29"    inkscape:connector-curvature="0" /> </g> </g> <g    id="Ebene_1"    style="stroke:#000000;stroke-opacity:1"    transform="matrix(1.6146267,0,0,1.6146267,-112.50812,-110.12429)"> </g> </svg></html>'
Array[2]
15:36:00.374 Rcvd: ["rg_battery-LaCrosse_02.battery-ts","2016-10-25 15:36:00","2016-10-25 15:36:00"]
15:36:00.374 Rcvd: ["rg_battery-LaCrosse_02.humidity","<html><div style=\u0022text-align:right\u0022\u000a>63.0 %</div></html>","<html><div style=\u002...(183)
'<pre><html><div style="text-align:right"
>63.0 %</div></html></pre>'
null
15:36:00.374 Rcvd: ["rg_battery-LaCrosse_02.humidity-ts","2016-10-25 15:36:00","2016-10-25 15:36:00"]
15:36:00.374 Rcvd: ["rg_battery-LaCrosse_02.temperature","<html><div style=\u0022text-align:right\u0022\u000a>19.6&deg;C</div></html>","<html><div styl...(194)
'<pre><html><div style="text-align:right"
>19.6&deg;C</div></html></pre>'
null
15:36:00.374 Rcvd: ["rg_battery-LaCrosse_02.temperature-ts","2016-10-25 15:36:00","2016-10-25 15:36:00"]
15:36:00.374 Rcvd: ["rg_battery-LaCrosse_02.dewpoint","<html><div style=\u0022text-align:right\u0022\u000a>12.4</div></html>","<html><div style=\u0022t...(179)
'<pre><html><div style="text-align:right"
>12.4</div></html></pre>'
null
15:36:00.374 Rcvd: ["rg_battery-LaCrosse_02.dewpoint-ts","2016-10-25 15:36:00","2016-10-25 15:36:00"]
15:36:00.871 Rcvd: ["rg_battery-LaCrosse_2F.battery","<html><svg class=\u0022icon measure_battery_100 white\u0022 data-txt=\u0022ok\u0022    xmlns:dc=\...(14234)
'<html><svg class="icon measure_battery_100 white" data-txt="ok"    xmlns:dc="http://purl.org/dc/elements/1.1/"    xmlns:cc="http://creativecommons.org/ns#"    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    xmlns:svg="http://www.w3.org/2000/svg"    xmlns="http://www.w3.org/2000/svg"    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"    version="1.1"    x="0px"    y="0px"    width="361px"    height="361px"    viewBox="0 0 361 361"    style="enable-background:new 0 0 361 361;"    xml:space="preserve"    id="svg2"    inkscape:version="0.48.5 r10040"    sodipodi:docname="measure_battery_100.svg"><metadata    id="metadata36"><rdf:RDF><cc:Work        rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type          rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs    id="defs34" /><sodipodi:namedview    pagecolor="#ffffff"    bordercolor="#666666"    borderopacity="1"    objecttolerance="10"    gridtolerance="10"    guidetolerance="10"    inkscape:pageopacity="0"    inkscape:pageshadow="2"    inkscape:window-width="779"    inkscape:window-height="480"    id="namedview32"    showgrid="false"    inkscape:zoom="0.65373961"    inkscape:cx="180.5"    inkscape:cy="180.5"    inkscape:window-x="0"    inkscape:window-y="0"    inkscape:window-maximized="0"    inkscape:current-layer="svg2" /> <g    id="measure_x5F_battery_x5F_100"    style="stroke:#000000;stroke-opacity:1"    transform="matrix(1.6146267,0,0,1.6146267,-112.50812,-110.12429)"> <g    id="g5"    style="stroke:#000000;stroke-opacity:1"> <path    style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:white;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"    d="m 134.65625,89.15625 c -6.01649,0 -11,4.983509 -11,11 l 0,180 c 0,6.01649 4.98351,11 11,11 l 95.5,0 c 6.01631,0 11,-4.9825 11,-11 l 0,-180 c 0,-6.016491 -4.98351,-11 -11,-11 l -95.5,0 z m 0,10 95.5,0 c 0.60951,0 1,0.390491 1,1 l 0,180 c 0,0.6085 -0.39231,1 -1,1 l -95.5,0 c -0.60951,0 -1,-0.39049 -1,-1 l 0,-180 c 0,-0.609509 0.39049,-1 1,-1 z"    id="path7"    inkscape:connector-curvature="0" /> <path    style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:white;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"    d="m 169.625,69.65625 c -6.01649,0 -11,4.983509 -11,11 l 0,14 10,0 0,-14 c 0,-0.609509 0.39049,-1 1,-1 l 25.5,0 c 0.60951,0 1,0.390491 1,1 l 0,14 10,0 0,-14 c 0,-6.016491 -4.98351,-11 -11,-11 l -25.5,0 z"    id="path9"    inkscape:connector-curvature="0" /> </g> <g    style="stroke:#000000;stroke-opacity:1;display:none"    id="g11"> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,266.334 c 0,3.313 -2.688,6 -6,6 h -65.5 c -3.313,0 -6,-2.688 -6,-6 v -6 c 0,-3.314 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.686 6,6 v 26 z"    id="path13"    inkscape:connector-curvature="0" /> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,166.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path15"    inkscape:connector-curvature="0" /> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,120 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -26 c 0,-3.313 2.687,-6 6,-6 h 65.5 c 3.313,0 6,2.687 6,6 v 6 z"    id="path17"    inkscape:connector-curvature="0" /> <path    style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline"    d="m 221.141,213.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path19"    inkscape:connector-curvature="0" /> </g> <g    id="g21"    style="fill:white;fill-opacity:1;stroke:none"> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,266.334 c 0,3.313 -2.688,6 -6,6 h -65.5 c -3.313,0 -6,-2.688 -6,-6 v -6 c 0,-3.314 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.686 6,6 v 26 z"    id="path23"    inkscape:connector-curvature="0" /> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,166.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path25"    inkscape:connector-curvature="0" /> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,120 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -26 c 0,-3.313 2.687,-6 6,-6 h 65.5 c 3.313,0 6,2.687 6,6 v 6 z"    id="path27"    inkscape:connector-curvature="0" /> <path    style="fill:white;fill-opacity:1;stroke:none"    d="m 221.141,213.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z"    id="path29"    inkscape:connector-curvature="0" /> </g> </g> <g    id="Ebene_1"    style="stroke:#000000;stroke-opacity:1"    transform="matrix(1.6146267,0,0,1.6146267,-112.50812,-110.12429)"> </g> </svg></html>'
Array[2]
15:36:00.871 Rcvd: ["rg_battery-LaCrosse_2F.battery-ts","2016-10-25 15:36:01","2016-10-25 15:36:01"]
15:36:00.871 Rcvd: ["rg_battery-LaCrosse_2F.dewpoint","<html><div style=\u0022text-align:right\u0022\u000a>9.4</div></html>","<html><div style=\u0022te...(177)
'<pre><html><div style="text-align:right"
>9.4</div></html></pre>'
null
15:36:00.871 Rcvd: ["rg_battery-LaCrosse_2F.dewpoint-ts","2016-10-25 15:36:01","2016-10-25 15:36:01"]
15:36:00.871 Rcvd: ["rg_battery-LaCrosse_2F.temperature","<html><div style=\u0022text-align:right\u0022\u000a>13.1&deg;C</div></html>","<html><div styl...(194)
'<pre><html><div style="text-align:right"
>13.1&deg;C</div></html></pre>'
null
15:36:00.871 Rcvd: ["rg_battery-LaCrosse_2F.temperature-ts","2016-10-25 15:36:01","2016-10-25 15:36:01"]
15:36:00.871 Rcvd: ["rg_battery-LaCrosse_2F.humidity","<html><div style=\u0022text-align:right\u0022\u000a>78.0 %</div></html>","<html><div style=\u002...(183)
'<pre><html><div style="text-align:right"
>78.0 %</div></html></pre>'
null
15:36:00.871 Rcvd: ["rg_battery-LaCrosse_2F.humidity-ts","2016-10-25 15:36:01","2016-10-25 15:36:01"]
15:36:02.838 Rcvd: ["#FHEMWEB:WEB_192.168.0.201_49452","$('#saveCheck').css('visibility','hidden')",""]
15:36:04.989 Rcvd: ["rg_battery-LaCrosse_2E.dewpoint","<html><div style=\u0022text-align:right\u0022\u000a>13.3</div></html>","<html><div style=\u0022t...(179)
'<pre><html><div style="text-align:right"
>13.3</div></html></pre>'
null
15:36:04.989 Rcvd: ["rg_battery-LaCrosse_2E.dewpoint-ts","2016-10-25 15:36:05","2016-10-25 15:36:05"]
15:36:04.989 Rcvd: ["rg_battery-LaCrosse_2E.temperature","<html><div style=\u0022text-align:right\u0022\u000a>19.8&deg;C</div></html>","<html><div styl...(194)
'<pre><html><div style="text-align:right"
>19.8&deg;C</div></html></pre>'
null
15:36:04.989 Rcvd: ["rg_battery-LaCrosse_2E.temperature-ts","2016-10-25 15:36:05","2016-10-25 15:36:05"]
15:36:05.276 Rcvd: ["rg_battery-GT_WT_02_121.humidity","<html><div style=\u0022text-align:right\u0022\u000a>49.0 %</div></html>","<html><div style=\u00...(184)
'<pre><html><div style="text-align:right"
>49.0 %</div></html></pre>'
null
15:36:05.277 Rcvd: ["rg_battery-GT_WT_02_121.humidity-ts","2016-10-25 15:36:05","2016-10-25 15:36:05"]
15:36:05.277 Rcvd: ["rg_battery-GT_WT_02_121.temperature","<html><div style=\u0022text-align:right\u0022\u000a>22.6&deg;C</div></html>","<html><div sty...(195)
'<pre><html><div style="text-align:right"
>22.6&deg;C</div></html></pre>'
null
15:36:05.278 Rcvd: ["rg_battery-GT_WT_02_121.temperature-ts","2016-10-25 15:36:05","2016-10-25 15:36:05"]
15:36:05.278 Rcvd: ["rg_battery-GT_WT_02_121.dewpoint","<html><div style=\u0022text-align:right\u0022\u000a>11.4</div></html>","<html><div style=\u0022...(180)
'<pre><html><div style="text-align:right"
>11.4</div></html></pre>'
null
15:36:05.279 Rcvd: ["rg_battery-GT_WT_02_121.dewpoint-ts","2016-10-25 15:36:05","2016-10-25 15:36:05"]
15:36:06.207 Rcvd: ["rg_battery-GT_WT_02_27.dewpoint","<html><div style=\u0022text-align:right\u0022\u000a>9.4</div></html>","<html><div style=\u0022te...(177)
'<pre><html><div style="text-align:right"
>9.4</div></html></pre>'
null
15:36:06.208 Rcvd: ["rg_battery-GT_WT_02_27.dewpoint-ts","2016-10-25 15:36:06","2016-10-25 15:36:06"]
15:36:06.208 Rcvd: ["rg_battery-GT_WT_02_27.humidity","<html><div style=\u0022text-align:right\u0022\u000a>44.0 %</div></html>","<html><div style=\u002...(183)
'<pre><html><div style="text-align:right"
>44.0 %</div></html></pre>'
null
15:36:06.209 Rcvd: ["rg_battery-GT_WT_02_27.humidity-ts","2016-10-25 15:36:06","2016-10-25 15:36:06"]
15:36:06.209 Rcvd: ["rg_battery-GT_WT_02_27.temperature","<html><div style=\u0022text-align:right\u0022\u000a>22.2&deg;C</div></html>","<html><div styl...(194)
'<pre><html><div style="text-align:right"
>22.2&deg;C</div></html></pre>'
null
15:36:06.209 Rcvd: ["rg_battery-GT_WT_02_27.temperature-ts","2016-10-25 15:36:06","2016-10-25 15:36:06"]
15:36:09.572 Rcvd: ["rg_battery-GT_WT_02_117.temperature","<html><div style=\u0022text-align:right\u0022\u000a>20.7&deg;C</div></html>","<html><div sty...(195)
'<pre><html><div style="text-align:right"
>20.7&deg;C</div></html></pre>'
null
15:36:09.572 Rcvd: ["rg_battery-GT_WT_02_117.temperature-ts","2016-10-25 15:36:10","2016-10-25 15:36:10"]
15:36:09.572 Rcvd: ["rg_battery-GT_WT_02_117.humidity","<html><div style=\u0022text-align:right\u0022\u000a>54.0 %</div></html>","<html><div style=\u00...(184)
'<pre><html><div style="text-align:right"
>54.0 %</div></html></pre>'
null
15:36:09.572 Rcvd: ["rg_battery-GT_WT_02_117.humidity-ts","2016-10-25 15:36:10","2016-10-25 15:36:10"]
15:36:09.572 Rcvd: ["rg_battery-GT_WT_02_117.dewpoint","<html><div style=\u0022text-align:right\u0022\u000a>11.1</div></html>","<html><div style=\u0022...(180)
'<pre><html><div style="text-align:right"
>11.1</div></html></pre>'
null
15:36:09.572 Rcvd: ["rg_battery-GT_WT_02_117.dewpoint-ts","2016-10-25 15:36:10","2016-10-25 15:36:10"]
15:36:10.183 Rcvd: ["rg_battery-LaCrosse_2E.dewpoint","<html><div style=\u0022text-align:right\u0022\u000a>13.2</div></html>","<html><div style=\u0022t...(179)
'<pre><html><div style="text-align:right"
>13.2</div></html></pre>'
null
15:36:10.184 Rcvd: ["rg_battery-LaCrosse_2E.dewpoint-ts","2016-10-25 15:36:10","2016-10-25 15:36:10"]
15:36:10.184 Rcvd: ["rg_battery-LaCrosse_2E.temperature","<html><div style=\u0022text-align:right\u0022\u000a>19.7&deg;C</div></html>","<html><div styl...(194)
'<pre><html><div style="text-align:right"
>19.7&deg;C</div></html></pre>'
null
15:36:10.184 Rcvd: ["rg_battery-LaCrosse_2E.temperature-ts","2016-10-25 15:36:10","2016-10-25 15:36:10"]
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhemfreund am 27 Oktober 2016, 00:58:09
Habe jetzt nochmal etwas probiert - hatte bisher das Attribut


valueStyle   style="text-align:right"


verwendet. Sobald ich dieses lösche tritt der Fehler nicht mehr auf.

Andreas
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 28 Oktober 2016, 18:23:24
Hallo Andre,

wenn in einer readingsGroup ein reading den Wert undef hat, so wird es nicht angezeigt. Ausnahme: Wenn das reading eine Werteliste (Einblendliste/Menü) hat. Die wird trotz undef angezeigt.
Ich habe an zwei Stellen eine kleine Ergänzung eingebaut:
Das Attribut commands kann auch einen perl-Code beinhalten, der dann den String für ein command zurückliefert.
Beispiel:
attr Alle_Thermostate_rg commands {'Hk2-Betriebsart' => 'Hk2-Betriebsart:','Hk2-Normal-VL-Soll' => '{(ReadingsVal($DEVICE,"Hk2-Betriebsart",0) eq "Normal") ? "Hk2-Normal-VL-Soll:": undef}',

Nur wenn die Betriebsart der Heizung auf "normal" steht wird das Menü für die Vorlauftemp angezeigt.

Es gibt eine Reihe von Fällen, wo das ganz nützlich ist.
Ich habe die Änderungen mit "Elektrolurch" gekennzeichnet und hänge die Datei an. Bitte übernehmen.

Danke.

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dev0 am 31 Oktober 2016, 07:16:17
Hi Andre,

ich versuche gerade eine readingsGroup, mit klickbaren Icons, zu erstellen. Grundsätzlich funtioniert das:

DEF        <%sani_heating>,<%rc_0>,<%rc_1>,<%rc_2> KE_PUMP:Relay,Led,Led@test
Attributes:
   commands   {
  'Relay.on'  => 'set $DEVICE gpio 12 off',
  'Relay.off' => 'set $DEVICE gpio 12 on',
  'Led.on'    => 'set $DEVICE gpio 13 off',
  'Led.off'   => 'set $DEVICE gpio 13 on'
}
   valueIcon  {
  'Relay.on'  => 'ios-on-green',
  'Relay.off' => 'ios-off',
  'Led.on'    => 'ios-on-green',
  'Led.off'   => 'ios-off'
}


Ich finde aber keinen Ansatz unterschiedliche Befehle zu senden, wenn in mehreren Devices identische Readingnamen verwendet werden. In dem Beispiel möchte ich zB, dass das Icon für Led@test einen anderen gpio Port schaltet. Versuche den key mit 'device:reading.value' oder 'reading@device.value' anzugeben funktionieren nicht.
Verstehst Du was ich meine und gibt es eine Möglichkeit das umzusetzen?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 10 November 2016, 23:32:29
Hallo Andre,
ich habe seit ewigen Zeiten eine rg für meine Heizung (modul VCONTROL) in der ich mir einfach alle Readings anzeigen lassen.

define Heizungsstatus readingsGroup <%sani_boiler_temp@red>,<Status>,<Akt.Datum> Vito200
attr Heizungsstatus mapping $READING
attr Heizungsstatus nameStyle style="color:orange;;;;font-weight:bold"
attr Heizungsstatus nolinks 1
attr Heizungsstatus room Heizung
attr Heizungsstatus style style="font-size:12px"
attr Heizungsstatus valueFormat {"Fehler1"=>"%X","Fehler2"=>"%X","Fehler3"=>"%X","Fehler4"=>"%X","Fehler5"=>"%X","Fehler6"=>"%X","Fehler7"=>"%X","Fehler8"=>"%X","Fehler9"=>"%X","Fehler10"=>"%X","BrennerStartsLastDay" =>"%.0f", "BrennerStartsToday" =>"%.0f", "BrennerStartsDayStart" =>"%.0f", "BrennerLeistung" => "%.0f %%", "Temp-Abgas" =>"%.0f°C", "Temp-Aussen" =>"%.0f°C", "Temp-Kessel-Ist"=>"%.0f°C", "Temp-Kessel-Soll"=>"%.0f°C", "Temp-WarmWasser-Ist"=> "%.0f°C", "Temp-WarmWasser-Soll"=> "%.0f°C"}


Seit einige Tagen bekam ich aber nichts mehr angezeigt (ausser den Header), habe nun mal auf eine ältere Version
(33_readingsGroup.pm    12137 2016-09-11 14:45:55Z justme1968)
eingespielt und diese funktioniert.

Hast Du eine Idee woran dies liegen könnte, hat sich am Modul etwas geändert .....

Danke für die Hilfe vorab

Klaus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 11 November 2016, 09:40:29
@Elektrolurch: baue ich ein. dauert aber noch etwas.

@dev0: du kannst z.b. im mapping ..., '<name>.<reading>' => '{...}', ... verwenden und im perl code dann abhängig von $VALUE den passenden schaltbefehel zurück geben.
ab morgen kannst du als key auch <name>.<reading>.<value> verwenden und den umweg über perl sparen.

@kvo1: zeig mal bitte ein list von der radingsGroup und ein jsonlist2 von der heizung.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: dev0 am 11 November 2016, 09:42:59
Zitat von: justme1968 am 11 November 2016, 09:40:29
ab morgen kannst du als key auch <name>.<reading>.<value> verwenden und den umweg über perl sparen.

Vielen Dank!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 11 November 2016, 14:02:06
Hallo Andre,

hier die Infos mit der Version wo es noch funktioniert.
33_readingsGroup.pm    12137 2016-09-11 14:45:55Z justme1968

brauchst Du das auch mit der letzten / aktuellen Version ???

...list von der radingsGroup

Internals:
   DEF        <%sani_boiler_temp@red>,<Status>,<Akt.Datum> Vito200
   NAME       Heizungsstatus
   NR         82
   NTFY_ORDER 50-Heizungsstatus
   STATE      Initialized
   TYPE       readingsGroup
   Content:
     Vito200    1
   Content2:
   DEVICES:
     ARRAY(0x282a318)
     ARRAY(0x282a2e8)
   Fhem:
     lastDefChange 1
     last_update 1478809445.85701
   Helper:
     DEF
     mapping    $READING
     nameStyle  style="color:orange;;font-weight:bold"
     Valueformat:
       BrennerLeistung %.0f %%
       BrennerStartsDayStart %.0f
       BrennerStartsLastDay %.0f
       BrennerStartsToday %.0f
       Fehler1    %X
       Fehler10   %X
       Fehler2    %X
       Fehler3    %X
       Fehler4    %X
       Fehler5    %X
       Fehler6    %X
       Fehler7    %X
       Fehler8    %X
       Fehler9    %X
       Temp-Abgas %.0f°C
       Temp-Aussen %.0f°C
       Temp-Kessel-Ist %.0f°C
       Temp-Kessel-Soll %.0f°C
       Temp-WarmWasser-Ist %.0f°C
       Temp-WarmWasser-Soll %.0f°C
Attributes:
   mapping    $READING
   nameStyle  style="color:orange;;font-weight:bold"
   nolinks    1
   room       Heizung
   style      style="font-size:12px"
   valueFormat {"Fehler1"=>"%X","Fehler2"=>"%X","Fehler3"=>"%X","Fehler4"=>"%X","Fehler5"=>"%X","Fehler6"=>"%X","Fehler7"=>"%X","Fehler8"=>"%X","Fehler9"=>"%X","Fehler10"=>"%X","BrennerStartsLastDay" =>"%.0f", "BrennerStartsToday" =>"%.0f", "BrennerStartsDayStart" =>"%.0f", "BrennerLeistung" => "%.0f %%", "Temp-Abgas" =>"%.0f°C", "Temp-Aussen" =>"%.0f°C", "Temp-Kessel-Ist"=>"%.0f°C", "Temp-Kessel-Soll"=>"%.0f°C", "Temp-WarmWasser-Ist"=> "%.0f°C", "Temp-WarmWasser-Soll"=> "%.0f°C"}
 
jsonlist2 von der heizung
  {
  "Arg":"Vito200",
  "Results": [
  {
    "Name":"Vito200",
    "PossibleSets":"state:AUS,HWW,WW,P-ON,P-OFF,S-ON,S-OFF",
    "PossibleAttrs":"alias comment:textField-long eventMap group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 disable:0,1 init_every_poll:0,1 update_only_changes:0,1 setList closedev:0,1 event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading System alarmDevice alarmSettings cmdIcon devStateIcon devStateStyle fp_Erdgeschoss fp_Obergeschoss fp_Untergeschoss icon sortby webCmd widgetOverride userattr",
    "Internals": {
      "DEF": "/dev/ttyUSB0 VScotHO1.cfg 180",
      "DURATION": "79.60",
      "DeviceName": "/dev/ttyUSB0",
      "FD": "10",
      "INTERVAL": "180",
      "NAME": "Vito200",
      "NR": "78",
      "PARTIAL": "",
      "STATE": "H+WW FS",
      "TYPE": "VCONTROL"
    },
    "Readings": {
      "Brenner": { "Value":"on", "Time":"2016-11-11 13:57:53" },
      "BrennerLeistung": { "Value":"20", "Time":"2016-11-11 13:57:32" },
      "BrennerStarts": { "Value":"61396", "Time":"2016-11-11 13:57:35" },
      "BrennerStartsDayStart": { "Value":"61387.00", "Time":"2016-11-11 13:57:35" },
      "BrennerStartsLastDay": { "Value":"14.00", "Time":"2016-11-11 00:00:33" },
      "BrennerStartsToday": { "Value":"9.00", "Time":"2016-11-11 13:57:35" },
      "BrennerStunden": { "Value":"24783.56", "Time":"2016-11-11 13:57:38" },
      "BrennerStundenDayStart": { "Value":"24774.31", "Time":"2016-11-11 13:57:38" },
      "BrennerStundenLastDay": { "Value":"19.05", "Time":"2016-11-11 00:00:36" },
      "BrennerStundenToday": { "Value":"9.25", "Time":"2016-11-11 13:57:38" },
      "Fehler1": { "Value":"229", "Time":"2016-11-11 13:57:56" },
      "Fehler10": { "Value":"168", "Time":"2016-11-11 13:58:23" },
      "Fehler2": { "Value":"169", "Time":"2016-11-11 13:57:59" },
      "Fehler3": { "Value":"241", "Time":"2016-11-11 13:58:02" },
      "Fehler4": { "Value":"168", "Time":"2016-11-11 13:58:05" },
      "Fehler5": { "Value":"168", "Time":"2016-11-11 13:58:08" },
      "Fehler6": { "Value":"169", "Time":"2016-11-11 13:58:11" },
      "Fehler7": { "Value":"169", "Time":"2016-11-11 13:58:14" },
      "Fehler8": { "Value":"241", "Time":"2016-11-11 13:58:17" },
      "Fehler9": { "Value":"168", "Time":"2016-11-11 13:58:20" },
      "Neigung": { "Value":"2", "Time":"2015-12-06 20:44:57" },
      "PumpeDrehzahl": { "Value":"255", "Time":"2016-11-11 13:57:50" },
      "Stoerung": { "Value":"off", "Time":"2016-11-11 13:57:08" },
      "Temp-Abgas": { "Value":"53.3", "Time":"2016-11-11 13:57:17" },
      "Temp-Aussen": { "Value":"4.2", "Time":"2016-11-11 13:57:14" },
      "Temp-Kessel-Ist": { "Value":"56", "Time":"2016-11-11 13:57:26" },
      "Temp-Kessel-Soll": { "Value":"55.1", "Time":"2016-11-11 13:57:29" },
      "Temp-WarmWasser-Ist": { "Value":"57", "Time":"2016-11-11 13:57:20" },
      "Temp-WarmWasser-Soll": { "Value":"55", "Time":"2016-11-11 13:57:23" },
      "UpdateTime": { "Value":"2016-11-11_13:58:23", "Time":"2016-11-11 13:58:23" },
      "Urlaub-Betrieb": { "Value":"on", "Time":"2015-12-06 20:45:00" },
      "Zirkulationspumpe": { "Value":"on", "Time":"2016-11-11 13:57:11" },
      "state": { "Value":"H+WW FS", "Time":"2016-11-11 13:57:41" },
      "state_party": { "Value":"off", "Time":"2016-11-11 13:57:44" },
      "state_spar": { "Value":"off", "Time":"2016-11-11 13:57:47" }
    },
    "Attributes": {
      "alias": "Heizung",
      "devStateIcon": "ABSCHALT:s_viessmann_abschalt.png WW:s_viessmann_ww H\u005c+WW\u005cx20FS:s_viessmann_h_ww",
      "event-on-change-reading": "Stoerung,state,state_party,state_spar,BrennerStarts,BrennerStartsDayStart,BrennerStartsLastDay,BrennerStartsToday,BrennerStundenDayStart,BrennerStundenLastDay,BrennerStundenToday",
      "event-on-update-reading": "Temp-Abgas,Temp-Aussen,Temp-WarmWasser-Ist,Temp-WarmWasser-Soll,Temp-Kessel-Ist,Temp-Kessel-Soll,Brenner,BrennerLeistung,Zirkulationspumpe,UpdateTime",
      "group": "Heizung",
      "room": "Heizung",
      "setList": "state:AUS,HWW,WW,P-ON,P-OFF,S-ON,S-OFF",
      "userReadings": "0",
      "webCmd": "state:"
    }
  }  ],
  "totalResultsReturned":1
}


viele Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: JoeALLb am 11 November 2016, 15:29:24
Hm, seit neuestem wird nach einem Neustart von fhem die Readingsgroup erst korrekt angezeigt,
nachdem ich die 99_myUtils.pm reloadet habe. hat jemand eine Idee dazu?
Ich nutze in der rg das getDev($DEVICE) aus dem wiki...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhemfreund am 12 November 2016, 02:42:45
Habe mir eine ReadingsGroup erstellt, in der ich Informationen meines Bluetooth Tags (z.B. Presence Status, Name,  usw.) anzeigen lasse. Leider habe ich kein Internal, das den Zeitstempel des letzten Empfangs (wie z.B. CUL0_TIME bei einem CUL) repräsentiert. Was allerdings verfügbar ist, ist ein Zeitstempel eines Readings (also nicht der Readingswert selbst), der mir weiter helfen würde.

Frage daher: wie kann ich in einer ReadingsGroup den Zeitstempel eines Readings - in meinem Fall z.B. 'device_name' - im Codebeispiel für die letzte Spalte definieren?


<Tag>,<Device Name>,<Adresse>,<Status>,<Batterie>,<Letzter Update>
AndreasGtag:device_name,+ADDRESS,+STATE,battery


Andreas
Titel: Antw:Neues Modul readingsGroup
Beitrag von: stromer-12 am 12 November 2016, 19:51:32
Seit dem heutigen Update wird mir in einer meiner Readingsgroup für ein state keine Auswahlliste mehr angezeigt.

edit:
Der state gehört einen Dummy mit setList´.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 12 November 2016, 20:33:52
@Elektrolurch: ich habe mir gerade deinen vorschlag angeschaut und bin der meinung das dies eigentlich schon gehen sollte. in lookup und lookup2 wird jeweils ein eval gemacht wenn der gefundene wert in geschweifte klammern eingeschlossen ist. kannst du mal bitte schauen warum das bei dir nicht funktioniert?

@kvo1: habs repariert. ab morgen im update.

@fhemfreund: mit <{ReadingsTimestamp($DEVICE,'device_name','???')}@battery>

@stromer-12: das konnte ich gerade nicht reproduzieren. kannst du bitte ein beispiel aus dummy und readingsGroup machen an dem man das problem sieht?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: stromer-12 am 12 November 2016, 20:53:46
Ich habe jetzt eingegrenzt bekommen:

geht nicht mehr:
commands  { 'testdummy.state' => 'state:' }

geht:
commands  { 'state' => 'state:' }
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 12 November 2016, 20:56:28
copy&paste fehler gefunden. sollte morgen wieder gehen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhemfreund am 12 November 2016, 21:58:42
Zitat von: justme1968 am 12 November 2016, 20:33:52
...
@fhemfreund: mit <{ReadingsVal($DEVICE,'device_name','???')}@battery>
...
gruss
  andre

@Andre
bekomme mit dem Konstrukt leider nur (wieder) den Readingswert, aber nicht den Timestamp des Readings. Fehlt da ggf. noch etwas?

Andreas
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 12 November 2016, 22:04:46
sorry. es muss natürlich ReadingsTimestamp und nicht ReadingVal heißen.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: fhemfreund am 12 November 2016, 22:30:14
Andre - klasse ! Hast mir sehr geholfen. Danke dafür.

Andreas
Titel: Antw:Neues Modul readingsGroup
Beitrag von: kvo1 am 13 November 2016, 20:21:42
Hallo Andre,


Zitat@kvo1: habs repariert. ab morgen im update.

nach dem update funktioniert es jetzt weider, danke für die Änderung !

kvo1
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 20 November 2016, 18:57:53
Hi, ich hab zwei Fragen zu readingsgroups, die erste ist kann ich einen Zeilenumbruch in eiiner rd einfügen? Ich hab eine rd, welche mir die Batterie Staten meiner Devices darstellt, diese ist aber recht lang, ich hätte die lieber in der mitte getrennt und dann nebeneinander.
Im Moment sieht sie so aus:

Internals:
   DEF        .*:[Bb]attery .*:[Bb]atteryLevel
   NAME       rd_Batterie
   NR         324
   NTFY_ORDER 50-rd_Batterie
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
   Fhem:
     lastDefChange 4
     last_update 1479664194.5808
   Helper:
     DEF
     valueFormat {return "0" if( $VALUE eq "low" ); return "100" if( $VALUE eq "ok" ); return "25" if( $VALUE < 2.1 ); return "50" if( $VALUE < 2.3 ); return "75" if( $VALUE < 2.5 ); return "100"}
     Positions:
       Bewegungsmelder.battery 20:1
       Fenster_neben_Couch.battery 60:1
       Fenster_ueber_Heizung.battery 62:1
       Flur_EG.battery 70:1
       Gaeste_WC.battery 83:1
       Gaeste_WC.batteryLevel 393:1
       HeizungFenster.battery 92:1
       HeizungFenster.batteryLevel 402:1
       Heizung_Flur.battery 100:1
       Heizung_Flur.batteryLevel 410:1
       Heizung_Kinderzimmer.battery 102:1
       Heizung_Kinderzimmer.batteryLevel 412:1
       Heizung_Tuer.battery 111:1
       Heizung_Tuer.batteryLevel 421:1
       Keller.battery 126:1
       Kinderzimmer.battery 129:1
       Kinderzimmer_Laya.battery 131:1
       Kinderzimmer_Laya.batteryLevel 441:1
       Kueche.battery 139:1
       Kueche.batteryLevel 449:1
       Rauchmelder.battery 162:1
       Rauchmelder_Kinderzimmer_Laya.battery 165:1
       Terassen_Tuer.battery 231:1
     Valueicon:
       Battery.0  measure_battery_0@red
       Battery.100 measure_battery_100@green
       battery.0  measure_battery_0@red
       battery.100 measure_battery_100@green
       batteryLevel.0 measure_battery_0@red
       batteryLevel.100 measure_battery_100@green
       batteryLevel.25 measure_battery_25@red
       batteryLevel.50 measure_battery_50@orange
       batteryLevel.75 measure_battery_75@green
     Values:
       formated:

         ARRAY(0x4abbc60)
       orig:

         ARRAY(0x53b5740)
       prefixsuffix:

         ARRAY(0x4da9760)
Attributes:
   noheading  1
   notime     1
   room       Zentral
   valueFormat {return "0" if( $VALUE eq "low" ); return "100" if( $VALUE eq "ok" ); return "25" if( $VALUE < 2.1 ); return "50" if( $VALUE < 2.3 ); return "75" if( $VALUE < 2.5 ); return "100"}
   valueIcon  {'battery.0' => 'measure_battery_0@red','battery.100' => 'measure_battery_100@green','Battery.0' => 'measure_battery_0@red','Battery.100' => 'measure_battery_100@green','batteryLevel.0' => 'measure_battery_0@red','batteryLevel.25' => 'measure_battery_25@red','batteryLevel.50' => 'measure_battery_50@orange','batteryLevel.75' => 'measure_battery_75@green','batteryLevel.100' => 'measure_battery_100@green'}



Die zweite Frage ist, kann ich Text von vorneherein eine gewissen Anzahl Zeichen vorgeben? Der Hintergrund ich lasse mir in einer rd. das aktuelle Fernseh Programm darstellen, und je nachdem wie lange der Film Name ist, verrutschen dann die anderen Anzeigen, von daher möchte ich die Anzeige von vorneherein festlegen.

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 20 November 2016, 19:14:04
zeilenumbruch geht mit <br>
maximal länge geht mit passendem valueFormat oder über style/css

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 20 November 2016, 19:16:36
Hi, vieleicht blöde frage aber wo in der rd von oben muss ich das <br> einfügen?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 20 November 2016, 19:31:41
na da wo der zeilenumbrüche sein soll.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 21 November 2016, 10:56:25
Hallo,

vielleicht kann mir da mal jemand bei der Syntasx weiterhelfen:

Ich habe folgenden Ausdruck

Bu_Fenster:Window,<{'seit&nbsp;'.ReadingsTime($DEVICE,'Previous')}>

Window wird über valueIcon und einen perl-Ausdruck in ein Icon mit Statuswert umgesetz und aktualisiert sich bei jeder Änderung auch korrekt.
<{'seit&nbsp;'.ReadingsTime($DEVICE,'Previous')}>
zeigt an, wie lange das Fenster schon offen, bzw. geschlossen ist.
Leider wird dieser Ausdruck nicht bei jeder Änderung von Window oder previous aktualisiert, sondern nur, wenn ich die Seite neu aufbaue.
Wenn ich die commandref interpretiere, kann man irgendwie auch erreichen, dass dieser Ausruck bei Änderung eines readings neu berechnet wird. Leider verstehe ich aber da die Syntax nicht, wie sie in der commandref dort steht. Oder geht das gar nicht?

Danke.

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 21 November 2016, 18:24:13
einfach ein @<reading-name> zwischen der schliessenden } und dem > einfügen.

also so:Bu_Fenster:Window,<{'seit&nbsp;'.ReadingsTime($DEVICE,'Previous')}@Previous>

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 21 November 2016, 21:30:29
Zitat von: justme1968 am 20 November 2016, 19:31:41
na da wo der zeilenumbrüche sein soll.

Auf die gefahr hin das ich mir echt auf dem schlauch stehem aber wo soll ich hier das <br> einfügen wenn ich die rd auf dem Bild im Anhang in der mitte geteilt haben will?
Internals:
   DEF        .*:[Bb]attery .*:[Bb]atteryLevel
   NAME       rd_Batterie
   NR         324
   NTFY_ORDER 50-rd_Batterie
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
   Fhem:
     lastDefChange 4
     last_update 1479664194.5808
   Helper:
     DEF
     valueFormat {return "0" if( $VALUE eq "low" ); return "100" if( $VALUE eq "ok" ); return "25" if( $VALUE < 2.1 ); return "50" if( $VALUE < 2.3 ); return "75" if( $VALUE < 2.5 ); return "100"}
     Positions:
       Bewegungsmelder.battery 20:1
       Fenster_neben_Couch.battery 60:1
       Fenster_ueber_Heizung.battery 62:1
       Flur_EG.battery 70:1
       Gaeste_WC.battery 83:1
       Gaeste_WC.batteryLevel 393:1
       HeizungFenster.battery 92:1
       HeizungFenster.batteryLevel 402:1
       Heizung_Flur.battery 100:1
       Heizung_Flur.batteryLevel 410:1
       Heizung_Kinderzimmer.battery 102:1
       Heizung_Kinderzimmer.batteryLevel 412:1
       Heizung_Tuer.battery 111:1
       Heizung_Tuer.batteryLevel 421:1
       Keller.battery 126:1
       Kinderzimmer.battery 129:1
       Kinderzimmer_Laya.battery 131:1
       Kinderzimmer_Laya.batteryLevel 441:1
       Kueche.battery 139:1
       Kueche.batteryLevel 449:1
       Rauchmelder.battery 162:1
       Rauchmelder_Kinderzimmer_Laya.battery 165:1
       Terassen_Tuer.battery 231:1
     Valueicon:
       Battery.0  measure_battery_0@red
       Battery.100 measure_battery_100@green
       battery.0  measure_battery_0@red
       battery.100 measure_battery_100@green
       batteryLevel.0 measure_battery_0@red
       batteryLevel.100 measure_battery_100@green
       batteryLevel.25 measure_battery_25@red
       batteryLevel.50 measure_battery_50@orange
       batteryLevel.75 measure_battery_75@green
     Values:
       formated:

         ARRAY(0x4abbc60)
       orig:

         ARRAY(0x53b5740)
       prefixsuffix:

         ARRAY(0x4da9760)
Attributes:
   noheading  1
   notime     1
   room       Zentral
   valueFormat {return "0" if( $VALUE eq "low" ); return "100" if( $VALUE eq "ok" ); return "25" if( $VALUE < 2.1 ); return "50" if( $VALUE < 2.3 ); return "75" if( $VALUE < 2.5 ); return "100"}
   valueIcon  {'battery.0' => 'measure_battery_0@red','battery.100' => 'measure_battery_100@green','Battery.0' => 'measure_battery_0@red','Battery.100' => 'measure_battery_100@green','batteryLevel.0' => 'measure_battery_0@red','batteryLevel.25' => 'measure_battery_25@red','batteryLevel.50' => 'measure_battery_50@orange','batteryLevel.75' => 'measure_battery_75@green','batteryLevel.100' => 'measure_battery_100@green'}



Titel: Neues Modul readingsGroup
Beitrag von: justme1968 am 21 November 2016, 21:37:27
ein zeilenumbruch teilt eine lange zeile in kürzere teile die untereinander stehen.

in deiner readingsGroup steht sowieso schon alles untereinander.

du möchtest keinen zeilenumbruch sondern eine zweispaltige darstellung. das geht aktuell nicht automatisch.

als workground würde ich dir vorschlagen nur die readings anzuzeigen die nicht ok m/voll sind. dadurch wird alles sehr viel kürzer. vielleicht für alle die ok sind nur noch die gesammr anzahl und ein link zum umschalten auf die komplette ansicht.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 21 November 2016, 21:39:22
Ok, sorry hast recht hatte mich falsch ausgedrückt.
Dann versuch ich das ganze mal noch anders, und verteile es auf 2 rd's, dann sollte es auch gehen.

Danke
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 21 November 2016, 22:04:49
Zitat von: Tommy82 am 20 November 2016, 18:57:53
Hi, ich hab zwei Fragen zu readingsgroups, die erste ist kann ich einen Zeilenumbruch in eiiner rd einfügen? Ich hab eine rd, welche mir die Batterie Staten meiner Devices darstellt, diese ist aber recht lang, ich hätte die lieber in der mitte getrennt und dann nebeneinander.
Im Moment sieht sie so aus:

[
Die zweite Frage ist, kann ich Text von vorneherein eine gewissen Anzahl Zeichen vorgeben? Der Hintergrund ich lasse mir in einer rd. das aktuelle Fernseh Programm darstellen, und je nachdem wie lange der Film Name ist, verrutschen dann die anderen Anzeigen, von daher möchte ich die Anzeige von vorneherein festlegen.

Danke

Muss dann hier auch nochmal fragen, wie muss ich das valueFormat setzen? Die rd sieht so aus:

Internals:
   DEF        <Programm>,<Jetzt>,<Dann>,<Uhrzeit>,<PrimeTime>
TV_Programme:13THSTREET@TV_Programme,13THSTREET_next,13THSTREET_next_time,13THSTREET_abend@TV_Programme_abend
TV_Programme:SAT.1@TV_Programme,SAT.1_next,SAT.1_next_time,Sat1_abend@TV_Programme_abend
TV_Programme:Pro7@TV_Programme,Pro7_next,Pro7_next_time,Pro7_abend@TV_Programme_abend
TV_Programme:RTL@TV_Programme,RTL_next,RTL_next_time,RTL_abend@TV_Programme_abend
TV_Programme:KABEL1@TV_Programme,KABEL1_next,KABEL1_next_time,Kabel1_abend@TV_Programme_abend
TV_Programme:rtl2@TV_Programme,rtl2_next,rtl2_next_time,RTL2_abend@TV_Programme_abend
TV_Programme:VOX@TV_Programme,VOX_next,VOX_next_time,VOX_abend@TV_Programme_abend
TV_Programme:ARD@TV_Programme,ARD_next,ARD_next_time,ARD_abend@TV_Programme_abend
TV_Programme:ZDF@TV_Programme,ZDF_next,ZDF_next_time,ZDF_abend@TV_Programme_abend
   NAME       TV_Programm
   NR         165
   NTFY_ORDER 50-TV_Programm
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     TV_Programme 1
   Content2:
     TV_Programme 1
     TV_Programme_abend 1
   DEVICES:
     ARRAY(0x508dd90)
     ARRAY(0x4de6180)
     ARRAY(0x539d238)
     ARRAY(0x4b21bc0)
     ARRAY(0x4b24240)
     ARRAY(0x56b08b8)
     ARRAY(0x4b1b058)
     ARRAY(0x4b16e28)
     ARRAY(0x3b81470)
     ARRAY(0x508dc88)
   DEVICES2:
     ARRAY(0x508dd90)
     ARRAY(0x4de6180)
     ARRAY(0x539d238)
     ARRAY(0x4b21bc0)
     ARRAY(0x4b24240)
     ARRAY(0x56b08b8)
     ARRAY(0x4b1b058)
     ARRAY(0x4b16e28)
     ARRAY(0x3b81470)
     ARRAY(0x508dc88)
     ARRAY(0x4de5ef8)
     ARRAY(0x4af5db0)
     ARRAY(0x508a820)
     ARRAY(0x50dd8d8)
     ARRAY(0x5791f70)
     ARRAY(0x4da6d50)
     ARRAY(0x563d360)
     ARRAY(0x4fefb88)
     ARRAY(0x4d82f28)
     ARRAY(0x4af5858)
     ARRAY(0x4b495b0)
     ARRAY(0x4fee0e0)
     ARRAY(0x5685c20)
     ARRAY(0x5648e00)
     ARRAY(0x508bab8)
     ARRAY(0x5704670)
     ARRAY(0x53b79d0)
     ARRAY(0x50eabd0)
   Helper:
     Dblog:
       Tv_programme.13thstreet:
         Mydblog:
           TIME       1479759268.03371
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel 13THSTREET')">Navy CIS</a></html>
       Tv_programme.13thstreet_next:
         Mydblog:
           TIME       1479759267.68016
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel 13THSTREET_next')">Criminal Minds</a></html>
       Tv_programme.13thstreet_next_time:
         Mydblog:
           TIME       1479759267.70775
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel 13THSTREET_next_time')">21:50</a></html>
       Tv_programme.ard:
         Mydblog:
           TIME       1479759268.00841
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel ARD')">Hart aber fair - Hassen, Pöbeln, Gaffen - wie verroht ist unsere Gesellschaft?</a></html>
       Tv_programme.ard_next:
         Mydblog:
           TIME       1479759267.97871
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel ARD_next')">Tagesthemen - Mit Wetter</a></html>
       Tv_programme.ard_next_time:
         Mydblog:
           TIME       1479759267.91993
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel ARD_next_time')">22:15</a></html>
       Tv_programme.kabel1:
         Mydblog:
           TIME       1479759267.54121
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel KABEL1')">Rambo I</a></html>
       Tv_programme.kabel1_next:
         Mydblog:
           TIME       1479759267.65315
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel KABEL1_next')">Rambo 2 - Der Auftrag</a></html>
       Tv_programme.kabel1_next_time:
         Mydblog:
           TIME       1479759267.48882
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel KABEL1_next_time')">22:15</a></html>
       Tv_programme.pro7:
         Mydblog:
           TIME       1479759267.73344
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel Pro7')">The Big Bang Theory</a></html>
       Tv_programme.pro7_next:
         Mydblog:
           TIME       1479759267.59361
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel Pro7_next')">The Big Bang Theory</a></html>
       Tv_programme.pro7_next_time:
         Mydblog:
           TIME       1479759267.75902
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel Pro7_next_time')">21:40</a></html>
       Tv_programme.rtl:
         Mydblog:
           TIME       1479759267.86722
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel RTL')">Wer wird Millionär?</a></html>
       Tv_programme.rtl_next:
         Mydblog:
           TIME       1479759267.62205
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel RTL_next')">Bauer sucht Frau</a></html>
       Tv_programme.rtl_next_time:
         Mydblog:
           TIME       1479759268.06791
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel RTL_next_time')">21:15</a></html>
       Tv_programme.sat.1:
         Mydblog:
           TIME       1479759267.46048
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel SAT.1')">Navy CIS</a></html>
       Tv_programme.sat.1_next:
         Mydblog:
           TIME       1479759267.95301
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel SAT.1_next')">Navy CIS
       Tv_programme.sat.1_next_time:
         Mydblog:
           TIME       1479759268.09378
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel SAT.1_next_time')">21:15</a></html>
       Tv_programme.vox:
         Mydblog:
           TIME       1479759267.56598
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel VOX')">Club der roten Bänder</a></html>
       Tv_programme.vox_next:
         Mydblog:
           TIME       1479759267.78725
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel VOX_next')">Humans</a></html>
       Tv_programme.vox_next_time:
         Mydblog:
           TIME       1479759267.84171
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel VOX_next_time')">22:10</a></html>
       Tv_programme.zdf:
         Mydblog:
           TIME       1479759267.51488
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel ZDF')">Der Andere</a></html>
       Tv_programme.zdf_next:
         Mydblog:
           TIME       1479759267.89439
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel ZDF_next')">heute-journal - Wetter</a></html>
       Tv_programme.zdf_next_time:
         Mydblog:
           TIME       1479759267.81511
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem/floorplan/Server?XHR=1&cmd=set Senderwechsel ZDF_next_time')">21:50</a></html>
       Tv_programme_abend.13thstreet_abend:
         Mydblog:
           TIME       1479759268.78455
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel 13THSTREET_abend')">Navy CIS</a></html>
       Tv_programme_abend.ard_abend:
         Mydblog:
           TIME       1479759268.81391
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel ARD_abend')">Lebensmittel-Check mit Tim Mälzer - Süß, salzig, fett - Warum wir essen was wir essen</a></html>
       Tv_programme_abend.kabel1_abend:
         Mydblog:
           TIME       1479759268.6606
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel Kabel1_abend')">Rambo I</a></html>
       Tv_programme_abend.pro7_abend:
         Mydblog:
           TIME       1479759268.73592
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel Pro7_abend')">The Big Bang Theory</a></html>
       Tv_programme_abend.rtl_abend:
         Mydblog:
           TIME       1479759268.63682
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel RTL_abend')">Wer wird Millionär?</a></html>
       Tv_programme_abend.sat1_abend:
         Mydblog:
           TIME       1479759268.71159
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel Sat1_abend')">Navy CIS</a></html>
       Tv_programme_abend.vox_abend:
         Mydblog:
           TIME       1479759268.68768
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel VOX_abend')">Club der roten Bänder</a></html>
       Tv_programme_abend.zdf_abend:
         Mydblog:
           TIME       1479759268.76004
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel ZDF_abend')">Der Andere</a></html>
   Fhem:
     lastDefChange 49
     last_update 1479761939.06981
   Helper:
     DEF
     commands   {"set Senderwechsel %READING"}
     nameStyle  style="color:yellow;font-weight:bold"
     Nameicon:
       13THSTREET 13thstreet
       ARD        ard
       KABEL1     kabel1
       Pro7       pro7
       RTL        rtl
       SAT.1      sat1
       Sport1     sport1
       VOX        vox
       ZDF        zdf
       rtl2       rtl2
     Positions:
       TV_Programme.13THSTREET 2:1
       TV_Programme.13THSTREET_next 2:2
       TV_Programme.13THSTREET_next_time 2:3
       TV_Programme.ARD 9:1
       TV_Programme.ARD_next 9:2
       TV_Programme.ARD_next_time 9:3
       TV_Programme.KABEL1 6:1
       TV_Programme.KABEL1_next 6:2
       TV_Programme.KABEL1_next_time 6:3
       TV_Programme.Pro7 4:1
       TV_Programme.Pro7_next 4:2
       TV_Programme.Pro7_next_time 4:3
       TV_Programme.RTL 5:1
       TV_Programme.RTL_next 5:2
       TV_Programme.RTL_next_time 5:3
       TV_Programme.SAT.1 3:1
       TV_Programme.SAT.1_next 3:2
       TV_Programme.SAT.1_next_time 3:3
       TV_Programme.VOX 8:1
       TV_Programme.VOX_next 8:2
       TV_Programme.VOX_next_time 8:3
       TV_Programme.ZDF 10:1
       TV_Programme.ZDF_next 10:2
       TV_Programme.ZDF_next_time 10:3
       TV_Programme.rtl2 7:1
       TV_Programme.rtl2_next 7:2
       TV_Programme.rtl2_next_time 7:3
       TV_Programme_abend.13THSTREET_abend 2:4
       TV_Programme_abend.ARD_abend 9:4
       TV_Programme_abend.Kabel1_abend 6:4
       TV_Programme_abend.Pro7_abend 4:4
       TV_Programme_abend.RTL2_abend 7:4
       TV_Programme_abend.RTL_abend 5:4
       TV_Programme_abend.Sat1_abend 3:4
       TV_Programme_abend.VOX_abend 8:4
       TV_Programme_abend.ZDF_abend 10:4
     Values:
       formated:
Attributes:
   commands   {"set Senderwechsel %READING"}
   fp_Reciever 272,831,0,
   group      TV_Programm
   nameIcon   { "13THSTREET" => '13thstreet', Pro7 => 'pro7', "SAT.1" => 'sat1', RTL => 'rtl', Sport1 => 'sport1', ZDF => 'zdf', ARD => 'ard',rtl2 => 'rtl2',KABEL1 => 'kabel1',VOX => 'vox' }
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   style      style="width:530px;color:white;font-size:15px"
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 21 November 2016, 22:08:32
für das entsprechende reading etwas in der art:

{return substr($VALUE,0,30) if( length($VALUE) > 30 ); return $VALUE }

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 22 November 2016, 20:06:43
Zitat von: justme1968 am 21 November 2016, 22:08:32
für das entsprechende reading etwas in der art:

{return substr($VALUE.0,30) if( length($VALUE) > 30 ); return $VALUE }

Meinst du in etwa so?
<Programm>,<Jetzt>,<Dann>,<Uhrzeit>,<PrimeTime>
TV_Programme:13THSTREET@TV_Programme,13THSTREET_next,13THSTREET_next_time,13THSTREET_abend@TV_Programme_abend
TV_Programme:SAT.1@TV_Programme,SAT.1_next,SAT.1_next_time,Sat1_abend@TV_Programme_abend
TV_Programme:Pro7@TV_Programme,Pro7_next,Pro7_next_time,Pro7_abend@TV_Programme_abend {return substr($VALUE.0,30) if( length($VALUE) > 30 ); return $VALUE }
TV_Programme:RTL@TV_Programme,RTL_next,RTL_next_time,RTL_abend@TV_Programme_abend
TV_Programme:KABEL1@TV_Programme,KABEL1_next,KABEL1_next_time,Kabel1_abend@TV_Programme_abend
TV_Programme:rtl2@TV_Programme,rtl2_next,rtl2_next_time,RTL2_abend@TV_Programme_abend
TV_Programme:VOX@TV_Programme,VOX_next,VOX_next_time,VOX_abend@TV_Programme_abend
TV_Programme:ARD@TV_Programme,ARD_next,ARD_next_time,ARD_abend@TV_Programme_abend
TV_Programme:ZDF@TV_Programme,ZDF_next,ZDF_next_time,ZDF_abend@TV_Programme_abend


Dann wird aber alles nach dem Pro7 reading abgeschnitten
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 November 2016, 20:08:48
da war noch ein tippfehler drin.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 22 November 2016, 20:25:39
Ok, hab dann jetzt deine geänderte Version genommen, aber leider klappts auch damit nicht
<Programm>,<Jetzt>,<Dann>,<Uhrzeit>,<PrimeTime>
TV_Programme:13THSTREET@TV_Programme,13THSTREET_next,13THSTREET_next_time,13THSTREET_abend@TV_Programme_abend
TV_Programme:SAT.1@TV_Programme,SAT.1_next,SAT.1_next_time,Sat1_abend@TV_Programme_abend {return substr($VALUE,0,30) if( length($VALUE) > 30 ); return $VALUE }
TV_Programme:Pro7@TV_Programme,Pro7_next,Pro7_next_time,Pro7_abend@TV_Programme_abend
TV_Programme:RTL@TV_Programme,RTL_next,RTL_next_time,RTL_abend@TV_Programme_abend
TV_Programme:KABEL1@TV_Programme,KABEL1_next,KABEL1_next_time,Kabel1_abend@TV_Programme_abend
TV_Programme:rtl2@TV_Programme,rtl2_next,rtl2_next_time,RTL2_abend@TV_Programme_abend
TV_Programme:VOX@TV_Programme,VOX_next,VOX_next_time,VOX_abend@TV_Programme_abend
TV_Programme:ARD@TV_Programme,ARD_next,ARD_next_time,ARD_abend@TV_Programme_abend
TV_Programme:ZDF@TV_Programme,ZDF_next,ZDF_next_time,ZDF_abend@TV_Programme_abend


Dann sieht die rd nur noch so aus:
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 November 2016, 20:26:56
schau ins log. wenn etwas nicht geht und es fehler gibt sollten dort meldungen sein.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 22 November 2016, 20:27:32
der code muss ins valueFormat für das betreffende reading. nicht in die DEF.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 22 November 2016, 20:36:05
Du bist der beste, vielen Dank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 25 November 2016, 21:26:47
Hi, hab leider wieso auch immer plötzlich ein neues Problem mit der rd.
nternals:
   DEF        <Programm>,<Jetzt>,<Dann>,<Uhrzeit>,<PrimeTime>
TV_Programme:13THSTREET@TV_Programme,13THSTREET_next,13THSTREET_next_time,13THSTREET_abend@TV_Programme_abend
TV_Programme:SAT.1@TV_Programme,SAT.1_next,SAT.1_next_time,Sat1_abend@TV_Programme_abend
TV_Programme:Pro7@TV_Programme,Pro7_next,Pro7_next_time,Pro7_abend@TV_Programme_abend
TV_Programme:RTL@TV_Programme,RTL_next,RTL_next_time,RTL_abend@TV_Programme_abend
TV_Programme:KABEL1@TV_Programme,KABEL1_next,KABEL1_next_time,Kabel1_abend@TV_Programme_abend
TV_Programme:rtl2@TV_Programme,rtl2_next,rtl2_next_time,RTL2_abend@TV_Programme_abend
TV_Programme:VOX@TV_Programme,VOX_next,VOX_next_time,VOX_abend@TV_Programme_abend
TV_Programme:ARD@TV_Programme,ARD_next,ARD_next_time,ARD_abend@TV_Programme_abend
TV_Programme:ZDF@TV_Programme,ZDF_next,ZDF_next_time,ZDF_abend@TV_Programme_abend
   NAME       TV_Programm
   NR         161
   NTFY_ORDER 50-TV_Programm
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     TV_Programme 1
   Content2:
     TV_Programme 1
     TV_Programme_abend 1
   DEVICES:
     ARRAY(0x3cb9898)
     ARRAY(0x4436948)
     ARRAY(0x43f5df0)
     ARRAY(0x3c65d20)
     ARRAY(0x4622660)
     ARRAY(0x3c70508)
     ARRAY(0x3cb37b8)
     ARRAY(0x455ace8)
     ARRAY(0x4555880)
     ARRAY(0x42e64b8)
   DEVICES2:
     ARRAY(0x3cb9898)
     ARRAY(0x4436948)
     ARRAY(0x43f5df0)
     ARRAY(0x3c65d20)
     ARRAY(0x4622660)
     ARRAY(0x3c70508)
     ARRAY(0x3cb37b8)
     ARRAY(0x455ace8)
     ARRAY(0x4555880)
     ARRAY(0x42e64b8)
     ARRAY(0x43c1510)
     ARRAY(0x42efc78)
     ARRAY(0x48b9d98)
     ARRAY(0x4301200)
     ARRAY(0x43ca900)
     ARRAY(0x48359c8)
     ARRAY(0x47da860)
     ARRAY(0x3c6f068)
     ARRAY(0x47d7998)
     ARRAY(0x43011e8)
     ARRAY(0x487efc0)
     ARRAY(0x43d9f08)
     ARRAY(0x4876280)
     ARRAY(0x4886268)
     ARRAY(0x487e210)
     ARRAY(0x3cb2ff0)
     ARRAY(0x3c05210)
     ARRAY(0x3620f48)
   Helper:
     Dblog:
       Tv_programme.13thstreet:
         Mydblog:
           TIME       1480102584.916
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel 13THSTREET')">Safe - Todsicher</a></html>
       Tv_programme.13thstreet_next:
         Mydblog:
           TIME       1480102584.96508
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel 13THSTREET_next')">Safe House</a></html>
       Tv_programme.13thstreet_next_time:
         Mydblog:
           TIME       1480102584.73227
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel 13THSTREET_next_time')">21:55</a></html>
       Tv_programme.ard:
         Mydblog:
           TIME       1480102584.66662
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel ARD')">Almuth und Rita - Zwei wie Pec</a></html>
       Tv_programme.ard_next:
         Mydblog:
           TIME       1480102584.88346
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel ARD_next')">Tagesthemen - Mit Wetter</a></html>
       Tv_programme.ard_next_time:
         Mydblog:
           TIME       1480102584.81385
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel ARD_next_time')">21:45</a></html>
       Tv_programme.kabel1:
         Mydblog:
           TIME       1480102584.6331
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel KABEL1')">Forever</a></html>
       Tv_programme.kabel1_next:
         Mydblog:
           TIME       1480102584.7486
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel KABEL1_next')">The Mentalist (OmU)</a></html>
       Tv_programme.kabel1_next_time:
         Mydblog:
           TIME       1480102584.64951
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel KABEL1_next_time')">21:10</a></html>
       Tv_programme.pro7:
         Mydblog:
           TIME       1480102584.76481
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel Pro7')">Project
       Tv_programme.pro7_next:
         Mydblog:
           TIME       1480102584.99808
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel Pro7_next')">Tomorrow, When the War Began</a></html>
       Tv_programme.pro7_next_time:
         Mydblog:
           TIME       1480102584.94859
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel Pro7_next_time')">22:25</a></html>
       Tv_programme.rtl:
         Mydblog:
           TIME       1480102584.83034
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel RTL')">Die 2 - Gottschalk &amp; Jauch</a></html>
       Tv_programme.rtl_next:
         Mydblog:
           TIME       1480102584.78123
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel RTL_next')">RTL Nachtjournal</a></html>
       Tv_programme.rtl_next_time:
         Mydblog:
           TIME       1480102584.89963
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel RTL_next_time')">00:00</a></html>
       Tv_programme.sat.1:
         Mydblog:
           TIME       1480102584.79737
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel SAT.1')">Das Schwiegermonster</a></html>
       Tv_programme.sat.1_next:
         Mydblog:
           TIME       1480102584.8467
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel SAT.1_next')">Knallerfrauen</a></html>
       Tv_programme.sat.1_next_time:
         Mydblog:
           TIME       1480102584.93246
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel SAT.1_next_time')">22:15</a></html>
       Tv_programme.vox:
         Mydblog:
           TIME       1480102584.98159
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel VOX')">Law &amp; Order
       Tv_programme.vox_next:
         Mydblog:
           TIME       1480102584.86269
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel VOX_next')">Law &amp; Order
       Tv_programme.vox_next_time:
         Mydblog:
           TIME       1480102584.61675
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel VOX_next_time')">21:15</a></html>
       Tv_programme.zdf:
         Mydblog:
           TIME       1480102584.71595
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel ZDF')">Ein Fall für zwei</a></html>
       Tv_programme.zdf_next:
         Mydblog:
           TIME       1480102584.69943
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel ZDF_next')">SOKO Leipzig</a></html>
       Tv_programme.zdf_next_time:
         Mydblog:
           TIME       1480102584.68316
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel ZDF_next_time')">21:15</a></html>
       Tv_programme_abend.13thstreet_abend:
         Mydblog:
           TIME       1480102585.4582
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel 13THSTREET_abend')">Safe - Todsicher</a></html>
       Tv_programme_abend.ard_abend:
         Mydblog:
           TIME       1480102585.37556
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel ARD_abend')">Almuth und Rita - Zwei wie Pec</a></html>
       Tv_programme_abend.kabel1_abend:
         Mydblog:
           TIME       1480102585.44158
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel Kabel1_abend')">Forever</a></html>
       Tv_programme_abend.pro7_abend:
         Mydblog:
           TIME       1480102585.35932
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel Pro7_abend')">Project
       Tv_programme_abend.rtl_abend:
         Mydblog:
           TIME       1480102585.3922
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel RTL_abend')">Die 2 - Gottschalk &amp; Jauch</a></html>
       Tv_programme_abend.sat1_abend:
         Mydblog:
           TIME       1480102585.34302
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel Sat1_abend')">Das Schwiegermonster</a></html>
       Tv_programme_abend.vox_abend:
         Mydblog:
           TIME       1480102585.40851
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel VOX_abend')">Law &amp; Order
       Tv_programme_abend.zdf_abend:
         Mydblog:
           TIME       1480102585.425
           VALUE      <html><a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel ZDF_abend')">Ein Fall für zwei</a></html>
   Fhem:
     lastDefChange 64
     last_update 1480105004.7298
   Helper:
     DEF
     commands   {"set Senderwechsel %READING"}
     mapping    {return substr($VALUE,0,30) if( length($VALUE) > 30 ); return $VALUE } TV_Programme:Pro7@TV_Programme,Pro7_next,Pro7_next_time,Pro7_abend@TV_Programme_abend TV_Programme:RTL@TV_Programme,RTL_next,RTL_next_time,RTL_abend@TV_Programme_abend TV_Programme:KABEL1@TV_Programme,KABEL1_next,KABEL1_next_time,Kabel1_abend@TV_Programme_abend TV_Programme:rtl2@TV_Programme,rtl2_next,rtl2_next_time,RTL2_abend@TV_Programme_abend TV_Programme:VOX@TV_Programme,VOX_next,VOX_next_time,VOX_abend@TV_Programme_abend TV_Programme:ARD@TV_Programme,ARD_next,ARD_next_time,ARD_abend@TV_Programme_abend TV_Programme:ZDF@TV_Programme,ZDF_next,ZDF_next_time,ZDF_abend@TV_Programme_abend
     nameStyle  style="color:yellow;font-weight:bold"
     valueFormat {return substr($VALUE,0,30) if( length($VALUE) > 30 ); return $VALUE }
     Nameicon:
       13THSTREET 13thstreet
       ARD        ard
       KABEL1     kabel1
       Pro7       pro7
       RTL        rtl
       SAT.1      sat1
       Sport1     sport1
       VOX        vox
       ZDF        zdf
       rtl2       rtl2
     Positions:
       TV_Programme.13THSTREET 2:1
       TV_Programme.13THSTREET_next 2:2
       TV_Programme.13THSTREET_next_time 2:3
       TV_Programme.ARD 9:1
       TV_Programme.ARD_next 9:2
       TV_Programme.ARD_next_time 9:3
       TV_Programme.KABEL1 6:1
       TV_Programme.KABEL1_next 6:2
       TV_Programme.KABEL1_next_time 6:3
       TV_Programme.Pro7 4:1
       TV_Programme.Pro7_next 4:2
       TV_Programme.Pro7_next_time 4:3
       TV_Programme.RTL 5:1
       TV_Programme.RTL_next 5:2
       TV_Programme.RTL_next_time 5:3
       TV_Programme.SAT.1 3:1
       TV_Programme.SAT.1_next 3:2
       TV_Programme.SAT.1_next_time 3:3
       TV_Programme.VOX 8:1
       TV_Programme.VOX_next 8:2
       TV_Programme.VOX_next_time 8:3
       TV_Programme.ZDF 10:1
       TV_Programme.ZDF_next 10:2
       TV_Programme.ZDF_next_time 10:3
       TV_Programme.rtl2 7:1
       TV_Programme.rtl2_next 7:2
       TV_Programme.rtl2_next_time 7:3
       TV_Programme_abend.13THSTREET_abend 2:4
       TV_Programme_abend.ARD_abend 9:4
       TV_Programme_abend.Kabel1_abend 6:4
       TV_Programme_abend.Pro7_abend 4:4
       TV_Programme_abend.RTL2_abend 7:4
       TV_Programme_abend.RTL_abend 5:4
       TV_Programme_abend.Sat1_abend 3:4
       TV_Programme_abend.VOX_abend 8:4
       TV_Programme_abend.ZDF_abend 10:4
     Values:
       formated:

         ARRAY(0x3c659a8)
         ARRAY(0x1338868)
         ARRAY(0x471a460)
         ARRAY(0x47d6f18)
       orig:

         ARRAY(0x3c68690)
         ARRAY(0x47d4a20)
         ARRAY(0x43c4060)
         ARRAY(0x47d3200)
       prefixsuffix:

         ARRAY(0x43b4b18)
         ARRAY(0x3d0e0d0)
         ARRAY(0x431fff8)
         ARRAY(0x3cb9160)
Attributes:
   commands   {"set Senderwechsel %READING"}
   fp_Reciever 272,831,0,
   group      TV_Programm
   mapping    {return substr($VALUE,0,30) if( length($VALUE) > 30 ); return $VALUE } TV_Programme:Pro7@TV_Programme,Pro7_next,Pro7_next_time,Pro7_abend@TV_Programme_abend TV_Programme:RTL@TV_Programme,RTL_next,RTL_next_time,RTL_abend@TV_Programme_abend TV_Programme:KABEL1@TV_Programme,KABEL1_next,KABEL1_next_time,Kabel1_abend@TV_Programme_abend TV_Programme:rtl2@TV_Programme,rtl2_next,rtl2_next_time,RTL2_abend@TV_Programme_abend TV_Programme:VOX@TV_Programme,VOX_next,VOX_next_time,VOX_abend@TV_Programme_abend TV_Programme:ARD@TV_Programme,ARD_next,ARD_next_time,ARD_abend@TV_Programme_abend TV_Programme:ZDF@TV_Programme,ZDF_next,ZDF_next_time,ZDF_abend@TV_Programme_abend
   nameIcon   { "13THSTREET" => '13thstreet', Pro7 => 'pro7', "SAT.1" => 'sat1', RTL => 'rtl', Sport1 => 'sport1', ZDF => 'zdf', ARD => 'ard',rtl2 => 'rtl2',KABEL1 => 'kabel1',VOX => 'vox' }
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   room       Wohnzimmer
   style      style="width:530px;color:white;font-size:15px"
   valueFormat {return substr($VALUE,0,30) if( length($VALUE) > 30 ); return $VALUE }


Das ganze gelbe gehört da nicht hin
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 25 November 2016, 21:30:42
schau dir dein mapping an...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 25 November 2016, 21:34:48
So einfach kann es sein.....Keine Ahnung wie ich das darein bekommen hab.

Danke für den Hinweis, jetzt passt es wieder
Titel: Antw:Neues Modul readingsGroup
Beitrag von: hartenthaler am 27 November 2016, 16:55:39
Ich brauche Hilfe beim Parameter sortFn einer readingsGroup. Bei einer anderen readingsGroup habe ich es bereits einmal hinbekommen, aber dieses Mal sehe ich nicht wie ich es formulieren muss.

Ich habe eine readingsGroup, die aus diversen Devices ein userReading zusammensammelt, das das Datum des letzten Batteriewechsels enthält. Diese Readings sehen so aus:
setstate Tuer.Keller 2016-11-21 00:39:24 batteriewechsel 2016-06-19also ein Datum in der Form yyyy-mm-dd. Müsste sich also leicht chronologisch sortieren lassen.

Hier die Definition der readingsGroup

defmod rg_Batteriewechsel readingsGroup <Gerät mit Batterie>,<Datum des Batteriewechsels> .*:batteriewechsel
attr rg_Batteriewechsel mapping %ALIAS
attr rg_Batteriewechsel notime 1
attr rg_Batteriewechsel valueFormat { substr($VALUE,8,2).".".substr($VALUE,5,2).".".substr($VALUE,0,4) }


Wie muss ich sortFn formulieren, damit die Einträge chronologisch, also nach "batteriewechsel" sortiert werden. Ich bekomme es einfach nicht hin.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 27 November 2016, 17:25:50
damit sortiert wird musst du im define die spalte und den teil des readings angeben nach dem sortiert werden soll:

defmod rg_Batteriewechsel readingsGroup <Gerät mit Batterie>,<Datum des Batteriewechsels> .*:@1,batteriewechsel.(.*)

sortFn musst du nicht setzen. der default ist alphabetisch. das sollte passen. falls du es umgekehrt haben möchtes:@{$b}[1] cmp @{$a}[1]

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: hartenthaler am 27 November 2016, 17:51:51
ok, das sieht viel einfacher aus als alles was ich probiert habe. Danke.

Aber: es erfolgt ein sofortiger Absturz von fhem. Im Log steht als letzte Meldung: Can't use an undefined value as an ARRAY reference at ./FHEM/33_readingsGroup.pm line 800.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cerberus am 28 November 2016, 17:47:08
Hallo, ich habe seit einiger Zeit Probleme mit meinem Fhem Server und habe die Vermutung das es an meiner Readingsgroup für meine Heizungsregler liegt. Einen Beitrag dazu habe ich hier erstellt.

https://forum.fhem.de/index.php/topic,10607.msg529469.html#msg529469 (https://forum.fhem.de/index.php/topic,10607.msg529469.html#msg529469)

Wenn ich zu Hause bin, stelle ich dann noch die Group ein. Ich hoffe ihr habt eine Idee dazu warum sich mein Fehm immer aufhängt. Vorerst habe ich die Group für die Heizung erst mal raus genommen, wobei ich auch noch Readingsgroups für andere Funktionen scheinbar problemlos betreiben kann.


So hier noch der Code der ReadingsGroup sowie der LOG Auszug. Wenn ich über die ReadingsGroup z.B. die den Mode Automatik/Manual setze passiert es, dass der Server hängen bleibt und weder die Web Oberfläche erreichbar ist noch eine Funkkommunikation stattfindet.

define heatingInfo readingsGroup <%sani_heating>,<Soll>,<Soll neu>,<Ist>,<Feuchte>,<Ventil>,<Modus>,<Lock>,<Bat>\
WT_EG_WO_Climate:desired-temp,<sollsetz>,measured-temp@WT_EG_WO,humidity@WT_EG_WO,actuator@WT_EG_WO,controlMode,R-btnLock@WT_EG_WO,battery@WT_EG_WO \
WT_EG_KU_Climate:desired-temp,<sollsetz>,measured-temp@WT_EG_KU,humidity@WT_EG_KU,actuator@WT_EG_KU,controlMode,R-btnLock@WT_EG_KU,battery@WT_EG_KU \
WT_EG_DU_Climate:desired-temp,<sollsetz>,measured-temp@WT_EG_DU,humidity@WT_EG_DU,actuator@WT_EG_DU,controlMode,R-btnLock@WT_EG_DU,battery@WT_EG_DU \
WT_EG_FL_Climate:desired-temp,<sollsetz>,measured-temp@WT_EG_FL,humidity@WT_EG_FL,actuator@WT_EG_FL,controlMode,R-btnLock@WT_EG_FL,battery@WT_EG_FL \
WT_OG_BA_Climate:desired-temp,<sollsetz>,measured-temp@WT_OG_BA,humidity@WT_OG_BA,actuator@WT_OG_BA,controlMode,R-btnLock@WT_OG_BA,battery@WT_OG_BA \
WT_OG_SC_Climate:desired-temp,<sollsetz>,measured-temp@WT_OG_SC,humidity@WT_OG_SC,actuator@WT_OG_SC,controlMode,R-btnLock@WT_OG_SC,battery@WT_OG_SC \
WT_OG_CH_Climate:desired-temp,<sollsetz>,measured-temp@WT_OG_CH,humidity@WT_OG_CH,actuator@WT_OG_CH,controlMode,R-btnLock@WT_OG_CH,battery@WT_OG_CH \
WT_OG_SA_Climate:desired-temp,<sollsetz>,measured-temp@WT_OG_SA,humidity@WT_OG_SA,actuator@WT_OG_SA,controlMode,R-btnLock@WT_OG_SA,battery@WT_OG_SA
attr heatingInfo cellStyle { "r:1"=>'style="font-weight:bold;;font-size:16px"',"r:2,c:0"=>'style="font-weight:bold"',"r:6,c:0" =>'style="font-weight:bold"',"r:9,c:0"=>'style="font-weight:bold"',"r:12,c:0"=>'style="font-weight:bold"'}
attr heatingInfo commands { 'heatingInfo.sollsetz'=>'desired-temp:', "controlMode.manual"=>"set %DEVICE controlMode auto","controlMode.auto"=>"set %DEVICE controlMode manual", "R-btnLock.on"=>"set %DEVICE regSet btnLock off", "R-btnLock.off"=>"set %DEVICE regSet btnLock on"}
attr heatingInfo group Räume
attr heatingInfo noheading 1
attr heatingInfo room Heizung
attr heatingInfo style style="border:0px;;background:none;;box-shadow:none"
attr heatingInfo valueFormat {if($READING eq "actuator" && $VALUE ne "0"){$VALUE = int($VALUE/10)*10}}
attr heatingInfo valueIcon {'controlMode.manual' => 'sani_heating_manual@795CFF', 'controlMode.auto' => 'sani_heating_automatic@FFC13A', 'controlMode.boost' => 'sani_heating_boost@FB0C02', 'humidity'=>'humidity@6FD9FB', 'R-btnLock.on'=>'secur_locked@F7301D', 'R-btnLock.off'=>'secur_open@0CFB0C','actuator.0' => 'sani_heating_level_0@002AE0', 'actuator.10' => 'sani_heating_level_10@F8D53D','actuator.20' => 'sani_heating_level_20@FF9341', 'actuator.30' => 'sani_heating_level_30@F17F3F','actuator.40' => 'sani_heating_level_40@E46C3C', 'actuator.50' => 'sani_heating_level_50@DE3B3A','actuator.60' => 'sani_heating_level_60@A30D2D', 'actuator.70' => 'sani_heating_level_70@B40A23','actuator.80' => 'sani_heating_level_80@C40619', 'actuator.90' => 'sani_heating_level_90@D4030F','actuator.100' => 'sani_heating_level_100@E50005', 'battery.ok' => 'measure_battery_100@lightgreen', 'battery.low' => 'measure_battery_50@red','controlMode.set_boost' => 'hourglass', 'controlMode.set_auto' => 'hourglass','controlMode.set_manual' => 'hourglass', 'R-btnLock.set_on' => 'hourglass','R-btnLock.set_off' => 'hourglass'}
attr heatingInfo valueStyle {if($READING eq "measured-temp") {my $t=$VALUE;;my $d=ReadingsVal($DEVICE,'desired-temp',0);; if($t-$d>=1){'style="color:rgb(251,63,11);;"'}elsif($t-$d<=-1){'style="color:rgb(79,58,251);;"'} else{'style="color:rgb(12,251,12);;"'}}}
attr heatingInfo valueSuffix {"desired-temp"=>" °C", "measured-temp"=>" °C", "actuator"=>" (".ReadingsVal($DEVICE,$READING,0)." %)", "humidity"=>" ".ReadingsVal($DEVICE,$READING,0)." % ", "batteryLevel"=>" (".ReadingsVal($DEVICE,$READING,0)." V)"}
attr heatingInfo mapping {WT_EG_WO_Climate=>"Wohnzimmer", WT_EG_KU_Climate=>"Küche", WT_EG_DU_Climate=>"Dusche", WT_EG_FL_Climate=>"Flur",WT_OG_BA_Climate=>"Bad", WT_OG_SC_Climate=>"Schlafzimmer", WT_OG_CH_Climate=>"Chiara", WT_OG_SA_Climate=>"Saskia",'desired-temp' => }
attr heatingInfo verbose 5


LOG
2016.11.27 14:03:31.228 3: CUL_HM set WT_EG_WO_Climate desired-temp 21.5
2016.11.27 14:03:48.822 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:04:08.847 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:04:08.870 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:04:54.638 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:07.717 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:08.341 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:10.819 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:13.563 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:14.838 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:14.861 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:23.470 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:23.513 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:23.558 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:23.616 5: heatingInfo: not on any display, ignoring notify
2016.11.27 14:05:23.650 3: CUL_HM set WT_EG_WO_Climate controlMode manual


Gruß cerberus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 01 Dezember 2016, 11:01:00
@hartenthaler: der absturz ist ab der morigen version abgefangen. das problem tritt auf wenn die regex für das reading nicht stimmt und die list leer ist. d.h. batteriewechsel.(.*) passt scheinbar nicht auf deine readings.

@cerberus: was genau heisst hängen bleiben? läuft fhem tatsächlich noch? was siehst du wenn du dich mit strace -p <fhem pid> an den fhem prozess hängst?

das log sagt nur das die readingsGroup gerade nicht angezeigt wird und deshalb auch nichts weiter macht. was komisch ist bzw. gar nicht geht wenn du über die readingsGroup etwas einstellst.

Titel: Antw:Neues Modul readingsGroup
Beitrag von: hartenthaler am 01 Dezember 2016, 18:28:07
Fein, dann werde ich mit der stabilisierten Version dann weiter testen. Danke Dir!

Was funktioniert (aber eben unsortiert)

defmod rg_Batteriewechsel readingsGroup <Gerät mit Batterie>,<Datum des Batteriewechsels> .*:batteriewechsel

Es wird hier nicht sortiert, wenn ich eine sortFn angebe

{ @{$b}[1] cmp @{$a}[1] }


Alle folgenden Versionen führen mit der noch aktuellen Version zum sofortigen Absturz von fhem

defmod rg_Batteriewechsel readingsGroup <Gerät mit Batterie>,<Datum des Batteriewechsels> .*:@1,batteriewechsel.(.*)
defmod rg_Batteriewechsel readingsGroup <Gerät mit Batterie>,<Datum des Batteriewechsels> .*:@1,batteriewechsel(.*)
defmod rg_Batteriewechsel readingsGroup <Gerät mit Batterie>,<Datum des Batteriewechsels> .*:@1,batteriewechsel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cerberus am 01 Dezember 2016, 20:40:00
Hallo  justme1968, danke für deine Antwort.

Ich habe nun den Fall mal nachgestellt und mit strace einen Log gemacht. Ich habe den Eindruck das nach dem set desired-temp wenn dann automatisch das getConfig durchgeführt wird, der Server überlastet ist. Im Fhem LOG kann man sehen das plötzlich der RS485 LAN Gateway neu startet, das WEB Frontend hängt dann auch und die Funkkommunikation. Nach einer Weile fängt sich der Server wieder, aber oft hatte ich es auch schon das nichts mehr ging.

Grüße
cerberus
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Invers am 02 Dezember 2016, 18:43:28
Ich habe hier https://forum.fhem.de/index.php/topic,61705.msg531630.html#msg531630 (https://forum.fhem.de/index.php/topic,61705.msg531630.html#msg531630)
ein Problem mit readingsChange und Readingsgroup geschildert. Das Problem könnte im Modul RG liegen.
Ich bitte mal um gelegentliche Prüfung, ob es ein Bug ist. Werte aus readingsChange werden in der RG nicht aktualisiert.
Hat aber keine Eile, da ich das Konstrukt nur einmal zum Test benutzt habe.

Vielen Dank.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 02 Dezember 2016, 22:32:36
Hi, habe heute folgende Warnung im Log.

2016.12.02 22:29:40.589 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 528.
2016.12.02 22:29:40.590 1: stacktrace:
2016.12.02 22:29:40.590 1:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (527)
2016.12.02 22:29:40.591 1:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1048)
2016.12.02 22:29:40.591 1:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1137)
2016.12.02 22:29:40.592 1:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (2838)
2016.12.02 22:29:40.592 1:     main::FW_devState                   called by ./FHEM/01_FHEMWEB.pm (1547)
2016.12.02 22:29:40.592 1:     main::FW_makeDeviceLine             called by ./FHEM/01_FHEMWEB.pm (1655)
2016.12.02 22:29:40.592 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (913)
2016.12.02 22:29:40.593 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (456)
2016.12.02 22:29:40.593 1:     main::FW_Read                       called by fhem.pl (3264)
2016.12.02 22:29:40.593 1:     main::CallFn                        called by fhem.pl (672)
2016.12.02 22:30:00.259 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 528.
2016.12.02 22:30:00.260 1: stacktrace:
2016.12.02 22:30:00.260 1:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (527)
2016.12.02 22:30:00.261 1:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1048)
2016.12.02 22:30:00.261 1:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1137)
2016.12.02 22:30:00.261 1:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (2838)
2016.12.02 22:30:00.262 1:     main::FW_devState                   called by ./FHEM/01_FHEMWEB.pm (1547)
2016.12.02 22:30:00.262 1:     main::FW_makeDeviceLine             called by ./FHEM/01_FHEMWEB.pm (1655)
2016.12.02 22:30:00.262 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (913)
2016.12.02 22:30:00.263 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (456)
2016.12.02 22:30:00.263 1:     main::FW_Read                       called by fhem.pl (3264)
2016.12.02 22:30:00.263 1:     main::CallFn                        called by fhem.pl (672)


Wo hab ich meinen Fehler?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: hartenthaler am 02 Dezember 2016, 23:04:48
Zitat von: hartenthaler am 27 November 2016, 16:55:39
Ich habe eine readingsGroup, die aus diversen Devices ein userReading zusammensammelt, das das Datum des letzten Batteriewechsels enthält. Diese Readings sehen so aus:
setstate Tuer.Keller 2016-11-21 00:39:24 batteriewechsel 2016-06-19also ein Datum in der Form yyyy-mm-dd. Müsste sich also leicht chronologisch sortieren lassen.

Hier die Definition der readingsGroup

defmod rg_Batteriewechsel readingsGroup <Gerät mit Batterie>,<Datum des Batteriewechsels> .*:batteriewechsel
attr rg_Batteriewechsel mapping %ALIAS
attr rg_Batteriewechsel notime 1
attr rg_Batteriewechsel valueFormat { substr($VALUE,8,2).".".substr($VALUE,5,2).".".substr($VALUE,0,4) }


Das ergibt eine Liste in folgender Form

Gerät mit Batterie              Datum des Batteriewechsels
-----------------------------------------------------------
Balkontür Schlafzimmer Flügel   07.08.2016
Balkontür Wohnzimmer Flügel     10.08.2016
Tür Keller                      19.06.2016
...

Wie kann ich diese eigentlich schon fast perfekte Liste nun noch nach dem Datum sortieren (älteste zuerst)? Die Angabe einer sortFn hat nicht funktioniert bzw. ich habe es nicht hinbekommen.

Andre, Du hattest mir folgenden Rat gegeben:
Zitat von: justme1968 am 27 November 2016, 17:25:50
damit sortiert wird musst du im define die spalte und den teil des readings angeben nach dem sortiert werden soll:

defmod rg_Batteriewechsel readingsGroup <Gerät mit Batterie>,<Datum des Batteriewechsels> .*:@1,batteriewechsel.(.*)
Das hatte zum Absturz von fhem geführt. Nachdem mit der neuen Version des Moduls dieses Problem nun behoben ist, konnte ich weiter testen, aber alle Versuche führten zu keinem brauchbaren Ergebnis. Entweder ist die Liste dann ganz leer oder die erste Spalte mit den Gerätenamen ist leer. Und sortiert wird auch nicht. Eigentlich ist die Liste doch so einfach strukturiert, da müsste ich es doch hinbekommen. Tue ich aber nicht. Grrr. Hilfe!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 04 Dezember 2016, 18:30:48
wir hatten aneinander vorbei geredet.

mit der sortFn kann man nach (teilen) der reading namen sortieren. nicht nach dem inhalt der readings.

nach dem inhalt der readings zu sortieren ist aktuell nicht möglich. unter anderem weil ja die readings per longpoll aktualisiert werden und dann eigentlich auch die reihenfolge korrigiert werden muss.

da die readingsGroup die readings einfach der reihenfolge nach durchgeht und die tabelle aufbaut ist ein weiteres problem. hier zu sortieren würde ein zweistufiges vorgehen nötig machen.

aber: das was du möchtest lässt sich vermutlich hiermit: https://forum.fhem.de/index.php/topic,61020.0.html (https://forum.fhem.de/index.php/topic,61020.0.html) besser lösen. ich habe es aber noch nicht probiert und weiss nicht ob und wie man eine default sortierung vorgeben kann.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Tommy82 am 04 Dezember 2016, 20:36:18
Hab heute noch ein paar Meldungen mehr im LOG:
2016.12.04 20:10:56.027 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 1310.
2016.12.04 20:10:56.028 1: stacktrace:
2016.12.04 20:10:56.029 1:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (1307)
2016.12.04 20:10:56.029 1:     main::readingsGroup_Notify          called by fhem.pl (3264)
2016.12.04 20:10:56.030 1:     main::CallFn                        called by fhem.pl (3186)
2016.12.04 20:10:56.030 1:     main::DoTrigger                     called by fhem.pl (4077)
2016.12.04 20:10:56.031 1:     main::readingsEndUpdate             called by ./FHEM/70_ENIGMA2.pm (2246)
2016.12.04 20:10:56.032 1:     main::ENIGMA2_ReceiveCommand        called by FHEM/HttpUtils.pm (89)
2016.12.04 20:10:56.032 1:     main::HttpUtils_Err                 called by fhem.pl (2866)
2016.12.04 20:10:56.033 1:     main::HandleTimeout                 called by fhem.pl (604)
2016.12.04 20:11:22.305 2: Cul433 IT_set: Steckdose_Buero_Schrank_Licht off
2016.12.04 20:31:14.050 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 528.
2016.12.04 20:31:14.051 1: stacktrace:
2016.12.04 20:31:14.051 1:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (527)
2016.12.04 20:31:14.052 1:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1048)
2016.12.04 20:31:14.052 1:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1519)
2016.12.04 20:31:14.052 1:     main::readingsGroup_Get             called by fhem.pl (3264)
2016.12.04 20:31:14.053 1:     main::CallFn                        called by fhem.pl (1690)
2016.12.04 20:31:14.053 1:     main::CommandGet                    called by fhem.pl (1085)
2016.12.04 20:31:14.053 1:     main::AnalyzeCommand                called by fhem.pl (955)
2016.12.04 20:31:14.054 1:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2274)
2016.12.04 20:31:14.054 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (728)
2016.12.04 20:31:14.054 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (456)
2016.12.04 20:31:14.054 1:     main::FW_Read                       called by fhem.pl (3264)
2016.12.04 20:31:14.055 1:     main::CallFn                        called by fhem.pl (672)


Titel: Antw:Neues Modul readingsGroup
Beitrag von: hartenthaler am 05 Dezember 2016, 00:14:14
Zitat von: justme1968 am 04 Dezember 2016, 18:30:48
...
aber: das was du möchtest lässt sich vermutlich hiermit: https://forum.fhem.de/index.php/topic,61020.0.html (https://forum.fhem.de/index.php/topic,61020.0.html) besser lösen. ich habe es aber noch nicht probiert und weiss nicht ob und wie man eine default sortierung vorgeben kann.

Danke Andre, das war's genau. Funktionierte auf Anhieb. Es gibt keine Standardvorgabe für die Sortierung, man klickt auf einen Spaltenkopf und es erscheint ein kleiner Pfeil und die Tabelle ist sortiert. Nochmal klicken sortiert in der anderen Reihenfolge. Allerdings natürlich entsprechend des angezeigten Inhalts. Ich musste also mein angepasstes Format dd.mm.yyyy wieder wegnehmen, damit die Originalinhalte mit yyyy-mm-dd angezeigt und so nach Datum sortierbar sind. Wenn ich in die .js einsteigen würde, ginge das sicher auch noch anders. Aber der Hauptzweck zu sehen welche Batterie am ältesten ist, ist nun gut erfüllt.

Danke für den Hinweis!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 12 Dezember 2016, 18:27:29
@hartenthaler: ich habe eine erste version eingecheckt die die sortier funktionalität aus dem anderen thread direkt eingebaut hat. mit der zusätzlichen möglichkeit automatisch nach dem seitenaufbau schon nach einer spalte zu sortieren. mehr hier: https://forum.fhem.de/index.php/topic,62440.0.html (https://forum.fhem.de/index.php/topic,62440.0.html)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Newbee am 29 Dezember 2016, 08:44:00
Hallo,

haben folgende Readings Group. Ist ein Bsp. aus diesem Beitrag https://forum.fhem.de/index.php/topic,26479.msg202888.html#msg202888 (https://forum.fhem.de/index.php/topic,26479.msg202888.html#msg202888).
Leider werden aus für mich nicht verständlichen Gründen die pull-down (drop-down) Menüs nicht mehr angezeigt.

List auf die Readingsgroup:

Internals:
   CFGFN      /opt/fhem/FHEM/red.cfg
   DEF        <>,<Ist-,>,<Regler>,<Batterie>,<Tages->,<Werktag>,<>,<Wochenende>,<>,<Wochenplan>
<>,<Solltemperatur>,<Lock>,<Modus>,<Temperatur>,<start>,<ende>,<start>,<ende>,<schreiben>
.*_Clima:measured-temp,ValvePosition,batteryLevel@{getDevice($DEVICE)},imposible@{$DEVICE},<{getDayTemp($DEVICE)}>,<{getTime($DEVICE,"R_2_tempListMon","start")}>,<{getTime($DEVICE,"R_2_tempListMon","end")}>,<{getTime($DEVICE,"R_0_tempListSat","start")}>,<{getTime($DEVICE,"R_0_tempListSat","end")}>,state@{getDevice($DEVICE)},<br>,impossible@{$DEVICE},desired-temp,R-globalBtnLock@{getDevice($DEVICE)},imposible@{$DEVICE},controlMode,state@d_dayTemp,state@d_workdayStart,state@d_workdayEnd,state@d_saturdayStart,state@d_saturdayEnd,imposible@{$DEVICE},<%system_fhem_update>
   NAME       Thermostate
   NR         709
   NTFY_ORDER 50-Thermostate
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     BR_Thermostat_Clima 1
     DR_Thermostat_Clima 1
     FBR_Thermostat_Clima 1
     FBRn_Thermostat_Clima 1
     KIT_Thermostat_Clima 1
     LR_Thermostat_Clima 1
     MBR_Thermostat_Clima 1
     NBR_Thermostat_Clima 1
     RR_Thermostat_Clima 1
   Content2:
     BR_Thermostat 1
     BR_Thermostat_Clima 1
     DR_Thermostat 1
     DR_Thermostat_Clima 1
     FBR_Thermostat 1
     FBR_Thermostat_Clima 1
     FBRn_Thermostat_Clima 1
     KIT_Thermostat 1
     KIT_Thermostat_Clima 1
     LR_Thermostat 1
     LR_Thermostat_Clima 1
     MBR_Thermostat 1
     MBR_Thermostat_Clima 1
     NBR_Thermostat 1
     NBR_Thermostat_Clima 1
     OF_Thermostat 1
     RR_Thermostat 1
     RR_Thermostat_Clima 1
     d_dayTemp  1
     d_saturdayEnd 1
     d_saturdayStart 1
     d_workdayEnd 1
     d_workdayStart 1
   DEVICES:
     ARRAY(0x6fba0c8)
     ARRAY(0x67642d8)
     ARRAY(0x6763ba0)
     ARRAY(0x6e593f0)
     ARRAY(0x7039aa0)
     ARRAY(0x7021180)
     ARRAY(0x7023648)
     ARRAY(0x6fd9880)
     ARRAY(0x702a600)
     ARRAY(0x6869208)
     ARRAY(0x6722de0)
   DEVICES2:
     ARRAY(0x6fba0c8)
     ARRAY(0x67642d8)
     ARRAY(0x6763ba0)
     ARRAY(0x6e593f0)
     ARRAY(0x7039aa0)
     ARRAY(0x7021180)
     ARRAY(0x7023648)
     ARRAY(0x6fd9880)
     ARRAY(0x702a600)
     ARRAY(0x6869208)
     ARRAY(0x6722de0)
     ARRAY(0x6742d80)
     ARRAY(0x6fdc1a0)
     ARRAY(0x6e5e5c8)
     ARRAY(0x7025278)
     ARRAY(0x6ad3f68)
     ARRAY(0x6ad44f0)
     ARRAY(0x6761c58)
     ARRAY(0x6efc3d0)
     ARRAY(0x674ef78)
     ARRAY(0x674c5e0)
     ARRAY(0x6ece7b0)
     ARRAY(0x676c7a8)
     ARRAY(0x6ace660)
     ARRAY(0x6ad43a0)
     ARRAY(0x673d348)
     ARRAY(0x6841d30)
     ARRAY(0x6756ac0)
     ARRAY(0x701e3c0)
     ARRAY(0x675f008)
     ARRAY(0x7016560)
     ARRAY(0x675a728)
     ARRAY(0x7022ff0)
     ARRAY(0x6f754b0)
     ARRAY(0x6f00838)
     ARRAY(0x6f02990)
     ARRAY(0x6f5aef8)
     ARRAY(0x672fba0)
     ARRAY(0x6764590)
     ARRAY(0x674a828)
     ARRAY(0x6728300)
     ARRAY(0x6ececf0)
     ARRAY(0x6767040)
     ARRAY(0x673db10)
     ARRAY(0x6738b08)
     ARRAY(0x6755110)
     ARRAY(0x6763bb8)
     ARRAY(0x673fad8)
     ARRAY(0x6f599d0)
     ARRAY(0x6ec68f8)
     ARRAY(0x674be18)
     ARRAY(0x6e58d90)
     ARRAY(0x6764338)
     ARRAY(0x6e69ca0)
     ARRAY(0x6e5e268)
     ARRAY(0x6adc4a8)
     ARRAY(0x6ace558)
     ARRAY(0x6ad7030)
     ARRAY(0x6e2b0b8)
     ARRAY(0x6e5e5e0)
     ARRAY(0x6ace108)
   Fhem:
     lastDefChange 3
     last_update 1482922483.55619
   Helper:
     DEF
     commands   { 'controlMode' => 'trigger ntfy_toggleControlMode $DEVICE',  'R-globalBtnLock' => 'trigger ntfy_toggleBtnLock $DEVICE',  'state' => 'state:',  'Thermostate.system_fhem_update' => 'trigger ntfy_setTimeTable $DEVICE'}
     nameStyle  style="font-weight:bold"
     valueStyle { if($READING eq "measured-temp" && $VALUE >= 19){ 'style="color:green;font-weight:bold"' }elsif( $READING eq "measured-temp" && $VALUE < 19 ){ 'style="color:lightblue;font-weight:bold"' }elsif( $READING eq "measured-temp" && $VALUE > 23 ){ 'style="color:red;font-weight:bold"' }else{ 'style="color:gray;font-weight:bold"' }}
     Positions:
       BR_Thermostat.batteryLevel 3:3
       BR_Thermostat.state 3:9
       BR_Thermostat_Clima.ValvePosition 3:2
       BR_Thermostat_Clima.controlMode 4:2
       BR_Thermostat_Clima.desired-temp 4:1
       BR_Thermostat_Clima.measured-temp 3:1
       DR_Thermostat.batteryLevel 5:3
       DR_Thermostat.state 5:9
       DR_Thermostat_Clima.ValvePosition 5:2
       DR_Thermostat_Clima.controlMode 6:2
       DR_Thermostat_Clima.desired-temp 6:1
       DR_Thermostat_Clima.measured-temp 5:1
       FBR_Thermostat.batteryLevel 7:3
       FBR_Thermostat.state 7:9
       FBR_Thermostat_Clima.ValvePosition 7:2
       FBR_Thermostat_Clima.controlMode 8:2
       FBR_Thermostat_Clima.desired-temp 8:1
       FBR_Thermostat_Clima.measured-temp 7:1
       FBRn_Thermostat_Clima.ValvePosition 9:2
       FBRn_Thermostat_Clima.controlMode 10:2
       FBRn_Thermostat_Clima.desired-temp 10:1
       FBRn_Thermostat_Clima.measured-temp 9:1
       KIT_Thermostat.batteryLevel 11:3
       KIT_Thermostat.state 11:9
       KIT_Thermostat_Clima.ValvePosition 11:2
       KIT_Thermostat_Clima.controlMode 12:2
       KIT_Thermostat_Clima.desired-temp 12:1
       KIT_Thermostat_Clima.measured-temp 11:1
       LR_Thermostat.batteryLevel 13:3
       LR_Thermostat.state 13:9
       LR_Thermostat_Clima.ValvePosition 13:2
       LR_Thermostat_Clima.controlMode 14:2
       LR_Thermostat_Clima.desired-temp 14:1
       LR_Thermostat_Clima.measured-temp 13:1
       MBR_Thermostat.batteryLevel 15:3
       MBR_Thermostat.state 15:9
       MBR_Thermostat_Clima.ValvePosition 15:2
       MBR_Thermostat_Clima.controlMode 16:2
       MBR_Thermostat_Clima.desired-temp 16:1
       MBR_Thermostat_Clima.measured-temp 15:1
       NBR_Thermostat.batteryLevel 17:3
       NBR_Thermostat.state 17:9
       NBR_Thermostat_Clima.ValvePosition 17:2
       NBR_Thermostat_Clima.controlMode 18:2
       NBR_Thermostat_Clima.desired-temp 18:1
       NBR_Thermostat_Clima.measured-temp 17:1
       OF_Thermostat.batteryLevel 9:3
       OF_Thermostat.state 9:9
       RR_Thermostat.batteryLevel 19:3
       RR_Thermostat.state 19:9
       RR_Thermostat_Clima.ValvePosition 19:2
       RR_Thermostat_Clima.controlMode 20:2
       RR_Thermostat_Clima.desired-temp 20:1
       RR_Thermostat_Clima.measured-temp 19:1
     Valueformat:
       ValvePosition %0.1f %%
       desired-temp %0.1f &deg;C
       measured-temp %0.1f &deg;C
     Valueicon:
       R-globalBtnLock.off secur_open@red
       R-globalBtnLock.off  secur_open@red
       R-globalBtnLock.on secur_locked@green
       R-globalBtnLock.on  secur_locked@green
       R-globalBtnLock.set_off  secur_open@orange
       R-globalBtnLock.set_on  secur_locked@orange
       battery.low batterie@red
       battery.ok batterie@green
       controlMode.auto sani_heating_automatic@green
       controlMode.manual sani_heating_manual@red
       controlMode.set_auto sani_heating_automatic@orange
       controlMode.set_manual sani_heating_manual@orange
     Values:
       formated:
         undef
         ARRAY(0x67f21c0)
         ARRAY(0x6e6a150)
         ARRAY(0x67f3928)
         undef
         undef
         undef
         undef
         undef
         ARRAY(0x7029f88)
       orig:
         undef
         ARRAY(0x6ad6c70)
         ARRAY(0x675b2e0)
         ARRAY(0x6fd0080)
         undef
         undef
         undef
         undef
         undef
         ARRAY(0x67e32d0)
       prefixsuffix:
         undef
         ARRAY(0x6e77400)
         ARRAY(0x7029d90)
         ARRAY(0x6fcb240)
         undef
         undef
         undef
         undef
         undef
         ARRAY(0x6fdf6d8)
Attributes:
   commands   { 'controlMode' => 'trigger ntfy_toggleControlMode $DEVICE',  'R-globalBtnLock' => 'trigger ntfy_toggleBtnLock $DEVICE',  'state' => 'state:',  'Thermostate.system_fhem_update' => 'trigger ntfy_setTimeTable $DEVICE'}
   nameStyle  style="font-weight:bold"
   room       Heating
   sortDevices 1
   valueFormat { 'desired-temp' => "%0.1f &deg;C", 'measured-temp' => "%0.1f &deg;C", 'ValvePosition' => "%0.1f %%" }
   valueIcon  { 'controlMode.auto' => 'sani_heating_automatic@green','controlMode.set_auto' => 'sani_heating_automatic@orange','controlMode.manual' => 'sani_heating_manual@red','controlMode.set_manual' => 'sani_heating_manual@orange', 'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red', 'R-globalBtnLock.on' => 'secur_locked@green', 'R-globalBtnLock.on ' => 'secur_locked@green', 'R-globalBtnLock.set_on ' => 'secur_locked@orange', 'R-globalBtnLock.off' => 'secur_open@red', 'R-globalBtnLock.off ' => 'secur_open@red', 'R-globalBtnLock.set_off ' => 'secur_open@orange'}
   valueStyle { if($READING eq "measured-temp" && $VALUE >= 19){ 'style="color:green;font-weight:bold"' }elsif( $READING eq "measured-temp" && $VALUE < 19 ){ 'style="color:light blue;font-weight:bold"' }elsif( $READING eq "measured-temp" && $VALUE > 23 ){ 'style="color:red;font-weight:bold"' }else{ 'style="color:gray;font-weight:bold"' }}


Die Werte für die Menüs sind in dummys abgelegt.

define d_dayTemp dummy
attr d_dayTemp room Unsorted
attr d_dayTemp setList state:5.0,5.5,6.0,6.5,7.0,7.5,8.0,8.5,9.0,9.5,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0,25.5,26.0,26.5,27.0,27.5,28.0,28.5,29.0,29.5,30.0
attr d_dayTemp webCmd state

define d_workdayStart dummy
attr d_workdayStart room Unsorted
attr d_workdayStart setList state:00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,24:00,
attr d_workdayStart webCmd state

define d_workdayEnd dummy
attr d_workdayEnd room Unsorted
attr d_workdayEnd setList state:00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,24:00,
attr d_workdayEnd webCmd state

define d_saturdayStart dummy
attr d_saturdayStart room Unsorted
attr d_saturdayStart setList state:00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,24:00,
attr d_saturdayStart webCmd state

define d_saturdayEnd dummy
attr d_saturdayEnd room Unsorted
attr d_saturdayEnd setList state:00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,24:00,
attr d_saturdayEnd webCmd state

define d_sundayStart dummy
attr d_sundayStart room Unsorted
attr d_sundayStart setList state:00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,24:00,
attr d_sundayStart webCmd state

define d_sundayEnd dummy
attr d_sundayEnd room Unsorted
attr d_sundayEnd setList state:00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,24:00,
attr d_sundayEnd webCmd state

define ntfy_toggleControlMode notify ntfy_toggleControlMode {toggleMode($EVENT)}

define ntfy_toggleBtnLock notify ntfy_toggleBtnLock {toggleLock($EVENT)}

define ntfy_setTimeTable notify ntfy_setTimeTable {setTimeTable($EVENT)}


Ergänzend noch der MyUtils Code.

sub getDevice($){
my $device = shift;
return InternalVal($device,"device","error");
}

sub toggleMode($){
my $device = shift;
my $Mode = ReadingsVal($device,"controlMode","error");

if ($Mode eq "manual")
  {fhem("set $device controlMode auto")}
elsif ($Mode eq "auto")
  {fhem("set $device controlMode manual")}
elsif ($Mode eq "set_manual")
  {fhem("set $device controlMode auto")}
elsif ($Mode eq "set_auto")
  {fhem("set $device controlMode manual")};
}

sub toggleLock($){
my $device = shift;
my $lockState = ReadingsVal($device,"R-globalBtnLock","error");

if ($lockState eq "on "){
  {fhem("set $device regSet globalBtnLock off")}
  {fhem ("set $device getConfig")}}
elsif ($lockState eq "off "){
  {fhem("set $device regSet globalBtnLock on")}
  {fhem ("set $device getConfig")}}
elsif ($lockState eq "on"){
  {fhem("set $device regSet globalBtnLock off")}
  {fhem ("set $device getConfig")}}
elsif ($lockState eq "off"){
  {fhem("set $device regSet globalBtnLock on")}
  {fhem ("set $device getConfig")}}
else
  {return $lockState.$device};
}

sub getDayTemp($){
my $device = shift;
my $timeTable = ReadingsVal($device,"R_2_tempListMon","error Reading");
my $dayTemp = substr $timeTable, 17, 5;

return ($dayTemp." °C");
}

sub getTime($$$){
my $device = shift;
my $reading = shift;
my $status = shift;
my $timeTable = ReadingsVal($device,$reading,"error Reading");
my $time = "error Return";

if ($status eq "start")
  {$time = substr $timeTable, 0, 6}
elsif ($status eq "end")
  {$time = substr $timeTable, 11, 6}

return $time;
}
sub setTimeTable($){
my $device = shift;
my $dayTemp = ReadingsVal("d_dayTemp","state","dt error");
my $nightTemp = "15.0";
my $startWorkday = ReadingsVal("d_workdayStart","state","eds error");
my $endWorkday = ReadingsVal("d_workdayEnd","state","wde error");
my $startSaturday = ReadingsVal("d_saturdayStart","state","sds error");
my $endSaturday = ReadingsVal("d_saturdayEnd","state","sde error");
my $startSunday = ReadingsVal("d_sundayStart","state","snds error");
my $endSunday = ReadingsVal("d_sundayEnd","state","snde error");

{ fhem ("set $device tempListMon prep $startWorkday $nightTemp $endWorkday $dayTemp 24:00 $nightTemp")};
{ fhem ("set $device tempListTue prep $startWorkday $nightTemp $endWorkday $dayTemp 24:00 $nightTemp")};
{ fhem ("set $device tempListWed prep $startWorkday $nightTemp $endWorkday $dayTemp 24:00 $nightTemp")};
{ fhem ("set $device tempListThu prep $startWorkday $nightTemp $endWorkday $dayTemp 24:00 $nightTemp")};
{ fhem ("set $device tempListFri prep $startWorkday $nightTemp $endWorkday $dayTemp 24:00 $nightTemp")};
{ fhem ("set $device tempListSat prep $startSaturday $nightTemp $endSaturday $dayTemp 24:00 $nightTemp")};
{ fhem ("set $device tempListSun exec $startSunday $nightTemp $endSunday $dayTemp 24:00 $nightTemp")};
}


Folgende Fehlermeldung bekomme ich im Log

PERL WARNING: Redundant argument in sprintf at ./FHEM/33_readingsGroup.pm line 529.
2016.12.28 19:48:27 1: PERL WARNING: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^batteryLevel@{ <-- HERE getDevice($DEVICE)}$/ at ./FHEM/33_readingsGroup.pm line 1322.
2016.12.28 19:48:27 1: PERL WARNING: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^imposible@{ <-- HERE $DEVICE}$/ at ./FHEM/33_readingsGroup.pm line 1322.
2016.12.28 19:48:27 1:


Wer hat bitte eine Tipp für mich.

Danke vorab

Gruß
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ChHerrm am 10 Januar 2017, 21:11:12
Hallo! Ich habe ein Problem mit der Readingsgroup bezüglich eines Thermostats HM-CC-RT-DN, eingebunden per CCU2 an FHEM.

Mein aktueller Stand ist im Anhang zu sehen.

Hier der momentane Code, Probleme habe ich vor allem erstmal mit der Solltemperatur. Diese würde ich gerne per Dropdown-Menü einstellen. Scheint ja schon vielen Leuten gelungen sein, jedoch per desired-temp. Diese Option habe ich bei mir nicht gesehen, sondern wie im folgenden Code per "set %DEVICE datapoint 4.SET_TEMPERATURE 20.0" beispielsweise. Wie kann ich anstelle des festen Wertes eine Dropdownliste einbinden? :-/ Danke für eure Hilfe, ich tue mich mit der readingsgroup auch nach zahlreichen Versuchen noch extrem schwer. Meine Umsetzung zur Umschaltung von Auto / Manu / Boost funktioniert. Auch das Auslesen der Werte. Nicht funktionsfähig ist aber vor allem das Setzen der Temperatur


# Readinggroup der Werte
define HeizungRg readingsGroup <%sani_heating@D4BA90>,<>,<Soll>,<>,<Soll neu>,<>,<Ist>,<>,<Ventil>,<>,<Modus>,<>,<Batterie>,<>,<Boost>,<>,<Auto On>,<>,<Manu On>,<>,<An>,<>,<Aus>\
HM_HM_CC_RT_DN_NEQ1011241:<>,4.SET_TEMPERATURE,<>,<sollsetz>,<>,4.ACTUAL_TEMPERATURE,<>,4.VALVE_STATE,<>,<%sani_heating@D4BA90>,<>,<{if(ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-6),"ubatterie","0")>=3.0){"%measure_battery_100"}elsif(ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-6),"ubatterie","0")>=2.7){"%measure_battery_75"}elsif(ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-6),"ubatterie","0")>=2.5){"%measure_battery_50"}elsif(ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-6),"ubatterie","0")>=2.2){"%measure_battery_25"}else{"%measure_battery_25"}}>,<>,<%sani_heating_boost>,<>,<%sani_heating_automatic>,<>,<%sani_heating_manual>,<>,<%general_an>,<>,<%general_aus>\
attr HeizungRg commands {"HeizungRg.sollsetz" => "set %DEVICE datapoint 4.SET_TEMPERATURE 20.0","HeizungRg.sani_heating_boost"=>"set %DEVICE Boost","HeizungRg.sani_heating_automatic"=>"set %DEVICE Auto","HeizungRg.sani_heating_manual"=>"set %DEVICE Manu","HeizungRg.general_an"=>"set %DEVICE on","HeizungRg.general_aus"=>"set %DEVICE off","HeizungRg.ubatterie"=>"get %DEVICE datapoint 4.BATTERY_STATE"}
attr HeizungRg eventMap /datapoint 4.MANU_MODE 20.0:Manu/datapoint 4.AUTO_MODE 1:Auto/datapoint 4.BOOST_MODE 1:Boost/datapoint 4.MANU_MODE 4.5:off/datapoint 4.MANU_MODE 30.5:on/
attr HeizungRg group Raumklima
attr HeizungRg nameStyle style="color:white;;font-weight:bold"
attr HeizungRg nolinks 1
attr HeizungRg room Wohnzimmer
attr HeizungRg valueFormat {if(($READING eq "4.ACTUAL_TEMPERATURE")or( $READING eq "4.SET_TEMPERATURE") ){ "$VALUE °C"}elsif(($READING eq "4.VALVE_STATE")){"$VALUE %"}}

# Bad-Thermostat
define HM_HM_CC_RT_DN_NEQ1011241 HMCCUDEV NEQ1011241
attr HM_HM_CC_RT_DN_NEQ1011241 IODev HMLAN1
attr HM_HM_CC_RT_DN_NEQ1011241 alias Bad_Thermostat
attr HM_HM_CC_RT_DN_NEQ1011241 ccureadingfilter (^UNREACH|LOWBAT|TEMPERATURE|VALVE_STATE|CONTROL)
attr HM_HM_CC_RT_DN_NEQ1011241 ccureadingformat datapoint
attr HM_HM_CC_RT_DN_NEQ1011241 cmdIcon Auto:sani_heating_automatic Manu:sani_heating_manual Boost:sani_heating_boost on:general_an off:general_aus
attr HM_HM_CC_RT_DN_NEQ1011241 controldatapoint 4.SET_TEMPERATURE
attr HM_HM_CC_RT_DN_NEQ1011241 event-on-change-reading .*
attr HM_HM_CC_RT_DN_NEQ1011241 eventMap /datapoint 4.MANU_MODE 20.0:Manu/datapoint 4.AUTO_MODE 1:Auto/datapoint 4.BOOST_MODE 1:Boost/datapoint 4.MANU_MODE 4.5:off/datapoint 4.MANU_MODE 30.5:on/
attr HM_HM_CC_RT_DN_NEQ1011241 group Raumklima
attr HM_HM_CC_RT_DN_NEQ1011241 room Wohnzimmer
attr HM_HM_CC_RT_DN_NEQ1011241 stateFormat Temperatur: 4.ACTUAL_TEMPERATURE°C\
Batterie: 4.BATTERY_STATE[V]\
Ventil: 4.VALVE_STATE%
attr HM_HM_CC_RT_DN_NEQ1011241 statedatapoint 4.SET_TEMPERATURE
attr HM_HM_CC_RT_DN_NEQ1011241 stripnumber 1
attr HM_HM_CC_RT_DN_NEQ1011241 substexcl control
attr HM_HM_CC_RT_DN_NEQ1011241 substitute UNREACH,LOWBAT!(0|false):no,(1|true):yes;;CONTROL_MODE!0:AUTO,1:MANU,2:PARTY,3:BOOST;;SET_TEMPERATURE!#0-3.5:off,#30.5-40:on
attr HM_HM_CC_RT_DN_NEQ1011241 webCmd control:Auto:Manu:Boost:on:off
attr HM_HM_CC_RT_DN_NEQ1011241 widgetOverride control:slider,3.5,0.5,30.5,1
Titel: Antw:Neues Modul readingsGroup
Beitrag von: hartenthaler am 12 Januar 2017, 15:17:59
Zitat von: ChHerrm am 10 Januar 2017, 21:11:12
Hallo! Ich habe ein Problem mit der Readingsgroup bezüglich eines Thermostats HM-CC-RT-DN, eingebunden per CCU2 an FHEM.
...

...
define HM_HM_CC_RT_DN_NEQ1011241 HMCCUDEV NEQ1011241
attr HM_HM_CC_RT_DN_NEQ1011241 IODev HMLAN1
...

Ich habe ein Verständnisproblem: "eingebunden per CCU2" und "IODEV HMLAN1" passt doch nicht zusammen. Oder?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: ChHerrm am 12 Januar 2017, 18:46:09
Ich glaube nicht, da bei mir alles gut läuft. Vlt aber auch etwas unklar da ich extra nicht den ganzen Brocken Code gepostet habe (der zumindest nichts mit der readingsgroup zu tun hatte).
Mein Problem habe ich inzwischen endlich gelöst, hier mal mein gesamter Code falls jemand mal auf ähnliche Probleme stößt. Im Anhang auch ne Darstellung davon.


# Homematic-Konfiguration

define HMLAN1 HMCCU 192.168.0.21
attr HMLAN1 rpcport 2001,9292
attr HMLAN1 rpcserver on
attr HMLAN1 stateFormat rpcstate/state
#attr HMLAN1 rpcinterval 5

#set HMLAN1 rpcserver on


# Schlafzimmer-Thermostat
define HM_HM_CC_RT_DN_NEQ1005861 HMCCUDEV NEQ1005861
attr HM_HM_CC_RT_DN_NEQ1005861 IODev HMLAN1
attr HM_HM_CC_RT_DN_NEQ1005861 alias Schlafzimmer
attr HM_HM_CC_RT_DN_NEQ1005861 ccureadingfilter (^UNREACH|LOWBAT|TEMPERATURE|VALVE_STATE|CONTROL|BATTERY_STATE)
attr HM_HM_CC_RT_DN_NEQ1005861 ccureadingformat datapoint
attr HM_HM_CC_RT_DN_NEQ1005861 cmdIcon Auto:sani_heating_automatic Manu:sani_heating_manual Boost:sani_heating_boost on:general_an off:general_aus
attr HM_HM_CC_RT_DN_NEQ1005861 controldatapoint 4.SET_TEMPERATURE
attr HM_HM_CC_RT_DN_NEQ1005861 event-on-change-reading .*
attr HM_HM_CC_RT_DN_NEQ1005861 eventMap /datapoint 4.MANU_MODE 20.0:Manu/datapoint 4.AUTO_MODE 1:Auto/datapoint 4.BOOST_MODE 1:Boost/datapoint 4.MANU_MODE 4.5:off/datapoint 4.MANU_MODE 30.5:on/
attr HM_HM_CC_RT_DN_NEQ1005861 stateFormat Temperatur: 4.ACTUAL_TEMPERATURE°C\
Batterie: 4.BATTERY_STATE[V]\
Ventil: 4.VALVE_STATE%
attr HM_HM_CC_RT_DN_NEQ1005861 statedatapoint 4.SET_TEMPERATURE
attr HM_HM_CC_RT_DN_NEQ1005861 stripnumber 1
attr HM_HM_CC_RT_DN_NEQ1005861 substexcl control
attr HM_HM_CC_RT_DN_NEQ1005861 substitute UNREACH,LOWBAT!(0|false):no,(1|true):yes;;CONTROL_MODE!0:AUTO,1:MANU,2:PARTY,3:BOOST;;SET_TEMPERATURE!#0-3.5:off,#30.5-40:on
attr HM_HM_CC_RT_DN_NEQ1005861 webCmd control:Auto:Manu:Boost:on:off
attr HM_HM_CC_RT_DN_NEQ1005861 widgetOverride control:5.0,17.0,20.0,21.0,22.0

# Readinggroup der Werte
define HeizungRg readingsGroup <%sani_heating@D4BA90>,<Soll>,<Vorgabewert>,<Ist>,<Ventil>,<Modus>,<Batterie>,<Boost>,<Auto>,<Manu>,<An>,<Aus>\
HM_HM_CC_RT_DN_NEQ1011241:4.SET_TEMPERATURE,<sollsetz>,4.ACTUAL_TEMPERATURE,4.VALVE_STATE,4.CONTROL_MODE,4.BATTERY_STATE,<%sani_heating_boost>,<%sani_heating_automatic>,<%sani_heating_manual>,<%general_an>,<%general_aus>\
HM_HM_CC_RT_DN_NEQ1005861:4.SET_TEMPERATURE,<sollsetz>,4.ACTUAL_TEMPERATURE,4.VALVE_STATE,4.CONTROL_MODE,4.BATTERY_STATE,<%sani_heating_boost>,<%sani_heating_automatic>,<%sani_heating_manual>,<%general_an>,<%general_aus>\
HM_HM_CC_RT_DN_NEQ1011150:4.SET_TEMPERATURE,<sollsetz>,4.ACTUAL_TEMPERATURE,4.VALVE_STATE,4.CONTROL_MODE,4.BATTERY_STATE,<%sani_heating_boost>,<%sani_heating_automatic>,<%sani_heating_manual>,<%general_an>,<%general_aus>\
HM_HM_CC_RT_DN_NEQ1011157:4.SET_TEMPERATURE,<sollsetz>,4.ACTUAL_TEMPERATURE,4.VALVE_STATE,4.CONTROL_MODE,4.BATTERY_STATE,<%sani_heating_boost>,<%sani_heating_automatic>,<%sani_heating_manual>,<%general_an>,<%general_aus>
attr HeizungRg alias Heizungsübersicht
attr HeizungRg commands {'HeizungRg.sollsetz' => 'control:17.0,18.0,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0,24.0,25.0',"HeizungRg.sani_heating_boost"=>"set %DEVICE Boost","HeizungRg.sani_heating_automatic"=>"set %DEVICE Auto","HeizungRg.sani_heating_manual"=>"set %DEVICE Manu","HeizungRg.general_an"=>"set %DEVICE on","HeizungRg.general_aus"=>"set %DEVICE off"}
attr HeizungRg eventMap /datapoint 4.MANU_MODE 20.0:Manu/datapoint 4.AUTO_MODE 1:Auto/datapoint 4.BOOST_MODE 1:Boost
attr HeizungRg group Raumklima
attr HeizungRg nameStyle style="color:white;;font-weight:bold"
attr HeizungRg room Wohnzimmer
attr HeizungRg sortDevices 1
attr HeizungRg valueFormat {if(($READING eq "4.ACTUAL_TEMPERATURE")or( $READING eq "4.SET_TEMPERATURE") ){ "$VALUE °C"}elsif(($READING eq "4.VALVE_STATE")){"$VALUE %"}}
attr HeizungRg valueIcon {if($READING eq "4.BATTERY_STATE" && $VALUE > 3.0){'measure_battery_100@green'}elsif($READING eq "4.BATTERY_STATE" && $VALUE > 2.8){'measure_battery_75@lightgreen'}elsif($READING eq "4.BATTERY_STATE" && $VALUE > 2.6){'measure_battery_50@yellow'}elsif($READING eq "4.BATTERY_STATE" && $VALUE >= 2.3){'measure_battery_25@orange'}elsif($READING eq "4.BATTERY_STATE" && $VALUE <= 2.2){'measure_battery_0@red'}elsif($READING eq "4.CONTROL_MODE" && $VALUE eq "AUTO"){'sani_heating_automatic@yellow'}elsif($READING eq "4.CONTROL_MODE" && $VALUE eq "MANU"){'sani_heating_manual@yellow'}elsif($READING eq "4.CONTROL_MODE" && $VALUE eq "BOOST"){'sani_heating_boost@red'}}
attr HeizungRg valueStyle {if($READING eq "4.VALVE_STATE" && $VALUE < 10){ 'style="color:blue;;;;font-weight:bold"'}elsif($READING eq "4.VALVE_STATE" && $VALUE >= 80){ 'style="color:red;;;;font-weight:bold"'}elsif($READING eq "4.ACTUAL_TEMPERATURE" && $VALUE < 19){ 'style="color:blue;;;;font-weight:bold"'}elsif($READING eq "4.ACTUAL_TEMPERATURE" && $VALUE >= 22){ 'style="color:red;;;;font-weight:bold"'}elsif($READING eq "4.SET_TEMPERATURE" && $VALUE < 19){ 'style="color:blue;;;;font-weight:bold"'}elsif($READING eq "4.SET_TEMPERATURE" && $VALUE >= 22){ 'style="color:red;;;;font-weight:bold"'}}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Newbee am 22 Januar 2017, 11:44:07
Mit der Bitte um HILFE: Habe das Problem immer noch und komme einfach nicht dahinter......

Zitat von: Newbee am 29 Dezember 2016, 08:44:00
Hallo,

haben folgende Readings Group. Ist ein Bsp. aus diesem Beitrag https://forum.fhem.de/index.php/topic,26479.msg202888.html#msg202888 (https://forum.fhem.de/index.php/topic,26479.msg202888.html#msg202888).
Leider werden aus für mich nicht verständlichen Gründen die pull-down (drop-down) Menüs nicht mehr angezeigt.

List auf die Readingsgroup:

Internals:
   CFGFN      /opt/fhem/FHEM/red.cfg
   DEF        <>,<Ist-,>,<Regler>,<Batterie>,<Tages->,<Werktag>,<>,<Wochenende>,<>,<Wochenplan>
<>,<Solltemperatur>,<Lock>,<Modus>,<Temperatur>,<start>,<ende>,<start>,<ende>,<schreiben>
.*_Clima:measured-temp,ValvePosition,batteryLevel@{getDevice($DEVICE)},imposible@{$DEVICE},<{getDayTemp($DEVICE)}>,<{getTime($DEVICE,"R_2_tempListMon","start")}>,<{getTime($DEVICE,"R_2_tempListMon","end")}>,<{getTime($DEVICE,"R_0_tempListSat","start")}>,<{getTime($DEVICE,"R_0_tempListSat","end")}>,state@{getDevice($DEVICE)},<br>,impossible@{$DEVICE},desired-temp,R-globalBtnLock@{getDevice($DEVICE)},imposible@{$DEVICE},controlMode,state@d_dayTemp,state@d_workdayStart,state@d_workdayEnd,state@d_saturdayStart,state@d_saturdayEnd,imposible@{$DEVICE},<%system_fhem_update>
   NAME       Thermostate
   NR         709
   NTFY_ORDER 50-Thermostate
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     BR_Thermostat_Clima 1
     DR_Thermostat_Clima 1
     FBR_Thermostat_Clima 1
     FBRn_Thermostat_Clima 1
     KIT_Thermostat_Clima 1
     LR_Thermostat_Clima 1
     MBR_Thermostat_Clima 1
     NBR_Thermostat_Clima 1
     RR_Thermostat_Clima 1
   Content2:
     BR_Thermostat 1
     BR_Thermostat_Clima 1
     DR_Thermostat 1
     DR_Thermostat_Clima 1
     FBR_Thermostat 1
     FBR_Thermostat_Clima 1
     FBRn_Thermostat_Clima 1
     KIT_Thermostat 1
     KIT_Thermostat_Clima 1
     LR_Thermostat 1
     LR_Thermostat_Clima 1
     MBR_Thermostat 1
     MBR_Thermostat_Clima 1
     NBR_Thermostat 1
     NBR_Thermostat_Clima 1
     OF_Thermostat 1
     RR_Thermostat 1
     RR_Thermostat_Clima 1
     d_dayTemp  1
     d_saturdayEnd 1
     d_saturdayStart 1
     d_workdayEnd 1
     d_workdayStart 1
   DEVICES:
     ARRAY(0x6fba0c8)
     ARRAY(0x67642d8)
     ARRAY(0x6763ba0)
     ARRAY(0x6e593f0)
     ARRAY(0x7039aa0)
     ARRAY(0x7021180)
     ARRAY(0x7023648)
     ARRAY(0x6fd9880)
     ARRAY(0x702a600)
     ARRAY(0x6869208)
     ARRAY(0x6722de0)
   DEVICES2:
     ARRAY(0x6fba0c8)
     ARRAY(0x67642d8)
     ARRAY(0x6763ba0)
     ARRAY(0x6e593f0)
     ARRAY(0x7039aa0)
     ARRAY(0x7021180)
     ARRAY(0x7023648)
     ARRAY(0x6fd9880)
     ARRAY(0x702a600)
     ARRAY(0x6869208)
     ARRAY(0x6722de0)
     ARRAY(0x6742d80)
     ARRAY(0x6fdc1a0)
     ARRAY(0x6e5e5c8)
     ARRAY(0x7025278)
     ARRAY(0x6ad3f68)
     ARRAY(0x6ad44f0)
     ARRAY(0x6761c58)
     ARRAY(0x6efc3d0)
     ARRAY(0x674ef78)
     ARRAY(0x674c5e0)
     ARRAY(0x6ece7b0)
     ARRAY(0x676c7a8)
     ARRAY(0x6ace660)
     ARRAY(0x6ad43a0)
     ARRAY(0x673d348)
     ARRAY(0x6841d30)
     ARRAY(0x6756ac0)
     ARRAY(0x701e3c0)
     ARRAY(0x675f008)
     ARRAY(0x7016560)
     ARRAY(0x675a728)
     ARRAY(0x7022ff0)
     ARRAY(0x6f754b0)
     ARRAY(0x6f00838)
     ARRAY(0x6f02990)
     ARRAY(0x6f5aef8)
     ARRAY(0x672fba0)
     ARRAY(0x6764590)
     ARRAY(0x674a828)
     ARRAY(0x6728300)
     ARRAY(0x6ececf0)
     ARRAY(0x6767040)
     ARRAY(0x673db10)
     ARRAY(0x6738b08)
     ARRAY(0x6755110)
     ARRAY(0x6763bb8)
     ARRAY(0x673fad8)
     ARRAY(0x6f599d0)
     ARRAY(0x6ec68f8)
     ARRAY(0x674be18)
     ARRAY(0x6e58d90)
     ARRAY(0x6764338)
     ARRAY(0x6e69ca0)
     ARRAY(0x6e5e268)
     ARRAY(0x6adc4a8)
     ARRAY(0x6ace558)
     ARRAY(0x6ad7030)
     ARRAY(0x6e2b0b8)
     ARRAY(0x6e5e5e0)
     ARRAY(0x6ace108)
   Fhem:
     lastDefChange 3
     last_update 1482922483.55619
   Helper:
     DEF
     commands   { 'controlMode' => 'trigger ntfy_toggleControlMode $DEVICE',  'R-globalBtnLock' => 'trigger ntfy_toggleBtnLock $DEVICE',  'state' => 'state:',  'Thermostate.system_fhem_update' => 'trigger ntfy_setTimeTable $DEVICE'}
     nameStyle  style="font-weight:bold"
     valueStyle { if($READING eq "measured-temp" && $VALUE >= 19){ 'style="color:green;font-weight:bold"' }elsif( $READING eq "measured-temp" && $VALUE < 19 ){ 'style="color:lightblue;font-weight:bold"' }elsif( $READING eq "measured-temp" && $VALUE > 23 ){ 'style="color:red;font-weight:bold"' }else{ 'style="color:gray;font-weight:bold"' }}
     Positions:
       BR_Thermostat.batteryLevel 3:3
       BR_Thermostat.state 3:9
       BR_Thermostat_Clima.ValvePosition 3:2
       BR_Thermostat_Clima.controlMode 4:2
       BR_Thermostat_Clima.desired-temp 4:1
       BR_Thermostat_Clima.measured-temp 3:1
       DR_Thermostat.batteryLevel 5:3
       DR_Thermostat.state 5:9
       DR_Thermostat_Clima.ValvePosition 5:2
       DR_Thermostat_Clima.controlMode 6:2
       DR_Thermostat_Clima.desired-temp 6:1
       DR_Thermostat_Clima.measured-temp 5:1
       FBR_Thermostat.batteryLevel 7:3
       FBR_Thermostat.state 7:9
       FBR_Thermostat_Clima.ValvePosition 7:2
       FBR_Thermostat_Clima.controlMode 8:2
       FBR_Thermostat_Clima.desired-temp 8:1
       FBR_Thermostat_Clima.measured-temp 7:1
       FBRn_Thermostat_Clima.ValvePosition 9:2
       FBRn_Thermostat_Clima.controlMode 10:2
       FBRn_Thermostat_Clima.desired-temp 10:1
       FBRn_Thermostat_Clima.measured-temp 9:1
       KIT_Thermostat.batteryLevel 11:3
       KIT_Thermostat.state 11:9
       KIT_Thermostat_Clima.ValvePosition 11:2
       KIT_Thermostat_Clima.controlMode 12:2
       KIT_Thermostat_Clima.desired-temp 12:1
       KIT_Thermostat_Clima.measured-temp 11:1
       LR_Thermostat.batteryLevel 13:3
       LR_Thermostat.state 13:9
       LR_Thermostat_Clima.ValvePosition 13:2
       LR_Thermostat_Clima.controlMode 14:2
       LR_Thermostat_Clima.desired-temp 14:1
       LR_Thermostat_Clima.measured-temp 13:1
       MBR_Thermostat.batteryLevel 15:3
       MBR_Thermostat.state 15:9
       MBR_Thermostat_Clima.ValvePosition 15:2
       MBR_Thermostat_Clima.controlMode 16:2
       MBR_Thermostat_Clima.desired-temp 16:1
       MBR_Thermostat_Clima.measured-temp 15:1
       NBR_Thermostat.batteryLevel 17:3
       NBR_Thermostat.state 17:9
       NBR_Thermostat_Clima.ValvePosition 17:2
       NBR_Thermostat_Clima.controlMode 18:2
       NBR_Thermostat_Clima.desired-temp 18:1
       NBR_Thermostat_Clima.measured-temp 17:1
       OF_Thermostat.batteryLevel 9:3
       OF_Thermostat.state 9:9
       RR_Thermostat.batteryLevel 19:3
       RR_Thermostat.state 19:9
       RR_Thermostat_Clima.ValvePosition 19:2
       RR_Thermostat_Clima.controlMode 20:2
       RR_Thermostat_Clima.desired-temp 20:1
       RR_Thermostat_Clima.measured-temp 19:1
     Valueformat:
       ValvePosition %0.1f %%
       desired-temp %0.1f &deg;C
       measured-temp %0.1f &deg;C
     Valueicon:
       R-globalBtnLock.off secur_open@red
       R-globalBtnLock.off  secur_open@red
       R-globalBtnLock.on secur_locked@green
       R-globalBtnLock.on  secur_locked@green
       R-globalBtnLock.set_off  secur_open@orange
       R-globalBtnLock.set_on  secur_locked@orange
       battery.low batterie@red
       battery.ok batterie@green
       controlMode.auto sani_heating_automatic@green
       controlMode.manual sani_heating_manual@red
       controlMode.set_auto sani_heating_automatic@orange
       controlMode.set_manual sani_heating_manual@orange
     Values:
       formated:
         undef
         ARRAY(0x67f21c0)
         ARRAY(0x6e6a150)
         ARRAY(0x67f3928)
         undef
         undef
         undef
         undef
         undef
         ARRAY(0x7029f88)
       orig:
         undef
         ARRAY(0x6ad6c70)
         ARRAY(0x675b2e0)
         ARRAY(0x6fd0080)
         undef
         undef
         undef
         undef
         undef
         ARRAY(0x67e32d0)
       prefixsuffix:
         undef
         ARRAY(0x6e77400)
         ARRAY(0x7029d90)
         ARRAY(0x6fcb240)
         undef
         undef
         undef
         undef
         undef
         ARRAY(0x6fdf6d8)
Attributes:
   commands   { 'controlMode' => 'trigger ntfy_toggleControlMode $DEVICE',  'R-globalBtnLock' => 'trigger ntfy_toggleBtnLock $DEVICE',  'state' => 'state:',  'Thermostate.system_fhem_update' => 'trigger ntfy_setTimeTable $DEVICE'}
   nameStyle  style="font-weight:bold"
   room       Heating
   sortDevices 1
   valueFormat { 'desired-temp' => "%0.1f &deg;C", 'measured-temp' => "%0.1f &deg;C", 'ValvePosition' => "%0.1f %%" }
   valueIcon  { 'controlMode.auto' => 'sani_heating_automatic@green','controlMode.set_auto' => 'sani_heating_automatic@orange','controlMode.manual' => 'sani_heating_manual@red','controlMode.set_manual' => 'sani_heating_manual@orange', 'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red', 'R-globalBtnLock.on' => 'secur_locked@green', 'R-globalBtnLock.on ' => 'secur_locked@green', 'R-globalBtnLock.set_on ' => 'secur_locked@orange', 'R-globalBtnLock.off' => 'secur_open@red', 'R-globalBtnLock.off ' => 'secur_open@red', 'R-globalBtnLock.set_off ' => 'secur_open@orange'}
   valueStyle { if($READING eq "measured-temp" && $VALUE >= 19){ 'style="color:green;font-weight:bold"' }elsif( $READING eq "measured-temp" && $VALUE < 19 ){ 'style="color:light blue;font-weight:bold"' }elsif( $READING eq "measured-temp" && $VALUE > 23 ){ 'style="color:red;font-weight:bold"' }else{ 'style="color:gray;font-weight:bold"' }}


Die Werte für die Menüs sind in dummys abgelegt.

define d_dayTemp dummy
attr d_dayTemp room Unsorted
attr d_dayTemp setList state:5.0,5.5,6.0,6.5,7.0,7.5,8.0,8.5,9.0,9.5,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0,25.5,26.0,26.5,27.0,27.5,28.0,28.5,29.0,29.5,30.0
attr d_dayTemp webCmd state

define d_workdayStart dummy
attr d_workdayStart room Unsorted
attr d_workdayStart setList state:00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,24:00,
attr d_workdayStart webCmd state

define d_workdayEnd dummy
attr d_workdayEnd room Unsorted
attr d_workdayEnd setList state:00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,24:00,
attr d_workdayEnd webCmd state

define d_saturdayStart dummy
attr d_saturdayStart room Unsorted
attr d_saturdayStart setList state:00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,24:00,
attr d_saturdayStart webCmd state

define d_saturdayEnd dummy
attr d_saturdayEnd room Unsorted
attr d_saturdayEnd setList state:00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,24:00,
attr d_saturdayEnd webCmd state

define d_sundayStart dummy
attr d_sundayStart room Unsorted
attr d_sundayStart setList state:00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,24:00,
attr d_sundayStart webCmd state

define d_sundayEnd dummy
attr d_sundayEnd room Unsorted
attr d_sundayEnd setList state:00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,24:00,
attr d_sundayEnd webCmd state

define ntfy_toggleControlMode notify ntfy_toggleControlMode {toggleMode($EVENT)}

define ntfy_toggleBtnLock notify ntfy_toggleBtnLock {toggleLock($EVENT)}

define ntfy_setTimeTable notify ntfy_setTimeTable {setTimeTable($EVENT)}


Ergänzend noch der MyUtils Code.

sub getDevice($){
my $device = shift;
return InternalVal($device,"device","error");
}

sub toggleMode($){
my $device = shift;
my $Mode = ReadingsVal($device,"controlMode","error");

if ($Mode eq "manual")
  {fhem("set $device controlMode auto")}
elsif ($Mode eq "auto")
  {fhem("set $device controlMode manual")}
elsif ($Mode eq "set_manual")
  {fhem("set $device controlMode auto")}
elsif ($Mode eq "set_auto")
  {fhem("set $device controlMode manual")};
}

sub toggleLock($){
my $device = shift;
my $lockState = ReadingsVal($device,"R-globalBtnLock","error");

if ($lockState eq "on "){
  {fhem("set $device regSet globalBtnLock off")}
  {fhem ("set $device getConfig")}}
elsif ($lockState eq "off "){
  {fhem("set $device regSet globalBtnLock on")}
  {fhem ("set $device getConfig")}}
elsif ($lockState eq "on"){
  {fhem("set $device regSet globalBtnLock off")}
  {fhem ("set $device getConfig")}}
elsif ($lockState eq "off"){
  {fhem("set $device regSet globalBtnLock on")}
  {fhem ("set $device getConfig")}}
else
  {return $lockState.$device};
}

sub getDayTemp($){
my $device = shift;
my $timeTable = ReadingsVal($device,"R_2_tempListMon","error Reading");
my $dayTemp = substr $timeTable, 17, 5;

return ($dayTemp." °C");
}

sub getTime($$$){
my $device = shift;
my $reading = shift;
my $status = shift;
my $timeTable = ReadingsVal($device,$reading,"error Reading");
my $time = "error Return";

if ($status eq "start")
  {$time = substr $timeTable, 0, 6}
elsif ($status eq "end")
  {$time = substr $timeTable, 11, 6}

return $time;
}
sub setTimeTable($){
my $device = shift;
my $dayTemp = ReadingsVal("d_dayTemp","state","dt error");
my $nightTemp = "15.0";
my $startWorkday = ReadingsVal("d_workdayStart","state","eds error");
my $endWorkday = ReadingsVal("d_workdayEnd","state","wde error");
my $startSaturday = ReadingsVal("d_saturdayStart","state","sds error");
my $endSaturday = ReadingsVal("d_saturdayEnd","state","sde error");
my $startSunday = ReadingsVal("d_sundayStart","state","snds error");
my $endSunday = ReadingsVal("d_sundayEnd","state","snde error");

{ fhem ("set $device tempListMon prep $startWorkday $nightTemp $endWorkday $dayTemp 24:00 $nightTemp")};
{ fhem ("set $device tempListTue prep $startWorkday $nightTemp $endWorkday $dayTemp 24:00 $nightTemp")};
{ fhem ("set $device tempListWed prep $startWorkday $nightTemp $endWorkday $dayTemp 24:00 $nightTemp")};
{ fhem ("set $device tempListThu prep $startWorkday $nightTemp $endWorkday $dayTemp 24:00 $nightTemp")};
{ fhem ("set $device tempListFri prep $startWorkday $nightTemp $endWorkday $dayTemp 24:00 $nightTemp")};
{ fhem ("set $device tempListSat prep $startSaturday $nightTemp $endSaturday $dayTemp 24:00 $nightTemp")};
{ fhem ("set $device tempListSun exec $startSunday $nightTemp $endSunday $dayTemp 24:00 $nightTemp")};
}


Folgende Fehlermeldung bekomme ich im Log

PERL WARNING: Redundant argument in sprintf at ./FHEM/33_readingsGroup.pm line 529.
2016.12.28 19:48:27 1: PERL WARNING: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^batteryLevel@{ <-- HERE getDevice($DEVICE)}$/ at ./FHEM/33_readingsGroup.pm line 1322.
2016.12.28 19:48:27 1: PERL WARNING: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^imposible@{ <-- HERE $DEVICE}$/ at ./FHEM/33_readingsGroup.pm line 1322.
2016.12.28 19:48:27 1:


Wer hat bitte eine Tipp für mich.

Danke vorab

Gruß
Titel: Antw:Neues Modul readingsGroup
Beitrag von: clumsy am 28 Januar 2017, 15:23:10
hallo

ich bin nun seit tagen am suchen und versuchen und riskier jetzt halt trotzde, eine frage zu stellen die evtl. schonmal beantwortet ist..

ich möchte in einer ganz einfachen readingsGroup den Wert, resp das Icon dazu vor dem Namen anzeigen, also sowas wie:
define info.battlevel readingsGroup .*:batteryLevel|[Bb]attery

anstatt
<name> <wert/icon> <datum>
möchte ich
<wert/icon>  <name> <datum>

ich habs über einen umweg mit dem attribut nameIcon geschafft, indem ich das umbiege und via perl-code den Wert resp. das Icon anzeige, ist aber recht umständlich...
attr info.battlevel nameIcon {
'battery' => (ReadingsVal($DEVICE,$READING,undef) eq 'ok') ? 'radio_checked@0CFB0C' : 'radio_checked@FB5909'
}

was hab ich übersehen, kann das einfacher gemacht werden?

vielen dank für allfällige hilfe schon im voraus...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: PeterS am 05 Februar 2017, 17:40:14
Hallo

Wie kann ich eine Readingsgroup genauso anzeigen wie einen Dummy (ohne Einrückungund den Wert rechtsbündig) ?

Beide devices sollten doch eigentlich gleich anzeigt werden (siehe Beispiel), oder ?

Gruss Peter


define check_dummy dummy
attr check_dummy eventMap on:on off:off
attr check_dummy group demo
attr check_dummy room demo

define check_readingsgroup readingsGroup check_dummy
attr check_readingsgroup group demo
attr check_readingsgroup mapping {'check_dummy' => 'readingsgroup'}
attr check_readingsgroup noheading 1
attr check_readingsgroup notime 1
attr check_readingsgroup room demo
attr check_readingsgroup style style="border:0px;;box-shadow:none"
attr check_readingsgroup valueStyle style="text-align:right"
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 05 Februar 2017, 18:04:32
@clumsy: du musst auf den mehrspalten modus wechseln.

du kannst mit +NAME das internal NAME als normale spalte anzeigen. alles zusammen könnte dann etwa so aussehen:

define <rg> readingsGroup .*:FILTER=battery=.+:battery,+NAME,<{ReadingsTimestamp($DEVICE,"battery","")}@battery>
attr <rg> nonames 1


den filter musst du anpassen und/oder mehrere solcher blöcke im define angeben.

@PeterS: nein. beides ist nicht gleich. readingsGroup ist was die anzeige angeht kein normales device sondern selber schon eine art gruppe. wenn du diese noch mal in eine gruppe steckst wird eine ebene zusätzlich eingerückt. man kann nur per css etwas spielen und das unauffälliger machen: https://wiki.fhem.de/wiki/ReadingsGroup#readingsGroup_in_einer_Gruppe (https://wiki.fhem.de/wiki/ReadingsGroup#readingsGroup_in_einer_Gruppe).
Titel: Antw:Neues Modul readingsGroup
Beitrag von: clumsy am 05 Februar 2017, 19:11:15
vielen dank!! klappt!! das "attr nonames 1" war wohl mein problem. das hatte ich übersehen/vergessen.... war wohl zu spät zu viel... danke auf jedenfall für den hinweis!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: tomspatz am 11 Februar 2017, 18:26:50
Eine readingsgroup wird bei im Raum immer als letztes angezeigt.
Die Sortierung ist auch nicht über den alias oder den rg Namen zu ändern, ist halt immer unten.
Kann man das ändern?
LG
Tom
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Heuberg am 11 Februar 2017, 21:33:11
Das geht  ;D. Habe es erst heute so eingestellt. Ich habe der readingsGroup das Attribut "group" gesetzt. Mit einem Namen, der im Raum ganz oben erscheint.

Viele Grüße
Rainer
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Peedy2495 am 12 Februar 2017, 20:04:52
Hallo,
ich hab hier einen seltsamen Fehler bei folgendem Code:

define wz_silent_tON dummy
attr wz_silent_tON alias Ruhe
attr wz_silent_tON event-on-change-reading .*

define wz_silent_tOFF dummy
attr wz_silent_tOFF event-on-change-reading .*

define vh_wz_t readingsGroup wz_silent_tON:,<von>,state@wz_silent_tON,<bis>,state@wz_silent_tOFF
attr vh_wz_t cellStyle { "r:1,c:0"=>'style="font-weight:bold"' \
}
attr vh_wz_t commands { \
'state' => ":time" \
}
attr vh_wz_t group Heizung Wohnzimmer
attr vh_wz_t noheading 1
attr vh_wz_t nolinks
attr vh_wz_t room EG Wohnzimmer


beim ändern einer der beiden Zeiten steht plötzlich HTML-Code statt des eingestellten Wertes drin (siehe Anhang).
Nach einem reload der Seite ist jedoch der eingestellte Zeitwert richtig eingetragen.

Eigentlich hatte ich ursprünglich vor, die beiden Zeitwerte in readings nur eines Devices zu hinterlegen.
da aber meine Frage in einem anderen Thread noch unbeantwortet blieb, gehen mir so langsam die Ideen aus, wie ich die grunsätzliche Problemstellung lösen kann.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Reinerlein am 19 Februar 2017, 21:57:59
Hallo Andre,

ich habe seit einem kürzlichen Update ein Problem mit berechneten Werten mittel "alwaysTrigger" auf "2".

Folgendes ist meine Definition:

define heizung_Sammler_Stellventile readingsGroup <Name>,<Modus>,<Wunschtemperatur>,<Ventilstellung> <hr> type=HeatingThermostat:mode,desiredTemperature,valveposition <hr> heizung_Sammler_Stellventile:<Max.&nbsp;Ventilstellung>,<>,<>,$max(:3)@ventilmax

attr heizung_Sammler_Stellventile userattr event-on-change-reading
attr heizung_Sammler_Stellventile alias Heizung Stellventile
attr heizung_Sammler_Stellventile alwaysTrigger 2
attr heizung_Sammler_Stellventile event-on-change-reading .*
attr heizung_Sammler_Stellventile nameStyle style="font-weight: bold;;"
attr heizung_Sammler_Stellventile valueFormat { desiredTemperature => "%.1f °C", valveposition => "%i %", ventilmax => "%i %" }
attr heizung_Sammler_Stellventile valueStyle { desiredTemperature => 'style="text-align:right"', valveposition => 'style="text-align:right"', ventilmax => 'style="text-align:right"' }

Damit werden mir alle Max Heizungsthermostate mit ihren Ventilstellungen angezeigt.
Ziel ist, die maximale Ventilstellung zu ermitteln, damit ich danach meine Heizungsanlage einregeln kann (eine Bedarfssteuerung).

Früher wurde das Ventilmax-Reading stets bei Änderung irgendeiner Ventilstellung aktualisiert. Mittlerweile nur noch, wenn die Readingsgroup selbst angezeigt wird.
Das ist natürlich blöd, da deswegen heute Nacht die Heizungsanlage aus geblieben ist :(

Kann ich da irgendwas machen, bzw. habe ich etwas fehlerhaft bezogen auf die aktuelle Version eingestellt?
Danke schon mal im Vorraus...

Grüße
Reiner
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 19 Februar 2017, 22:54:10
@Peedy2495: zeig mal bitte einen vorher/nacher screenshot

@Reinerlein: ich denke ich habe das problem behoben.

die ursache war das direkt nach einem fhem neu start fhemweb noch keine seite ausgeliefert hatte und deshalb eine interne variable noch nicht gesetzt wurde. um einen die entsprechende perl meldung im log zu vermeiden habe ich die komplette initialisierung übersprungen. das hat dann leider auch die readings und events unterdrückt.

ab morgen im update.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Peedy2495 am 21 Februar 2017, 12:46:57
Hallo & danke das du dir das mal anschauen willst ...

also bevor ich etwas einstellen will, ist nach dem Ersten laden der Seite alles ok ...

danach ist, wie schon erwähnt, der html-Code drin.
Was ich jedoch nun gesehen habe ist, dass manchmal kurz der neue Wert angezeigt wird, jedoch danach der html-Code hinein geschrieben wird.

beim öffnen mit dem enthaltenen html-Code im Anzeigefeld sind auch alle Slider auf "0"

Ich hoffe, es hilft bei der Suche ...


Bis bald ... Peedy
Titel: Antw:Neues Modul readingsGroup
Beitrag von: JoeALLb am 21 Februar 2017, 15:55:53
Zitat von: Peedy2495 am 21 Februar 2017, 12:46:57
beim öffnen mit dem enthaltenen html-Code im Anzeigefeld sind auch alle Slider auf "0"
Da skann ich auch bestätigen. Vorallem am Android-Browser kommt das immer wieder vor.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Peedy2495 am 21 Februar 2017, 17:43:15
Ich habe Firefox (Win7, Linux & Android), Dolphin (Android), IE11 (Win7),  und Konqueror (Linux, KDE) ausprobiert.
Überall das selbe Ergebnis ...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Reinerlein am 26 Februar 2017, 20:32:21
Hi Andre,

bei der von mir beschriebenen readingsGroup mit den Ventilständen scheint es jetzt zu gehen. Dafür habe ich das Problem, dass eine andere die Readings nicht (mehr?) aktualisiert:

define heizung_Sammler_FK readingsGroup <Name>,<Zustand>,<Zeitpunkt> <hr> list heizung_[^_]+_FK.*:state <hr> heizung_Sammler_FK:<Anzahl&nbsp;;offene>,<>,$count(opened)(:1)@open heizung_Sammler_FK:<Anzahl&nbsp;;geschlossene>,<>,$count(closed)(:1)@close heizung_Sammler_FK:<Gesamtanzahl>,<>,$scalar(:1)@count
attr heizung_Sammler_FK alias Heizung Fensterübersicht
attr heizung_Sammler_FK alwaysTrigger 2
attr heizung_Sammler_FK group 1. Grundsätzliches
attr heizung_Sammler_FK mapping $DEVICE
attr heizung_Sammler_FK nameStyle style="font-weight: bold;; text-align: left;;"
attr heizung_Sammler_FK nostate 1
attr heizung_Sammler_FK room Heizung
attr heizung_Sammler_FK valueStyle { open => 'style="text-align:right"', close => 'style="text-align:right"', count => 'style="text-align:right"' }

setstate heizung_Sammler_FK 2017-02-26 11:33:44 close 8
setstate heizung_Sammler_FK 2017-02-26 11:33:44 count 10
setstate heizung_Sammler_FK 2017-02-26 11:33:44 open 2

Hier sollen die offenen und geschlossenen Fenster ausgewertet werden. Die Summen unter der Liste sind stets korrekt. Die entsprechenden Readings allerdings nicht.
Auf dem Screenshot ist der Unterschied direkt zu sehen... Die Werte unter der Liste sind die korrekten...

Noch ein Problem? oder bin ich der Fehler ? :)

Danke schon mal...

Edit: Gerade beobachtet: Er aktualisiert die Werte nur, wenn ich die readingsGroup gerade auf dem Bildschirm sehe, und ein Fensterkontakt gerade aktualisiert... Bei meinem anderen Problem musste ich die readingsGroup einmal anzeigen, dann ging es aber auch im Hintergrund...

Grüße
Reiner
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Reinerlein am 08 März 2017, 23:31:40
Hi Andre,

ich muss das nochmal hochholen... ich muss mir sonst was anders einfallen lassen, da auf diesen Werten meine Fernwärmestation gesteuert wird...
Mittlerweile geht auch die andere ReadingsGroup mit den Ventilständen nicht mehr...

Eine Idee?

Danke schon mal...

Grüße
Reiner
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 09 März 2017, 11:05:29
ich konnte das problem noch nicht reproduzieren. eigentlich sollte einfach alles gehen ...

was heisst es geht jetzt auch nicht mehr? mach dem update ging es und dann plötzlich nicht mehr?

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Reinerlein am 09 März 2017, 15:16:53
Hi Andre,

zumindest dachte ich, dass es geht, war aber wahrscheinlich nicht so. Es ist aktuell so, dass die Readings meistens erst aktualisiert werden, wenn ich die Readingsgroup auf dem Bildschirm sehe, also die Detaildarstellung (das mit allen Internals, Readings und Attributen). Diese Seite muss ich ein paar Sekunden offen haben, dann wird das Reading (oder die Readings) aktualisiert, und erhält den Wert (bzw. die Werte), der (oder die) bereits unter der Auflistung selbst dargestellt werden...

Im Hintergrund wird es nicht regelmäßig (aber irgendwann dann halt doch) aktualisiert. Eben habe ich nochmal bei der Ventilsteuerung geschaut (auf einer anderen Seite als der ReadingsGroup-Seite wird ein Graph mit den ermittelten Ventilstellungen angezeigt): Vor 15 Minuten hat er den Wert aktualisiert, ohne dass ich mir die Readingsgroup angeschaut hätte...

Was kann ich denn loggen, damit dir das bei der Problemlösung hilft?

Grüße
Reiner
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Reinerlein am 10 April 2017, 17:11:44
Hi Andre,

ich habe das Problem vermutlich gefunden.
Ich hatte in meiner ReadingsGroup Heizungsthermostate mit ihren Ventilstellungen und der gewünschten Temperatur aufgelistet.
Außerdem hatte ich für das Format der Werte das Attribut valueFormat definiert.

Leider sind im Reading "desiredTemperature" nicht nur Zahlenwerte, sondern auch Texte enthalten (was ich persönlich sehr unglücklich finde), sodass mein Format "%.1f °C" immer Fehler der Art "Argument "on" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 529." im Log verursacht hat.
Des Weiteren hatte ich für meinen Prozent-ValueFormat einen Fehler. Ich hatte "%i %" definiert (wo es ja "%i %%" heißen muss), und damit zusätzlich noch die Meldung "Missing argument in sprintf at ./FHEM/33_readingsGroup.pm line 529." und "Invalid conversion in sprintf: end of string at ./FHEM/33_readingsGroup.pm line 1339" im Log erhalten.

Dadurch ist er immer aus der Notify-Methode ausgestiegen, und hat keinerlei Werte mehr im Hintergrund aktualisiert.
Wenn man die Readingsgroup auf dem Bildschirm gesehen hat, wurde alles immer korrekt angezeigt, sodass ich keinerlei Fehler in meiner Attribut-Definition erwartet habe (warum ging das eigentlich?).

Kann man da irgendeine Art von Überprüfung einbauen, oder etwas Fehlertoleranz bei dem "sprintf"?
Ich musste mir für meine Max-Thermostate jetzt ein UserReading bauen, welches immer einen Zahlenwert liefert (anstatt der Worte "on", "off", "eco", "comfort" und "boost").

Früher war das nicht so, dass muss mit irgendeinem Update Anfang des Jahres zusammenhängen...

Danke schon mal.

Grüße
Reiner
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 10 April 2017, 17:21:46
sehr gut. kein wunder das ich es nicht reproduzieren konnte:)

am sichersten ist es sich nicht auf die einfache valueFormat variante zu verlassen sondern selber mit printf und $NUM zu formatieren. hier kannst du dann auch auf die nicht numerischen werte prüfen. d.h. z.b. mit ..., desiredTemperature  =>'{...}', ...perl code variante des attributs zu verwenden.

du kannst auch die jeweiligen alphabetischen varianten mit eigenen spezifischeren valueFormat einträgen der art 'desiredTemperature.on' => ...,  'desiredTemperature.off' => ... abfangen. dann reicht die einfache variante für die numerischen werte eventuell doch wieder.

da der printf format string theoretisch beliebig kompliziert ausfallen kann ist es schwierig hier etwas vorher zu überprüfen. man könnte höchstens alles in ein eval stecken und dann schauen ob es fehler gab und diese dann loggen. das würde zumindest das abbrechen verhindern.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Reinerlein am 10 April 2017, 18:14:38
Hi Andre,

danke für die Tipps, die werde ich mir nochmal zu Gemüte führen.
Was für mich verwirrend war, war, dass es in der Detailansicht korrekt dargestellt wurde, und im Hintergrund eben zu einem Abbruch der Aktualisierung führte.

Wird denn das mit dem spezifischeren valueFormat auf jeden Fall vor dem allgemeinen Format durchgeführt/geprüft?
Dann könnte ich ja ein allgemeines für die Zahlen lassen, und nur die fünf Worte durch jeweils ein spezielles definieren...

Ich hatte dann auch versucht mit einem eval{}-Block um das sprintf den Fehler abzufangen, das war aber leider nicht erfolgreich.
Wahrscheinlich ist es besser, dass in einem eval()-String zusammenzubauen und testweise auswerten zu lassen. Dabei wäre zumindest der Fehler mit dem einzelnen Prozentzeichen aufgefallen.

Aber im Prinzip reicht die Logausgabe dann doch aus, nur abbrechen sollte der im Hintergrund nicht :)
Das heißt: eine Erweiterung wäre schon gut: Ich konnte an der Log-Errormeldung so erstmal gar nicht sehen, welche meiner 30 ReadingsGroups jetzt überhaupt betroffen war... Man selber sieht die Fehler ja sowieso nicht... sonst wären sie ja gar nicht drin :)

Grüße
Reiner
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Xguide am 18 April 2017, 17:42:49
Hallo zusammen,

kann es sein das da eine Zeile zuviel an Code in der aktuellen Version von 33_readingsGroup.pm liegt?

Zeile 1384

          my $value = $value;
          if( $format eq 't' || $format eq 'sec' ) {
            $value = TimeNow();
            $value = time() - time_str2num($value) if($format eq 'sec');
          } elsif( $format =~ m/^[dir]/ ) {
            $value = rgVal2Num($value);
            $value = int($value) if( $format eq 'i' );
            $value = round($value, defined($1) ? $1 : 1) if($format =~ /^r(\d)?/);
          }

          my $value_style = lookup2($hash->{helper}{valueStyle},$n,$reading,$value);
-->     my $value = $value;   <---

          my $value_orig = $value;


Ferner wollte ich mal fragen, ob mir jemand eine Debugging-Info stricken kann, mit der ich herausfinden kann, von welchem Device die folgende Meldung im Log erscheint.
Betroffene Codezeile in readingsGroup.pm

          next if( $lattr eq 'IODev' && $defs{$d}{$lattr}{NAME} !~ m/^$re$/);


Use of uninitialized value in pattern match (m//) at /opt/fhem//FHEM/33_readingsGroup.pm line 121.

Es scheint also um das Attribut IODev zu gehen, diese habe ich für meine HM-Devices gesetzt, da ich eine VCCu mit 3 IFs nutze. Wie könnte ich an der Stelle ein sinnhaftes Log einbauen um dem Fehler auf die Spur zu kommen?

Danke für Eure Hilfe und viele Grüße,

Marcel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 18 April 2017, 17:48:01
die zeile ist mit absicht drin und korrekt.


schalte mal stacktrace ein und schau ob du mehr zur meldung siehst. ich tippe es gibt kein device das zum wert aus IODev gehört.

auf welchen wert hast du IODev gesetzt?

wenn du eine vccu verwendest ist das setzen von hand nicht nötig, IODev dann von der vccu verwendet und gesetzt.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Xguide am 18 April 2017, 18:02:42
Die Zeile "my $value = $value;"erzeugt auf jeden Fall einen Logeintrag - aber natürlich nicht so wild.

Ich habe "attr global stacktrace 1" gesetzt, bekomme aber nicht wirklich mehr Infos ins log. Muss ich verbose hochsetzen?

Zusätzlich bekomme ich jetzt noch einen neuen Eintraga aus Zeile 261, wobei das eher vom Aufruf aller rGs her rührt.

sub
rgVal2Num($)
{
  my ($val) = @_;

  #$val =~ s/[^-\.\d]//g if( defined($val) );
  $val = ($val =~ /(-?\d+(\.\d+)?)/ ? $1 : "");



Use of uninitialized value $val in pattern match (m//) at /opt/fhem//FHEM/33_readingsGroup.pm line 261.




Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 19 April 2017, 14:28:18
sorry. mit der doppelten zeile hattest du doch recht. da ist beim einchecken etwas schief gegangen.

die rgVal2Num habe ich hoffentlich auch eben behoben.


mit stacktrace solltest du im log den call stack sehen. aber schau dir noch mal an was ich oben geschrieben hatte:
Zitatauf welchen wert hast du IODev gesetzt?

wenn du eine vccu verwendest ist das setzen von hand nicht nötig, IODev dann von der vccu verwendet und gesetzt.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Xguide am 19 April 2017, 20:33:41
Hallo justme,

ich war mit meiner Aussage bezüglich der IOdefs nicht wirklich präzise, es hätte heißen müssen, all HM-Devices haben ein attr IODef - welches automatisch gesetzt wurde. Manuell habe ich im Zusammenhang der Umstellung auf VCCU nur die IOgrp für die devices gesetzt.

Stacktrace hat bei mir nicht eine Zeile mehr ins Log gebracht, es erscheint immer noch nur:

Use of uninitialized value in pattern match (m//) at /opt/fhem//FHEM/33_readingsGroup.pm line 121.
Use of uninitialized value in pattern match (m//) at /opt/fhem//FHEM/33_readingsGroup.pm line 121.
Use of uninitialized value in pattern match (m//) at /opt/fhem//FHEM/33_readingsGroup.pm line 121.
Use of uninitialized value in pattern match (m//) at /opt/fhem//FHEM/33_readingsGroup.pm line 121.
Use of uninitialized value in pattern match (m//) at /opt/fhem//FHEM/33_readingsGroup.pm line 121.
Use of uninitialized value in pattern match (m//) at /opt/fhem//FHEM/33_readingsGroup.pm line 121.
Use of uninitialized value in pattern match (m//) at /opt/fhem//FHEM/33_readingsGroup.pm line 121.
Use of uninitialized value in pattern match (m//) at /opt/fhem//FHEM/33_readingsGroup.pm line 121.
Use of uninitialized value in pattern match (m//) at /opt/fhem//FHEM/33_readingsGroup.pm line 121.
Use of uninitialized value in pattern match (m//) at /opt/fhem//FHEM/33_readingsGroup.pm line 121.
Use of uninitialized value in pattern match (m//) at /opt/fhem//FHEM/33_readingsGroup.pm line 121.
Use of uninitialized value in pattern match (m//) at /opt/fhem//FHEM/33_readingsGroup.pm line 121.


Ich würde mich ja schon freuen zu wissen von welcher readingsGroup das ausgelöst wird. Interessanterweise kommt die Meldung auch, wenn keine rG angezeigt wird.

Ich werde morgen ersteinmal die geänderte Version laden und mal schauen ob der folgende Fehler damit eliminiert wurde.


Use of uninitialized value $val in pattern match (m//) at /opt/fhem//FHEM/33_readingsGroup.pm line 261.


Danke erstmal und viele Grüße,

Marcel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 19 April 2017, 20:59:59
ich sehe gerade die meldung kommt nicht von einem IODev attribut sondern von einem IODev internal.

schau mal bitte ob der Actiondetector in einer deiner readingsGroups landet. der scheint einen leeren hash als IODev internal zu haben. ich würde sagen das ist eigentlich ein fehler.

ab morgen wird der fehler abgefangen. ich denke du solltest den Actiondetector aber trotzdem nicht mit in der readingsGroup haben.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Xguide am 19 April 2017, 21:16:30
Hallo justme,

ah, da habe ich in die völlig falsche Richtung gedacht.

Also sollte es der Action Detector sein, dann könnte er beispielweise über solch eine rG Definition reinkommen, wenn der Filter nicht funktioniert.

<Gerät>,<letzte Bewegung>,<Helligkeit>,<Batterie> TYPE=CUL_HM:FILTER=NAME=.*_MDIR:lastMotion,brightness,battery

Ist das so erlaubt oder habe ich mir da zuviel von list abgeschaut?

Bzw. es könnte auch folgende rG sein, dort selektiere ich (da ich es nicht besser hinbekommen habe) leider auch einen virtuellen Aktor und die VCCU selbst.


<Alias>,<Model>,<SerNo>,<Battery>,<Level>,<Cover>,<Activity>,<RSSI-1>,<RSSI-2>,<RSSI-3>,<Paired> IODev=HMLAN(1|2|3):alias,!?model,!D-serialNr,!battery,!batteryLevel,!cover,!Activity,!+HMLAN1_RSSI,!+HMLAN2_RSSI,!+HMLAN3_RSSI,!PairedTo


Danke für deine Hilfe!!!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 19 April 2017, 21:19:29
der filter sollte passen. schau was ein list mit diesem
filter ausgibt und vergleich es mir den devices die du bei einem list auf die readingsGroup in den internals siehst.

schau in die beiden devices eine leeres IODev internal haben.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Xguide am 19 April 2017, 21:35:51
Hallo justme,

Zitatschau in die beiden devices eine leeres IODev internal haben.
Das habe ich nicht wirklich verstanden.

Der andere Vergleich war erfolgreich, ein List mit identischem Filter liefert die gleichen Ergebnisse wie die rG. Ferner hat die VCCU und der virtuelle Aktor auch ein IODef eingetragen, das war also eine falsche Vermutung von mir. Der Actiondetector taucht nicht auf.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Xguide am 20 April 2017, 09:38:48
Hallo justme,

kurze Info zu meiner Erkenntnis, durch das heute Update musste ich natürlich ein "shutdown restart" machen, danach tauchte stacktrace das erste mal im Log auf und zwar so:


2017.04.20 09:23:13 1: PERL WARNING: Prototype mismatch: sub main::Log ($$) vs none at /opt/fhem//FHEM/33_readingsGroup.pm line 31, <$fh> line 322.
2017.04.20 09:23:13 1: stacktrace:
2017.04.20 09:23:13 1:     main::__ANON__                      called by /opt/fhem//FHEM/33_readingsGroup.pm (31)
2017.04.20 09:23:13 1:     (eval)                              called by fhem.pl (2403)
2017.04.20 09:23:13 1:     (eval)                              called by fhem.pl (2402)
2017.04.20 09:23:13 1:     main::CommandReload                 called by fhem.pl (1817)
2017.04.20 09:23:13 1:     main::LoadModule                    called by fhem.pl (1874)
2017.04.20 09:23:13 1:     main::CommandDefine                 called by fhem.pl (1149)
2017.04.20 09:23:13 1:     main::AnalyzeCommand                called by fhem.pl (1018)
2017.04.20 09:23:13 1:     main::AnalyzeCommandChain           called by fhem.pl (1284)
2017.04.20 09:23:13 1:     main::CommandInclude                called by fhem.pl (1149)
2017.04.20 09:23:13 1:     main::AnalyzeCommand                called by fhem.pl (1018)
2017.04.20 09:23:13 1:     main::AnalyzeCommandChain           called by fhem.pl (1284)
2017.04.20 09:23:13 1:     main::CommandInclude                called by fhem.pl (527)
2017.04.20 09:23:13 1: PERL WARNING: Prototype mismatch: sub main::Log3 ($$$) vs none at /opt/fhem//FHEM/33_readingsGroup.pm line 32, <$fh> line 322.
2017.04.20 09:23:13 1: stacktrace:
2017.04.20 09:23:13 1:     main::__ANON__                      called by /opt/fhem//FHEM/33_readingsGroup.pm (32)
2017.04.20 09:23:13 1:     (eval)                              called by fhem.pl (2403)
2017.04.20 09:23:13 1:     (eval)                              called by fhem.pl (2402)
2017.04.20 09:23:13 1:     main::CommandReload                 called by fhem.pl (1817)
2017.04.20 09:23:13 1:     main::LoadModule                    called by fhem.pl (1874)
2017.04.20 09:23:13 1:     main::CommandDefine                 called by fhem.pl (1149)
2017.04.20 09:23:13 1:     main::AnalyzeCommand                called by fhem.pl (1018)
2017.04.20 09:23:13 1:     main::AnalyzeCommandChain           called by fhem.pl (1284)
2017.04.20 09:23:13 1:     main::CommandInclude                called by fhem.pl (1149)
2017.04.20 09:23:13 1:     main::AnalyzeCommand                called by fhem.pl (1018)
2017.04.20 09:23:13 1:     main::AnalyzeCommandChain           called by fhem.pl (1284)
2017.04.20 09:23:13 1:     main::CommandInclude                called by fhem.pl (527)


Da ich mich in Perl nicht wirklich auskenne, hier die Frage, müssen keine Übergabeparameter definiert werden?

31: sub Log;
32: sub Log3;


Die vorherigen Meldungen:

Use of uninitialized value $val in pattern match (m//) at /opt/fhem//FHEM/33_readingsGroup.pm line 261.
Use of uninitialized value in pattern match (m//) at /opt/fhem//FHEM/33_readingsGroup.pm line 121.

kann ich aktuell nicht mehr feststellen - DANKE!

Viele Grüße,

Marcel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 20 April 2017, 09:50:55
natürlich müssen da übergabe parameter hin. der checken dafür ist gestern hängen geblieben und ich habe es nicht bemerkt.

habe es eben nachgeholt. ab morgen im update

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Xguide am 20 April 2017, 11:19:46
Ah Ok,

kannst du mir erklären warum die Funktion dort überhaupt definiert werden muss? Die stand doch früher auch ohne die Definition zur Verfügung!?

Gruß Marcel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 20 April 2017, 11:21:27
man muss nicht. es hat auch nichts weiter mit deinen meldungen zu tun.

ich teste nur gerade den perl syntax checker und der meckert sonst.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: frankreed am 10 Mai 2017, 14:17:55
Hallo,

kann mir jemand einen Tipp geben, wie die angehängte Darstellung erzeugt wird?
Mein VCONTROL-Modul liefert mir viele Werte, die ich gerne wie im Beispiel a) jeweils mit eigenem Icon und b) zweispaltig darstellen möchte.
Danke für die Hilfe.

Frank
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Newbee am 14 Mai 2017, 08:43:21
Aller Guten Dinge sind drei!  ;)

Fehlermeldung aus dem log, wenn ich FHEM neu starte!

2017.05.14 07:58:24 1: PERL WARNING: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^batteryLevel@{ <-- HERE getDevice($DEVICE)}$/ at ./FHEM/33_readingsGroup.pm line 1381.
2017.05.14 07:58:24 1: PERL WARNING: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^imposible@{ <-- HERE $DEVICE}$/ at ./FHEM/33_readingsGroup.pm line 1381.
2017.05.14 07:58:24 1: PERL WARNING: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^state@{ <-- HERE getDevice($DEVICE)}$/ at ./FHEM/33_readingsGroup.pm line 1381.
2017.05.14 07:58:24 1: PERL WARNING: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^impossible@{ <-- HERE $DEVICE}$/ at ./FHEM/33_readingsGroup.pm line 1381.
2017.05.14 07:58:24 1: PERL WARNING: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^R-globalBtnLock@{ <-- HERE getDevice($DEVICE)}$/ at ./FHEM/33_readingsGroup.pm line 1381.


Zitat von: Newbee am 29 Dezember 2016, 08:44:00
Hallo,

haben folgende Readings Group. Ist ein Bsp. aus diesem Beitrag https://forum.fhem.de/index.php/topic,26479.msg202888.html#msg202888 (https://forum.fhem.de/index.php/topic,26479.msg202888.html#msg202888).
Leider werden aus für mich nicht verständlichen Gründen die pull-down (drop-down) Menüs nicht mehr angezeigt.

List auf die Readingsgroup:

Internals:
   CFGFN      /opt/fhem/FHEM/red.cfg
   DEF        <>,<Ist-,>,<Regler>,<Batterie>,<Tages->,<Werktag>,<>,<Wochenende>,<>,<Wochenplan>
<>,<Solltemperatur>,<Lock>,<Modus>,<Temperatur>,<start>,<ende>,<start>,<ende>,<schreiben>
.*_Clima:measured-temp,ValvePosition,batteryLevel@{getDevice($DEVICE)},imposible@{$DEVICE},<{getDayTemp($DEVICE)}>,<{getTime($DEVICE,"R_2_tempListMon","start")}>,<{getTime($DEVICE,"R_2_tempListMon","end")}>,<{getTime($DEVICE,"R_0_tempListSat","start")}>,<{getTime($DEVICE,"R_0_tempListSat","end")}>,state@{getDevice($DEVICE)},<br>,impossible@{$DEVICE},desired-temp,R-globalBtnLock@{getDevice($DEVICE)},imposible@{$DEVICE},controlMode,state@d_dayTemp,state@d_workdayStart,state@d_workdayEnd,state@d_saturdayStart,state@d_saturdayEnd,imposible@{$DEVICE},<%system_fhem_update>
   NAME       Thermostate
   NR         709
   NTFY_ORDER 50-Thermostate
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     BR_Thermostat_Clima 1
     DR_Thermostat_Clima 1
     FBR_Thermostat_Clima 1
     FBRn_Thermostat_Clima 1
     KIT_Thermostat_Clima 1
     LR_Thermostat_Clima 1
     MBR_Thermostat_Clima 1
     NBR_Thermostat_Clima 1
     RR_Thermostat_Clima 1
   Content2:
     BR_Thermostat 1
     BR_Thermostat_Clima 1
     DR_Thermostat 1
     DR_Thermostat_Clima 1
     FBR_Thermostat 1
     FBR_Thermostat_Clima 1
     FBRn_Thermostat_Clima 1
     KIT_Thermostat 1
     KIT_Thermostat_Clima 1
     LR_Thermostat 1
     LR_Thermostat_Clima 1
     MBR_Thermostat 1
     MBR_Thermostat_Clima 1
     NBR_Thermostat 1
     NBR_Thermostat_Clima 1
     OF_Thermostat 1
     RR_Thermostat 1
     RR_Thermostat_Clima 1
     d_dayTemp  1
     d_saturdayEnd 1
     d_saturdayStart 1
     d_workdayEnd 1
     d_workdayStart 1
   DEVICES:
     ARRAY(0x6fba0c8)
     ARRAY(0x67642d8)
     ARRAY(0x6763ba0)
     ARRAY(0x6e593f0)
     ARRAY(0x7039aa0)
     ARRAY(0x7021180)
     ARRAY(0x7023648)
     ARRAY(0x6fd9880)
     ARRAY(0x702a600)
     ARRAY(0x6869208)
     ARRAY(0x6722de0)
   DEVICES2:
     ARRAY(0x6fba0c8)
     ARRAY(0x67642d8)
     ARRAY(0x6763ba0)
     ARRAY(0x6e593f0)
     ARRAY(0x7039aa0)
     ARRAY(0x7021180)
     ARRAY(0x7023648)
     ARRAY(0x6fd9880)
     ARRAY(0x702a600)
     ARRAY(0x6869208)
     ARRAY(0x6722de0)
     ARRAY(0x6742d80)
     ARRAY(0x6fdc1a0)
     ARRAY(0x6e5e5c8)
     ARRAY(0x7025278)
     ARRAY(0x6ad3f68)
     ARRAY(0x6ad44f0)
     ARRAY(0x6761c58)
     ARRAY(0x6efc3d0)
     ARRAY(0x674ef78)
     ARRAY(0x674c5e0)
     ARRAY(0x6ece7b0)
     ARRAY(0x676c7a8)
     ARRAY(0x6ace660)
     ARRAY(0x6ad43a0)
     ARRAY(0x673d348)
     ARRAY(0x6841d30)
     ARRAY(0x6756ac0)
     ARRAY(0x701e3c0)
     ARRAY(0x675f008)
     ARRAY(0x7016560)
     ARRAY(0x675a728)
     ARRAY(0x7022ff0)
     ARRAY(0x6f754b0)
     ARRAY(0x6f00838)
     ARRAY(0x6f02990)
     ARRAY(0x6f5aef8)
     ARRAY(0x672fba0)
     ARRAY(0x6764590)
     ARRAY(0x674a828)
     ARRAY(0x6728300)
     ARRAY(0x6ececf0)
     ARRAY(0x6767040)
     ARRAY(0x673db10)
     ARRAY(0x6738b08)
     ARRAY(0x6755110)
     ARRAY(0x6763bb8)
     ARRAY(0x673fad8)
     ARRAY(0x6f599d0)
     ARRAY(0x6ec68f8)
     ARRAY(0x674be18)
     ARRAY(0x6e58d90)
     ARRAY(0x6764338)
     ARRAY(0x6e69ca0)
     ARRAY(0x6e5e268)
     ARRAY(0x6adc4a8)
     ARRAY(0x6ace558)
     ARRAY(0x6ad7030)
     ARRAY(0x6e2b0b8)
     ARRAY(0x6e5e5e0)
     ARRAY(0x6ace108)
   Fhem:
     lastDefChange 3
     last_update 1482922483.55619
   Helper:
     DEF
     commands   { 'controlMode' => 'trigger ntfy_toggleControlMode $DEVICE',  'R-globalBtnLock' => 'trigger ntfy_toggleBtnLock $DEVICE',  'state' => 'state:',  'Thermostate.system_fhem_update' => 'trigger ntfy_setTimeTable $DEVICE'}
     nameStyle  style="font-weight:bold"
     valueStyle { if($READING eq "measured-temp" && $VALUE >= 19){ 'style="color:green;font-weight:bold"' }elsif( $READING eq "measured-temp" && $VALUE < 19 ){ 'style="color:lightblue;font-weight:bold"' }elsif( $READING eq "measured-temp" && $VALUE > 23 ){ 'style="color:red;font-weight:bold"' }else{ 'style="color:gray;font-weight:bold"' }}
     Positions:
       BR_Thermostat.batteryLevel 3:3
       BR_Thermostat.state 3:9
       BR_Thermostat_Clima.ValvePosition 3:2
       BR_Thermostat_Clima.controlMode 4:2
       BR_Thermostat_Clima.desired-temp 4:1
       BR_Thermostat_Clima.measured-temp 3:1
       DR_Thermostat.batteryLevel 5:3
       DR_Thermostat.state 5:9
       DR_Thermostat_Clima.ValvePosition 5:2
       DR_Thermostat_Clima.controlMode 6:2
       DR_Thermostat_Clima.desired-temp 6:1
       DR_Thermostat_Clima.measured-temp 5:1
       FBR_Thermostat.batteryLevel 7:3
       FBR_Thermostat.state 7:9
       FBR_Thermostat_Clima.ValvePosition 7:2
       FBR_Thermostat_Clima.controlMode 8:2
       FBR_Thermostat_Clima.desired-temp 8:1
       FBR_Thermostat_Clima.measured-temp 7:1
       FBRn_Thermostat_Clima.ValvePosition 9:2
       FBRn_Thermostat_Clima.controlMode 10:2
       FBRn_Thermostat_Clima.desired-temp 10:1
       FBRn_Thermostat_Clima.measured-temp 9:1
       KIT_Thermostat.batteryLevel 11:3
       KIT_Thermostat.state 11:9
       KIT_Thermostat_Clima.ValvePosition 11:2
       KIT_Thermostat_Clima.controlMode 12:2
       KIT_Thermostat_Clima.desired-temp 12:1
       KIT_Thermostat_Clima.measured-temp 11:1
       LR_Thermostat.batteryLevel 13:3
       LR_Thermostat.state 13:9
       LR_Thermostat_Clima.ValvePosition 13:2
       LR_Thermostat_Clima.controlMode 14:2
       LR_Thermostat_Clima.desired-temp 14:1
       LR_Thermostat_Clima.measured-temp 13:1
       MBR_Thermostat.batteryLevel 15:3
       MBR_Thermostat.state 15:9
       MBR_Thermostat_Clima.ValvePosition 15:2
       MBR_Thermostat_Clima.controlMode 16:2
       MBR_Thermostat_Clima.desired-temp 16:1
       MBR_Thermostat_Clima.measured-temp 15:1
       NBR_Thermostat.batteryLevel 17:3
       NBR_Thermostat.state 17:9
       NBR_Thermostat_Clima.ValvePosition 17:2
       NBR_Thermostat_Clima.controlMode 18:2
       NBR_Thermostat_Clima.desired-temp 18:1
       NBR_Thermostat_Clima.measured-temp 17:1
       OF_Thermostat.batteryLevel 9:3
       OF_Thermostat.state 9:9
       RR_Thermostat.batteryLevel 19:3
       RR_Thermostat.state 19:9
       RR_Thermostat_Clima.ValvePosition 19:2
       RR_Thermostat_Clima.controlMode 20:2
       RR_Thermostat_Clima.desired-temp 20:1
       RR_Thermostat_Clima.measured-temp 19:1
     Valueformat:
       ValvePosition %0.1f %%
       desired-temp %0.1f &deg;C
       measured-temp %0.1f &deg;C
     Valueicon:
       R-globalBtnLock.off secur_open@red
       R-globalBtnLock.off  secur_open@red
       R-globalBtnLock.on secur_locked@green
       R-globalBtnLock.on  secur_locked@green
       R-globalBtnLock.set_off  secur_open@orange
       R-globalBtnLock.set_on  secur_locked@orange
       battery.low batterie@red
       battery.ok batterie@green
       controlMode.auto sani_heating_automatic@green
       controlMode.manual sani_heating_manual@red
       controlMode.set_auto sani_heating_automatic@orange
       controlMode.set_manual sani_heating_manual@orange
     Values:
       formated:
         undef
         ARRAY(0x67f21c0)
         ARRAY(0x6e6a150)
         ARRAY(0x67f3928)
         undef
         undef
         undef
         undef
         undef
         ARRAY(0x7029f88)
       orig:
         undef
         ARRAY(0x6ad6c70)
         ARRAY(0x675b2e0)
         ARRAY(0x6fd0080)
         undef
         undef
         undef
         undef
         undef
         ARRAY(0x67e32d0)
       prefixsuffix:
         undef
         ARRAY(0x6e77400)
         ARRAY(0x7029d90)
         ARRAY(0x6fcb240)
         undef
         undef
         undef
         undef
         undef
         ARRAY(0x6fdf6d8)
Attributes:
   commands   { 'controlMode' => 'trigger ntfy_toggleControlMode $DEVICE',  'R-globalBtnLock' => 'trigger ntfy_toggleBtnLock $DEVICE',  'state' => 'state:',  'Thermostate.system_fhem_update' => 'trigger ntfy_setTimeTable $DEVICE'}
   nameStyle  style="font-weight:bold"
   room       Heating
   sortDevices 1
   valueFormat { 'desired-temp' => "%0.1f &deg;C", 'measured-temp' => "%0.1f &deg;C", 'ValvePosition' => "%0.1f %%" }
   valueIcon  { 'controlMode.auto' => 'sani_heating_automatic@green','controlMode.set_auto' => 'sani_heating_automatic@orange','controlMode.manual' => 'sani_heating_manual@red','controlMode.set_manual' => 'sani_heating_manual@orange', 'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red', 'R-globalBtnLock.on' => 'secur_locked@green', 'R-globalBtnLock.on ' => 'secur_locked@green', 'R-globalBtnLock.set_on ' => 'secur_locked@orange', 'R-globalBtnLock.off' => 'secur_open@red', 'R-globalBtnLock.off ' => 'secur_open@red', 'R-globalBtnLock.set_off ' => 'secur_open@orange'}
   valueStyle { if($READING eq "measured-temp" && $VALUE >= 19){ 'style="color:green;font-weight:bold"' }elsif( $READING eq "measured-temp" && $VALUE < 19 ){ 'style="color:light blue;font-weight:bold"' }elsif( $READING eq "measured-temp" && $VALUE > 23 ){ 'style="color:red;font-weight:bold"' }else{ 'style="color:gray;font-weight:bold"' }}


Die Werte für die Menüs sind in dummys abgelegt.

define d_dayTemp dummy
attr d_dayTemp room Unsorted
attr d_dayTemp setList state:5.0,5.5,6.0,6.5,7.0,7.5,8.0,8.5,9.0,9.5,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0,25.5,26.0,26.5,27.0,27.5,28.0,28.5,29.0,29.5,30.0
attr d_dayTemp webCmd state

define d_workdayStart dummy
attr d_workdayStart room Unsorted
attr d_workdayStart setList state:00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,24:00,
attr d_workdayStart webCmd state

define d_workdayEnd dummy
attr d_workdayEnd room Unsorted
attr d_workdayEnd setList state:00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,24:00,
attr d_workdayEnd webCmd state

define d_saturdayStart dummy
attr d_saturdayStart room Unsorted
attr d_saturdayStart setList state:00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,24:00,
attr d_saturdayStart webCmd state

define d_saturdayEnd dummy
attr d_saturdayEnd room Unsorted
attr d_saturdayEnd setList state:00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,24:00,
attr d_saturdayEnd webCmd state

define d_sundayStart dummy
attr d_sundayStart room Unsorted
attr d_sundayStart setList state:00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,24:00,
attr d_sundayStart webCmd state

define d_sundayEnd dummy
attr d_sundayEnd room Unsorted
attr d_sundayEnd setList state:00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45,24:00,
attr d_sundayEnd webCmd state

define ntfy_toggleControlMode notify ntfy_toggleControlMode {toggleMode($EVENT)}

define ntfy_toggleBtnLock notify ntfy_toggleBtnLock {toggleLock($EVENT)}

define ntfy_setTimeTable notify ntfy_setTimeTable {setTimeTable($EVENT)}


Ergänzend noch der MyUtils Code.

sub getDevice($){
my $device = shift;
return InternalVal($device,"device","error");
}

sub toggleMode($){
my $device = shift;
my $Mode = ReadingsVal($device,"controlMode","error");

if ($Mode eq "manual")
  {fhem("set $device controlMode auto")}
elsif ($Mode eq "auto")
  {fhem("set $device controlMode manual")}
elsif ($Mode eq "set_manual")
  {fhem("set $device controlMode auto")}
elsif ($Mode eq "set_auto")
  {fhem("set $device controlMode manual")};
}

sub toggleLock($){
my $device = shift;
my $lockState = ReadingsVal($device,"R-globalBtnLock","error");

if ($lockState eq "on "){
  {fhem("set $device regSet globalBtnLock off")}
  {fhem ("set $device getConfig")}}
elsif ($lockState eq "off "){
  {fhem("set $device regSet globalBtnLock on")}
  {fhem ("set $device getConfig")}}
elsif ($lockState eq "on"){
  {fhem("set $device regSet globalBtnLock off")}
  {fhem ("set $device getConfig")}}
elsif ($lockState eq "off"){
  {fhem("set $device regSet globalBtnLock on")}
  {fhem ("set $device getConfig")}}
else
  {return $lockState.$device};
}

sub getDayTemp($){
my $device = shift;
my $timeTable = ReadingsVal($device,"R_2_tempListMon","error Reading");
my $dayTemp = substr $timeTable, 17, 5;

return ($dayTemp." °C");
}

sub getTime($$$){
my $device = shift;
my $reading = shift;
my $status = shift;
my $timeTable = ReadingsVal($device,$reading,"error Reading");
my $time = "error Return";

if ($status eq "start")
  {$time = substr $timeTable, 0, 6}
elsif ($status eq "end")
  {$time = substr $timeTable, 11, 6}

return $time;
}
sub setTimeTable($){
my $device = shift;
my $dayTemp = ReadingsVal("d_dayTemp","state","dt error");
my $nightTemp = "15.0";
my $startWorkday = ReadingsVal("d_workdayStart","state","eds error");
my $endWorkday = ReadingsVal("d_workdayEnd","state","wde error");
my $startSaturday = ReadingsVal("d_saturdayStart","state","sds error");
my $endSaturday = ReadingsVal("d_saturdayEnd","state","sde error");
my $startSunday = ReadingsVal("d_sundayStart","state","snds error");
my $endSunday = ReadingsVal("d_sundayEnd","state","snde error");

{ fhem ("set $device tempListMon prep $startWorkday $nightTemp $endWorkday $dayTemp 24:00 $nightTemp")};
{ fhem ("set $device tempListTue prep $startWorkday $nightTemp $endWorkday $dayTemp 24:00 $nightTemp")};
{ fhem ("set $device tempListWed prep $startWorkday $nightTemp $endWorkday $dayTemp 24:00 $nightTemp")};
{ fhem ("set $device tempListThu prep $startWorkday $nightTemp $endWorkday $dayTemp 24:00 $nightTemp")};
{ fhem ("set $device tempListFri prep $startWorkday $nightTemp $endWorkday $dayTemp 24:00 $nightTemp")};
{ fhem ("set $device tempListSat prep $startSaturday $nightTemp $endSaturday $dayTemp 24:00 $nightTemp")};
{ fhem ("set $device tempListSun exec $startSunday $nightTemp $endSunday $dayTemp 24:00 $nightTemp")};
}


Folgende Fehlermeldung bekomme ich im Log

siehe oben....

Wer hat bitte eine Tipp für mich.

Danke vorab

Gruß
Titel: Antw:Neues Modul readingsGroup
Beitrag von: grappa24 am 30 Mai 2017, 22:29:03
ich hab mir eine ReadingsGroup gebaut mit Einträgen von AgroWeather. (Wie) kann man denn verhindern, dass die manchmal auftretenden langen Texte den Platz auf meinem floorplan "sprengen"?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 31 Mai 2017, 09:53:28
Du könntest z.B. über das Attribut valueFormat eine Längenbegrenzung des Textes berechnen lassen.

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 20 Juli 2017, 16:00:02
Hallo Andre,

ich bin jetzt über einen kleinen Schönheitsfehler gestolpert:

Wird das Attribut valueIcon für ein reading gesetzt z.B.
valueIcon {'Play' => '{MakeIconwithLabel("rc_PLAY.svg",$VALUE,"abspielen")}',...
und dann $VALUE z.B. im Attribut commands verwendet, dann ist in $VALUE nicht mehr der Wert des readings vorhanden, sondern der vom valueIcon.
Bei valueFormat will man ja vermutlich den modifizierten Wert vom reading weiter verwenden, bei valueIcon macht das aber keinen Sinn.
Ich habe mir den html-Quelltext der Seite angesehen, und man sieht im command-Bereich für das anklickbare Icon den Text, den valueIcon errechnet hat.

Gruß

Elektrolurch
h

Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 02 August 2017, 16:21:25
ich habe eine RG erstellt und möchte gern zugehörige Icons positionieren. Dies Wettericons sollen zentriert werden in der jeweiligen Spalte
Es gelingt mir leider nicht das hinzubekommen. Ich dachte das ich es mit "cellStyle" hinbekomme dem ist nicht so. Die Icons befinden sich in "r:2" - hier habe ich schon mit "center" einige Versuche aber ich bekomme es nicht hin

Ich hänge mal das list von der RG ran, evtl. weiß es jemand und kann mir das sagen.  ;)
Internals:
   CFGFN      ./FHEM/Wetter.cfg
   DEF        WUweather:<%weather_cloudy@AntiqueWhite>,fc0_title,fc0_title_night,fc1_title,fc1_title_night,fc2_title,fc2_title_night,fc3_title,fc3_title_night
WUweather:<>,fc0_icon,fc0_icon_night,fc1_icon,fc1_icon_night,fc2_icon,fc2_icon_night,fc3_icon,fc3_icon_night
WUweather:<>,fc0_condition,fc1_condition,fc2_condition,fc3_condition
WUweather:<Vorhersage>,fc0_text,fc0_text_night,fc1_text,fc1_text_night,fc2_text,fc2_text_night,fc3_text,fc3_text_night
WUweather:<Regenwahrscheinlichkeit/-menge>,fc0_pop,fc0_pop_night,fc1_pop,fc1_pop_night,fc2_pop,fc2_pop_night,fc3_pop,fc3_pop_night
WUweather:<Schnee>,fc0_snow_day,fc0_snow_night,fc1_snow_day,fc1_snow_night,fc2_snow_day,fc2_snow_night,fc3_snow_day,fc3_snow_night
WUweather:<Temperatur&nbsp;min|max>,fc0_low_c,fc1_low_c,fc2_low_c,fc3_low_c
WUweather:<rel.&nbsp;Luftfeuchtigkeit>,fc0_humidity,fc1_humidity,fc2_humidity,fc3_humidity
WUweather:<Wind&nbsp;(Böen)>,fc0_wind_speed,fc1_wind_speed,fc2_wind_speed,fc3_wind_speed
   NAME       rg_WUweather
   NR         1771
   NTFY_ORDER 50-rg_WUweather
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CONTENT:
     WUweather  1
   CONTENT2:
   DEVICES:
     ARRAY(0x89d72a0)
     ARRAY(0x8daac00)
     ARRAY(0x98babe8)
     ARRAY(0x8d8ee28)
     ARRAY(0x89fea68)
     ARRAY(0x89fe618)
     ARRAY(0x9024fc8)
     ARRAY(0x8dc5d18)
     ARRAY(0x8230d40)
   fhem:
     lastDefChange 49
     last_update 1501686583.31866
   helper:
     DEF
     valueFormat {
fc0_low_c => "{'$VALUE °C | ' . ReadingsVal('WUweather','fc0_high_c',0) .  ' °C'}" , fc1_low_c => "{'$VALUE °C | ' . ReadingsVal('WUweather','fc1_high_c',0) .  ' °C'}" , fc2_low_c => "{'$VALUE °C | ' . ReadingsVal('WUweather','fc2_high_c',0) .  ' °C'}" , fc3_low_c => "{'$VALUE °C | ' . ReadingsVal('WUweather','fc3_high_c',0) .  ' °C'}" ,
fc0_humidity => '%.0f %%' , fc1_humidity => '%.0f %%' , fc2_humidity => '%.0f %%' , fc3_humidity => '%.0f %%' ,
fc0_wind_speed => "{'$VALUE km/h (' . ReadingsVal('WUweather','fc0_wind_speed_max','') . ' km/h) ' }" , fc1_wind_speed => "{'$VALUE km/h (' . ReadingsVal('WUweather','fc1_wind_speed_max','') . ' km/h) ' }" , fc2_wind_speed => "{'$VALUE km/h (' . ReadingsVal('WUweather','fc2_wind_speed_max','') . ' km/h) ' }" , fc3_wind_speed => "{'$VALUE km/h (' . ReadingsVal('WUweather','fc3_wind_speed_max','') . ' km/h) ' }" ,
fc0_pop => "{'$VALUE % | ' . ReadingsVal('WUweather','fc0_rain_day','') . ' mm'}" , fc0_pop_night => "{'$VALUE % | ' . ReadingsVal('WUweather','fc0_rain_night','') . ' mm'}" , fc1_pop => "{'$VALUE % | ' . ReadingsVal('WUweather','fc1_rain_day','') . ' mm'}" , fc1_pop_night => "{'$VALUE % | ' . ReadingsVal('WUweather','fc1_rain_night','') . ' mm'}"  , fc2_pop => "{'$VALUE % | ' . ReadingsVal('WUweather','fc2_rain_day','') . ' mm'}" , fc2_pop_night => "{'$VALUE % | ' . ReadingsVal('WUweather','fc2_rain_night','') . ' mm'}"  , fc3_pop => "{'$VALUE % | ' . ReadingsVal('WUweather','fc3_rain_day','') . ' mm'}" , fc3_pop_night => "{'$VALUE % | ' . ReadingsVal('WUweather','fc3_rain_night','') . ' mm'}" ,
fc0_snow_day => '%.0f mm' , fc0_snow_night => '%.0f mm' , fc1_snow_day => '%.0f mm' , fc1_snow_night => '%.0f mm'  , fc2_snow_day => '%.0f mm' , fc2_snow_night => '%.0f mm'  , fc3_snow_day => '%.0f mm' , fc3_snow_night => '%.0f mm' ,
}
     valueStyle {return 'style="text-align:center;font-weight:normal"' if($READING =~ m/title/); return 'style="text-align:center"'}
     cellStyle:
       c:1        style="font-weight:normal;font-size:14px;text-align:left;padding-left:0pt;color:LightSteelBlue;"
       r:1        style="font-weight:normal;font-size:14px;text-align:center;color:LightSteelBlue;"
       r:2        style="font-weight:normal;font-size:14px;text-align:center;padding-left:0pt;color:LightSteelBlue;"
       r:3        style="font-weight:normal;font-size:14px;text-align:center;color:RoyalBlue;"
       r:4        style="font-weight:italic;font-size:14px;text-align:center;color:AntiqueWhite;"
       r:5        style="font-weight:normal;font-size:14px;text-align:left;padding-left:0pt;color:RoyalBlue;"
     positions:
       WUweather.fc0_condition 3:2
       WUweather.fc0_humidity 8:2
       WUweather.fc0_icon 2:2
       WUweather.fc0_icon_night 2:3
       WUweather.fc0_low_c 7:2
       WUweather.fc0_pop 5:2
       WUweather.fc0_pop_night 5:3
       WUweather.fc0_snow_day 6:2
       WUweather.fc0_snow_night 6:3
       WUweather.fc0_text 4:2
       WUweather.fc0_text_night 4:3
       WUweather.fc0_title 1:2
       WUweather.fc0_title_night 1:3
       WUweather.fc0_wind_speed 9:2
       WUweather.fc1_condition 3:3
       WUweather.fc1_humidity 8:3
       WUweather.fc1_icon 2:4
       WUweather.fc1_icon_night 2:5
       WUweather.fc1_low_c 7:3
       WUweather.fc1_pop 5:4
       WUweather.fc1_pop_night 5:5
       WUweather.fc1_snow_day 6:4
       WUweather.fc1_snow_night 6:5
       WUweather.fc1_text 4:4
       WUweather.fc1_text_night 4:5
       WUweather.fc1_title 1:4
       WUweather.fc1_title_night 1:5
       WUweather.fc1_wind_speed 9:3
       WUweather.fc2_condition 3:4
       WUweather.fc2_humidity 8:4
       WUweather.fc2_icon 2:6
       WUweather.fc2_icon_night 2:7
       WUweather.fc2_low_c 7:4
       WUweather.fc2_pop 5:6
       WUweather.fc2_pop_night 5:7
       WUweather.fc2_snow_day 6:6
       WUweather.fc2_snow_night 6:7
       WUweather.fc2_text 4:6
       WUweather.fc2_text_night 4:7
       WUweather.fc2_title 1:6
       WUweather.fc2_title_night 1:7
       WUweather.fc2_wind_speed 9:4
       WUweather.fc3_condition 3:5
       WUweather.fc3_humidity 8:5
       WUweather.fc3_icon 2:8
       WUweather.fc3_icon_night 2:9
       WUweather.fc3_low_c 7:5
       WUweather.fc3_pop 5:8
       WUweather.fc3_pop_night 5:9
       WUweather.fc3_snow_day 6:8
       WUweather.fc3_snow_night 6:9
       WUweather.fc3_text 4:8
       WUweather.fc3_text_night 4:9
       WUweather.fc3_title 1:8
       WUweather.fc3_title_night 1:9
       WUweather.fc3_wind_speed 9:5
     valueColumns:
       fc0_condition colspan="2"
       fc0_humidity colspan="2"
       fc0_low_c  colspan="2"
       fc0_wind_speed colspan="2"
       fc1_condition colspan="2"
       fc1_humidity colspan="2"
       fc1_low_c  colspan="2"
       fc1_wind_speed colspan="2"
       fc2_condition colspan="2"
       fc2_humidity colspan="2"
       fc2_low_c  colspan="2"
       fc2_wind_speed colspan="2"
       fc3_condition colspan="2"
       fc3_humidity colspan="2"
       fc3_low_c  colspan="2"
       fc3_wind_speed colspan="2"
     valueIcon:
       fc0_icon   wunderground/black/svg/%VALUE
       fc0_icon_night wunderground/black/svg/%VALUE
       fc1_icon   wunderground/black/svg/%VALUE
       fc1_icon_night wunderground/black/svg/%VALUE
       fc2_icon   wunderground/black/svg/%VALUE
       fc2_icon_night wunderground/black/svg/%VALUE
       fc3_icon   wunderground/black/svg/%VALUE
       fc3_icon_night wunderground/black/svg/%VALUE
     values:
       formated:
         undef
         undef
         ARRAY(0x8d4b278)
         ARRAY(0x8c0f7f8)
         ARRAY(0x949f040)
         ARRAY(0x91bd680)
         ARRAY(0x8d7e3d8)
         ARRAY(0x8dc8450)
         ARRAY(0x98baac8)
         ARRAY(0x8958258)
       orig:
         undef
         undef
         ARRAY(0x9b45058)
         ARRAY(0x9165928)
         ARRAY(0x90276e8)
         ARRAY(0x9119790)
         ARRAY(0x8da1580)
         ARRAY(0x8bc02d8)
         ARRAY(0x8d71408)
         ARRAY(0x8e820d8)
       prefixsuffix:
         undef
         undef
         ARRAY(0x8db2978)
         ARRAY(0x8da55c8)
         ARRAY(0x895fe08)
         ARRAY(0x89d6b80)
         ARRAY(0x8a72e80)
         ARRAY(0x8d74718)
         ARRAY(0x8f38208)
         ARRAY(0x8d54c98)
Attributes:
   alias      4 - Tages Vorschau
   cellStyle  { "c:1"=>'style="font-weight:normal;font-size:14px;text-align:left;padding-left:0pt;color:LightSteelBlue;"', "r:1"=>'style="font-weight:normal;font-size:14px;text-align:center;color:LightSteelBlue;"', "r:2"=>'style="font-weight:normal;font-size:14px;text-align:center;padding-left:0pt;color:LightSteelBlue;"', "r:3"=>'style="font-weight:normal;font-size:14px;text-align:center;color:RoyalBlue;"', "r:4"=>'style="font-weight:italic;font-size:14px;text-align:center;color:AntiqueWhite;"', "r:5"=>'style="font-weight:normal;font-size:14px;text-align:left;padding-left:0pt;color:RoyalBlue;"'}
   group      Resse Wetter
   nonames    1
   nostate    1
   room       Wettervorhersage
   sortby     51
   style      style="border:0px;background:none;box-shadow:none"
   valueColumns { 'fc0_condition' => 'colspan="2"', 'fc1_condition' => 'colspan="2"', 'fc2_condition' => 'colspan="2"', 'fc3_condition' => 'colspan="2"', 'fc0_low_c' => 'colspan="2"', 'fc1_low_c' => 'colspan="2"', 'fc2_low_c' => 'colspan="2"', 'fc3_low_c' => 'colspan="2"', 'fc0_humidity' => 'colspan="2"', 'fc1_humidity' => 'colspan="2"', 'fc2_humidity' => 'colspan="2"', 'fc3_humidity' => 'colspan="2"', 'fc0_wind_speed' => 'colspan="2"', 'fc1_wind_speed' => 'colspan="2"', 'fc2_wind_speed' => 'colspan="2"', 'fc3_wind_speed' => 'colspan="2"' }
   valueFormat {
fc0_low_c => "{'$VALUE °C | ' . ReadingsVal('WUweather','fc0_high_c',0) .  ' °C'}" , fc1_low_c => "{'$VALUE °C | ' . ReadingsVal('WUweather','fc1_high_c',0) .  ' °C'}" , fc2_low_c => "{'$VALUE °C | ' . ReadingsVal('WUweather','fc2_high_c',0) .  ' °C'}" , fc3_low_c => "{'$VALUE °C | ' . ReadingsVal('WUweather','fc3_high_c',0) .  ' °C'}" ,
fc0_humidity => '%.0f %%' , fc1_humidity => '%.0f %%' , fc2_humidity => '%.0f %%' , fc3_humidity => '%.0f %%' ,
fc0_wind_speed => "{'$VALUE km/h (' . ReadingsVal('WUweather','fc0_wind_speed_max','') . ' km/h) ' }" , fc1_wind_speed => "{'$VALUE km/h (' . ReadingsVal('WUweather','fc1_wind_speed_max','') . ' km/h) ' }" , fc2_wind_speed => "{'$VALUE km/h (' . ReadingsVal('WUweather','fc2_wind_speed_max','') . ' km/h) ' }" , fc3_wind_speed => "{'$VALUE km/h (' . ReadingsVal('WUweather','fc3_wind_speed_max','') . ' km/h) ' }" ,
fc0_pop => "{'$VALUE % | ' . ReadingsVal('WUweather','fc0_rain_day','') . ' mm'}" , fc0_pop_night => "{'$VALUE % | ' . ReadingsVal('WUweather','fc0_rain_night','') . ' mm'}" , fc1_pop => "{'$VALUE % | ' . ReadingsVal('WUweather','fc1_rain_day','') . ' mm'}" , fc1_pop_night => "{'$VALUE % | ' . ReadingsVal('WUweather','fc1_rain_night','') . ' mm'}"  , fc2_pop => "{'$VALUE % | ' . ReadingsVal('WUweather','fc2_rain_day','') . ' mm'}" , fc2_pop_night => "{'$VALUE % | ' . ReadingsVal('WUweather','fc2_rain_night','') . ' mm'}"  , fc3_pop => "{'$VALUE % | ' . ReadingsVal('WUweather','fc3_rain_day','') . ' mm'}" , fc3_pop_night => "{'$VALUE % | ' . ReadingsVal('WUweather','fc3_rain_night','') . ' mm'}" ,
fc0_snow_day => '%.0f mm' , fc0_snow_night => '%.0f mm' , fc1_snow_day => '%.0f mm' , fc1_snow_night => '%.0f mm'  , fc2_snow_day => '%.0f mm' , fc2_snow_night => '%.0f mm'  , fc3_snow_day => '%.0f mm' , fc3_snow_night => '%.0f mm' ,
}
   valueIcon  { 'fc0_icon' => 'wunderground/black/svg/%VALUE' , 'fc1_icon' => 'wunderground/black/svg/%VALUE' , 'fc2_icon' => 'wunderground/black/svg/%VALUE' , 'fc3_icon' => 'wunderground/black/svg/%VALUE' , 'fc0_icon_night' => 'wunderground/black/svg/%VALUE' , 'fc1_icon_night' => 'wunderground/black/svg/%VALUE' , 'fc2_icon_night' => 'wunderground/black/svg/%VALUE' , 'fc3_icon_night' => 'wunderground/black/svg/%VALUE' }
   valueStyle {return 'style="text-align:center;font-weight:normal"' if($READING =~ m/title/); return 'style="text-align:center"'
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 03 August 2017, 10:24:17
Hallo,

da sind wir ja schon zwei im Bunde.

Zitat:
       r:1        style="font-weight:normal;font-size:14px;text-align:center;color:LightSteelBlue;"
       r:2        style="font-weight:normal;font-size:14px;text-align:center;padding-left:0pt;color:LightSteelBlue;"
       r:3        style="font-weight:normal;font-size:14px;text-align:center;color:RoyalBlue;"
       r:4        style="font-weight:italic;font-size:14px;text-align:center;color:AntiqueWhite;"
       r:5        style="font-weight:normal;font-size:14px;text-align:left;padding-left:0pt;color:RoyalBlue;"

Das sind alles nur style - Angaben für den Text. Für die Zelle gibt es:
vertical-align:center; horizontal-align:center;

Aber bei mir klappt es trotzdem nicht.
Wenn man sich den html - Code ansieht für eine Zelle:

<td><div style=... Die angaben von cellStyle> ...Icon und Text </div></td>

Ich bin mir nicht sicher, ob die styles für die Zellausrichtung nicht schon im <td> - Teil stehen müssten, dafür bin ich zu wenig vertraut mit dem htmp / css - Kram.

Was ich noch probiert habe, ist die cellStyle - Definitionen in eine eigene css - Datei zu legen, wäre nämlich eleganter:

attr WEBphone CssFiles pgm2/darkiphone.css

und dort steht dann bspw:

/* Datei darkiphone.css */
#ButtonIcon {vertical-align:center; horizontal-align:center;
text-align: center; 
     font-size:10px;
font-color:#ffffff;
}


Das Attribut für eine Zelle in der rg sollte dann so lauten:

attr rg cellStyle {'r:1,c:2' => 'id="ButtonIcon"'}

Klappt aber nicht. Vielleicht liest hier ein css - Experte mit und kann da helfen.

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 03 August 2017, 12:39:36
Zitat von: Elektrolurch am 03 August 2017, 10:24:17
Das sind alles nur style - Angaben für den Text. Für die Zelle gibt es:
vertical-align:center; horizontal-align:center;

Ja, dass ist mir schon klar... habe es damit ja auch probiert und so wie du es sagst es funktionierte bei mir auch nicht, deshalb habe ich es gar nicht erst erwähnt  ;)

Na mal schauen ob jemand das hinbekommt...!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 07 August 2017, 15:37:28
Hallo moonsorrox,

da wir ja das gleiche Problem hatten, habe ich etwas an der eadingsGroup herumgebastelt:

Der cellStyle wirkt jetzt auch die <td> ... </td> Klammer, so dass man nun auch die Breite, Ränder usw. von Zellen verändern kann.
Ich habe es sowohl mit css class als auch id in einer eigenen Datei ausprobiert.
Die fügt man der Web-Instanz über das Attribut CssFiles <Dateipfad> (wurzel das Verzeichnis www) hinzu. Z.B.
attr WEBphone CssFiles pgms/mystyle.css
Inhalt (beispiel) für zentrierte Icons:
.IconwithLabel {width:64px; vertical-align:middle; horizontal-align:center; text-align: center; font-size:10px;
font-color:ffffff;}

.PowerButton {
font-color:f88000;
border:2px solid #ff0000;
  border-collapse: separate; /* initial-Wert */   
border-spacing: 4px;
/*        background: #003344;*/
box-shadow:2px 2px 0px #000;
      border-radius:2px;
}

.ButtonList {width:25%;
font-color:ffffff;
}

Um z.B. nun eine Reihe von Audio-Knöpfen zu bekommen (vier Stück schön ausgerichtet nebeneinander)
attr VolumenButtons_rg cellStyle {'r:1' => 'class="IconwithLabel PowerButton ButtonList"'}


Dann habe ich bei der Erzeugung des html der readingsGroup bei jedem </td> noch ein \n eingefuegt, dass erleichert erheblich, sich den Quelltext der Seite anzusehen.

Damit man nun aber erst so richtig komfortabel mit css arbeiten kann, habe ich noch ein Attribut tableStyle hinzugefügt, unterstützt aber derzeit auch nur einen weiteren Klassennamen in die Tabellendefinition des html-outputs zu schreiben.
$ret .= "<tr><td><table class=\"block wide $class_style\">";
Wie man sieht, gibt es bei jeder rg standardmässig die Klasse block und wide, die nun noch individuell um eine weitere per Attribut tableStyle gesetzte Klasse ergänzt werden kann.

Beispiel:

attr .*Geraete_rg tableStyle class="Powerknopf"
also class und "" nicht vergessen.
Damit kann man dann per css-Files die Icons für diese Klasse "PowerKnopf" wieder anders gestalten.

Ach ja: Wenn Zeilen ausgeblendet wurden, dann wurde cellStyle um display:"none" ergaenzt. Ich habe das mal durch cell_style = "display:"none"; ersetzt. Wenn nichts angezeigt werden soll, braucht man auch die style nicht, oder sehe ich das falsch?

Ich hänge mal die geänderte 33_readingsGroup.pm hier an.
Vielleicht kann ja Andre die Änderungen übernehmen....

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 07 August 2017, 23:19:50
Hallo Elektrolurch...

das ist toll das du dieses in Angriff genommen hast, aber auch sehr aufwendig... da muss ich erst einmal wieder in meinen CSS/HTML Kenntnissen herum suchen... das an einem ruhigen Tag wenn mal Zeit ist.
Ob ich das so umsetze weiß ich noch nicht evtl. gibt es mal von André eine einfachere Variante über das cellStyle Attribut...
Ich lebe erst einmal mit den linksbündig angezeigten Icons, weil ich grad nicht soviel Zeit habe...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 08 August 2017, 08:50:40
Hallo moonsorrox ,

natürlich kannst Du weiterhin die cellStyle auch direkt angeben:

attr rg cellStyle {'r:1' => 'style="...."', ....}

Und da diese jetzt in der td - Klammer sind, geht auch vertikale und horizontale Ausrichtung in einer Zelle.
Mit der class - Definition und in eine CssFiles daas auszulagern, macht halt die Pflege und Anpassung einfacher. Daher gleich der generelle Ansatz.
Aber ansonsten funktioniert es wie bisher.

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 08 August 2017, 10:42:04
EDIT:// ich hatte etwas vergessen , jetzt geht es...!!! ;) :D Danke
tableStyle IconwithLabel

ich habe noch etwas festgestellt horizontal-align funktioniert nicht mehr, oder wird wohl nicht mehr verwendet weil er es bei mir in meinem Editor ausgraut...!!


ich hatte jetzt etwas Zeit, aber es klappt bei mir nicht.

Da ich für meinen Style schon eine .css Datei hatte, habe ich folgendes eingetragen.
/* Wettericons zentriert */
.IconwithLabel {
width: 64px;
vertical-align:middle; horizontal-align:center;
text-align: center;
font-size:10px;
color:ffffff;
}


Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 08 August 2017, 11:06:34
1. Hast Du die externe Csss-Datei bei Deiner Web-Instanz mit dem Attribut CssFiles und dem richtigen Pfad auch bekannt gemacht?
2. Wie hast Du die cellStyle eingegeben?
Falls über die Kommandline, dann musst Du ja die ; verdoppeln.
Mal mit displayattr kontrollieren.

Wenn Du die bisherige 33_readingsGroup.pm - Datei durch meine version ersetzt hast, musst Du entweder

reload FHEM/33_readingsGroup.pm

eingeben oder mal einen Neustrt durchführen, sonst geht es nicht.

Elektrolurch

Titel: Antw:Neues Modul readingsGroup
Beitrag von: moonsorrox am 08 August 2017, 11:30:20
habe oben editiert, es geht jetzt

zu 1. ja habe ich die gab es ja vorher schon...

Bei einem Neustart bekomme ich aber folgende 2 Perl-Fehleranzeigen


2017.08.08 10:52:28 1: PERL WARNING: Invalid conversion in sprintf: "% |" at ./FHEM/33_readingsGroup.pm line 1466.

2017.08.08 10:47:45 1: PERL WARNING: Invalid conversion in sprintf: "% |" at ./FHEM/33_readingsGroup.pm line 544.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 08 August 2017, 12:31:07
Die genannte Zeilen haben nichts mit meinen Änderungen zu tun. Du hast irgendwo eine valueFormat - Anweisung mit einem % - Zeichen drin.....
die von sprintf nicht korrekt verarbeitet werden kann. Vielleicht hast Du zwei % Zeichen drin? Musste man ja früher escapen, da ja in fhem das % - Zeichen eine sprezielle Bedeutung hatte, aber jetzt ist das, so glaube ich, ja gelöst. Oder so ähnlich?

Titel: Antw:Neues Modul readingsGroup
Beitrag von: Gisbert am 10 August 2017, 22:08:10
Hallo,

ich hab das gleiche Problem wie in einem Beitrag aus 2014: https://forum.fhem.de/index.php/topic,14425.msg187699.html#msg187699 (https://forum.fhem.de/index.php/topic,14425.msg187699.html#msg187699)

Zitat von: awel am 29 Juli 2014, 22:54:15
Ausrichtung 1.Spalte mit SVG bei Style SmallScreen

Hallo und vielen Dank für das tolle Modul.

Ich habe ein Problem bei Verwendung eines Styles vom Typ SmallScreen (darksmallscreen, ios7smallscreen und [default] smallscreen):

Es handelt sich um eine Anrufliste mit der svg-Garfik in der ersten Spalte. Beim Style Smallscreen wird diese erste Spalte unnötig breit -breiter als alle anderen Elemente des rooms- dargestellt, während gleichzeitig die svg-Grafik ganz rechts in der Spalte sitzt.
Wie bekomme ich im Smallscreen die readingsgroup-Tabelle passend?
Als Anlage 2 Screenshots.

Vielen Dank für jede Hilfe oder Anpassung des Moduls,
awel
So (ähnlich) wie im Bild (aus dem Jahr 2014) sieht es bei mir auch aus.
Dort wurde zwar eine Lösung gefunden, aber nicht genau genug beschrieben, wie sie funktioniert.
Vielleicht kann mir hier jemand helfen.

Viele Grüße Gisbert
Titel: Antw:Neues Modul readingsGroup
Beitrag von: TWART016 am 30 September 2017, 13:33:22
Ich bekomme ich FHEM Log immer wieder den Fehler:

PERL WARNING: Useless use of reference constructor in void context at (eval 860220) line 8


2017.09.30 00:04:28 1: stacktrace:
2017.09.30 00:04:28 1: PERL WARNING: Useless use of reference constructor in void context at (eval 860220) line 8.
2017.09.30 00:04:28 1:     main::CallFn                        called by fhem.pl (692)
2017.09.30 00:04:28 1:     main::FW_Read                       called by fhem.pl (3448)
2017.09.30 00:04:28 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (548)
2017.09.30 00:04:28 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (1065)
2017.09.30 00:04:28 1:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1879)
2017.09.30 00:04:28 1:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1209)
2017.09.30 00:04:28 1:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1109)
2017.09.30 00:04:28 1:     main::lookup2                       called by ./FHEM/33_readingsGroup.pm (647)
2017.09.30 00:04:28 1:     (eval)                              called by ./FHEM/33_readingsGroup.pm (357)
2017.09.30 00:04:28 1:     main::__ANON__                      called by (eval 860220) (5)


Das readingsgroup Device habe ich eigentlich auf attr disable 1.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 02 Oktober 2017, 09:07:19
@TWART016: mit deinem valueStyle ist vermutlich etwas komisch. zeig mal bitte ein list.
disable 1 verhindert nur das events ausgeartet werden. die readingsGroup wird noch angezeigt.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 02 Oktober 2017, 09:08:26
warum sollte cmdalias falsch sein.

du möchtest den wert den ein set entgegen nimmt ändern bevor er verwendet wird. dafür ist cmdalias genau richtig.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: TWART016 am 07 Oktober 2017, 15:10:29
ValueStyle habe ich gar nicht.
Internals:
   DEF        <Sender>,<Ab>,<Aktuelle Sendung>,<Ab>,<Nachfolgende Sendung>
mod_TV_Programme:Das_Erste_time,Das_Erste,Das_Erste_next_time,Das_Erste_next
mod_TV_Programme:ZDF_time,ZDF,ZDF_next_time,ZDF_next
mod_TV_Programme:SWR_BW_time,SWR_BW,SWR_BW_next_time,SWR_BW_next
mod_TV_Programme:Pro7_MAXX_time,Pro7_MAXX,Pro7_MAXX_next_time,Pro7_MAXX_next
mod_TV_Programme:Sport_1_time,Sport_1,Sport_1_next_time,Sport_1_next
mod_TV_Programme:Eurosport_time,Eurosport,Eurosport_next_time,Eurosport_next
mod_TV_Programme:RTL_time,RTL,RTL_next_time,RTL_next
mod_TV_Programme:Sat1_time,Sat1,Sat1_next_time,Sat1_next
mod_TV_Programme:Pro7_time,Pro7,Pro7_next_time,Pro7_next
mod_TV_Programme:RTL2_time,RTL2,RTL2_next_time,RTL2_next
mod_TV_Programme:VOX_time,VOX,VOX_next_time,VOX_next
mod_TV_Programme:Kabel_eins_time,Kabel_eins,Kabel_eins_next_time,Kabel_eins_next
mod_TV_Programme:DMAX_time,DMAX,DMAX_next_time,DMAX_next
mod_TV_Programme:N24_time,N24,N24_next_time,N24_next
mod_TV_Programme:NTV_time,NTV,NTV_next_time,NTV_next
mod_TV_Programme:WDR_time,WDR,WDR_next_time,WDR_next
mod_TV_Programme:NDR_time,NDR,NDR_next_time,NDR_next
mod_TV_Programme:MDR_time,MDR,MDR_next_time,MDR_next
mod_TV_Programme:Bayern_time,Bayern,Bayern_next_time,Bayern_next
mod_TV_Programme:HR_time,HR,HR_next_time,HR_next
mod_TV_Programme:RBB_time,RBB,RBB_next_time,RBB_next
   NAME       TV_Programm_Next
   NR         632
   NTFY_ORDER 50-TV_Programm_Next
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CONTENT:
     mod_TV_Programme 1
   CONTENT2:
   DEVICES:
     ARRAY(0x73a3b98)
     ARRAY(0x71fdd60)
     ARRAY(0x79482c8)
     ARRAY(0x71fb1d8)
     ARRAY(0x75b6568)
     ARRAY(0x71d7418)
     ARRAY(0x71f7868)
     ARRAY(0x7488ed8)
     ARRAY(0x731bad0)
     ARRAY(0x75b5058)
     ARRAY(0x71ff9d0)
     ARRAY(0x77220b0)
     ARRAY(0x71f8580)
     ARRAY(0x235b578)
     ARRAY(0x6d2a588)
     ARRAY(0x6bf0098)
     ARRAY(0x75b5550)
     ARRAY(0x7723408)
     ARRAY(0x748dff8)
     ARRAY(0x6d2c778)
     ARRAY(0x731ff10)
     ARRAY(0x7572308)
   fhem:
     lastDefChange 2
     last_update 1507381719.90025
   helper:
     DEF
     nameStyle  style="font-weight:bold;  text-align:center"
     nameIcon:
       ARTE_time  tv/tvlogo_arte_s
       Bayern_time tv/tvlogo_bayern_s
       COMEDYCENTRAL_time tv/comedy_central
       DMAX_time  tv/tvlogo_dmax_s
       DREISAT_time tv/tvlogo_3sat_s
       Das_Erste_time tv/tvlogo_ard_s
       EINSFESTIVAL_time tv/tvlogo_eins-festival_s
       EINSPLUS_time tv/tvlogo_eins-plus_s
       Eurosport_time tv/tvlogo_eurosport_s
       HR_time    tv/tvlogo_hr_s
       Kabel_eins_time tv/tvlogo_kabel-eins_s
       MDR_time   tv/tvlogo_mdr_s
       N24_time   tv/tvlogo_n24_s
       NDR_time   tv/tvlogo_ndr_s
       NTV_time   tv/tvlogo_n-tv_s
       Pro7_MAXX_time tv/tvlogo_pro7maxx_s
       Pro7_time  tv/tvlogo_pro7_s
       RBB_time   tv/tvlogo_rbb_s
       RTL2_time  tv/tvlogo_rtl2_s
       RTLNITRO_time tv/rtl_nitro
       RTL_time   tv/tvlogo_rtl_s
       SAT1GOLD_time tv/tvlogo_sat1_rgb_sat1gold
       SIXX_time  tv/sixx
       SUPERRTL_time tv/tvlogo_super_rtl_logo
       SWR_BW_time tv/tvlogo_swr-bw_s
       Sat1_time  tv/tvlogo_sat1_s
       Sport_1_time tv/tvlogo_sport-1_s
       TELE5_time tv/tvlogo_tele-5_s
       VOX_time   tv/tvlogo_vox_s
       WDR_time   tv/tvlogo_wdr_s
       ZDFNEO_time tv/tvlogo_zdf-neo_s
       ZDF_time   tv/tvlogo_zdf_s
     positions:
       mod_TV_Programme.Bayern 20:2
       mod_TV_Programme.Bayern_next 20:4
       mod_TV_Programme.Bayern_next_time 20:3
       mod_TV_Programme.Bayern_time 20:1
       mod_TV_Programme.DMAX 14:2
       mod_TV_Programme.DMAX_next 14:4
       mod_TV_Programme.DMAX_next_time 14:3
       mod_TV_Programme.DMAX_time 14:1
       mod_TV_Programme.Das_Erste 2:2
       mod_TV_Programme.Das_Erste_next 2:4
       mod_TV_Programme.Das_Erste_next_time 2:3
       mod_TV_Programme.Das_Erste_time 2:1
       mod_TV_Programme.Eurosport 7:2
       mod_TV_Programme.Eurosport_next 7:4
       mod_TV_Programme.Eurosport_next_time 7:3
       mod_TV_Programme.Eurosport_time 7:1
       mod_TV_Programme.HR 21:2
       mod_TV_Programme.HR_next 21:4
       mod_TV_Programme.HR_next_time 21:3
       mod_TV_Programme.HR_time 21:1
       mod_TV_Programme.Kabel_eins 13:2
       mod_TV_Programme.Kabel_eins_next 13:4
       mod_TV_Programme.Kabel_eins_next_time 13:3
       mod_TV_Programme.Kabel_eins_time 13:1
       mod_TV_Programme.MDR 19:2
       mod_TV_Programme.MDR_next 19:4
       mod_TV_Programme.MDR_next_time 19:3
       mod_TV_Programme.MDR_time 19:1
       mod_TV_Programme.N24 15:2
       mod_TV_Programme.N24_next 15:4
       mod_TV_Programme.N24_next_time 15:3
       mod_TV_Programme.N24_time 15:1
       mod_TV_Programme.NDR 18:2
       mod_TV_Programme.NDR_next 18:4
       mod_TV_Programme.NDR_next_time 18:3
       mod_TV_Programme.NDR_time 18:1
       mod_TV_Programme.NTV 16:2
       mod_TV_Programme.NTV_next 16:4
       mod_TV_Programme.NTV_next_time 16:3
       mod_TV_Programme.NTV_time 16:1
       mod_TV_Programme.Pro7 10:2
       mod_TV_Programme.Pro7_MAXX 5:2
       mod_TV_Programme.Pro7_MAXX_next 5:4
       mod_TV_Programme.Pro7_MAXX_next_time 5:3
       mod_TV_Programme.Pro7_MAXX_time 5:1
       mod_TV_Programme.Pro7_next 10:4
       mod_TV_Programme.Pro7_next_time 10:3
       mod_TV_Programme.Pro7_time 10:1
       mod_TV_Programme.RBB 22:2
       mod_TV_Programme.RBB_next 22:4
       mod_TV_Programme.RBB_next_time 22:3
       mod_TV_Programme.RBB_time 22:1
       mod_TV_Programme.RTL 8:2
       mod_TV_Programme.RTL2 11:2
       mod_TV_Programme.RTL2_next 11:4
       mod_TV_Programme.RTL2_next_time 11:3
       mod_TV_Programme.RTL2_time 11:1
       mod_TV_Programme.RTL_next 8:4
       mod_TV_Programme.RTL_next_time 8:3
       mod_TV_Programme.RTL_time 8:1
       mod_TV_Programme.SWR_BW 4:2
       mod_TV_Programme.SWR_BW_next 4:4
       mod_TV_Programme.SWR_BW_next_time 4:3
       mod_TV_Programme.SWR_BW_time 4:1
       mod_TV_Programme.Sat1 9:2
       mod_TV_Programme.Sat1_next 9:4
       mod_TV_Programme.Sat1_next_time 9:3
       mod_TV_Programme.Sat1_time 9:1
       mod_TV_Programme.Sport_1 6:2
       mod_TV_Programme.Sport_1_next 6:4
       mod_TV_Programme.Sport_1_next_time 6:3
       mod_TV_Programme.Sport_1_time 6:1
       mod_TV_Programme.VOX 12:2
       mod_TV_Programme.VOX_next 12:4
       mod_TV_Programme.VOX_next_time 12:3
       mod_TV_Programme.VOX_time 12:1
       mod_TV_Programme.WDR 17:2
       mod_TV_Programme.WDR_next 17:4
       mod_TV_Programme.WDR_next_time 17:3
       mod_TV_Programme.WDR_time 17:1
       mod_TV_Programme.ZDF 3:2
       mod_TV_Programme.ZDF_next 3:4
       mod_TV_Programme.ZDF_next_time 3:3
       mod_TV_Programme.ZDF_time 3:1
     values:
       formated:
         undef
         ARRAY(0x6bd70e0)
         ARRAY(0x71ff5e0)
         ARRAY(0x6bd6f60)
         ARRAY(0x71f9898)
       orig:
         undef
         ARRAY(0x794c220)
         ARRAY(0x6bd72d8)
         ARRAY(0x71dfdf8)
         ARRAY(0x75b49f8)
       prefixsuffix:
         undef
         ARRAY(0x7200a48)
         ARRAY(0x73f9c20)
         ARRAY(0x7951ba8)
         ARRAY(0x71fbb68)
Attributes:
   comment    http://www.klack.de/fernsehprogramm/2015-im-tv/0/-1/free.html
   disable    1
   nameIcon   { Das_Erste_time => 'tv/tvlogo_ard_s', ZDF_time => 'tv/tvlogo_zdf_s', Pro7_time => 'tv/tvlogo_pro7_s', RTL_time => 'tv/tvlogo_rtl_s', Sat1_time => 'tv/tvlogo_sat1_s', Kabel_eins_time => 'tv/tvlogo_kabel-eins_s', VOX_time => 'tv/tvlogo_vox_s', RTL2_time => 'tv/tvlogo_rtl2_s', DMAX_time => 'tv/tvlogo_dmax_s', SUPERRTL_time => 'tv/tvlogo_super_rtl_logo', NDR_time => 'tv/tvlogo_ndr_s', Bayern_time => 'tv/tvlogo_bayern_s', HR_time => 'tv/tvlogo_hr_s', MDR_time => 'tv/tvlogo_mdr_s', RBB_time => 'tv/tvlogo_rbb_s', SWR_BW_time => 'tv/tvlogo_swr-bw_s', WDR_time => 'tv/tvlogo_wdr_s', ZDFNEO_time => 'tv/tvlogo_zdf-neo_s', RTLNITRO_time => 'tv/rtl_nitro', SAT1GOLD_time => 'tv/tvlogo_sat1_rgb_sat1gold',  SIXX_time => 'tv/sixx', TELE5_time => 'tv/tvlogo_tele-5_s', DREISAT_time => 'tv/tvlogo_3sat_s', EINSPLUS_time => 'tv/tvlogo_eins-plus_s', EINSFESTIVAL_time => 'tv/tvlogo_eins-festival_s', Sport_1_time => 'tv/tvlogo_sport-1_s', Eurosport_time => 'tv/tvlogo_eurosport_s', N24_time => 'tv/tvlogo_n24_s', COMEDYCENTRAL_time => 'tv/comedy_central', ARTE_time => 'tv/tvlogo_arte_s', NTV_time => 'tv/tvlogo_n-tv_s', Pro7_MAXX_time => 'tv/tvlogo_pro7maxx_s'}

   nameStyle  style="font-weight:bold;  text-align:center"
   style      style="font-size:18px"
Titel: Antw:Neues Modul readingsGroup
Beitrag von: knxler am 11 Oktober 2017, 12:17:55
Hallo,

ich versuche nun seit einigen Stunden in meiner readingsGroup meinen Readings über das Attribut mapping Namen zu vergeben.
Leider bekomme ich es nicht hin und ich weiß nicht was ich falsch mache.
Die Readings werden über das Modul VCONTROL erzeugt.
Meine readingsGroup hat folgende Definitionen:

define rg_Heizung2 readingsGroup <                   >,<Ist>,<Soll> Heizung:Heizung-Raumtemperatur,<soll1> Heizung:Fussbodenheizung-Raumtemperatur,<soll2> Heizung:Heizung-reduzierte-Raumtemperatur,<soll3>
attr rg_Heizung2 alias Heizungssteuerung
attr rg_Heizung2 commands {'rg_Heizung2.soll1'=>'HK1_Raum_Solltemp:15,19,20,21,22,23,24','rg_Heizung2.soll2'=>'HK2_Raum_Solltemp:15,19,22,21,22,23,24','rg_Heizung2.soll3'=>'HK1_red_Raumtemp:15,19,22,21,22,23,24'}
attr rg_Heizung2 group Test
# attr rg_Heizung2 mapping $DEVICE-$READING
# attr rg_Heizung2 mapping {'Heizung-Raumtemperatur'=>'x','Fussbodenheizung-Raumtemperatur'=>'y','Heizung-reduzierte-Raumtemperatur'=>'z'}
# attr rg_Heizung2 mapping {'Heizung:Heizung-Raumtemperatur'=>'x','Heizung:Fussbodenheizung-Raumtemperatur'=>'y','Heizung:Heizung-reduzierte-Raumtemperatur'=>'z'}
attr rg_Heizung2 mapping $READING
attr rg_Heizung2 nameStyle style="color:yellow;;font-weight:bold"
attr rg_Heizung2 room Heizung


Die Werte in den Readings werden richtig angezeigt und können auch über das erzeugte Dropdown Menü verändert werden.
Ich habe diverse Kombinationen ausprobiert. Unter anderem auch die Auskommentierten.
Leider wird entweder kein Name angezeigt oder bei jedem Reading nur "Heizung".
Was mache ich falsch?

Gruß Martin
Titel: Antw:Neues Modul readingsGroup
Beitrag von: linuzer am 27 Oktober 2017, 00:32:23
Hallo,

ich wollte mal fragen, was ist denn der gewünschte/vorgesehen Weg, um Bugs im Code von ReadingsGroup zu reporten?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: accessburn am 03 November 2017, 13:55:35
Hallo,
ich binde, wie es auf dem angehängten Bild zu sehen ist, Ventile plus einen Wandthermostat zusammen ein. Kann ich irgendwie den Versatz kompensieren da das Wandgerät keinen Ventilstatus hat?
Sieht halt etwas doof aus so.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Motivierte linke Hände am 04 November 2017, 10:12:18
Wie sieht denn Deine Definition der Readingsgroup genau aus? Man kann "leere" Felder einfügen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: accessburn am 06 November 2017, 08:30:09
<Sensor>,<Ventil>,<Soll>,<Ist>,<Mode>,<Batterie>
DEF=(HeatingThermostat.*|WallMountedThermostat.*):valveposition,desiredTemperature,temperature,mode,battery
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Motivierte linke Hände am 06 November 2017, 09:28:48
Im Zweifelsfall musst Du die Thermostate einzeln auführen und dann bei dem einen ohne Ventilstatus ein "< >" statt "valveposition" in die Definition einfügen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: accessburn am 06 November 2017, 09:35:31
Das hatte ich befürchtet. Schade aber nicht tragisch :-)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: eisman am 06 November 2017, 09:42:51
Hi,

man könnte doch im Device ein userReadings mit valvePosition einfügen und z.B. auf leer oder X setzen

gruss
Titel: Antw:Neues Modul readingsGroup
Beitrag von: accessburn am 06 November 2017, 09:55:46
Zitat von: eisman am 06 November 2017, 09:42:51
Hi,

man könnte doch im Device ein userReadings mit valvePosition einfügen und z.B. auf leer oder X setzen

gruss

Treffer!
Danke für den Tipp :-)

setreading MAX_17a8af valveposition 0
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 06 November 2017, 14:53:16
dafür gibt es das valueColumn attribut. damit kann man readings an spalten ausrichten.

oder man verwendet den ! modifier um auch readings anzuzeigen die es garnicht gibt.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: linuzer am 07 November 2017, 12:11:27
@justme1968:

Hallo,

es scheint ein Problem mit dem Modul ReadingsGroup zu geben, das FHEM reproduzierbar zum Absturz bringt. Ich habe dieses hier (https://forum.fhem.de/index.php/topic,78337.0.html (https://forum.fhem.de/index.php/topic,78337.0.html)) beschrieben, aber leider keine Antwort bekommen. Ich habe daraufhin hier (https://forum.fhem.de/index.php/topic,14425.msg705211.html#msg705211 (https://forum.fhem.de/index.php/topic,14425.msg705211.html#msg705211)) gefragt, was die gewünschte Methode ist, um Fehler zu reporten, aber leider auch ohne Antwort...  :(

Deswegen versuche ich es jetzt nochmal hier, kurz zusammengefasst:

Folgt man der Wiki-Dokumentation (https://wiki.fhem.de/wiki/ReadingsGroup#Readings_aus_zus.C3.A4tzlichen_Devices und erstelle eine ReadingsGroup mit Werten aus min. 2 Devices (https://wiki.fhem.de/wiki/ReadingsGroup#Readings_aus_zus.C3.A4tzlichen_Devices%20und%20erstelle%20eine%20ReadingsGroup%20mit%20Werten%20aus%20min.%202%20Devices)) und erstellt eine ReadingsGroup mit Werten aus min. 2 verschiedenen Devices, so kommt schon sehr lange eine Warnung im Logfile, die eine "Unescaped left brace in regex" moniert, aber bisher lief es zumindest. Seit der Perl-Version 5.26.0 stürzt FHEM damit komplett ab!

Also entweder ist dies ein Fehler im Wiki, weil das so nicht mehr unterstützt wird und/oder weil es einen (mir unbekannten) Workaround gibt, dann sollte man das Wiki anpassen.
Oder es ist ein Fehler in 33_readingsGroup.pm, der behoben werden sollte.

In beiden Fällen würde ich mich sehr über eine kurze Stellungnahme von dir, justme1968 freuen!

Vielen Dank, auch für die bisher geleistete Arbeit!

VG linuzer
Titel: Antw:Neues Modul readingsGroup
Beitrag von: eisman am 07 November 2017, 12:22:00
hi,

ich habe mehrere verschieden readings und device in einer RG ohne Probleme
mit redings@"device"

gruss

PS:solltest vielleicht dein RG mit reinlegen sonst kann keiner den Fehler finden
Titel: Antw:Neues Modul readingsGroup
Beitrag von: linuzer am 07 November 2017, 12:37:55
Zitat von: eisman am 07 November 2017, 12:22:00
ich habe mehrere verschieden readings und device in einer RG ohne Probleme mit redings@"device"

Folge der Anleitung im Wiki und schreibe das 2. Device "dynamisch": ReadingFromSecondDevice@{valveOfDevice($DEVICE)} und Du bekommst mit Pearl < 5.26.0 eine Warnung im Log und mit >= 5.26.0 einen harten FHEM-Absturz!

Titel: Antw:Neues Modul readingsGroup
Beitrag von: eisman am 07 November 2017, 12:49:56
hi,

hatte ich mir gedacht, @{valveOfDevice($DEVICE)} habe ich nie zum laufen bekommen,
deswegen trage ich bei mir immer z.B. state@"Device" oder battery@"Device" ein,
es gehen einige dinge aus der wiki nicht, gibt aber auch immer eine andere Lösung,die
zu ziel führt. Wegen  "dynamisch" mit dem stehe ich zu Zeit auch auf Kriegsfuss, hatte
deswegen auch schon nachgefragt und warte auf eine Antwort von justme1968.
das kann er leider nur beantworten.

gruss

Titel: Antw:Neues Modul readingsGroup
Beitrag von: sfancy am 07 November 2017, 13:12:18
Naja, das Beispiel im Wiki kann nur funktionieren, wenn MAX-Thermostate eingesetzt werden und die Devices die gleiche Namensstruktur haben.

Wie heißen deine beteiligten Devices und Readings denn?
Wie sieht deine valveOfDevice Funktion in 99_myUtils.pm aus?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: eisman am 07 November 2017, 14:01:36
Hi, nö,

habe keine max nur HM-TC und geht doch, das es bei mir nicht ging war "eigene blöheit" >>99_myUtils.pm<< wenn man's auch so schreiben

also bei mir geht es mit debian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 November 2017, 20:38:44
sorry. ich hatte die threads mit dem regex problem nicht gesehen.

ich denke ich weiss woran es liegt. komme aber erst am wochenende dazu es zu reparieren.

gruss
  andre
Titel: Antw:Neues Modul readingsGroup
Beitrag von: linuzer am 08 November 2017, 00:16:29
Keine Eile!

Vielen Dank!

VG linuzer
Titel: Antw:Neues Modul readingsGroup
Beitrag von: eisman am 08 November 2017, 15:42:53
Hi,

mein Problem mit @Device hat sich erledigt, habe es selber Funktionsfähig hinbekommen,
Nur der Nutzen rechtfertigt den Aufwand nicht! Ich habe das Projekt verworfen und löse es
nun anders.

Ich brauche nur noch die Tag- und Nachtzeit + Temperatur (war schon als RG vorhanden),
der Rest wird über einen MicroSchalter automatisch gelöst. Wenn die Wohnungstür
abgeschlossen wird, fährt die Wohnung in den Nacht- bzw Alarmmodus.

gruss
Titel: Antw:Neues Modul readingsGroup
Beitrag von: wolfram am 14 November 2017, 12:09:08
Liebe Community,

ich benötige mal wieder Hilfe. Diesmal mit readingsgroup.

Ich hole mir das Fernsehprogramm über HTTPMOD und übergebe in die readingsgroup die aktuelle Sendung und die folgende. Das funktioniert alles auch ganz prima.
Klicke ich nun auf das Senderlogo, lande ich wieder in meinem HTTPMOD (siehe angehängtes Bild). Soweit so gut.

Frage: wie kann ich den Link hinter dem Logo so modifizieren, dass ich damit auf diesen Sender meines Enigma2 Receivers schalten kann? Der Receiver ist in fhem eingebunden und funktioniert. Mit einem

set VuPlus channel Das%20Erste

kann ich umschalten und genau das benötige ich als Link hinter den Senderlogos.

Ich  hoffe, ich habe mich verständlich ausgedrückt?! Leider bin ich beim Durchlesen dieses Threads nicht auf die Lösung gestoßen.

Danke und liebe Grüße
Wolf


Titel: Antw:Neues Modul readingsGroup
Beitrag von: Elektrolurch am 14 November 2017, 15:30:39
attr meine_rg commands {'LogoDasErste' => 'set VuPlus channel Das%20Erste', .... unf so weiter für jedes Logo }

' musst u natürlich auf den Namen Deines readings anpassen, welches das Logo darstellt.

Elektrolurch
Titel: Antw:Neues Modul readingsGroup
Beitrag von: wolfram am 14 November 2017, 19:23:07
Hallo Elektrolurch,

vielen Dank für Deine Antwort - leider muss ich noch einmal genau nachfragen, denn ich bekomme es noch nicht hin.

Mit dem Attribut:
commands {'ard' => 'set VuPlus channel Das%20Erste'}

Lande ich immer noch auf dem falschen Link.

Das Logo für "Das Erste" habe mit folgendem Attribut definiert:
nameicon {Das_Erste => 'tvmovie/ard', ZDF => 'tvmovie/zdf'....'}

Denn Sender habe ich so in meiner readingsgroup so definiert:
<Sender>,<Aktuelle Sendung>,<Ab>,<Nachfolgende Sendung>
TV_Programme:Das_Erste,Das_Erste_Nexttime,Das_Erste_Next


Ich habe es jetzt mit "ard", mit "Das_Erste" versucht, leider ohne Erfolg. Kannst Du mir noch einen Schubs in die richtige Richtung geben?

Edit: gebe ich "Das_Erste" nach Deinem Muster ein, führt das Logo immer an die gleiche (falsche) Stelle.

Danke und einen schönen Feierabend
wolf

Edit: Also, das "Problem" habe ich soweit eingegrenzt, dass ich den funktionierenden Link im Prinzip überall hinbekomme, nur nicht hinter das Senderlogo. ....ich "erreiche" nicht die Logospalte mit dem Link...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: linuzer am 15 November 2017, 01:25:55
Zitat von: justme1968 am 07 November 2017, 20:38:44
ich denke ich weiss woran es liegt. komme aber erst am wochenende dazu es zu reparieren.

Hallo Andre,

will nicht drängeln... nur neugierig nachfragen: Konntest Du das Problem finden/lösen?

LG linuzer
Titel: Antw:Neues Modul readingsGroup
Beitrag von: linuzer am 25 November 2017, 17:16:52
Zitat von: linuzer am 15 November 2017, 01:25:55
Hallo Andre,
Zitat von: justme1968 am 07 November 2017, 20:38:44
sorry. ich hatte die threads mit dem regex problem nicht gesehen.

ich denke ich weiss woran es liegt. komme aber erst am wochenende dazu es zu reparieren.

gruss
  andre
will nicht drängeln... nur neugierig nachfragen: Konntest Du das Problem finden/lösen?

LG linuzer

Hallo Andre,

Kann ich denn bei irgend etwas behilflich sein? Z.B. testen, zur Verfügung stellen weiterer Informationen, etc.?
...ich wäre wirklich sehr froh, wenn meine ReadingsGroup wieder funktionieren würde...!

Viele Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cwagner am 09 Januar 2018, 08:22:31
Gibt es eigentlich eine Möglichkeit, etwas mehr Abstand zwischen dem Spaltentrenner | vorzusehen. Bei mir ist das alles ein bisschen sehr eng, siehe Screenshot.

Herzliche Grüße

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: marvin78 am 09 Januar 2018, 10:22:35
Ein eigenes style anlegen, welches deinen Style importiert und folgendes einbauen

.wide td {
  padding:4px;
}
Titel: Antw:Neues Modul readingsGroup
Beitrag von: cwagner am 09 Januar 2018, 11:10:25
Zitat von: marvin78 am 09 Januar 2018, 10:22:35
Ein eigenes style anlegen, welches deinen Style importiert und folgendes einbauen

.wide td {
  padding:4px;
}


Ganz herzlichen Dank - wieder was gelernt, das war es!

Christian
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Homalix99 am 07 Februar 2018, 20:09:35
Hallo!
Ich habe scheinbar ein Verständnisproblem mit Readingsgroup.
Ich möchte mir die Wetterdaten einer WS1600 anzeigen lassen und zwar in der 2. Spalte von links die aktuellen Werte und bei Temp. und Humidity die Min/Max.Werte (siehe Bild).
Sobald ich aber in einer Zeile wie in Zeile 2 und 3 diese weiteren Readings hinzufüge, stellt mir die RG in den beiden Zeilen 2 und 3 nur noch den Devicenamen dar, so dass ich kein Mapping mehr vornehmen kann, wenn 2 Zeilen gleich heissen.
Ich möchte, daß die 1. Spalte so dargestellt wird:
WS_1600:temperature
WS_1600:humidity
WS_1600:dewpoint
WS_1600:rain
WS_1600:windSpeed
WS_1600:windDirectionDegree
WS_1600:windDirectionText
WS_1600:windGust
Wetterdaten2:twc_o

und nicht, wie im Bild ohne temperature und humidity

Hier das List zur RG:

Internals:
   DEF        <%weather_cloudy>,<Aktuell>,<Historie>
WS_1600:temperature,<MAX:>,temperature_day_max@Wetterdaten2,<MIN:>,temperature_day_min@Wetterdaten2
WS_1600:humidity,<MAX:>,humidity_day_max@Wetterdaten2,<MIN:>,humidity_day_min@Wetterdaten2 
WS_1600:dewpoint
WS_1600:rain
WS_1600:windSpeed
WS_1600:windDirectionDegree
WS_1600:windDirectionText
WS_1600:windGust
Wetterdaten2:twc_o
   NAME       Wetterstation
   NR         1025
   NTFY_ORDER 50-Wetterstation
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CONTENT:
     WS_1600    1
     Wetterdaten2 1
   CONTENT2:
     Wetterdaten2 1
   DEVICES:
     ARRAY(0x3e0ab40)
     ARRAY(0x4582000)
     ARRAY(0x44a4618)
     ARRAY(0x47d2a98)
     ARRAY(0x3f90530)
     ARRAY(0x43e6a88)
     ARRAY(0x480c3b8)
     ARRAY(0x3ac1498)
     ARRAY(0x3f375d0)
     ARRAY(0x4880968)
   DEVICES2:
     ARRAY(0x3e0ab40)
     ARRAY(0x4582000)
     ARRAY(0x44a4618)
     ARRAY(0x47d2a98)
     ARRAY(0x3f90530)
     ARRAY(0x43e6a88)
     ARRAY(0x480c3b8)
     ARRAY(0x3ac1498)
     ARRAY(0x3f375d0)
     ARRAY(0x4880968)
     ARRAY(0x42a1f80)
     ARRAY(0x1e4ecc8)
     ARRAY(0x48154a0)
     ARRAY(0x4580960)
   fhem:
     lastDefChange 683
     last_update 1518029683.5433
   helper:
     DEF       
     nameStyle  style="color:darkblue;;font-weight:bold"
     positions:
       WS_1600.dewpoint 4:1
       WS_1600.humidity 3:1
       WS_1600.rain 5:1
       WS_1600.temperature 2:1
       WS_1600.windDirectionDegree 7:1
       WS_1600.windDirectionText 8:1
       WS_1600.windGust 9:1
       WS_1600.windSpeed 6:1
       Wetterdaten2.humidity_day_max 3:3
       Wetterdaten2.humidity_day_min 3:5
       Wetterdaten2.temperature_day_max 2:3
       Wetterdaten2.temperature_day_min 2:5
       Wetterdaten2.twc_o 10:1
     recalc:
       undef
       ARRAY(0x4222860)
     valueFormat:
       dewpoint   %.1f °C
       humidity   %2d %%
       humidity_day_max %2d %%
       humidity_day_min %2d %%
       rain       %03.1f mm
       temperature %.1f °C
       temperature_day_max %.1f °C
       temperature_day_min %.1f °C
       twc_o      %.1f °C
       windDirectionDegree %03.1f Grad
       windGust   %03d Km/h
       windSpeed  %03d Km/h
     values:
       formated:
         undef
         ARRAY(0x2f9c1d0)
         undef
         ARRAY(0x3ab49b0)
         undef
         ARRAY(0x43d8ed8)
       orig:
         undef
         ARRAY(0x1e94d20)
         undef
         ARRAY(0x3e9d5c0)
         undef
         ARRAY(0x44a0408)
       prefixsuffix:
         undef
         ARRAY(0x41c61e8)
         undef
         ARRAY(0x3f785d0)
         undef
         ARRAY(0x3b151e0)
Attributes:
   group      Wetterstation
   nameStyle  style="color:darkblue;;font-weight:bold"
   nostate    1
   notime     1
   room       Wohnzimmer
   sortby     1
   valueFormat {temperature => "%.1f °C",
temperature_day_min => "%.1f °C",
temperature_day_max => "%.1f °C",
humidity => "%2d %%",
humidity_day_max => "%2d %%",
humidity_day_min => "%2d %%",
dewpoint => "%.1f °C",
rain => "%03.1f mm",
windDirectionDegree => "%03.1f Grad",
windSpeed => "%03d Km/h",
windGust => "%03d Km/h",
twc_o => "%.1f °C"
}


Was mache ich falsch?

VG

Alex
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 07 Februar 2018, 21:12:17
die readingsGroup lässt die reading namen weg weil der name nicht mehr eindeutig ist sobald es mehr als reading in einer zeile gibt. über mapping solltest du das wieder hin konfigurieren können.

wenn das nicht geht: die reading namen mit nonames komplett weg konfigurieren und z.b. über eine der <...> varianten von hand einbauen.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 12 Februar 2018, 13:23:55
wer mit dem 'Unescaped left brace in regex' fehler zu kämpfen hat:

bitte mal hier schauen: https://forum.fhem.de/index.php/topic,78337.msg765210.html#msg765210 (https://forum.fhem.de/index.php/topic,78337.msg765210.html#msg765210)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Homalix99 am 13 Februar 2018, 14:51:49
Bei Option nonames = 1:
Die <> Expr kann ich aber nicht in die 1. Spalte setzen, da diese doch nur der Reading Namen vorbehalten ist, oder?
also:
<%weather_cloudy>,<Aktuell>,<Historie>
<Temperatur: >,WS_1600:temperature,<MAX:>,temperature_day_max@Wetterdaten2,<MIN:>,temperature_day_min@Wetterdaten2
<Luftfeuchte: >, WS_1600:humidity,<MAX:>,humidity_day_max@Wetterdaten2,<MIN:>,humidity_day_min@Wetterdaten2

wird so nicht funktionieren, oder?
und mit der 2. Option über mapping habe ich bislang keine Vorstellung, wie ich das hinbekomme. Müsste dann die Zeilennummer abfragen (%ROW) und dann entsprechend den Text zurückliefern, oder?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Quantum am 16 Februar 2018, 12:25:24
Hallo FHEM-Gemeinde,

ich habe exakt das gleiche Problem, welches wolfram in Beitrag #1728 erläutert hat. Ich hab dann etwas in der commandref geblättert und bin auf folgendes gestoßen:

Zitat
regex can be of the form <STRING> or <{perl}[@readings]> where STRING or the string returned by perl is inserted as a reading or:
.
.
if STRING is of the form %ICON[%CMD] ICON will be used as the name of an icon instead of a text and CMD as the command to be executed if the icon is clicked. also see the commands attribute.

Also folgendes außprobiert:

http_TVProgramm:<%DasErste[%set kodi_Fernseher openchannelid 1]>,DasErste,DasErste_Nexttime,DasErste_Next


Hab das ganze auch noch in allen möglichen Abwandlungen ausprobiert, bspw das Kommando in "" oder '' gesetzt. Es führt aber alles auf ein Problem:

Zitat
* fhem.service - FHEM Perl Server
   Loaded: loaded (/usr/lib/systemd/system/fhem.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2018-02-16 12:04:06 CET; 33s ago
  Process: 31121 ExecStart=/usr/bin/fhem.pl /etc/fhem.cfg (code=exited, status=0/SUCCESS)
Main PID: 31122 (code=exited, status=255)

Feb 16 12:03:30 alarmpi systemd[1]: Starting FHEM Perl Server...
Feb 16 12:03:37 alarmpi systemd[1]: Started FHEM Perl Server.
Feb 16 12:04:06 alarmpi systemd[1]: fhem.service: Main process exited, code=exited, status=255/n/a
Feb 16 12:04:06 alarmpi systemd[1]: fhem.service: Failed with result 'exit-code'.

FHEM verarbschiedet sich, sobald der Raum mit der readingsGroup geladen wird. Das FHEM Log hat dazugehörig folgenden Eintrag hinterlassen

Zitat
http_TVProgramm: %DasErste[%set: Unmatched [ in regex; marked by <-- HERE in m/^%DasErste[ <-- HERE %set$/ at /usr/share/fhem/FHEM/33_readingsGroup.pm line 1076.

Wahrscheinlich mach ich irgendetwas falsch. Wäre für Hilfe dankbar

Viele Grüße


Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Februar 2018, 12:27:14
bitte diese version testen: https://forum.fhem.de/index.php/topic,78337.msg765210.html#msg765210 (https://forum.fhem.de/index.php/topic,78337.msg765210.html#msg765210)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Quantum am 16 Februar 2018, 12:48:20
Vielen Dank für die schnelle Antwort,

leider hat sich das Verhalten durch diese Version nicht geändert.

Viele Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: justme1968 am 16 Februar 2018, 12:54:05
bei  %ICON[%CMD] bedeuten die eckigen klammern das der teil optional ist. wenn du das verwendest dann ohne die klammern.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Quantum am 16 Februar 2018, 13:20:32
Vielen Dank!

hab die Zeile wie Folgt geändert:

Zitat
http_TVProgramm:<%DasErste%set kodi_Fernseher openchannelid 1>,DasErste,DasErste_Nexttime,DasErste_Next

Jetzt stürzt er zumindest nicht mehr ab. Aber er listet jetzt sämtliche readings des Devices kodi_Fernseher in der readingsGroup auf.
Macht also auch nicht das richtige.

Viele Grüße
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Depechem am 27 Februar 2018, 14:14:53
Hallo,
ich möchte mir gern Infos aus einem Filelog in FHEM anzeigen lassen. Daher bin ich hier auf readingsGroup gekommen.
Ich weis aber nicht ob dies umgesetzt werden kann, daher Frage ich hier ob das überhaupt funktioniert.
im Filelog steht folgendes:

2017-10-01_00:00:19 CN.Gasverbrauch appCountsPerMonth: 363.5
2017-11-01_00:00:19 CN.Gasverbrauch appCountsPerMonth: 333.5
2017-12-01_00:00:19 CN.Gasverbrauch appCountsPerMonth: 370.5
2018-01-01_00:00:19 CN.Gasverbrauch appCountsPerMonth: 380.5
2018-02-01_00:00:19 CN.Gasverbrauch appCountsPerMonth: 373.5


Ich möchte es so in etwa angezeigt bekommen:

GASVERBRAUCH MONAT
Oktober 2017 - 363.5m³
November 2017 - 333.5m³
Dezember 2017- 370.5m³
Januar 2018 - 380.5m³
Februar 2018 - 373.5m³


Geht dies überhaupt?
zur Not könnte statt den Monaten auch der Zeitstempel stehen.
Die readingsGroup(Tabelle) müsste dann monatlich automatisch erweitert werden, sobald neue Daten in den Logfile kommen.

LG Thomas

Titel: Antw:Neues Modul readingsGroup
Beitrag von: mele am 05 Januar 2019, 09:01:39
Guten Morgen,

ich würde gern bei allen Geräten einer readingsGroup ein Kommando auslösen.

Leider komme ich mit der Suche/Wiki zu FILTER und devspec2array nicht weiter.

Kann mich jemand unterstützen?

Idee wäre folgende:

attr <Filter_der_Readingsgroupgeräte> archivedir xyz

Alternativ gerne alle Geräte, die das Attribut archivedir (leider mit unterschiedlichen Werten) verwenden.

Vielen Dank vorab,

Manuel
Titel: Antw:Neues Modul readingsGroup
Beitrag von: clumsy am 05 Januar 2019, 11:16:26
Versuch mal sowas wie

define <NAME> readingsGroup .*:FILTER=archivedir=.*

Wobei du evtl. die RegEx am Ende noch anpassen musst jenachdem was da genau gematched werden soll...
Titel: Antw:Neues Modul readingsGroup
Beitrag von: mele am 05 Januar 2019, 13:38:31
Erstmal danke für die Antwort.

Ich möchte das Attribut archivedir auf alle Devices der ReadingsGroup anwenden. Dein Code verändert m.E.n. nur die ReadingsGroup.

Titel: Antw:Neues Modul readingsGroup
Beitrag von: clumsy am 05 Januar 2019, 17:10:05
Sorry, dann hab ich das falsch verstanden ;)

Aber die <DEVSPEC> sollte genau gleich auch beim attr kommando funktionieren. also sowas wie
attr .*:FILTER=archivedir=.* archivedir=<WERT>
resp. bei der devicespec einfach die gleiche nehmen wie bei der readingsgroup definition... ansonsten muss jemand anders weiterhelfen ;)
Titel: Antw:Neues Modul readingsGroup
Beitrag von: mele am 06 Januar 2019, 07:05:01
Ich habe es jetzt manuell gemacht.

Problem liegt bei Deinem Vorschlag darin, dass bei
list .*:FILTER=archivedir=.*
alle Geräte gezeigt werden, auch, wenn das attribut nicht gesetzt ist.

Lustigerweise klappt damit aber die Bildung einer korrekten ReadingsGroup.

Vielen Dank trotzdem.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: OdfFhem am 06 Januar 2019, 07:14:46
Folgendes Kommando sollte nur die Geräte auflisten, die archivedir gesetzt haben ...

list .*:FILTER=archivedir!=

Titel: Antw:Neues Modul readingsGroup
Beitrag von: mele am 06 Januar 2019, 08:09:57
list .*:FILTER=archivedir!=

Klappt, danke!
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Kai-Alfonso am 07 März 2019, 13:32:21
Hi,

ich hoffe ich nerv nicht, aber ich würde gerne wissen, ob Perl Code in dem Attribut commands geht und wie der eingebunden wird. Ich hab schon mehrere Sachen und Aussagen gefunden (geht nicht, muss URL Encodiert werden etc), aber die Aussagen scheinen (?) obsolet?

Ich würd gerne folgendes machen:

{'battery.low' => 'setreading %DEVICE Batteriewechsel {my $date = strftime '%d.%m.%Y', localtime;;return $date;;}'}

also per setreading ein Reading mit dem aktuellen Datum setzen, welches ich mit Perl berechne.

Ich bin mir aber nicht sicher, ob die Anführungszeichen/Hochkommata richtig gesetzt worden sind.

jedenfalls kommt dann ein Fehler:

Global symbol "%m" requires explicit package name at (eval 1496823) line 2.
Global symbol "%Y" requires explicit package name at (eval 1496823) line 2.
syntax error at (eval 1496823) line 3, near "%Y', localtime;;return $date;;}
'"
syntax error at (eval 1496823) line 3, near "}}"


Wenn ich {my $date = strftime '%d.%m.%Y', localtime;;return $date;;} in der Kommandozeile einfüge, kommt das erwartete Ergebnis raus.

Titel: Antw:Neues Modul readingsGroup
Beitrag von: DeeSPe am 07 März 2019, 13:37:37
Zitat von: Kai-Alfonso am 07 März 2019, 13:32:21
Hi,

ich hoffe ich nerv nicht, aber ich würde gerne wissen, ob Perl Code in dem Attribut commands geht und wie der eingebunden wird. Ich hab schon mehrere Sachen und Aussagen gefunden (geht nicht, muss URL Encodiert werden etc), aber die Aussagen scheinen (?) obsolet?

Ich würd gerne folgendes machen:

{'battery.low' => 'setreading %DEVICE Batteriewechsel {my $date = strftime '%d.%m.%Y', localtime;;return $date;;}'}

also per setreading ein Reading mit dem aktuellen Datum setzen, welches ich mit Perl berechne.

Ich bin mir aber nicht sicher, ob die Anführungszeichen/Hochkommata richtig gesetzt worden sind.

jedenfalls kommt dann ein Fehler:

Global symbol "%m" requires explicit package name at (eval 1496823) line 2.
Global symbol "%Y" requires explicit package name at (eval 1496823) line 2.
syntax error at (eval 1496823) line 3, near "%Y', localtime;;return $date;;}
'"
syntax error at (eval 1496823) line 3, near "}}"


Wenn ich {my $date = strftime '%d.%m.%Y', localtime;;return $date;;} in der Kommandozeile einfüge, kommt das erwartete Ergebnis raus.

Probier mal:
{'battery.low' => 'setreading %DEVICE Batteriewechsel {strftime "%d.%m.%Y", localtime}'}

Gruß
Dan
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Kai-Alfonso am 07 März 2019, 13:41:06
Zitat von: DeeSPe am 07 März 2019, 13:37:37
Probier mal:
{'battery.low' => 'setreading %DEVICE Batteriewechsel {strftime "%d.%m.%Y", localtime}'}

Gruß
Dan


Hi Dan,

zumindest kann ich das Attribut setzen, allerdings kommt beim klick auf das Icon dann folgendes

fhem?room=HomeMatic line 208:
Uncaught SyntaxError: Invalid or unexpected token
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Kai-Alfonso am 08 März 2019, 18:07:21
Hat vielleicht jemand noch eine Idee? :o
Titel: Antw:Neues Modul readingsGroup
Beitrag von: BillyPbg am 17 April 2019, 17:05:02
Hallo Andre,

ich hab da mal ein Problemchen - vielmehr wohl Wunsch...: kurz DEF -> READING

Ich versuch's mal ein wenig abstrakt (auch auf die Gefahr, dass ich da irgend'was überlesen oder nicht quergedacht habe bei diesem gigantischen Modul):

ich habe eine riesige Datenmenge (tatsächlich) verteilt auf ca. 100.000 Readings, verteilt auf ca. 250 Dummies.
Diese muss ich zeitabhängig - minütlich - aktualisieren, wobei Werte, somit Readings, aus der Vergangenheit für die Übersicht in der Readingsgroup wegfallen, jedoch in den Dummies noch 30 Tage verbleiben müssen (Archiv...).

Um nun das Ganze möglichst rechenarm darstellen, somit umsetzen zu können, kam mir die Idee "nur" die DEF mittels SUB oder NOTIFY (DEFMOD...) in der Readingsgroup anpassen zu lassen, quasi als 'Wegweiser'-Anpassung.

Das hat jedoch einen 'Schönheitsfehler': es sind korrekterweise Strukturänderungen und lösen somit jeweils 'Rote Fragezeichen' aus.

Daher die Frage, ist es machbar die DEF in ein unkritisches READING auszulagern ?
Damit könnte man ja generell den DEF-Part 'DYNAMISCH' gestalten, vielleicht ja auch ein neues Feature für ähnliche Situationen...

Das 'rote Fragezeichen' zu umgehen wäre wohl auch eine Möglichkeit, jedoch müsste ich wohl in die 'fhem.pl' eingreifen, was ich vermeiden möchte.
Oder gibt es für Dein Modul einen anderen mir unbekannten Weg, evt. eben (DEF-)Reading-Zuweisung per Attribut?

Viele Grüße
BillyPbg
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Homalix99 am 06 Mai 2019, 17:18:02
Hallo Andre,

mir fallen in letzter Zeit immer häufiger folgende Logeinträge auf:

2019.05.06 13:54:59.119 3: eval: {FensterTuerSensor_signal("Fenstergruppe")}
2019.05.06 13:59:59.109 1: PERL WARNING: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^state@{ <-- HERE FT2UFT_Mapping($DEVICE)}$/ at ./FHEM/33_readingsGroup.pm line 1383, <GEN11> line 15180.
2019.05.06 13:59:59.110 3: eval: {FensterTuerSensor_signal("Fenstergruppe")}
2019.05.06 14:02:59.107 1: PERL WARNING: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^state@{ <-- HERE FT2UFT_Mapping($DEVICE)}$/ at ./FHEM/33_readingsGroup.pm line 1383, <GEN11> line 15182.
2019.05.06 14:02:59.108 3: eval: {FensterTuerSensor_signal("Fenstergruppe")}
2019.05.06 14:07:59.130 1: PERL WARNING: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^state@{ <-- HERE FT2UFT_Mapping($DEVICE)}$/ at ./FHEM/33_readingsGroup.pm line 1383, <GEN11> line 15184.
2019.05.06 14:07:59.131 3: eval: {FensterTuerSensor_signal("Fenstergruppe")}
2019.05.06 14:16:59.116 1: PERL WARNING: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^state@{ <-- HERE FT2UFT_Mapping($DEVICE)}$/ at ./FHEM/33_readingsGroup.pm line 1383, <GEN51> line 667.
2019.05.06 14:16:59.117 3: eval: {FensterTuerSensor_signal("Fenstergruppe")}
2019.05.06 14:17:59.148 3: Signal_out: Voice-Out: Badfenster im Dachgeschoss offen
2019.05.06 14:17:59.175 1: PERL WARNING: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^state@{ <-- HERE FT2UFT_Mapping($DEVICE)}$/ at ./FHEM/33_readingsGroup.pm line 1383, <GEN51> line 671.
2019.05.06 14:17:59.176 3: eval: {FensterTuerSensor_signal("Fenstergruppe")}
2019.05.06 14:18:59.112 1: PERL WARNING: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^state@{ <-- HERE FT2UFT_Mapping($DEVICE)}$/ at ./FHEM/33_readingsGroup.pm line 1383, <GEN51> line 675.


Es ist ne RG für die Darstellung von Stati der Fenster/Türenmit folgender Def:

Internals:
   DEF        <%fts_window_1w@black>,<Status | >,<disable | >,<Alarmfkt. | >,<Alarm-Level | >,<T-dep. Sign. | >,<Sign.Intervall | >,<Max. Rep. | >,<1. Sig. nach | >,<Rep. | >,<Überwachung>
FTS.*:state,?disable,?AA_Examine,?AA_Level,?Temp_control,?Signal_Rep_Time,?Signal_Rep_Count,Timer,Signal_repetitions,state@{FT2UFT_Mapping($DEVICE)}
   NAME       rg_FT_List
   NR         1315
   NTFY_ORDER 50-rg_FT_List
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CONTENT:
     FTS_1.OG_Bad 1
     FTS_Arbeitszimmer_l 1
     FTS_Arbeitszimmer_r 1
     FTS_DG_Bad 1
     FTS_DG_Ost_l 1
     FTS_DG_Ost_r 1
     FTS_DG_West_l 1
     FTS_DG_West_r 1
     FTS_Dachluke 1
     FTS_Fahrradschuppen 1
     FTS_Gaeste_WC 1
     FTS_Garage_GTor 1
     FTS_Garage_GTuer 1
     FTS_Gartentuere 1
     FTS_HK_Kellerfenster 1
     FTS_HK_Tuere 1
     FTS_Haustuere 1
     FTS_Kueche 1
     FTS_Partyraum_Fenster 1
     FTS_Partyraum_Tuere 1
     FTS_Schlafzimmer 1
     FTS_Waschraumfenster 1
     FTS_Wohnzimmer 1
   CONTENT2:
     Ueberwachung_FT_1.OG_Bad 1
     Ueberwachung_FT_Arbeitszimmer_l 1
     Ueberwachung_FT_Arbeitszimmer_r 1
     Ueberwachung_FT_DG_Bad 1
     Ueberwachung_FT_DG_Ost_l 1
     Ueberwachung_FT_DG_Ost_r 1
     Ueberwachung_FT_DG_West_l 1
     Ueberwachung_FT_DG_West_r 1
     Ueberwachung_FT_Dachluke 1
     Ueberwachung_FT_Fahrradschuppen 1
     Ueberwachung_FT_Gaeste_WC 1
     Ueberwachung_FT_Garage_GTor 1
     Ueberwachung_FT_Garage_GTuer 1
     Ueberwachung_FT_Gartentuere 1
     Ueberwachung_FT_HK_Kellerfenster 1
     Ueberwachung_FT_HK_Tuere 1
     Ueberwachung_FT_Haustuere 1
     Ueberwachung_FT_Kueche 1
     Ueberwachung_FT_Partyraum_Fenster 1
     Ueberwachung_FT_Partyraum_Tuere 1
     Ueberwachung_FT_Schlafzimmer 1
     Ueberwachung_FT_Waschraumfenster 1
     Ueberwachung_FT_Wohnzimmer 1
   DEVICES:
     ARRAY(0x5bddba0)
     ARRAY(0x5c0dbb8)
     ARRAY(0x5af1f08)
     ARRAY(0x5ad1ee8)
     ARRAY(0x5c97b58)
     ARRAY(0x5bb6880)
     ARRAY(0x58fcf38)
     ARRAY(0x5cda290)
     ARRAY(0x5a30428)
     ARRAY(0x4fb7508)
     ARRAY(0x6258120)
     ARRAY(0x62584e0)
     ARRAY(0x593df20)
     ARRAY(0x58fea30)
     ARRAY(0x58cadf8)
     ARRAY(0x26c9a00)
     ARRAY(0x58bc5c8)
     ARRAY(0x26c3db8)
     ARRAY(0x5a77a08)
     ARRAY(0x2686118)
     ARRAY(0x268eda8)
     ARRAY(0x63755d0)
     ARRAY(0x58faea8)
     ARRAY(0x5a75430)
   DEVICES2:
     ARRAY(0x5bddba0)
     ARRAY(0x5c0dbb8)
     ARRAY(0x5af1f08)
     ARRAY(0x5ad1ee8)
     ARRAY(0x5c97b58)
     ARRAY(0x5bb6880)
     ARRAY(0x58fcf38)
     ARRAY(0x5cda290)
     ARRAY(0x5a30428)
     ARRAY(0x4fb7508)
     ARRAY(0x6258120)
     ARRAY(0x62584e0)
     ARRAY(0x593df20)
     ARRAY(0x58fea30)
     ARRAY(0x58cadf8)
     ARRAY(0x26c9a00)
     ARRAY(0x58bc5c8)
     ARRAY(0x26c3db8)
     ARRAY(0x5a77a08)
     ARRAY(0x2686118)
     ARRAY(0x268eda8)
     ARRAY(0x63755d0)
     ARRAY(0x58faea8)
     ARRAY(0x5a75430)
     ARRAY(0x5c0ce50)
     ARRAY(0x592e650)
     ARRAY(0x5940ab0)
     ARRAY(0x272b370)
     ARRAY(0x63774f0)
     ARRAY(0x2676e80)
     ARRAY(0x5c848d8)
     ARRAY(0x594de68)
     ARRAY(0x5bb2970)
     ARRAY(0x637b848)
     ARRAY(0x26c9e80)
     ARRAY(0x6258b70)
     ARRAY(0x27222a0)
     ARRAY(0x5cd0920)
     ARRAY(0x5af0020)
     ARRAY(0x6373540)
     ARRAY(0x617aa20)
     ARRAY(0x266f1c0)
     ARRAY(0x62ca9c8)
     ARRAY(0x5c83e88)
     ARRAY(0x58e6190)
     ARRAY(0x5cc4560)
     ARRAY(0x6373bb8)
   fhem:
     lastDefChange 29
     last_update 1557139905.81778
   helper:
     DEF       
     cellStyle:
       r:1        style="font-weight:bold;;;;font-size:16px"
     commands:
       AA_Level.high attr %DEVICE AA_Level low
       AA_Level.low attr %DEVICE AA_Level mid
       AA_Level.mid attr %DEVICE AA_Level high
       disable.0  attr %DEVICE disable 1
       disable.1  attr %DEVICE disable 0
     positions:
       FTS_1.OG_Bad.AA_Examine 2:3
       FTS_1.OG_Bad.AA_Level 2:4
       FTS_1.OG_Bad.Signal_Rep_Count 2:7
       FTS_1.OG_Bad.Signal_Rep_Time 2:6
       FTS_1.OG_Bad.Signal_repetitions 2:9
       FTS_1.OG_Bad.Temp_control 2:5
       FTS_1.OG_Bad.Timer 2:8
       FTS_1.OG_Bad.disable 2:2
       FTS_1.OG_Bad.state 2:1
       FTS_Arbeitszimmer_l.AA_Examine 3:3
       FTS_Arbeitszimmer_l.AA_Level 3:4
       FTS_Arbeitszimmer_l.Signal_Rep_Count 3:7
       FTS_Arbeitszimmer_l.Signal_Rep_Time 3:6
       FTS_Arbeitszimmer_l.Signal_repetitions 3:9
       FTS_Arbeitszimmer_l.Temp_control 3:5
       FTS_Arbeitszimmer_l.Timer 3:8
       FTS_Arbeitszimmer_l.disable 3:2
       FTS_Arbeitszimmer_l.state 3:1
       FTS_Arbeitszimmer_r.AA_Examine 4:3
       FTS_Arbeitszimmer_r.AA_Level 4:4
       FTS_Arbeitszimmer_r.Signal_Rep_Count 4:7
       FTS_Arbeitszimmer_r.Signal_Rep_Time 4:6
       FTS_Arbeitszimmer_r.Signal_repetitions 4:9
       FTS_Arbeitszimmer_r.Temp_control 4:5
       FTS_Arbeitszimmer_r.Timer 4:8
       FTS_Arbeitszimmer_r.disable 4:2
       FTS_Arbeitszimmer_r.state 4:1
       FTS_DG_Bad.AA_Examine 5:3
       FTS_DG_Bad.AA_Level 5:4
       FTS_DG_Bad.Signal_Rep_Count 5:7
       FTS_DG_Bad.Signal_Rep_Time 5:6
       FTS_DG_Bad.Signal_repetitions 5:9
       FTS_DG_Bad.Temp_control 5:5
       FTS_DG_Bad.Timer 5:8
       FTS_DG_Bad.disable 5:2
       FTS_DG_Bad.state 5:1
       FTS_DG_Ost_l.AA_Examine 6:3
       FTS_DG_Ost_l.AA_Level 6:4
       FTS_DG_Ost_l.Signal_Rep_Count 6:7
       FTS_DG_Ost_l.Signal_Rep_Time 6:6
       FTS_DG_Ost_l.Signal_repetitions 6:9
       FTS_DG_Ost_l.Temp_control 6:5
       FTS_DG_Ost_l.Timer 6:8
       FTS_DG_Ost_l.disable 6:2
       FTS_DG_Ost_l.state 6:1
       FTS_DG_Ost_r.AA_Examine 7:3
       FTS_DG_Ost_r.AA_Level 7:4
       FTS_DG_Ost_r.Signal_Rep_Count 7:7
       FTS_DG_Ost_r.Signal_Rep_Time 7:6
       FTS_DG_Ost_r.Signal_repetitions 7:9
       FTS_DG_Ost_r.Temp_control 7:5
       FTS_DG_Ost_r.Timer 7:8
       FTS_DG_Ost_r.disable 7:2
       FTS_DG_Ost_r.state 7:1
       FTS_DG_West_l.AA_Examine 8:3
       FTS_DG_West_l.AA_Level 8:4
       FTS_DG_West_l.Signal_Rep_Count 8:7
       FTS_DG_West_l.Signal_Rep_Time 8:6
       FTS_DG_West_l.Signal_repetitions 8:9
       FTS_DG_West_l.Temp_control 8:5
       FTS_DG_West_l.Timer 8:8
       FTS_DG_West_l.disable 8:2
       FTS_DG_West_l.state 8:1
       FTS_DG_West_r.AA_Examine 9:3
       FTS_DG_West_r.AA_Level 9:4
       FTS_DG_West_r.Signal_Rep_Count 9:7
       FTS_DG_West_r.Signal_Rep_Time 9:6
       FTS_DG_West_r.Signal_repetitions 9:9
       FTS_DG_West_r.Temp_control 9:5
       FTS_DG_West_r.Timer 9:8
       FTS_DG_West_r.disable 9:2
       FTS_DG_West_r.state 9:1
       FTS_Dachluke.AA_Examine 10:3
       FTS_Dachluke.AA_Level 10:4
       FTS_Dachluke.Signal_Rep_Count 10:7
       FTS_Dachluke.Signal_Rep_Time 10:6
       FTS_Dachluke.Signal_repetitions 10:9
       FTS_Dachluke.Temp_control 10:5
       FTS_Dachluke.Timer 10:8
       FTS_Dachluke.disable 10:2
       FTS_Dachluke.state 10:1
       FTS_Fahrradschuppen.AA_Examine 11:3
       FTS_Fahrradschuppen.AA_Level 11:4
       FTS_Fahrradschuppen.Signal_Rep_Count 11:7
       FTS_Fahrradschuppen.Signal_Rep_Time 11:6
       FTS_Fahrradschuppen.Signal_repetitions 11:9
       FTS_Fahrradschuppen.Temp_control 11:5
       FTS_Fahrradschuppen.Timer 11:8
       FTS_Fahrradschuppen.disable 11:2
       FTS_Fahrradschuppen.state 11:1
       FTS_Gaeste_WC.AA_Examine 12:3
       FTS_Gaeste_WC.AA_Level 12:4
       FTS_Gaeste_WC.Signal_Rep_Count 12:7
       FTS_Gaeste_WC.Signal_Rep_Time 12:6
       FTS_Gaeste_WC.Signal_repetitions 12:9
       FTS_Gaeste_WC.Temp_control 12:5
       FTS_Gaeste_WC.Timer 12:8
       FTS_Gaeste_WC.disable 12:2
       FTS_Gaeste_WC.state 12:1
       FTS_Garage_GTor.AA_Examine 13:3
       FTS_Garage_GTor.AA_Level 13:4
       FTS_Garage_GTor.Signal_Rep_Count 13:7
       FTS_Garage_GTor.Signal_Rep_Time 13:6
       FTS_Garage_GTor.Signal_repetitions 13:9
       FTS_Garage_GTor.Temp_control 13:5
       FTS_Garage_GTor.Timer 13:8
       FTS_Garage_GTor.disable 13:2
       FTS_Garage_GTor.state 13:1
       FTS_Garage_GTuer.AA_Examine 14:3
       FTS_Garage_GTuer.AA_Level 14:4
       FTS_Garage_GTuer.Signal_Rep_Count 14:7
       FTS_Garage_GTuer.Signal_Rep_Time 14:6
       FTS_Garage_GTuer.Signal_repetitions 14:9
       FTS_Garage_GTuer.Temp_control 14:5
       FTS_Garage_GTuer.Timer 14:8
       FTS_Garage_GTuer.disable 14:2
       FTS_Garage_GTuer.state 14:1
       FTS_Gartentuere.AA_Examine 15:3
       FTS_Gartentuere.AA_Level 15:4
       FTS_Gartentuere.Signal_Rep_Count 15:7
       FTS_Gartentuere.Signal_Rep_Time 15:6
       FTS_Gartentuere.Signal_repetitions 15:9
       FTS_Gartentuere.Temp_control 15:5
       FTS_Gartentuere.Timer 15:8
       FTS_Gartentuere.disable 15:2
       FTS_Gartentuere.state 15:1
       FTS_HK_Kellerfenster.AA_Examine 16:3
       FTS_HK_Kellerfenster.AA_Level 16:4
       FTS_HK_Kellerfenster.Signal_Rep_Count 16:7
       FTS_HK_Kellerfenster.Signal_Rep_Time 16:6
       FTS_HK_Kellerfenster.Signal_repetitions 16:9
       FTS_HK_Kellerfenster.Temp_control 16:5
       FTS_HK_Kellerfenster.Timer 16:8
       FTS_HK_Kellerfenster.disable 16:2
       FTS_HK_Kellerfenster.state 16:1
       FTS_HK_Tuere.AA_Examine 17:3
       FTS_HK_Tuere.AA_Level 17:4
       FTS_HK_Tuere.Signal_Rep_Count 17:7
       FTS_HK_Tuere.Signal_Rep_Time 17:6
       FTS_HK_Tuere.Signal_repetitions 17:9
       FTS_HK_Tuere.Temp_control 17:5
       FTS_HK_Tuere.Timer 17:8
       FTS_HK_Tuere.disable 17:2
       FTS_HK_Tuere.state 17:1
       FTS_Haustuere.AA_Examine 18:3
       FTS_Haustuere.AA_Level 18:4
       FTS_Haustuere.Signal_Rep_Count 18:7
       FTS_Haustuere.Signal_Rep_Time 18:6
       FTS_Haustuere.Signal_repetitions 18:9
       FTS_Haustuere.Temp_control 18:5
       FTS_Haustuere.Timer 18:8
       FTS_Haustuere.disable 18:2
       FTS_Haustuere.state 18:1
       FTS_Kueche.AA_Examine 19:3
       FTS_Kueche.AA_Level 19:4
       FTS_Kueche.Signal_Rep_Count 19:7
       FTS_Kueche.Signal_Rep_Time 19:6
       FTS_Kueche.Signal_repetitions 19:9
       FTS_Kueche.Temp_control 19:5
       FTS_Kueche.Timer 19:8
       FTS_Kueche.disable 19:2
       FTS_Kueche.state 19:1
       FTS_Partyraum_Fenster.AA_Examine 20:3
       FTS_Partyraum_Fenster.AA_Level 20:4
       FTS_Partyraum_Fenster.Signal_Rep_Count 20:7
       FTS_Partyraum_Fenster.Signal_Rep_Time 20:6
       FTS_Partyraum_Fenster.Signal_repetitions 20:9
       FTS_Partyraum_Fenster.Temp_control 20:5
       FTS_Partyraum_Fenster.Timer 20:8
       FTS_Partyraum_Fenster.disable 20:2
       FTS_Partyraum_Fenster.state 20:1
       FTS_Partyraum_Tuere.AA_Examine 21:3
       FTS_Partyraum_Tuere.AA_Level 21:4
       FTS_Partyraum_Tuere.Signal_Rep_Count 21:7
       FTS_Partyraum_Tuere.Signal_Rep_Time 21:6
       FTS_Partyraum_Tuere.Signal_repetitions 21:9
       FTS_Partyraum_Tuere.Temp_control 21:5
       FTS_Partyraum_Tuere.Timer 21:8
       FTS_Partyraum_Tuere.disable 21:2
       FTS_Partyraum_Tuere.state 21:1
       FTS_Schlafzimmer.AA_Examine 22:3
       FTS_Schlafzimmer.AA_Level 22:4
       FTS_Schlafzimmer.Signal_Rep_Count 22:7
       FTS_Schlafzimmer.Signal_Rep_Time 22:6
       FTS_Schlafzimmer.Signal_repetitions 22:9
       FTS_Schlafzimmer.Temp_control 22:5
       FTS_Schlafzimmer.Timer 22:8
       FTS_Schlafzimmer.disable 22:2
       FTS_Schlafzimmer.state 22:1
       FTS_Waschraumfenster.AA_Examine 23:3
       FTS_Waschraumfenster.AA_Level 23:4
       FTS_Waschraumfenster.Signal_Rep_Count 23:7
       FTS_Waschraumfenster.Signal_Rep_Time 23:6
       FTS_Waschraumfenster.Signal_repetitions 23:9
       FTS_Waschraumfenster.Temp_control 23:5
       FTS_Waschraumfenster.Timer 23:8
       FTS_Waschraumfenster.disable 23:2
       FTS_Waschraumfenster.state 23:1
       FTS_Wohnzimmer.AA_Examine 24:3
       FTS_Wohnzimmer.AA_Level 24:4
       FTS_Wohnzimmer.Signal_Rep_Count 24:7
       FTS_Wohnzimmer.Signal_Rep_Time 24:6
       FTS_Wohnzimmer.Signal_repetitions 24:9
       FTS_Wohnzimmer.Temp_control 24:5
       FTS_Wohnzimmer.Timer 24:8
       FTS_Wohnzimmer.disable 24:2
       FTS_Wohnzimmer.state 24:1
       Ueberwachung_FT_1.OG_Bad.state 2:10
       Ueberwachung_FT_Arbeitszimmer_l.state 3:10
       Ueberwachung_FT_Arbeitszimmer_r.state 4:10
       Ueberwachung_FT_DG_Bad.state 5:10
       Ueberwachung_FT_DG_Ost_l.state 6:10
       Ueberwachung_FT_DG_Ost_r.state 7:10
       Ueberwachung_FT_DG_West_l.state 8:10
       Ueberwachung_FT_DG_West_r.state 9:10
       Ueberwachung_FT_Dachluke.state 10:10
       Ueberwachung_FT_Fahrradschuppen.state 11:10
       Ueberwachung_FT_Gaeste_WC.state 12:10
       Ueberwachung_FT_Garage_GTor.state 13:10
       Ueberwachung_FT_Garage_GTuer.state 14:10
       Ueberwachung_FT_Gartentuere.state 15:10
       Ueberwachung_FT_HK_Kellerfenster.state 16:10
       Ueberwachung_FT_HK_Tuere.state 17:10
       Ueberwachung_FT_Haustuere.state 18:10
       Ueberwachung_FT_Kueche.state 19:10
       Ueberwachung_FT_Partyraum_Fenster.state 20:10
       Ueberwachung_FT_Partyraum_Tuere.state 21:10
       Ueberwachung_FT_Schlafzimmer.state 22:10
       Ueberwachung_FT_Waschraumfenster.state 23:10
       Ueberwachung_FT_Wohnzimmer.state 24:10
     valueIcon:
       AA_Examine.off general_aus@red
       AA_Examine.on general_an@green
       AA_Level.high general_high@red
       AA_Level.low general_low@green
       AA_Level.mid general_mid@blue
       Temp_control.0 general_aus@blue
       Temp_control.1 general_an@orange
       disable.0  general_aus@green
       disable.1  general_an@red
       state      %devStateIcon
     valueSuffix:
       Signal_Rep_Time  Min.
       Timer       Min.
     values:
       formated:
         undef
         ARRAY(0x5c7f2e0)
         ARRAY(0x5a9d4a8)
         ARRAY(0x5950c38)
         ARRAY(0x5923e68)
         ARRAY(0x62c8f30)
         ARRAY(0x5bb3198)
         ARRAY(0x585f970)
         ARRAY(0x5aa3978)
         ARRAY(0x58fde40)
         ARRAY(0x594f3e8)
       orig:
         undef
         ARRAY(0x62c5870)
         ARRAY(0x58bab20)
         ARRAY(0x5a36fd0)
         ARRAY(0x5a393d8)
         ARRAY(0x637f1e0)
         ARRAY(0x5aeac08)
         ARRAY(0x58609c8)
         ARRAY(0x5a3efb8)
         ARRAY(0x5c2c700)
         ARRAY(0x625a908)
       prefixsuffix:
         undef
         ARRAY(0x5aeaaa0)
         ARRAY(0x5bb2128)
         ARRAY(0x25b87a0)
         ARRAY(0x595d0d8)
         ARRAY(0x5cc7488)
         ARRAY(0x5966690)
         ARRAY(0x58bcb68)
         ARRAY(0x595f2e0)
         ARRAY(0x5c096f0)
         ARRAY(0x5c7ede8)
Attributes:
   alias      Status der Fenster und Türen
   cellStyle  { "r:1"=>'style="font-weight:bold;;;;font-size:16px"'
}
   commands   {
"AA_Level.low" =>"attr %DEVICE AA_Level mid",
"AA_Level.mid" =>"attr %DEVICE AA_Level high",
"AA_Level.high"=>"attr %DEVICE AA_Level low",
"disable.0"=>"attr %DEVICE disable 1",
"disable.1"=>"attr %DEVICE disable 0"
}
   group      FTS
   notime     1
   room       Kontrollraum
   valueIcon  {
state => '%devStateIcon',
'disable.0' => 'general_aus@green',
'disable.1' => 'general_an@red',
'AA_Examine.off' => 'general_aus@red',
'AA_Examine.on' => 'general_an@green',
'AA_Level.low' => 'general_low@green',
'AA_Level.mid' => 'general_mid@blue',
'AA_Level.high' => 'general_high@red',
'Temp_control.0'=> 'general_aus@blue',
'Temp_control.1'=> 'general_an@orange'
}
   valueSuffix {
"Timer"=>" Min.",
"Signal_Rep_Time"=>" Min."

}
   verbose    0


In der letzten Spalte der RG wird der Zustand der Überwachungsschalter = "on" oder "off" (Dummy für jedes FTS) dargestellt.
Das Mapping geschieht in der DEF. der RG. mit Aufruf der folgenden Sub:
state@{FT2UFT_Mapping($DEVICE)}

Hier die Sub in der 99_Util..

sub FT2UFT_Mapping($){
# Routine dient für die ReadingsGroup FTS zum Ableiten der Namen der Überwachungs-Dummies aus den in der RG ermittelten FTS
my $device = shift;
my $t = "Ueberwachung_FT_".substr($device,4,20);
return $t;
} # End FT2UFT_Mapping()


Hast Du vielleicht eine Idee, was dies auslöst?

VG

Alex
Titel: Antw:Neues Modul readingsGroup
Beitrag von: mumpitzstuff am 06 Mai 2019, 18:23:03
Vielleicht

<state>@{FT2UFT_Mapping($DEVICE)}

oder

<state@{FT2UFT_Mapping($DEVICE)}>

?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Homalix99 am 06 Mai 2019, 18:45:48
Hallo mumpitzstuff,

beides funktioniert leider nicht. Das Orginal von mir funktioniert ja, nur es kommen sporadisch diese perl warnings, also nicht bei jedem
Aufruf der RG.
Kann mir jemand sagen was das <GEN11> in den warnings bedeutet?

...... at ./FHEM/33_readingsGroup.pm line 1383, <GEN11> line 15170
.
Das kommt fast ausschliesslich vor

VG

Alex
Titel: Antw:Neues Modul readingsGroup
Beitrag von: mumpitzstuff am 06 Mai 2019, 21:06:59
Das Programm meckert glaube ich, das die geschweiften Klammern nicht escaped sind.

state@\{FT2UFT_Mapping($DEVICE)\}

Geht sowas zufällig?
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Homalix99 am 08 Mai 2019, 10:02:00
Nein, leider nicht. Ich denke dass das Problem an einer anderen Stelle, vielleicht sogar ausserhalb der RG liegt.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Homalix99 am 11 Mai 2019, 20:01:17
LEO:
deprecated - veraltet   
In der "Computerwelt" ist es sinnvoll, 'deprecated' mit 'veraltet' zu übersetzen.

Hab die warnings glaube ich erst seit Featurelevel 5.8.
Funktioniert ja, nur sporadisch kommen diese Warnings.

Gruß

Alex
Titel: Antw:Neues Modul readingsGroup
Beitrag von: Müller am 30 Juni 2019, 18:51:11
Danke, das wäre geklärt.

Bleibt noch die Frage, warum ich in der readinggroup nicht die Zeiten ändern kann.
Lajut wiki sollte dies mit einem Dropdwon Menu funktionieren.
Titel: Antw:Neues Modul readingsGroup
Beitrag von: sfancy am 03 September 2019, 19:09:23
Ich glaube das Modul readingsGroup wird nicht mehr gepflegt. Wer ist denn der aktuelle Maintainer?

Das Problem mit den Fehlermeldungen bei Verwendung geschweifter Klammern wurde bereits 2017 entdeckt. Hier https://forum.fhem.de/index.php/topic,78337.msg798594.html#msg798594 (https://forum.fhem.de/index.php/topic,78337.msg798594.html#msg798594) habe ich im April 2018 eine mögliche Lösung vorgeschlagen die noch keine Beachtung fand.

Problem ist die laut Doku der readingsGroup vorgesehene "unescaped" Nutzung der geschweiften Klammer im Regex. Aus der Doku: "Regex kann die Form <regex>@{perl} haben, um Readings von einem anderen Gerät zu verwenden".

Das ist seit Perl v5.22 deprecated und ab Perl v5.26 ein Syntax Error. Syntax Error bedeutet FHEM startet gar nicht bzw. bleibt hängen.