Replies: 14 comments 1 reply
-
Es gibt ein PowerMeterTimeout von 30 Sekunden, das dürfte Ursache meines Problems sein. |
Beta Was this translation helpful? Give feedback.
-
Warum? 30s erscheint mir schon sehr konservativ. Woher kommen die Stromzählerwerte in deinem Setup und warum sind die so alt? |
Beta Was this translation helpful? Give feedback.
-
Werte von Shelly 3EM: shellies/shellyem3/emeter/2/power |
Beta Was this translation helpful? Give feedback.
-
Eben mal die Aktualisierungsrate angeschaut... Die MQTT Werte werden wohl nur bei Änderung gesendet, das dauert teilweise auch mal 30 Sekunden. Allerdings wird der Inverter auch oft ausgeschaltet, wenn ich Werte in kürzeren Intervallen in der Datenbank habe. Kann es vorkommen, dass der Power Limiter Werte "verpasst"? Die WLAN-Verbindung ist sehr gut, daran sollte es nicht liegen. |
Beta Was this translation helpful? Give feedback.
-
Der Power Limiter verpasst die nicht, der fragt nur beim PowerMeter nach. Aber es kann sein, dass die PowerMeter Implementierung etwas verpasst, oder falsch/ungünstig macht. Es kann aber auch sein, dass Nachrichten vom MQTT Broker nicht ankommen. Das hat dann Gründe, die in deiner Infrastruktur liegen, egal wie gut deine Wi-Fi Verbindung ist. Der Broker verschickt die Daten höchstwahrscheinlich nur nach "best effort", und wenn ein Update nicht ankommt ist das in deinem Fall ja sofort eine schwierige Sache. Deine Aussage "Die MQTT Werte werden wohl nur bei Änderung gesendet, das dauert teilweise auch mal 30 Sekunden" wäre für mich dann doch Grund genug, über eine Anpassung des Timeouts nachzudenken. Lästig fänd ich allerdings, wenn das konfigurierbar werden müsste. Für meine Anwedung ist ein Timeout von 30s allerdings schon eher zu lang, für dich aber zu kurz.
Also ich hab Tasmota auf meinem Shelly 3EM und da kommen sekündlich Updates... Ob das mit der Original-Firmware einstellbar ist, kann ich nicht sagen. Hast du das denn schon geprüft? |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Es ist verwunderlich, dass du der erste bist, der davon schreibt. Das mus doch mehrere Leute betreffen? Der Shelly 3EM ist doch alles andere als ein besonderes Setup, um den PowerMeter zu füttern?! Hast du eine besonders alte oder junge Firmware auf dem Shelly? Was müsste denn das Timeout sein, damit du glaubst einen reibungslosen Betrieb zu haben? Reichen 45 Sekunden, oder müssen es 63 sein, oder sonst etwas? Kannst du das sinnvoll abschätzen? |
Beta Was this translation helpful? Give feedback.
-
Wundert mich auch. Ich bin ganz neu in dem Thema, finde aber keinen Fehler auf meiner Seite. Firmware ist die aktuellste Version, ich habe das alles erst letzten Monat erst installiert und in Betrieb genommen. Die Shelly-Geräte haben alle ein Update gemeldet und bekommen. Ich finde keinen längeren Intervall als 30 Sekunden in meiner Visualisierung, es würde dafür also eine minimale Verlängerung ausreichen. Wenn der PowerMeter aber etwas nicht mitbekommt, da weiß dann auch nicht. |
Beta Was this translation helpful? Give feedback.
-
Es ist möglich, dass dann noch andere das Problem haben werden, falls sich an der Firmware etwas diesbezüglich geändert hat. Kannst du bitte einmal recherchieren, welche Version (Shelly Firmware) das ist und noch wichtiger, wann diese veröffentlich wurde?
Das sehe ich dann nicht so. Wir sollten erlauben, dass mind. ein Update nicht durch den Broker zu uns gekommen ist. Also 60 Sekunden ist das Minimum, eher 63 Sekunden, um zwei Zeiträume in jedem Fall zu überlappen. |
Beta Was this translation helpful? Give feedback.
-
Warum stellst du nicht einfach auf https+json um? Das ist doch der „direkteste“ Leistungswert. Ohne nennenswerte Verzögerung. Der Shelly lässt sich doch prima abfragen und liefert dabei sogar sekündlich unterschiedliche / neue Werte. Sparst du dir auch den Umweg über den MQTT Broker und die damit einhergehende zusätzliche Fehler-/Ausfallquelle. |
Beta Was this translation helpful? Give feedback.
-
neueste Firmware: 20230510...
Ich habe verwendet, was ich verstanden habe. Wüsste jetzt auch gar nicht wie das geht. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Der letzte Ausfall war ein Neustart der DTU, also ein anderes Problem. |
Beta Was this translation helpful? Give feedback.
-
Danke @spcqike für deinen Input. Das sollte als Workaround für alle funktionieren und damit muss auch das PowerLimiter Timeout im DPL nicht vergrößert werden. Meine Meinung ist es weiterhin, dass 30 Sekunden sowieso schon lang ist. |
Beta Was this translation helpful? Give feedback.
-
Ich habe die Tage zum ersten mal den Power Limiter konfiguriert. Das funktioniert auch grundsätzlich, allerdings wird in unregelmäßigen Abständen der Inverter abgeschaltet. Ab und zu läuft es für ein paar Stunden durch, aber meistens wird alle paar Minuten abgeschaltet. Woran könnte das liegen? Ich sehe da nur: "power meter readings are outdated". Kann ich aber nicht nachvollziehen, für mich sieht alles gut aus.
Hier zum Beispiel:
15:40:47.735 > Success
15:40:48.106 > [PowerLimiterClass::loop] ******************* ENTER **********************
15:40:48.106 > [PowerLimiterClass::loop] dcVoltage: 26.30 Voltage Start Threshold: 26.40 Voltage Stop Threshold: 24.60 inverter->isProducing(): 1
15:40:48.106 > [PowerLimiterClass::loop] useFullSolarPassthrough: FullSolarPT Start 27.200001, FullSolarPT Stop: 26.400000, dcVoltage: 26.299999
15:40:48.106 > [PowerLimiterClass::loop] newPowerLimit: 106
15:40:48.106 > [PowerLimiterClass::setNewPowerLimit] reusing old limit: 30 W, diff: 0, hysteresis: 5
15:40:48.106 > [PowerLimiterClass::loop] St[PowerLimiterClass::loop] ******************* ENTER **********************
15:40:49.129 > [PowerLimiterClass::loop] dcVoltage: 26.30 Voltage Start Threshold: 26.40 Voltage Stop Threshold: 24.60 inverter->isProducing(): 1
15:40:49.129 > [PowerLimiterClass::loop] useFullSolarPassthrough: FullSolarPT Start 27.200001, FullSolarPT Stop: 26.400000, dcVoltage: 26.299999
15:40:49.129 > [PowerLimiterClass::loop] newPowerLimit: 106
15:40:49.129 > [PowerLimiterClass::setNewPowerLimit] reusing old limit: 30 W, diff: 0, hysteresis: 5
15:40:49.129 > [PowerLimiterClass::loop] StPowerMeterClass: TotalPower: 109.48
15:40:50.357 > [PowerLimiterClass::loop] ******************* ENTER **********************
15:40:50.357 > [PowerLimiterClass::loop] dcVoltage: 26.30 Voltage Start Threshold: 26.40 Voltage Stop Threshold: 24.60 inverter->isProducing(): 1
15:40:50.357 > [PowerLimiterClass::loop] useFullSolarPassthrough: FullSolarPT Start 27.200001, FullSolarPT Stop: 26.400000, dcVoltage: 26.299999
15:40:50.357 > [PowerLimiterClass::loop] newPowerLimit: 106
15:40:50.357 > [PowerLimiterClass::setNewPowerLimit] reusing old limit: 30 W, diff: 0, hyster[PowerLimiterClass::loop] ******************* ENTER **********************
15:40:51.482 > [PowerLimiterClass::loop] dcVoltage: 26.30 Voltage Start Threshold: 26.40 Voltage Stop Threshold: 24.60 inverter->isProducing(): 1
15:40:51.482 > [PowerLimiterClass::loop] useFullSolarPassthrough: FullSolarPT Start 27.200001, FullSolarPT Stop: 26.400000, dcVoltage: 26.299999
15:40:51.482 > [PowerLimiterClass::loop] newPowerLimit: 106
15:40:51.482 > [PowerLimiterClass::setNewPowerLimit] reusing old limit: 30 W, diff: 0, hysteresis: 5
15:40:51.482 > [PowerLimiterClass::loop] St[PowerLimiterClass::loop] ******************* ENTER **********************
15:40:52.610 > [PowerLimiterClass::loop] dcVoltage: 26.30 Voltage Start Threshold: 26.40 Voltage Stop Threshold: 24.60 inverter->isProducing(): 1
15:40:52.610 > [PowerLimiterClass::loop] useFullSolarPassthrough: FullSolarPT Start 27.200001, FullSolarPT Stop: 26.400000, dcVoltage: 26.299999
15:40:52.610 > [PowerLimiterClass::loop] newPowerLimit: 106
15:40:52.610 > [PowerLimiterClass::setNewPowerLimit] reusing old limit: 30 W, diff: 0, hysteresis: 5
15:40:52.610 > [PowerLimiterClass::loop] St[ 32183.179] DPL: power meter readings are outdated
15:40:52.815 > [PowerLimiterClass::commitPowerLimit] Stopping inverter...
15:40:52.815 > TX PowerControl Channel: 3 --> 51 84 70 91 55 80 14 83 20 81 01 00 20 00 F6
15:40:52.815 > Received MQTT message on topic: shellies/shellyem3/emeter/2/power
15:40:52.815 > PowerMeterClass: TotalPower: 109.63
15:40:52.911 > Interrupt received
15:40:52.967 > RX Channel: 40 --> D1 84 70 91 55 84 70 91 55 81 00 00 01 00 B4 01 E4 | -80 dBm
15:40:53.426 > Received MQTT message on topic: shellies/shellyem3/emeter/2/power
15:40:53.426 > PowerMeterClass: TotalPower: 132.34
15:40:54.862 > RX Period End
15:40:54.862 > Success
15:40:55.065 > TX ActivePowerControl Channel: 23 --> 51 84 70 91 55 80 14 83 20 81 0B 00 00 64 00 00 BF 40 47
15:40:55.271 > Interrupt received
15:40:55.474 > RX Channel: 40 --> D1 84 70 91 55 84 70 91 55 81 00 00 0B 00 14 07 48 | -80 dBm
15:40:56.808 > RX Period End
15:40:56.809 > Success
15:40:56.934 > [PowerLimiterClass::commitPowerLimit] Stopping inverter...
15:40:56.934 > TX PowerControl Channel: 40 --> 51 84 70 91 55 80 14 83 20 81 01 00 20 00 F6
15:40:58.857 > RX Period End
15:40:58.857 > All missing
15:40:58.857 > Nothing received, resend whole request
15:40:58.857 > TX PowerControl Channel: 61 --> 51 84 70 91 55 80 14 83 20 81 01 00 20 00 F6
15:40:58.970 > Interrupt received
15:40:59.039 > RX Channel: 40 --> D1 84 70 91 55 84 70 91 55 81 00 00 01 00 B4 01 E4 | -80 dBm
15:41:00.290 > PowerMeterClass: TotalPower: 132.34
15:41:00.905 > RX Period End
15:41:00.905 > Success
Beta Was this translation helpful? Give feedback.
All reactions