[gelöst] Fehler im dummy oder wo ??

Begonnen von tomspatz, 26 Juni 2017, 10:57:10

Vorheriges Thema - Nächstes Thema

tomspatz

Moin
Auch wenn dieser Schnipsel NICHT von mir stammt:
defmod test dummy
attr test setList on off running done
attr test stateFormat { my $state = ReadingsVal($name, "state", "");;\
my $power = ReadingsVal($name, "power", "");;\
if($state eq 'on') { "An" } elsif($state eq "done")\
{ "Fertig" } elsif($state eq "running")\
{ "Läuft ($power W)" } else { "Aus" } }
attr test webCmd :


Ist die Ausgabe im WEB doch komisch. An und Aus werden als Symbol angezeigt.
Die anderen Stati wie gewünscht ausgeschrieben.
Was ist dort falsch?

LG
Tom

amenomade

Hat dein Dummy ein Reading "power" ?
Poste mal bitte ein "list test" hier.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

tomspatz

ZitatHat dein Dummy ein Reading "power" ?

Was hätte das denn damit zu tun ?

Internals:
   CFGFN
   NAME       test
   NR         80
   STATE      Läuft ( W)
   TYPE       dummy
   Readings:
     2017-06-26 10:54:39   state           running
Attributes:
   setList    on off running done
   stateFormat { my $state = ReadingsVal($name, "state", "");
my $power = ReadingsVal($name, "power", "");
if($state eq 'on') { "An" } elsif($state eq "done")
{ "Fertig" } elsif($state eq "running")
{ "Läuft ($power W)" } else { "Aus" } }
   webCmd     :


Steht eigentlich schon alles oben oder??

LG
Tom

amenomade

#3
ZitatReadingsVal($name, "power", "")
hat damit zu tun


Das es als Symbol gezeigt wird, erfolgt m.W. automatisch mit "an" / "aus" oder "on" / "off"
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

tomspatz

#4
dann stell es doch mal selbst nach.
Selbst wenn du setreading test power 524 einprügelst.
Sieht die Ausgabe richtig aus Läüft (524W)
doch bei off oder on gibt es das Lampensymbol. Ist aber NICHT das Standard Symbol sondern das liht_light_dim_100 bzw. light_light_dim_00
Ja und das Symbol hat m.E. dort nicht zu suchen, oder?

LG
Tom

amenomade

Bei mir ist es svg:An / svg:Aus
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

tomspatz

ZitatBei mir ist es svg:An / svg:Aus

hääääää ?

So sieht das hier aus. Firefox und auch ie.

amenomade

Ja, wenn Du den Quellcode von der Seite mit DOMInspector anschaust, ist es svg:An und svg:Aus.

Kannst aber mit attr devStateIcon ruhig anpassen.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

tomspatz

Meinst du denn nicht das dort KEIN Symbol erscheinen sollte?
Oder anders wie machen das keins erscheint?

LG
Tom

tomspatz

selber gelöst  ;)

Siehe Commandref FHEMWEB:

devStateIcon
Erste Variante:

    Leerzeichen getrennte Auflistung von regexp:icon-name:cmd Dreierpärchen, icon-name und cmd dürfen leer sein.
    Wenn der Zustand 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 der Status 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 @colorname Suffix verwendet werden um das Icon einzufärben. 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.



So siehts aus:

defmod test dummy
attr test devStateIcon .*:noIcon:noFhemwebLink
attr test setList on off running done
attr test stateFormat { my $state = ReadingsVal($name, "state", "");;\
my $power = ReadingsVal($name, "power", "");;\
if($state eq 'on') { "An" } elsif($state eq "done")\
{ "Fertig" } elsif($state eq "running")\
{ "Läuft ($power W)" } else { "Aus" } }
attr test webCmd :



LG
Tom