Mehrere Fehler/Mängel bei Tasmota POW-R2

Hallo @AlexTrovato,

Kleine Frage, hast du die gesamte Energie-Sektion von Tasmota blind codiert?
Ich habe mehrere Dinge, die nicht funktionieren:

  • Die Spannung wird durch 1000 geteilt:

      // Gladys vs Tasmota Transformatoren
      readValue: (value) => {
        return value / 1000;
      },
    

    obwohl die gesendeten Daten tatsächlich in Volt sind:

    07:03:37 MQT: tele/Tasmota_POWR2-1/SENSOR = {"Time":"2022-05-18T07:03:37","ENERGY":{"TotalStartTime":"2020-05-13T13:35:10","Total":0.403,"Yesterday":0.329,"Today":0.003,"Period":0,"Power":740,"ApparentPower":802,"ReactivePower":310,"Factor":0.92,"Voltage":230,"Current":3.487}}
    

  • Der Strom im Datei energy.current.js ist vom Typ DEVICE_FEATURE_TYPES.SWITCH.ENERGY anstatt DEVICE_FEATURE_TYPES.SWITCH.CURRENT und ebenso die Spannung, /1000, obwohl das nicht sein sollte (im obigen Beispiel verbraucht die Pumpe 740W, also 3,5A),

  • Die Energiewerte fehlen.

Ich bin dabei, einen PR vorzuschlagen, aber ich möchte sicherstellen, dass nichts kaputt geht, insbesondere der Spannungs- und Stromteil. Wenn du mir bestätigen könntest, dass du die Ergebnisse nicht überprüfen konntest oder ob es mit anderem Material gemacht wurde, das in dieser Reihenfolge sendet. Denn im zweiten Fall müssen wir die Wahl der Skalierung ermöglichen…

Vielen Dank im Voraus.

Nach der Änderung erhalten wir die richtigen Werte:

Vorausgesetzt, wir sind uns sicher, dass nur der POW-R2 die ursprünglichen Energiewerte zurücksendet. Ich habe keine anderen bei Sonoff gefunden. Aber über Tasmota mit dem Format "ENERGY":{}, glaube ich, ist es der einzige.

Der Pull-Request ist bereit zum Veröffentlichen, wenn alles in Ordnung ist.

Für den POWR2 Sonoff Pow R2 - Tasmota

Nachricht        | Einheit | Beschreibung
----------------|-------|-----------------------------------------------------
TotalStartTime | Datum  | Datum und Uhrzeit der Berechnung für Total
Total          | kWh   | Gesamtenergieverbrauch einschließlich Heute
Gestern        | kWh   | Gesamtenergieverbrauch zwischen 00:00 und 24:00 gestern
Heute          | kWh   | Gesamtenergieverbrauch heute von 00:00 bis jetzt
Periode        | Wh    | Energieverbrauch zwischen vorheriger Nachricht und jetzt
Leistung        | W     | Aktuelle effektive Last
Scheinleistung  | W     | Last auf dem Kabel = sqrt(Leistung^2 + 
               |       | Blindleistung^2)
Blindleistung   | W     | Blindlast
Faktor         |       | Das Verhältnis der realen Leistung, die zum Verbraucher fließt,
               |       | zur Scheinleistung im Stromkreis
Spannung       | V     | Aktuelle Leitungsspannung
Strom          | A     | Aktueller Leitungsstrom

Übrigens gibt es W für die Schein- und Blindleistung zurück, aber wenn ich mich nicht irre, sind das normalerweise VA. (ok, ich bin pingelig)

Es gibt einen Energiesensor-Typ mit allen passenden Einheiten.

[DEVICE_FEATURE_CATEGORIES.ENERGY_SENSOR]: [
    DEVICE_FEATURE_UNITS.MILLI_AMPERE,
    DEVICE_FEATURE_UNITS.AMPERE,
    DEVICE_FEATURE_UNITS.MILLI_VOLT,
    DEVICE_FEATURE_UNITS.VOLT,
    DEVICE_FEATURE_UNITS.WATT,
    DEVICE_FEATURE_UNITS.KILOWATT,
    DEVICE_FEATURE_UNITS.WATT_HOUR,
    DEVICE_FEATURE_UNITS.KILOWATT_HOUR,
    DEVICE_FEATURE_UNITS.MEGAWATT_HOUR,
    DEVICE_FEATURE_UNITS.VOLT_AMPERE,
    DEVICE_FEATURE_UNITS.VOLT_AMPERE_REACTIVE,
  ],

Danke @VonOx,

Genau das habe ich übernommen. Aber meine Frage betrifft vor allem andere Geräte, die diese Energieinformationen zurückgeben können. Ich kenne keine anderen Geräte, die diese Informationen von Haus aus liefern. Im Gegensatz zum DHT11 oder anderen Geräten sendet der POW-R2 (im Gegensatz zum DHT11 oder anderen) sein Modell nicht in der MQTT-Nachricht. Daher, wenn andere Geräte diese Daten zurückgeben, wie kann man sicher sein, dass man diese globalen Dateien nicht beschädigt? In den Tests sehe ich, dass @AlexTrovato Werte geteilt durch 1000 verwendet hat (0,120 für die Spannung zum Beispiel), aber es gibt dafür zwei Gründe:

  • Er hatte ein anderes Gerätemodell, das dies zurückgegeben hat?
  • War es blind gemacht?

Beides :grin: ?

Wahrscheinlich ein Gerät, das Millivolt zurückgibt

Das Dumme ist, dass der Payload die Einheit nicht zurückgibt

Nein, nein, du bist nicht pingelig ^^ Das stimmt und es ist « wichtig », das für einen Elektriker zu unterscheiden ^^, aber ich denke, die Dokumentation ist nicht gut, denn an der Schnittstelle finden wir tatsächlich VA und VAr:

Also sind wir uns einig, dass die Division durch 1000 in diesem Fall nicht notwendig ist, und es reicht, wenn der Benutzer die Einheit in Millivolt ändert, die im Editor verfügbar ist?

Vollkommen, am besten wäre es gewesen, das Modulmodell wie bei den DHT11 zum Beispiel zurückzugeben, um bei Bedarf in solchen Fällen zu trennen.

Was denkst du, kann ich den PR so starten?

Ich sehe keinen Grund, das zu tun

Ja

Ja :slight_smile:

Danke für deine Antworten @VonOx ^^
Aber noch eine letzte Frage, bevor ich zu viel daraus mache:

  • Auf der Frontend-Seite muss eine Änderung für die Anzeige der Einheit der Blindleistung vorgenommen werden, da diese klein statt groß geschrieben ist.
  • Auch beim Bearbeiten der Features werden die Einheiten der Energie in Wh und der Leistungen VA und VAr nicht angezeigt.

Kann ich das in demselben Pull Request machen oder wäre es besser, sie getrennt zu halten?

Denn du bist in der Kategorie Schalter und nicht Energiesensor.

Ich weiß nicht genau, ob ich alle Einheiten zu den Schaltern hinzufügen oder sie entfernen soll. Ich habe Angst, dass es zu Dopplungen kommt.

Genau!! Man kann diese Features von Tasmota eher als Energie umsetzen. Sie sind sehr spezifisch und unter « Energy » auf Tasmota kategorisiert. Der Switch ist tatsächlich etwas ganz anderes!!^^

Hallo zusammen,

Ich benötige Tester für einen Fix, der an der Tasmota-Integration im Zusammenhang mit dem PR #1526 vorgenommen wurde, insbesondere für die Sonoff POW R2. Es ist egal, ob ihr einen Sonoff POW R2 habt oder nicht, das Ziel ist es, zu testen, dass nichts am aktuellen Funktionsumfang kaputt geht. Noch besser, wenn ihr andere Tasmota-Geräte habt, die die unten genannten Funktionen nutzen (obwohl ich keinen Grund sehe, warum etwas durch diese Änderung kaputt gehen sollte).

Zur Erinnerung, hier sind die Änderungen:

  • Behebung eines Fehlers bei der Stromstärken-Funktion, die fälschlicherweise in Energie umgewandelt wurde.
  • Behebung der Spannung, die durch 1000 geteilt wurde, was mV für den POW R2 ergibt (mit der Einheit Volt). Wenn die Spannung auf anderen Geräten in MilliVolt übertragen wird, muss der Benutzer die richtige Einheit im Gerätebearbeitungsmenü auswählen.
  • Korrektur der Kategorie und des Typs der Energiefunktion von SWITCH zu ENERGY_SENSOR, um die richtigen Einheiten im Geräte-/Funktionsbearbeitungsmenü zu erhalten.
  • Hinzufügen der folgenden Energie-Daten (insbesondere für das Sonoff POW-Rx-Modell):
    • Scheinleistung,
    • Blindleistung,
    • Gesamtenergie,
    • Tagesverbrauch.
  • Korrektur der Einheit Volt Ampere Blind (VAr) auf der Frontseite, die in den i18n-Dateien in Kleinbuchstaben war (var statt VAr).
  • Korrektur der Einheiten Watt und Kilowatt auf der Frontseite, die in der Datei fr.json nicht aufgeführt waren (« Watt » statt « Watt (W) » und « Kilowatt » statt « Kilowatt (kW) »), aber in der Datei en.json korrekt waren.

Ihr könnt entweder über die PR oder über das Docker-Image testen, das gerade gebaut wird: docker pull terdious/gladys:tasmota-POW-R2-features-fixes

Vielen Dank im Voraus.

Ich habe einen herumliegenden Raspberry Pi 2 in einem Schrank, kann ich das darauf testen?
Aber ich habe noch keinen R2…

Ich habe einen Sonoff, der immer noch auf eWeLink läuft (allerdings müsste ich ihn für das Flashen auseinanderbauen).

Falls @GBoulvin nicht testet, versuche ich, etwas Zeit zu finden.

Von meiner Seite aus funktioniert alles, was ich mit Tasmota testen konnte.
MQTT-Entdeckung ok
HTTP-Entdeckung ok
Schalter, Temperaturen, Luftfeuchtigkeit ok
Der Rest der Instanz scheint ohne Probleme zu funktionieren.
Getestet auf RPi2 Bullseye 32bit lite offiziell mit folgendem Installationsbefehl:

docker run -d \
--log-driver json-file \
--log-opt max-size=10m \
--cgroupns=host \
--restart=always \
--privileged \
--network=host \
--name gladys \
-e NODE_ENV=production \
-e SERVER_PORT=80 \
-e TZ=Europe/Paris \
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/gladysassistant:/var/lib/gladysassistant \
-v /dev:/dev \
-v /run/udev:/run/udev:ro \
terdious/gladys:tasmota-POW-R2-features-fixes

PS: Da du gerade dabei bist, könntest du etwas tun, damit die Integration RF, IR oder RFID (RC522) unterstützt?
Ich weiß, dass es ein Problem gab, weil die Codes im Hexadezimalformat zurückgesendet werden, aber ich sehe, dass man sie im Dezimalformat zurücksenden kann, indem man zwei Befehle in der Gerätekonsole eingibt: Hier nachsehen

Vielen Dank für dein Feedback @GBoulvin!!

Um sicherzustellen, dass nichts auf einer bestehenden Installation kaputt geht, könntest du die Instanz stoppen, deine Produktionsdatenbank kopieren/einfügen und neu starten? Und könntest du überprüfen, ob alles auf deinen vorhandenen Tasmota-Geräten richtig funktioniert?
Vielen Dank im Voraus, wenn du das machen kannst ^^

Für diesen Teil kann ich zwar mal schauen, aber ich bin mir nicht sicher, ob ich genug Ahnung habe, um eine Lösung zu finden.
Ich habe vier Sonoff RF 433 Module für meine Bewegungsmelder. Derzeit funktioniert das über einen MQTT-Publish-Programm in den Tasmota. Aber es würde mich schon interessieren, die Funktionen direkt zu haben, ich werde mal schauen, aber das wird nicht in der gleichen PR sein.
Hast du Beispiele für Referenzen für die anderen beiden (IR und RFID)?

Wenn du einen POW Rx hast, interessiert mich das umso mehr, um sicherzustellen, dass es auf einer anderen Instanz funktioniert ^^ Naja, ich habe es mit meinen 3 DBs getestet, also sollte es eigentlich keine Probleme geben ^^

Ach ja, das erinnert mich daran, @GBoulvin und @VonOx, habt ihr zufällig einen Tasmota, der diese Funktionen nutzt (Spannung, Leistung, Energie)?

Danke auf jeden Fall

Nein für mich

Also, um dich nicht zu enttäuschen, abgesehen von den Steckdosen habe ich nur benutzerdefinierte Module auf Basis von Wemos D1 mini, die mit Tasmota geflasht und mit verschiedenen kleinen Peripheriegeräten verbunden sind (eine einfache IR-LED zum Senden und/oder ein RF-Sender oder -Empfänger usw.)
Keine Verbrauchsmessung in meinen Sonoff-Geräten…

Ich schaue mir das morgen früh an und halte dich auf dem Laufenden!

Voilà, es ist getestet: Ersetzung der Produktionsdatenbank in der Testversion von Gladys.
Keine Auffälligkeiten bei der Integration von Tasmota, MQTT, Kameras, OpenWeather oder im Dashboard.
Ich habe den Chat nicht getestet (vergessen)…
Schönes Wochenende!

Edit: Ich habe die Konversation getestet (Raumtemperatur anfragen): OK
Und zur Info, die Licht-Anfrage funktioniert nicht, aber wir wissen, dass das nicht dein Fehler ist :wink:

Kein Problem ^^ Hoffen wir, dass wir jemanden finden ^^

Oki, also ich sehe das Problem, das ähnlich wie die Diskussion über die Unterscheidung von Geräten/Features sein wird (das Gerät ist physisch das Wemos und hat mehrere Funktionen - egal ob RF/IR in diesem Fall - aber am Ende sind jede Funktion dieses Geräts auch Geräte). Man muss also alles davon trennen. Das ist Teil einer größeren Entwicklung, die Tasmota, aber auch andere Integrationen wie Zigbee2mqtt (z. B. Mehrfachsteckdosen) betreffen kann.