ReadingsProxy - unerwünschtes Icon

Begonnen von theotherhalf, 01 Februar 2023, 13:05:39

Vorheriges Thema - Nächstes Thema

theotherhalf

Hallo,
ich habe einiges an Threads und Wiki gewälzt, komme aber nicht so recht weiter.
Aus einem GAEBUS device bilde ich für ein Reading ein ReadingsProxy, damit ich es in einem Floorplan darstellen kann.
Es handelt sich um eine Pumpe, welche den Status on/off haben kann. Dies erscheint auch bei den Readings unter "state".
Bei den Internals unter "STATE" findet sich ebenfalls on oder off, je nach Status.
In der Device Overview rechts oben wird jedoch eine Lampe als Icon dargestellt, was nicht so sein soll, aber scheinbar vom Device automatisch so konvertiert wird.
Kann man dies unterbinden? Ich habe es so gelesen, dass, falls nichts definiert ist, der Inhalt von STATE direkt dorthin kopiert wird, aber dem scheint nicht so zu sein.

define Zirkulationspumpe_von_Vaillant readingsProxy EcoTec196VC3_5_GAEBUS:Zirkulationspumpe
attr Zirkulationspumpe_von_Vaillant fp_Haustechnik 400,113,1,Zirkulationspumpe_von_Vaillant,
attr Zirkulationspumpe_von_Vaillant room Vaillant
#   DEF        EcoTec196VC3_5_GAEBUS:Zirkulationspumpe
#   DEVICE     EcoTec196VC3_5_GAEBUS
#   FUUID      63c0079a-f33f-0f31-b7b4-7af4fbb0cedbaa3b
#   NAME       Zirkulationspumpe_von_Vaillant
#   NOTIFYDEV  EcoTec196VC3_5_GAEBUS,global
#   NR         329
#   NTFY_ORDER 50-Zirkulationspumpe_von_Vaillant
#   READING    Zirkulationspumpe
#   STATE      off
#   TYPE       readingsProxy
#   eventCount 49
#   CONTENT:
#     EcoTec196VC3_5_GAEBUS 1
#   READINGS:
#     2023-02-01 13:02:15   state           off
#
setstate Zirkulationspumpe_von_Vaillant off
setstate Zirkulationspumpe_von_Vaillant 2023-02-01 13:02:15 state off

[/code]
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

juergen012

devStateIcon radio_checked@red:off off:radio_unchecked@darkorange:on
Fhem unter Proxmox

theotherhalf

Danke für Deine Antwort!
Aber eigentlich möchte ich kein Symbol dargestellt haben, sondern den Klartext, also on oder off.
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

betateilchen

#3
Wenn Du hier

attr ... fp_Haustechnik 400,113,1,Zirkulationspumpe_von_Vaillant

den style=3 anstatt 1 verwendest, kannst Du auf den readingsProxy komplett verzichten und direkt das reading "state" der Pumpe angeben.

Zitat
A userattr fp_<name> will be created automatically if it does not exist yet.
top = screen-position, pixels from top of screen
left = screen-position, pixels from left of screen
style =
0 icon/state only
1 devicename and icon/state
2 devicename, icon/state and commands
3 device-reading and optional description
4 S300TH-specific, displays temperature above humidity
5 icon/state and commands
6 device-reading, reading-timestamp and optional description
7 commands only
8 commands popup
description will be displayed instead of the original devicename

https://commandref.fhem.de/#FLOORPLAN


--
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

TomLee

Zitat von: theotherhalf am 01 Februar 2023, 13:26:01
Aber eigentlich möchte ich kein Symbol dargestellt haben, sondern den Klartext, also on oder off.

Für das nächste mal, jetzt brauchst ja kein readingsProxy mehr:

