Beiträge von John66

    Könnte funktionieren, am besten ausprobieren.

    Zu bedenken:

    Es gibt Heizstäbe, die besonders hohen Strom ziehen wenn sie noch kalt sind und erst nach einer gewissen Zeit
    in den Nennbereich kommen.
    In diesem Fall würde der Heizstab sofort nach dem Einschalten wieder ausschalten und die Wartezeit müsste erneut ablaufen.

    Ich würde die Ausschaltschwelle etwas großzügiger setzen, etwa bei +100 W, nicht wie hier angegeben bei 0
    , auch wenn das etwas Bezugsstrom bedeutet, immerhin hat man dann noch 900W genutzen PV-Strom.

    Anstelle der Verzögerung via Variable lastP könnte man den von mir vorgeschlagenen gleitenden Mittelwert verwenden.

    websend wird sekündlich verwendet, das kann man sicher noch intelligenter lösen.

    Damit ist Aufgbe 1 erledigt.

    Die Erklärung wie man mit Web-Request arbeitet findest du hier.

    Damit sollte Aufgabe 2 zu lösen sein.


    Der wichtige Wert zum Steuern des Wifi-Relais wird die aktuelle Bezugslesitung sein (also in Watt)

    Code
    1,1-0:16.7.0*255(@1,Verbrauch aktuell,W,power,20

    Fragen:

    a.) Was soll eigentlich gesteuert werden ?

    b.) Bei welcher Grenze soll eingeschaltet werden, bei welcher soll ausgeschaltet werden

    c.) mit welchen Intervall liefert der digitiale Stromzähler den Wert 'power'


    Hinweis:

    Die aktuelle elektrische Bezugsleistung (power) schwankt oftmals sehr stark.
    So habe ich bei mir im Script eine Variable angelegt die zu 'power' einen gleitenden Mittelwert (xpowerAV) bildet.

    Diese verwende ich dann letztlich für die Logik zum Steuern des WIFI-Relais.


    >D
    M:xpowerAV=0 5

    >T
    xpowerAV=LK13BE#power

    Bitte das aktuelle Skript hochladen, damit man sieht was schon umgesetzt ist.

    Kann der Lesekopft direkt eine Steckdose ohne zb ein iobroker oder ähnliches schalten?

    Das könnte über ein WebSend command funktionieren, welches auch in das Skript integriert werden kann.

    Welche WLAN-Steckdose wird eingesetzt ? (am besten einen Link zum Hersteller, bitte auch die Firmware benennen)

    Folgende Aufgaben sind zu lösen

    1. Der aktuelle Verbrauchswert (in Watt oder Killowatt) wird vom Stromzähler korrekt erfasst und auf der Tasmota-Seite dargestellt

    2. Die WLAN-Steckdose kann man über einen Http-Request schalten
    Der ON-Request sieht aus wie folgt ...
    Der OFF-Request sieht aus wie folgt ...

    3. Die Logik für bei PV-Überschuss ist in das bestehende Skript zu integrieren.

    John

    Ich kann eigentlich nicht der einzige mit dem Problem sein.

    Ich glaube nicht, dass es viele gibt, die versucht haben das Konzept nachzubauen.

    Mir ist nicht klar wie dein SSR funktioniert, aber dein Kurven zeigen, dass es keine Nullpunkt-Schaltung hat. (Zero-Cross-Detection).

    Mein SSR wird direkt über digitalen Ausgang des Tasmota-Controllers gesteuert. Das SSR ist selber "dumm" und hat keinen eigenen Controller.
    PWM wirkt also direkt vom Tasmota Controller 1:1 auf das SSR.

    Wenn also Tasmota eine Puls von 100ms erzeugt , wirkt dieser exakt für diese Zeit auf das SSR.
    Das SSR wird beim nächsten Nulldurchgang bei aktivem Eingang einschalten und beim nächsten Nulldurchgang bei passivem Eingang abschalten.

    Damit sind nur Vollwellen zu sehen.

    Du musst dir darüber bewusst sein, dass die PWM-Periode deutlich kleiner sein muss als die Integrations-Periode des Zählers, sonst kommt es zu dem von dir beschriebenen Verhalten.

    Mein alter Zähler (geeignet für Periode 500 ms) wurde gegen einen neuen schnelleren getauscht. Ich machte dieselben Beobachtungen wie du.
    Die PWM-Periode musste ich auf 200 ms reduzieren. Danach funktioniert wieder alles.

    Damit hat man dann nur noch 10 Vollwellen zum modulieren.

    Ich rate dazu direkt mit dem Tasmota PWM Befehl anstelle des Dimmer Befehls zu arbeiten.
    Bei dieser Betriebsart wird nichts verbogen (Gamma correction).

    Zur Phasenanschnittsteuerung gibt es noch eine Alternative

    John66
    18. Mai 2023 um 13:10

    Hallo Tenker

    ich derartiges mit ThingSpeak umgesetzt.

    ThingSpeak ist der IOT-Ableger von Mathlab.

    Der kostenlose Account ist begrenzt, reicht aber für private Bedürfnisse locker.

    Die Daten werden via Tasmota+Http an ThingSpeak gesendet und dort gespeichert.

    IFrames können direkt in die Tasmota UI eingebunden und visualisiert werden.

    Die Arbeit des Aggregierens + Renderns übernimmt ThingsSpeak.

    Dazu muss man sich jedoch mit dem System auseinandersetzen und lernen mit der Scripting-Sprache von Thingspeak zu arbeiten.

    Ich habe ein Berry-Script geschrieben, welches das Ausliefern der Daten an ThingsSpeak einfach machen sollte.

    Siehe https://github.com/wjohn007/Berry…meThingSpeak.md

    John

    Hallo Martin,

    Zitat

    Ich glaube die aktuellen Foren von Shelly und Sonoff sind ziemlich veraltet, ich glaube da müsste ich mal aufräumen. Ich weiß auch nicht ob es weiterhin Sinn macht das so "breit" aufzufächern oder man hier etwas simpler wird. Macht das ganze ziemlich unübersichtlich irgendwie.

    Da kann ich dir nur zustimmen.

    Wenn mann die sich die "Schlagwortwolke" ansieht, steht in diesem Forum Tasmota eindeutig im Vordergrund.

    Da sehe ich auch die Zukunft von diesem Forum, als deutschsprachiges Tasmota-Forum.

    Wenn es etwa um Shelly-Fragen geht, stelle ich die bei https://www.shelly-support.eu.

    Dort wiederum fristet Tasmota ein Schattendasein.


    Ich meine, dass die Spezialisierung vorrangig auf Tasmota Themen das Forum wieder beleben würde.


    Grüße John

    Hallo Skusi,

    Bedingung 1 lautet: die Netzfrequenz (50 Hz) muss ohne Rest durch die PWM-Frequenz teilbar sein.

    Bei einer PWM-Frequenz von 4 Hz und Vollwellen-Modulation ist diese Bedingung nicht gegeben.

    Wenn du jedoch auf Halbwellen-Modulation setzt, kannst du die Netzfrequenz mit 100 Hz (100 Halbwellen) ansetzen,
    dann ist auch Bedingung 1 erfüllt.

    Bei Vollwellen wäre die nächste mögliche PWM-Frequenz 5 Hz.

    Zitat

    Was spricht grundsätzlich eigentlich dagegen mit Halbwellen zu arbeiten ?

    Es kann sein, dass formell die TAB (Technischen Anschlussbedingungen) deines Versorgers gegen die asymmetrische Belastung sprechen.

    Ich kann mir aber nicht vorstellen, dass 600 W hier wirklich den "Stab" brechen werden.

    Zitat

    Nun stellt sich mir die Frage welche Verfahrensweise für das SSR und den Heizstab am schonendsten ist

    Das SSR ist ein Halbleiter, der kann das und muss hier nicht geschont werden.

    Viel wichtiger ist dass du einen halbwegs praktikablen Weg findest den Verbraucher mit dem SSR zu steuern.

    Entscheidend ist am Ende, ob du bei PV-Überschuss die Leistung am Hauszähler im Bereich von Null-Bezug/Einspeisung bekommst.

    Wenn das funktioniert, kannst du dir die Details nochmals ansehen.


    John

    Neben dem Heizstab betreibe ich mit der vorgestellten Schaltung aktuell auch noch 2 Infrarot-Heizplatten.

    Letzere stellen aus Sicht des SSR ebenfalls einen ohmschen Verbraucher dar.

    Weitere 2 IR-Platten werden einfach via Tasmota+Relais angesteuert.

    Jeder der 5 Verbraucher erhält eine Priorität.

    Der Verbraucher mit der höchsten Priorität hat Vorrang.

    Wenn sein Leistungssteller auf 100% steht können die Verbraucher mit niedrigerer Priorität, die freie Energie-Reserven nutzen.

    Das läuft alles über die Tasmota-Controller via Berry-Scripting ohne externen Energie-Manager.

    Zitat

    Woran genau kann ich erkennen ob mein Relais im Nulldurchgang schaltet.

    Es wäre schon gut, wenn der Hersteller das bestätigen würde.

    Mit einem Oszilloskop könnte man das sicher klären.

    Zitat

    Aber wenn das SSR nur im Nulldurchgang schaltet, warum ist es dann so wichtig die Pulslänge genau auf Wellendauer abzustimmen. Schaltet das Relais nicht sowieso erst beim nächsten Nulldurchgang nach dem Puls Anfang bzw Ende ?

    Die Frage ist am Ende in welcher Größenordnung diese Ungenauigkeiten auftreten. Wenn diese zu groß werden, nimmt der Puls ggf noch die nächste Halbwelle mit.

    Zitat

    Kann das Verhalten mit dem Steigen und Fallen der Leistung denn damit zutun haben ?

    Wie auch du selbst, vermute ich , daß dein SSR mit zero-cross-detection arbeitet. Frag den Hersteller oder besorge ein anderes, bei dem der Hersteller diese Eigenschaft bestätigt. Ein ordentlicher Kühlkörper wäre sicher auch nicht schlecht.

    Vorher solltest du es mit einer PWM-Frequenz von 5 Hz (Periode 200 ms) versuchen.
    Möglicherweise ist dein Hauszähler zu schnell.

    Hallo Skusi,

    Zitat

    Liegt das an dem SSR, weil es nicht im Nulldurchgang schaltet ?

    Das von mir vorgeschlagene SSR hat die Zero-Cross-Detection eingebaut.

    D.h. die Spannung wird ausschließlich beim Nulldurchgang geschaltet.

    Es werde als nur Halb- bzw Vollwellen durchgelassen und nur dann ist es auch eine Wellenpaketsteuerung.

    Sehr schön veranschaulicht hier https://de.wikipedia.org/wiki/Schwingungspaketsteuerung.

    Zitat

    Oder muß ich exakt die PWM Werte aus der Tabelle verwenden (ich hab das mit den Vollwellen, Periode PWM Frequenz nicht ganz geblickt) ?

    Es ist wichtig das Konzept zu verstehen, sonst wird es mit der Fehleranalyse schwierig.

    Wenn du mit einer PWM-Frequenz von 2 Hz arbeitest, hast du eine PWM-Periode von 500 ms. Die Periode der Netzfrequenz (20ms) passt hier 25x rein.

    Mit dem pwm-Befehl bestimmt man die Länge des Pulses innerhalb der PWM-Periode.

    Allgemein : pwm xx
    mit xx in [0..1023]

    pwm 1023 ==> PWM-Pulsdauer = PWM-Periode, alle 25 Wellen werden durchgelassen

    pwm 0==> PWM-Pulsdauer=0 ms, keine einzige Welle wird durchgelassen

    pwm 41 => Pulsdauer= 20 ms = 1 Welle wird durchgelassen

    Mann muss die xx so wählen, dass man Vielfache der 20 ms trifft, wie in der Tabelle dargestellt.

    Also ja es ist essenziell die richtigen Werte zu wählen.


    John

    Ich würde zwei Lösungsansätze verfolgen.

    1. Über das normale das Tasmota Scripting, welches auch beim esp8266 verfügbar ist.

    Hier lassen sich neue UI Elemente anlegen und Sensor Daten abfragen

    2. über Berry Script, welches nur beim esp32 verfügbar ist.

    Hier kann man die UI zusätzlich sehr umfassend manipulieren.

    John

    vielleicht hilft das weiter

    <rxGPIO>The GPIO pin number where meter data is received.

    [xxx.xxx.xxx.xxx] IP number instead of pin number enables MODBUS TCP mode, the tcp port number is given at the baudrate position. (tx pin can be any number and is ignored)

    John

    @Mo

    Grundsätzlich ist zu raten, vor den ersten Tests die PIN einzugeben. Es gibt auch Zähler die nichts ausgeben, solange dies nicht erfolgt ist.

    Zitat

    Zunächst verstehe ich diese Passage nicht und würde mich über Erläuterungen dazu freuen:

    Die serielle Schnittstelle ist manchen GPIO's hardwaremässig eingeprägt (the hardware serial port must be used). Im vorliegenden Fall musst du einen solchen GPIO wählen (z.B. 3). Tasmota kann die serielle Schnittstelle auch "software-technisch" implementieren, aber mit einigen Enschränkungen.

    Eine davon ist, dass von diesen 'even parity' nicht unterstützt wird. Aber genau das verwendet der Zähler.

    Ein weiterer Hinweis: ich habe festgestellt, dass bei der Schnittstelle an der Oberseite weitaus mehr Daten ankommen im Vergleich zu jener an der Front.

    Der Lesekopf muss übrigens nicht direkt am Gehäuse des Zählers anliegen, sondern kann mehrere Zentimeter darüber positioniert werden.

    Achtung die Ausrichtung der LEDs am Lesekopf muss bei verwendung des Magneten an der Frontseite sehr gut zu der Position der Sende-diode des zählers ausgerichtet sein.

    Zitat

    Was ich gar nicht verstehe sind diese GPIO Template Sachen. Ich lese was von RX und TX usw. und da brauche ich Hilfe.

    In keinem Fall den im Script eingetragenen GPIO (z.B. 3) in den Templates oder der Konfiguration verwenden.

    Der GPIO muss explizit für das Script reserviert bleiben, das eben dadurch, dass er nirgends sonst parametriert wird.

    Der Befehl

    Code
    sensor53 d1

    gibt die erfassten Daten in der Konsole aus. Aber bitte beachten dass diese dann nicht in der normalen Anzeige für die Zählerwerte erscheinen.

    Das ist hilfreich für die Diagnose

    Ausschalten via

    Code
    sensor53 d0

    John