Neues Plugin: Smartmeter - Stromzähler auslesen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • whe
    Smart Home'r
    • 18.10.2018
    • 32

    anhand Deiner Nachricht #312 muss ich feststellen, dass der Wert OBIS_2.99.0 bei mir nicht errechnet wird.
    wo in welchem script findet das statt und wieso kommt da bei mir nichts raus.
    Offensichtlich hat es doch etwas mit OBIS_16.9.0 ( Wirkleistung ) zu tun; diese Werte bekomme ich ja jetzt.
    Liegt dort der Rechenfehler von dem Du schon mal redest ?

    Kommentar

    • blacksun
      MS Profi
      • 20.01.2016
      • 557

      Ich verstehe nun das Problem nicht, bei der letzten angefügten Datei steht doch bei 16.7.0 -17xxx Watt. Also lieferst du ca. 18kW.

      Sonst steht bei mir auch nichts

      Kommentar

      • whe
        Smart Home'r
        • 18.10.2018
        • 32

        das ist aber unrealistisch, so groß ist die Anlage nicht. könnte das Komma verschoben sein.
        Morgen will ich mal analysieren, ob diese Werte zu den Anzeigen am Zähler passen.
        was ist denn mit 2.99.0; wieso steht da bei mir immer 0; in welchem script wird das berechnet?

        Kommentar

        • blacksun
          MS Profi
          • 20.01.2016
          • 557

          Ja da hast recht, das Komma passt nicht. Der Skalierfaktor 0,1 wird nicht richtig berechnet. Müssten also 1,8kW gewesen sein.

          Stimmt die Leistung bei 16.7.0 bei Bezug, also bei positiven Werten?

          Kommentar

          • blacksun
            MS Profi
            • 20.01.2016
            • 557

            So, wieder ein Update, der EMH Zähler sendet die Leistung in Watt, aber mit einem Skalierfaktor von 0,1, der im Skript nicht verarbeitet worden ist, bisher. Anscheinend schicken alle anderen Zähler Watt aber ohne Skalierfaktor.

            Ersetze in der Datei "sml_parser.php" ganz unten diese Zeilen. Dann wird der Skalierfaktor von 0,1 auch betrachtet.

            Code:
            // Loop trough each parser result
            foreach ($record['body']['vallist'] as $values)
            {
                foreach($values as $key => $value)
                {
                    if ($key == "objName")
                    {
                        if ( $values['unit'] == "Wh" ) {
                            echo $values['OBIS'] . "(" . ($values['value'] * $values['scaler'] / 1000) . "*" . "kWh)\n";
                        } elseif (($values['unit'] == "W") && ($values['scaler'] <> 0)) {
                            echo $values['OBIS'] . "(" . ($values['value'] * $values['scaler'] / 1000) . "*" . "kW)\n";
                        } elseif (($values['unit'] == "W") && ($values['scaler'] == 0)) {
                            echo $values['OBIS'] . "(" . ($values['value'] / 1000) . "*" . "kW)\n";
                        } else {
                            echo $values['OBIS'] . "(" . $values['value'] . "*" . $values['unit'] .")\n";
                        }
                    }  
                }
            }

            Dann noch gleich in der Datei "sm_logger.pl" ab Zeile 892 den vorhandenen Code mit diesem ersetzen, damit Werte für 16.7.0 auch negativ ausgegeben werden in der XML.

            Code:
            ### Energy consumption: Power  (OBIS mixture - no standard?)
                    ($power1) = $dumpbuffer =~ /[\n|\r|:]1\.7\.0[\*255|\*00]*\(([-\d\.]+)/;
                    ($power2) = $dumpbuffer =~ /[\n|\r|:]2\.7\.0[\*255|\*00]*\(([-\d\.]+)/;
                    ($power3) = $dumpbuffer =~ /[\n|\r|:]15\.7\.0[\*255|\*00]*\(([-\d\.]+)/;
                    ($power4) = $dumpbuffer =~ /[\n|\r|:]16\.7\.0[\*255|\*00]*\(([-\d\.]+)/;
            Warum bei dir die 1.99 und 2.99 nicht berechnet werden, schauen wir später. 2.99 vermutlich weil bei 2.8.0 nix geliefert wird beim Zähler, sondern nur bei OBIS 2.8.1 was kommt. Ist aber nicht mehr so wichtig, wenn 16.7.0 läuft und zwar mit Skalierfaktor und Vorzeichen. Das ist ja der korrekte Wert, der vom Zähler geschickt wird. 1.99 und 2.99 wird vom Skript anhand den kwh und Zeitdifferenz zwischen zwei Messungen berechnet.

            Dann bin ich gespannt, was als nächstes noch kommt.
            Zuletzt geändert von blacksun; 21.08.2019, 23:49.

            Kommentar

            • whe
              Smart Home'r
              • 18.10.2018
              • 32

              Jetzt funktioniert alles; böse Falle.

              die Änderungen oben ( #320 ) sind irrelevant, und im Perl script waren sie schon drin.

              und 2.99 kommt jetzt auch.
              das lag alles am fehlenden Eintrag im Parser:
              Code:
                      '0100020800FF' => array('1-0:2.8.0*255','Wirkarbeit Lieferung Total: Zaehlerstand'),
              nachdem ich das ergänzt habe funktioniert alles richtig, auch die Nachkommastellen sind OK.
              unter 16.7 erscheint jetzt nichts mehr, deshalb ist wohl auch die Skalierung uninteressant.

              das war aber eine Schwergeburt.
              vielen Dank für Deine geduldige Unterstützung.

              Kommentar

              • blacksun
                MS Profi
                • 20.01.2016
                • 557

                Naja, aber 2.99 sind nicht die Werte, der Zähler liefert, sondern nur errechnet werden.

                Schick nochmal die Logfiles bitte.

                Kommentar

                • whe
                  Smart Home'r
                  • 18.10.2018
                  • 32

                  der Zähler liefert ja auch nicht 1.7.0, sondern 1.99 wird errechnet.
                  und nachdem ich jetzt die fehlende Zeile im Parser ergänzt habe wir auch 2.99 errechnet.
                  und 16.7 wir zwar geliefert aber nicht benötigt.

                  das Haupt-Problem lag einfach hier:

                  Code:
                  129-129:199.130.3*255(EMH*)
                  1-0:0.0.9*255(0901454D48000077F2DF*)
                  1-0:1.8.0*255(1663.5668*kWh)
                  [COLOR=#B22222](3615.5785*kWh)[/COLOR]
                  1-0:1.8.1*255(1663.5668*kWh)
                  1-0:2.8.1*255(3615.5785*kWh)
                  1-0:1.8.2*255(0*kWh)
                  1-0:2.8.2*255(0*kWh)
                  1-0:16.7.0*255(2.847*kW)
                  129-129:199.130.5*255(3B8EB3623C6

                  Kommentar

                  • blacksun
                    MS Profi
                    • 20.01.2016
                    • 557

                    Das heißt jetzt du willst nur den berechneten Wert und nicht die Leistung, die tatsächlich übermittelt wird?

                    Ich seh hier aber noch 16.7.0?

                    Sei so gut und schick nochmal die Logfiles.

                    Kommentar

                    • whe
                      Smart Home'r
                      • 18.10.2018
                      • 32

                      da muss ich wieder hinfahren, die Korrektur aus #320 am Parser mit der Skalierung hat geholfen.
                      wahrscheinlich sind aber all die Änderungen, die Du für den EMH Zähler gemacht hast irrelevant; und das war vielleicht auch der Grund, welshalb 1.99 und 2.99 eingeführt wurden.
                      sobals ich nochmal bie meiner Tochter bin, schicke ich Dir das logfile.

                      Kommentar

                      • blacksun
                        MS Profi
                        • 20.01.2016
                        • 557

                        Nö, das wurde nur eingeführt, weil manche Zähler die Leistung überhaupt nicht ausgeben. Das ist praktisch ein Workaround.

                        Kommentar

                        • whe
                          Smart Home'r
                          • 18.10.2018
                          • 32

                          Gerade habe ich das nochmal meinem Netzbetreiber mitgeteilt, dass der EMH Zähler die erforderlichen Daten nicht liefert.
                          schau noch mal bitte nach; wir haben mehrere Tage an dem 16.7.0 laboriert; der liefert nur die Einspeisung.
                          der EMH liefert weder 15.7.0 noch wie üblich 1.7.0 und 2.7.0
                          also muss man bei EMH immer rechnen.

                          Kommentar

                          • blacksun
                            MS Profi
                            • 20.01.2016
                            • 557

                            16.7.0 liefert die Leistung bei Bezug positiv und bei Lieferung liefert der 16.7.0 die Leistung negativ. Das würde schon passen.

                            schick mal die Logfiles bei Einspeisung und Bezug.

                            Vorausgesetzt du du die Änderungen in Beitrag 320 übernommen hast.

                            Kommentar

                            • whe
                              Smart Home'r
                              • 18.10.2018
                              • 32

                              OK. das teste ich dann morgen nochmal. hatte ich so bisher nicht gesehen, das wäre optimal.
                              dann muss ich auch im Loxone nichts mehr machen um eine einzige Grafik zu erhalten mit positiven und negativen Werten.

                              Allerdings habe ich festgestellt, wenn die Werte kalkuliert werden 1.99 und 2.99 wird der Wert in 16.7 ausgeblendet,
                              vielleicht findest Du das auch im Skript.

                              Kommentar

                              • blacksun
                                MS Profi
                                • 20.01.2016
                                • 557

                                Bei mir wird da nix ausgeblendet. Schauen wir morgen weiter.

                                Kommentar

                                Lädt...