ZitatdevStateIcon
Erste Variante:

    Leerzeichen getrennte Auflistung von regexp:icon-name:cmd Dreierpärchen, icon-name und cmd dürfen leer sein.
    Wenn STATE des Gerätes mit der regexp übereinstimmt, wird als icon-name das entsprechende Status Icon angezeigt, und (falls definiert), löst ein Klick auf das Icon das entsprechende cmd aus. Wenn FHEM icon-name nicht finden kann, wird STATE als Text angezeigt. Beispiel:
        attr lamp devStateIcon on:closed off:open
        attr lamp devStateIcon on::A0 off::AI
        attr lamp devStateIcon .*:noIcon
    Anmerkung: Wenn das Icon ein SVG Bild ist, kann das @fill:stroke Suffix verwendet werden um das Icon einzufärben, dabei wird in der SVG die Füllfarbe durch das spezifizierte fill ersetzt, und die Stiftfarbe durch das optionale stroke. Z.B.:
        attr Fax devStateIcon on:control_building_empty@red off:control_building_filled:278727 Falls cmd noFhemwebLink ist, dann wird kein HTML-Link generiert, d.h. es passiert nichts, wenn man auf das Icon/Text klickt. Achtung: falls im devStateIcons das Ändern der Stiftfarbe benötigt wird, dann ist die alternative @fill@stroke Syntax zu verwenden.

Zweite Variante:

    Perl regexp eingeschlossen in {}. Wenn der Code undef zurückliefert, wird das Standard Icon verwendet; wird ein String in <> zurück geliefert, wird dieser als HTML String interpretiert. Andernfalls wird der String als devStateIcon gemäß der ersten Variante interpretiert, siehe oben. Beispiel:
    {'<div style="width:32px;height:32px;background-color:green"></div>'}

Anmerkung: Obiges gilt pro STATE Zeile. Wenn STATE (durch stateFormat) mehrzeilig ist, wird pro Zeile ein Icon erzeugt.

theotherhalf

#5
Zitat von: betateilchen am 01 Februar 2023, 13:29:48
Wenn Du hier

attr ... fp_Haustechnik 400,113,1,Zirkulationspumpe_von_Vaillant

den style=3 anstatt 1 verwendest, kannst Du auf den readingsProxy komplett verzichten und direkt das reading "state" der Pumpe angeben.

https://commandref.fhem.de/#FLOORPLAN


--

Danke für den Tipp! Das Attribut Fp_Haustechnik kann ich mehrmals verwenden im Device? Ich habe etwa 10 Readings, die ich so direkt verknüpfen könnte. Bisher laufen sie über readingsProxy, da ich sie auch noch an Homematic weitergebe und das dann zentraler ging, inkl. skalieren, Einheit dahinter setzen etc.
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

betateilchen

Zitat von: theotherhalf am 01 Februar 2023, 13:46:09
Das Attribut Fp_Haustechnik kann ich mehrmals verwenden im Device?

Nein. Aber davon war bisher hier im Thread ja auch nicht die Rede.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

theotherhalf

Es ist schon eine ganze Weile her, das ich die Proxys angelegt hatte. Damals sprach einiges dafür es so zu tun.
Wie gesagt minimiere ich die Dezimalstellen des Readings und hänge die Einheit an, damit es im Floorplan klarer ist. Mein Floorplan ist ein Fliessschema.
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

theotherhalf

Zitat von: TomLee am 01 Februar 2023, 13:34:42
Für das nächste mal, jetzt brauchst ja kein readingsProxy mehr:

Da sollte ich wohl mal die Augen aufmachen  :o

attr lamp devStateIcon .*:noIcon

So einfach...Danke für den Hinweis, jetzt passt es...
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

TomLee

Vlt. noch ergänzend, weil auch wenn man die Augen auf hatte, liest/sieht/versteht man auf den ersten Blick nicht, zumindest gings mir so, was dieser Satz zum Ausdruck bringen soll:

Zitat..Wenn FHEM icon-name nicht finden kann...

Du kannst statt noIcon irgendwas beliebiges anderes angeben, Hauptsache es gibt kein Icon mit diesem Namen.