Neues Modul readingsGroup

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

Vorheriges Thema - Nächstes Thema

RoBra81

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?

Roaster

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

justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Roaster

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.


Spiff

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

Herr 3x

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

justme1968

#636
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.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Herr 3x

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

justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Herr 3x

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


krikan

#640
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

RoBra81

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

justme1968

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 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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Elektrolurch

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

configDB und Windows befreite Zone!

justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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