FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: odie13690 am 07 Juli 2015, 15:24:12

Titel: Syntax für SVG-Function
Beitrag von: odie13690 am 07 Juli 2015, 15:24:12
Hallo,

ich versuche gerade in einem Plot die Zustände (an:100/aus:0) dreier Geräte abzubilden. Prinzipiell funktioniert das ja ohne Probleme. Zur besseren Übersichtlichkeit habe ich über die Function ein Gerät um 10 ($fld[3]-10) und das Andere um 20 ($fld[3]-20) reduziert. Auch das funktioniert. Leider wird der Balken auch unter 0 geschoben. Im Fall von -20 sogar außerhalb des Plot-Rahmens.
Weitere Überlegung war, irgendwie nur den "an"-Wert um 10 bzw. 20 zu reduzieren. Leider komme ich an dieser Stelle nicht weiter. Habe es mit (if($fld[3]==100) {$fld[3]=90}) versucht. Beim Speichern des Plot's bleibt nur der erste Teil des if erhalten.

Ist meine Überlegung mit den FHEM-Mitteln überhaupt umsetzbar? Gibt es einen anderen Weg der Darstellung?

odie13690
Titel: Antw:Syntax für SVG-Function
Beitrag von: odie13690 am 08 Juli 2015, 09:22:05
Hat niemand eine Idee, wie sich das umsetzen ließe :-\

odie13690
Titel: Antw:Syntax für SVG-Function
Beitrag von: JoWiemann am 08 Juli 2015, 10:38:38
Probier doch mal ein "inline" if:

$fld[3]==100? $fld[3]=90 : $fld[3]=90

Grüße Jörg
Titel: Antw:Syntax für SVG-Function
Beitrag von: Otto123 am 08 Juli 2015, 10:39:52
Hallo odie13690,

ich denke if geht an der Stelle nicht siehe hier (http://forum.fhem.de/index.php?topic=32372.0)

Leider bin ich auch nicht so der RegExp Experte  ::)

Gruß Otto
Titel: Antw:Syntax für SVG-Function
Beitrag von: JoWiemann am 08 Juli 2015, 10:54:08
Der Diskussion folgend müsste das aber gehen. Was ich nciht richtig gemaacht habe ist die Zuweisung. Sollte also so lauten:

$fld[3]==100? 90 : $fld[3]

Grüße Jörg

Titel: Antw:Syntax für SVG-Function
Beitrag von: justme1968 am 08 Juli 2015, 11:04:09
es dürfen keine leerzeichen vorkommen. also alles direkt aneinander schreiben.

gruss
  andre
Titel: Antw:Syntax für SVG-Function
Beitrag von: Mario67 am 08 Juli 2015, 11:09:20
Hallo,
mit Konstrukten wie
#FileLog 4:Buderus_EMSClient.heateractive\x3a:0:$fld[3]eq"on"?5:20
verschiebe ich einzelne Signalverläufe in kombinierten Plots.

Gruß,
Mario
Titel: Antw:Syntax für SVG-Function
Beitrag von: odie13690 am 08 Juli 2015, 13:26:40
Zitat von: JoWiemann am 08 Juli 2015, 10:54:08
Der Diskussion folgend müsste das aber gehen. Was ich nciht richtig gemaacht habe ist die Zuweisung. Sollte also so lauten:

$fld[3]==100? 90 : $fld[3]

Grüße Jörg
Zitat von: justme1968 am 08 Juli 2015, 11:04:09
es dürfen keine leerzeichen vorkommen. also alles direkt aneinander schreiben.

gruss
  andre

Hey, super. Damit klappt es! Vielen Dank!

odie13690
Titel: Antw:Syntax für SVG-Function
Beitrag von: odie13690 am 08 Juli 2015, 19:02:15
Hallo,

hat noch jemand eine Lösung um für ein HM-WDS30-T-O Temperatur und Batteriestatus in einem Plot darzustellen. Eine alternative Umsetzung mit wie oben (Bezug zur Temperatur), klappt wohl nicht.

$fld[3]~="ok"?("Temperatur"):$fld[3]

Der Ansatz: der Batteriestatus "ok" soll immer auf Höhe der aktuellen Temperatur abgebildet werden.

odie13690
Titel: Antw:Syntax für SVG-Function
Beitrag von: justme1968 am 08 Juli 2015, 19:23:00
den aktuellen wert aus einem anderen plot bekommt du mit $data{currvalX} wobei X die laufende nummer des plots ist. du kannst nur auf vorherige werte zugreifen.

aber welchen sinn soll es machen ok auf höhe der aktuellen temperatur anzuzeigen?

gruss
  andre
Titel: Antw:Syntax für SVG-Function
Beitrag von: odie13690 am 08 Juli 2015, 20:19:15
Zitat von: justme1968 am 08 Juli 2015, 19:23:00aber welchen sinn soll es machen ok auf höhe der aktuellen temperatur anzuzeigen?

Dann ist die Range der Y-Achse nicht so groß. D. h. sie wird von der Temperatur vorgegeben.

Als Syntax für meinen Ansatz müsste ich also $fld[3]~="ok"?$data{currval1}:$fld[3] für Zeile 1 des SVG nutzen? Klappt nicht...

odie136990
Titel: Antw:Syntax für SVG-Function
Beitrag von: justme1968 am 08 Juli 2015, 20:22:09
ja. so in etwa sollte es gehen.

aber es geht noch viel einfacher. du kannst mehr als eine y-achse haben. für die temperatur eine und für die batterie eine.
Titel: Antw:Syntax für SVG-Function
Beitrag von: odie13690 am 08 Juli 2015, 21:01:38
Zitat von: justme1968 am 08 Juli 2015, 20:22:09
ja. so in etwa sollte es gehen.

Klappt aber leider nicht. Muss ich wohl noch ein bisschen probieren...

Zitat von: justme1968 am 08 Juli 2015, 20:22:09
aber es geht noch viel einfacher. du kannst mehr als eine y-achse haben. für die temperatur eine und für die batterie eine.

Meinst du die rechte und linke y-Achse? Oder gibt es noch einen anderen Trick?

odie13690
Titel: Antw:Syntax für SVG-Function
Beitrag von: justme1968 am 08 Juli 2015, 21:04:55
du kannst konfigurieren wie viele achsen rechts vom plot sein sollen, wie viele links sein sollen und wie viele darüber hinaus unsichtbar aber trotzdem verwendbar sind.
Titel: Antw:Syntax für SVG-Function
Beitrag von: odie13690 am 08 Juli 2015, 21:27:07
Zitat von: justme1968 am 08 Juli 2015, 21:04:55
du kannst konfigurieren wie viele achsen rechts vom plot sein sollen, wie viele links sein sollen und wie viele darüber hinaus unsichtbar aber trotzdem verwendbar sind.

Wo kann ich das nachlesen? Commandref? FhemWiki?

odie13690