Ankündigung

Einklappen
Keine Ankündigung bisher.

Tile: cv-address-group: Berechnung mit "+" fehlerhaft?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Tile: cv-address-group: Berechnung mit "+" fehlerhaft?

    Hallo,

    folgende Config gibt bei mit keine Daten für ine Addition von 2 Werten (Import+PV) aus:
    Code:
                    <cv-info format="%.2f W">
                        <cv-address slot="address" backend="mqtt">openWB/evu/DailyYieldImportKwh</cv-address>
                        <span slot="label" tr="true">Energy_Grid_Import_Today</span>
                    </cv-info>
                    <cv-info format="%.2f W">
                        <cv-address slot="address" backend="mqtt">openWB/pv/DailyYieldKwh</cv-address>
                        <span slot="label" tr="true">PV_Energy_Today</span>
                    </cv-info>
                    <cv-info format="%.2f W">
                        <cv-address-group operator="+" slot="address">
                            <cv-address backend="mqtt">openWB/evu/DailyYieldImportKwh</cv-address>
                            <cv-address backend="mqtt">openWB/pv/DailyYieldKwh</cv-address>
                        </cv-address-group>
                        <span slot="label" tr="true">Import+PV</span>
                    </cv-info>
                    <cv-info format="%.2f W">
                        <cv-address-group operator="-" slot="address">
                            <cv-address backend="mqtt">openWB/evu/DailyYieldImportKwh</cv-address>
                            <cv-address backend="mqtt">openWB/pv/DailyYieldKwh</cv-address>
                        </cv-address-group>
                        <span slot="label" tr="true">Import-PV</span>
                    </cv-info>​
    image.png

    An den MQTT-Werten selbst liegt es wohl nicht (nur), denn "Import-PV" klappt ja. In der Browser-Console findet sich auch keine Fehlermeldung...

    Woran könnte das liegen?

    Danke und VG
    Micha

    #2
    Ich kann da keinen Fehler sehen, die Berechnung mit "+" nutze ich selbst und hatte bisher keine Probleme damit. Wenn ich mir deinen Konfig-Schnipsel nehme und das manuell mit Daten füttere, dann funktioniert auch alles.
    Was Du mal checken kannst, ist was im den Entwicklertools des Browsers direkt am fehlerhaften cv-address-group Element steht (siehe Screenshot) da sollte data-value="true" und data-value="x", wobei x der aktuell berechnete Wert ist. Da dürfte bei Dir dann nichts stehen?

    Als letzte Möglichkeit das darzustellen, kannst Du mal eine extra Config erstellen mit nur diesen 4 Widgets und diese dann eine Replay-Datei erstellen (https://www.cometvisu.org/CometVisu/...replay-dateien). Wobei ich allerdings nicht sagen kann ob die Daten auch beim MQTT Backend korrekt aufgezeichnet werden, das haben wir noch nie getestet mit Replay-Dateien.
    Diese Daten bräuchte ich einmal.
    Angehängte Dateien
    Gruß
    Tobias

    Kommentar


      #3
      Und da haben wir wohl schon den erwarteten Hinweis auf den Fehler:
      image.png
      - oben der Eintrag mit "+": data-valid="false"
      - unten der Eintrag mit "-"​: data-valid="true"

      Anbei auch die Replay-Datei - allerdings habe ich keinen Hinweis auf die MQTT-Daten oder die Berechnung gefunden.

      Danke,
      Micha
      Angehängte Dateien

      Kommentar


        #4
        Richtig da ist nichts drin von MQTT, das hilft also nicht. Was mir aber gerade einfällt: Wenn Du Berechnungen mit Werten anstellen sind müssen das ja Zahlen sein, d.h. Du musst überall ein transform="MQTT:number" angeben. Probier mal ob das hilft.
        Gruß
        Tobias

        Kommentar


          #5
          Zitat von peuter Beitrag anzeigen
          Du musst überall ein transform="MQTT:number" angeben
          100 Punkte und 1000 Dank!!! Genau das hat geholfen!
          Allerdings ist mir immernoch schleierhaft warum es auch ohne das transform bei der einen Operation klappt und bei der anderen nicht. Aber egal, ich schreibe es jetzt überall dran, dann sollte es ja passen.

          Danke und VG
          Micha

          Kommentar


            #6
            Wie man hier sieht wird die Berechnung bei "+" anders gemacht als bei "-" (bei plus wird alles addiert, bei minus werden alle folgenden Werte vom ersten abgezogen):
            https://github.com/CometVisu/CometVi...p.js#L159-L169

            Und scheinbar wandelt Javascript bei der minus-Variante automatisch Strings in Zahlen um und bei der anderen Variante nicht. + ist auch ein gültiger Operator um strings aneinander zu hängen, - hingegen nicht, das wird vermutlich der Grund sein.
            Gruß
            Tobias

            Kommentar


              #7
              Zitat von mivola Beitrag anzeigen
              Anbei auch die Replay-Datei - allerdings habe ich keinen Hinweis auf die MQTT-Daten oder die Berechnung gefunden.
              Mit der 0.13.0-dev126 sollte es nun auch möglich sein die MQTT-Kommunikation in einer Replay-Datei aufzeichnen und abspielen zu können.

              Gruß
              Tobias

              Kommentar


                #8
                Danke für die Info bzgl der Berechnung. Ob das mit dem Replay der MQTT-Daten funktioniert sehen wir beim nächsten Bugreport ;-)

                Kommentar

                Lädt...
                X