NEWS
Canvas gauges Radial für Stromverbrauch Maxwert berechnen
-
Ich hätte da mal eine Frage.
Ich habe mit Tasmota geflashte Steckdosen im Einsatz und möchte gerne den Current Power Wert in einem Canvas gauges Radial Widget darstellen lassen.Soweit habe ich das auch hinbekommen, allerdings auf Umwegen und mit teilweise nicht zufrieden stellendem Ergebnis.
Das hier wäre so ein Beispiel:

Da ich gerne einen Maxwert hätte, der nicht tausende Watt vom aktuellen Wert entfernt ist, nutze ich eine Berechnung im Widget.
{value:sonoff.0.Steckdose_Medien_54E7AB.ENERGY_Power;value*3}Nun scheint aber der Wert aus dem Datenpunkt einige Nachkommastellen zu beinhalten, so dass teilweise obiges Beispiel rauskommt.
Ebenfalls würde ich auch gerne "value" nur mit einem Wert von X addieren.
Hier wird aber nicht addiert, sondern einfach verkettet.
Wenn ich also value + 120 eingebe, dann sind es bei aktuellen 37 Watt nicht 157 Watt als Maxwert, sondern 37120 Watt. ;)
{value:sonoff.0.Steckdose_Medien_54E7AB.ENERGY_Power;value+120}Kann hier nicht addiert werden, oder gibt es dafür eine andere Syntax?
Das aber nur nebenher. Mit der Multiplikation geht es auch.Nur muss ich den Wert irgendwie runden können. Geht das direkt im Widget, oder brauche ich dafür immer ein Skript. Momentan mache ich es so und fülle allerdings zwei Datenpunkte. Einmal den eigentlichen "gerundeten" Wert und einmal meinen gewünschten "Maxwert".
Viel einfacher wäre es aber, wenn ich den originalen Wert aus dem Sonoff Adapter bereits gerundet, oder nach dem Komma abgeschnitten schon an das Widget schon übergeben könnte.
Leider finde ich hier keinen Ansatz. Auch in den Einstellungen von Tasmota nicht.Kann mir hier jemand helfen?
-
Habs jetzt selbst gelöst.
Der Ursprung dieser ewig langen Kommazahlen im Widget kommt nicht aus dem Datenpunkt, sondern aus der Anzahl majorTicks.Ich hatte 6 majorTicks und somit einen Teiler von 5, da ich mit 0 beginne.
In dem obigen Beispiel rechne ich 36 Watt * 3 = 108 Watt Maxwert.
Dies sind bei 5 Teilern 21,6.
Warum dann allerdings regelmäßig der 4 Tick solche komischen Zahlen liefert, weiß ich nicht. Vielleicht ein Bug.Ich habe es jetzt so gelöst, dass ich den aktuellen Verbrauch auf gerade oder ungerade abfrage und dann jeweils bei gerade mit 2 multipliziere und bei ungerade noch 1 drauf rechne. Das Widget habe ich jetzt auf 9 majorTicks erhöht und habe somit immer einen Teiler von 8, der sich maximal auf ,0 und ,5 berechnet. Damit hat auch das Widget keine Schwierigkeiten.
Und da nun der Zeiger bei jeder Wattzahl quasi an der gleichen Stelle hängen würde, da der Maxwert immer das gleiche Verhältnis zum aktuellen Wert hat, habe ich das Widget im Animationsziel auf die plate gelegt.
Sieht jetzt so aus:

Und die Datenpunkte werden im Blockly so gefüllt:

Wobei ich glaube, dass ich das zweite IF weglassen kann. Wenn der Wert nicht gerade ist, dann muss er ja ungerade sein. Das "sonst Falls" nehme ich dann später noch raus und setze nur ein "sonst". Verschlankt dann auch den Code. ;)
Aber vielleicht hat da noch jemand eine andere Lösung parat, dann bin ich offen für Neues. ;)
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden