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
Hat niemand eine Idee, wie sich das umsetzen ließe :-\
odie13690
Probier doch mal ein "inline" if:
$fld[3]==100? $fld[3]=90 : $fld[3]=90
Grüße Jörg
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
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
es dürfen keine leerzeichen vorkommen. also alles direkt aneinander schreiben.
gruss
andre
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
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
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
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
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
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.
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
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.
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