Beiträge von GEAG

    Bei einem 3-phasigen SM werden die beiden OBIS Codes 1.7.0 und 2.7.0 für die momentane, aggregierte Leistung des Bezugs und der Einspeisung ausgelesen.

    Wenn die Leistung einer PVA 3 kW gleich verteilt auf die 3 Phasen einspeist und ein EV auf einer Phase mit 1.8 kW Leistung geladen wird, liefert dieser SM gleichzeitig die Werte von 0.8 kW Bezugs- und 2 kW Einspeiseleistung.

    Mit OBIS 1.7.0 in sml[2] sowie 2.7.0 in sml[3] sowie dem special command des Smartmeter Interfaces mit Tasmota 15.0.1 für Arithmetik:

    1,=m 3-2 @1,sum Po - Pi = sP,kW,sP,0

    würde ich erwarten, dass sP den saldierten Wert von 1.2 kW liefern würde.

    Dies scheint jedoch nur so lange zu funktionieren, wie kein negatives Ergebnis entsteht. Danach gibt es keine Aktualisierung des letzten positiven Werts von sP mehr. Auch mit folgendem Versuch eines Offsets von 10 kW, bleibt das Problem bestehen.

    1,=m 3+#10000-2 @1,sum Po - Pi = sP,kW,sP0

    Es scheint, dass das Problem von der Subtraktion stammt, weil das folgende Beispiel mit der Addition funktioniert (jedoch ein sinnloses Ergebnis liefert):

    1,=m 3+2 @1,sum Po + Pi = sP,kW,sP,0

    Es wäre nützlich & erfreulich, wenn dieses Problem in einem nächsten Tasmota Release repariert werden könnte und das Resultat der Arithmetik auch einen negativen Wert annehmen dürfte.

    Anmerkung:
    Die Methode der Aggregation der Leistungen dieser beiden OBIS Codes wird nicht bei allen SM gleich angewandt. Die Mehrheit der SM saldiert diese so, dass nur entweder 1.7.0 oder 2.7.0 einen positiven Wert aufweist. Dies erscheint intuitiver, ist aber scheinbar nicht ganz korrekt?

    Gemäss Dokument Code Liste der OBIS Kennzahlen von edi@energy, Version 2.4, publizier unter http://www.bundesnetzagentur.de, gilt für 1.7. 0 und 2.7.0:

    Die Angaben: ∑ Li Wirk- / Blind- / Scheinleistung bedeuten: Summe über alle Phasen

    Oder ist dieses Dokument der BNA ist nicht präzise genug?
    Oder ist meine Interpretaion falsch?

    "wie kann ich variable werte von tasmota script zu tasmota berry senden?"

    Ohne KI: Um die Werte von einer Variablen aus Tasmota Script in eine Variable des Berry Script zu bringen gibt es mehrere Varianten:

    1. Aus Berry heraus mit der Funktion "tasmota.read_sensors()"
      • Returns the value of sensors as a JSON string similar to the teleperiod. The response is a string, not a JSON object.
      • Mehr Infos auch hier.
    2. Einen Wert aus Tasmota Script heraus mit einem Tasmota Command in einer Berry Variablen setzten:
      1. Ein Tasmota Command aus Tasmota Script ausführen (mit "-> ...")
      2. Berry Code mit dem Br berry-code von der Tasmota Konsole aus ausführen
      3. Einfaches Beispiel:
        • Deklarieren einer Variablen in Berry mit "var OBIS"
        • Im Tasmota Script in Section >S: "-> Br OBIS=%uptime%"
        • Der Wert der Variablen OBIS in Berry wird jede Sekunde neu gesetzt (ineffizient).
          Der Wert von OBIS in Berry ändert jedoch nur jede Minute, weil die Tasmota Script variable "uptime" nur jede Minute um +1 erhöht wird.
    3. Aus Berry heraus den Wert einer Tasmota Script Variablen mittels Tasmota Command mit der Funktion tasmota.cmd abfragen:
      • Beispiel: tasmota.cmd("script?uptime")
    4. Aus Berry heraus mittels Tasmota Command "status 10" die Sensor Werte abfragen
      • Das Tasmota Command liefert einen JSON String, wie er auch per teleperiod via MQTT geliefert wird.
      • Beispiel: tasmota.cmd("status 10")
        {'StatusSNS': {'Time': '2025-05-03T12:22:57', 'z':{...}

    Um die 8-stellgige SM-ID zu extrahieren kann folgendes Konstrukt mit 2 bcd var in SML dienen.

    (Dank an gemu2015 für die Tipps)

    Zitat

    Calculate difference between metric values decoded at time intervals (up to 10 =d lines possible)

    e.g. 1,=d 3 10 calculate 10 second interval difference of decoder entry 3

    Hat jemand ein funtionierendes Beispiel für das "Special Command: M,=d ..." mit einem OBIS Smartmeter?

    Mit der folgenden Definition erhalte ich für dPi und dPo zwar + und - Differenzwert, die aber wenig Sinn ergeben:

    Code
    >M 1
    +1,3,o,0,115200,z
    1,0-0:1.0.0(@#),Zeit,S,TS,16
    1,1-0:1.7.0(@0.001,Pin,W,Pi,16
    1,1-0:2.7.0(@0.001,Pout,W,Po,16
    ...
    1,=h_delta Power
    1,=d 2 1 @0,dPi,W,dPi,16
    1,=d 3 1 @0,dPo,W,dPo,16
    #

    Das ELSTER Smartmeter liefert die Daten mit 0,5 Hz via DSMR. Die angezeigten dPi und dPo Werte sind meistens 8 oder mehr Ziffern lang. Dies ist nicht wirklich plausibel. Ist da etwas falsch?