NEWS
Bekomme Berechnung nicht hin...
-
Hallo zusammen, die Berechnung von Werten im VIS macht mir immer wieder Kummer...
Ich habe einen Shelly 3EM und möchte gerne die bezogene Leistung anzeigen lassen. Der Shelly speichert die entnommene Energie und die zurückgeführte Energie in eigenen Objekten.
In meinem Fall habe ich die Objektejavascript.0.ShellyVerbrauch.SHEM-3#485519D6B04D#1.Total.heute
javascript.0.ShellyVerbrauch.SHEM-3#485519D6B04D#1.Total_Returned.heuteLetzteres muss von erstem abgezogen werden. Ich dachte da an:
{v1:javascript.0.ShellyVerbrauch.SHEM-3#485519D6B04D#1.Total.heute;v2:javascript.0.ShellyVerbrauch.SHEM-3#485519D6B04D#1.Total_Returned.heute; parseFloat(v1)-parseFloat(v2)}
Leider kommt da nichts. In beiden Objecten sind Werte vorhanden - kann mir jemand sagen was ich falsch mache?
Gruß
MatzeLösung: binding funktionieren in objectID´s nicht. Das geht im html-Teil. Außerdem gibt es einen Fehler mit Sonderzeichen wie "#". In dem Falle muss ein Alias zum Datenpunkt angelegt werden. Widgets die ohne html auskommen müssen, z.B. Gauges, erfordern einen Script das diesen berechnet und als Datenpunkt bereitstellt.
-
Hallo zusammen, die Berechnung von Werten im VIS macht mir immer wieder Kummer...
Ich habe einen Shelly 3EM und möchte gerne die bezogene Leistung anzeigen lassen. Der Shelly speichert die entnommene Energie und die zurückgeführte Energie in eigenen Objekten.
In meinem Fall habe ich die Objektejavascript.0.ShellyVerbrauch.SHEM-3#485519D6B04D#1.Total.heute
javascript.0.ShellyVerbrauch.SHEM-3#485519D6B04D#1.Total_Returned.heuteLetzteres muss von erstem abgezogen werden. Ich dachte da an:
{v1:javascript.0.ShellyVerbrauch.SHEM-3#485519D6B04D#1.Total.heute;v2:javascript.0.ShellyVerbrauch.SHEM-3#485519D6B04D#1.Total_Returned.heute; parseFloat(v1)-parseFloat(v2)}
Leider kommt da nichts. In beiden Objecten sind Werte vorhanden - kann mir jemand sagen was ich falsch mache?
Gruß
MatzeLösung: binding funktionieren in objectID´s nicht. Das geht im html-Teil. Außerdem gibt es einen Fehler mit Sonderzeichen wie "#". In dem Falle muss ein Alias zum Datenpunkt angelegt werden. Widgets die ohne html auskommen müssen, z.B. Gauges, erfordern einen Script das diesen berechnet und als Datenpunkt bereitstellt.
@matze78 sagte in Bekomme Berechnung nicht hin...:
Leider kommt da nichts
warst du schon in der Runtime?
welches Widget?
welches Feld? -
@matze78 sagte in Bekomme Berechnung nicht hin...:
Leider kommt da nichts
warst du schon in der Runtime?
welches Widget?
welches Feld? -
@homoran Ja, in der Runtime passiert nichts. Ich habe zum testen jetzt Textfelder genommen. Numerisch gibt es Not a number und als Text einfach nichts... Ich habe es bei Object ID eingetragen.
@matze78 sagte in Bekomme Berechnung nicht hin...:
Ich habe zum testen jetzt Textfelder genommen.
was willst du mir damit sagen?
bitte immer alles beantworten
@homoran sagte in Bekomme Berechnung nicht hin...:
welches Widget?
welches Feld?object ID kann nicht rechnen
-
Hallo zusammen, die Berechnung von Werten im VIS macht mir immer wieder Kummer...
Ich habe einen Shelly 3EM und möchte gerne die bezogene Leistung anzeigen lassen. Der Shelly speichert die entnommene Energie und die zurückgeführte Energie in eigenen Objekten.
In meinem Fall habe ich die Objektejavascript.0.ShellyVerbrauch.SHEM-3#485519D6B04D#1.Total.heute
javascript.0.ShellyVerbrauch.SHEM-3#485519D6B04D#1.Total_Returned.heuteLetzteres muss von erstem abgezogen werden. Ich dachte da an:
{v1:javascript.0.ShellyVerbrauch.SHEM-3#485519D6B04D#1.Total.heute;v2:javascript.0.ShellyVerbrauch.SHEM-3#485519D6B04D#1.Total_Returned.heute; parseFloat(v1)-parseFloat(v2)}
Leider kommt da nichts. In beiden Objecten sind Werte vorhanden - kann mir jemand sagen was ich falsch mache?
Gruß
MatzeLösung: binding funktionieren in objectID´s nicht. Das geht im html-Teil. Außerdem gibt es einen Fehler mit Sonderzeichen wie "#". In dem Falle muss ein Alias zum Datenpunkt angelegt werden. Widgets die ohne html auskommen müssen, z.B. Gauges, erfordern einen Script das diesen berechnet und als Datenpunkt bereitstellt.
@matze78
sind die zahlen mit komma oder mit punkt als dezimaltrenner gespeichert?
javascript kann nur punktwenn komma, dann muss man das erst ersetzen
{v1:javascript.0.ShellyVerbrauch.SHEM-3#485519D6B04D#1.Total.heute;v2:javascript.0.ShellyVerbrauch.SHEM-3#485519D6B04D#1.Total_Returned.heute; parseFloat(v1.replace(",","."))-parseFloat(v2.replace(",","."))} -
@matze78
sind die zahlen mit komma oder mit punkt als dezimaltrenner gespeichert?
javascript kann nur punktwenn komma, dann muss man das erst ersetzen
{v1:javascript.0.ShellyVerbrauch.SHEM-3#485519D6B04D#1.Total.heute;v2:javascript.0.ShellyVerbrauch.SHEM-3#485519D6B04D#1.Total_Returned.heute; parseFloat(v1.replace(",","."))-parseFloat(v2.replace(",","."))} -
@matze78 sagte in Bekomme Berechnung nicht hin...:
wo gehört es denn hin?
ich hab nicht sooo viel Ahnung von Bindings. Versuch mal ein HTML Widget und trag das Binding dort ein
-
@matze78 sagte in Bekomme Berechnung nicht hin...:
wo gehört es denn hin?
ich hab nicht sooo viel Ahnung von Bindings. Versuch mal ein HTML Widget und trag das Binding dort ein
@homoran Ich habe das jetzt hin und her probiert. Als html Teil geht es, allerdings nicht mit 2 Variablen.
{v2:javascript.0.ShellyVerbrauch.SHEM-3#485519D6B04D#1.Total_Returned.heute; parseFloat(v2) + 1}zum Beispiel geht, aber wenn ich eine 2. Variable nutze geht es nicht.
Außerdem geht das dann natürlich nur bei Widgets die html zulassen, wenn ich z.B. einem "MeterGauge" damit befüllen möchte wird das nichts.MOD-EDIT: Code in code-tags gesetzt!
-
@homoran Ich habe das jetzt hin und her probiert. Als html Teil geht es, allerdings nicht mit 2 Variablen.
{v2:javascript.0.ShellyVerbrauch.SHEM-3#485519D6B04D#1.Total_Returned.heute; parseFloat(v2) + 1}zum Beispiel geht, aber wenn ich eine 2. Variable nutze geht es nicht.
Außerdem geht das dann natürlich nur bei Widgets die html zulassen, wenn ich z.B. einem "MeterGauge" damit befüllen möchte wird das nichts.MOD-EDIT: Code in code-tags gesetzt!
ist in github ein issue - das #-zeichen in der 2ten variablen geht nicht - teste es mal mit einem dp ohne # in der id
-
-
ist in github ein issue - das #-zeichen in der 2ten variablen geht nicht - teste es mal mit einem dp ohne # in der id
@liv-in-sky Okay, das ist schonmal ein guter Hinweis. Als Alias funktioniert das in einem Textfeld, wenn ich es im html-Bereich eintrage. Dann klappt auch die Berechnung.
Nun stellt sich mir aber die Frage - wie geht das dann bei anderen Widgets wie einem Gauge? Da habe ich ja nur ObjectID... Muss ich dafür einen extra Datenpunkt anlegen?
-
@liv-in-sky Okay, das ist schonmal ein guter Hinweis. Als Alias funktioniert das in einem Textfeld, wenn ich es im html-Bereich eintrage. Dann klappt auch die Berechnung.
Nun stellt sich mir aber die Frage - wie geht das dann bei anderen Widgets wie einem Gauge? Da habe ich ja nur ObjectID... Muss ich dafür einen extra Datenpunkt anlegen?
@matze78 sagte in Bekomme Berechnung nicht hin...:
wie geht das dann bei anderen Widgets wie einem Gauge? Da habe ich ja nur ObjectID...
nachdem du weisst dass das Binding prinzipiell funktioniert kannst du es ja mal probieren.
Ich habe damals nicht gewusst dass es in IDs nicht funktionieren soll, und meine irgendwo ein Binding in einer ID zu haben, wo es funktioniert. -
@matze78 sagte in Bekomme Berechnung nicht hin...:
wie geht das dann bei anderen Widgets wie einem Gauge? Da habe ich ja nur ObjectID...
nachdem du weisst dass das Binding prinzipiell funktioniert kannst du es ja mal probieren.
Ich habe damals nicht gewusst dass es in IDs nicht funktionieren soll, und meine irgendwo ein Binding in einer ID zu haben, wo es funktioniert. -
@homoran Habe ich versucht, der Zeiger ist auch nicht mehr auf 0 - aber er ist weit neben dem, was als Wert rauskommen sollte (roter Kasten)

@matze78 sagte in Bekomme Berechnung nicht hin...:
aber er ist weit neben dem, was als Wert rauskommen sollte (roter Kasten)
und wie ist es konfiguriert?
kommt da überhaupt eine Zahl raus, oder ist es Text?
-
@matze78 sagte in Bekomme Berechnung nicht hin...:
aber er ist weit neben dem, was als Wert rauskommen sollte (roter Kasten)
und wie ist es konfiguriert?
kommt da überhaupt eine Zahl raus, oder ist es Text?
@homoran Ja, eine Zahl ist es. Sie läuft sogar 2x durch einen parseFloat. Die Berechnung - nur eben mit Alias wegen des # - ist ansonsten gleich geblieben. Ich teile noch einmal durch 1000 um auf kWh zu kommen, aber ansonsten unverändert.
In der roten Box ist die Rechnung unter "voranstellen HTML" in einem "basic - String" eingetragen. Im Gauge - mangels eines anderen Feldes - in objectID -
@homoran Ja, eine Zahl ist es. Sie läuft sogar 2x durch einen parseFloat. Die Berechnung - nur eben mit Alias wegen des # - ist ansonsten gleich geblieben. Ich teile noch einmal durch 1000 um auf kWh zu kommen, aber ansonsten unverändert.
In der roten Box ist die Rechnung unter "voranstellen HTML" in einem "basic - String" eingetragen. Im Gauge - mangels eines anderen Feldes - in objectIDdas gauge funktioniert nicht mit binding in objectID - mach dir ein alias, indem du die beiden dp subtrahierst und das dann nutzt
-
@homoran Ja, eine Zahl ist es. Sie läuft sogar 2x durch einen parseFloat. Die Berechnung - nur eben mit Alias wegen des # - ist ansonsten gleich geblieben. Ich teile noch einmal durch 1000 um auf kWh zu kommen, aber ansonsten unverändert.
In der roten Box ist die Rechnung unter "voranstellen HTML" in einem "basic - String" eingetragen. Im Gauge - mangels eines anderen Feldes - in objectID@matze78
Warum immer nur Nacherzählungen?
zeigen, zeigen, zeigen!
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1 -
@homoran Ja, eine Zahl ist es. Sie läuft sogar 2x durch einen parseFloat. Die Berechnung - nur eben mit Alias wegen des # - ist ansonsten gleich geblieben. Ich teile noch einmal durch 1000 um auf kWh zu kommen, aber ansonsten unverändert.
In der roten Box ist die Rechnung unter "voranstellen HTML" in einem "basic - String" eingetragen. Im Gauge - mangels eines anderen Feldes - in objectIDposte mal dein widget zum import
-
poste mal dein widget zum import
@liv-in-sky Ich habe jetzt die Aliase, damit funktioniert die Rechnung ja auch grundsätzlich. Trage ich die Rechnung allerdings als Object in einem neuen Alias ein kommt da nichts bei raus.

Oder meinst du etwas anderes mit "Widget zum Import?"
-
@liv-in-sky Ich habe jetzt die Aliase, damit funktioniert die Rechnung ja auch grundsätzlich. Trage ich die Rechnung allerdings als Object in einem neuen Alias ein kommt da nichts bei raus.

Oder meinst du etwas anderes mit "Widget zum Import?"
ich meinte , dass du das widget aus der vis exportierst, damit ich es laden kann