Beiträge von John66
-
-
Funktionierende Lösung mit Berry
def WebRequest(year)
var result=""
var cl = webclient()
cl.begin("http://feiertage-api.de/api/?jahr="+str(year)+"&nur_land=BE")var r = cl.GET()
if r == 200
result= cl.get_string()
end
cl.close()
return result
end# define tasmota command 'ftapi'
tasmota.remove_cmd("ftapi")
tasmota.add_cmd("ftapi",
def(cmd, idx, payload, payload_json )
var result = WebRequest(payload)
tasmota.resp_cmnd(result)
end)Eingabe in Console
# define the rule
rule2
on VAR2#State do backlog ftapi %VAR2%; endon
on Pfingstmontag#datum do var1 %value% endon
on VAR1#state do Pfingsten==>> %var1% endon# trigger rule ==>
var2 = 2022-------------------- Ausgabe
Code22:43:48.238 CMD: var2 2022 22:43:48.247 MQT: stat/tasmota_AC2638/RESULT = {"Var2":"2022"} 22:43:48.283 RUL: VAR2#STATE performs "backlog ftapi 2022;" 22:43:48.367 MQT: stat/tasmota_AC2638/RESULT = {"Neujahrstag":{"datum":"2022-01-01","hinweis":""},"Frauentag":{"datum":"2022-03-08","hinweis":""},"Karfreitag":{"datum":"2022-04-15","hinweis":""},"Ostermontag":{"datum":"2022-04-18","hinweis":""},"Tag der Arbeit":{"datum":"2022-05-01","hinweis":""},"Christi Himmelfahrt":{"datum":"2022-05-26","hinweis":""},"Pfingstmontag":{"datum":"2022-06-06","hinweis":""},"Tag der Deutschen Einheit":{"datum":"2022-10-03","hinweis":""},"1. Weihnachtstag":{"datum":"2022-12-25","hinweis":""},"2. Weihnachtstag":{"datum":"2022-12-26","hinweis":""}} 22:43:48.381 RUL: PFINGSTMONTAG#DATUM performs "var1 2022-06-06" 22:43:48.388 MQT: stat/tasmota_AC2638/RESULT = {"Var1":"2022-06-06"} 22:43:48.401 RUL: VAR1#STATE performs "Pfingsten==>> 2022-06-06"
-
Zitat
Ich habe eine Leistungsregelung mit einem ESP32
Wie ist den die Leistungsregelung aufgebaut ?
Treten die Probleme auch auf, wenn die Leistungsstufe abgeschaltet ist ?
Wenn Phasenanschnitt eingesetzt wird, sind massig Oberwellen zu erwarten.
John -
So könnte man das mit Berry Script lösen: (ausführliches Beispiel)
import string
# handler für timer
def TimeOutHandler()
var command = "power1 off"
print ("start TimeOutHandler, perform:",command)
tasmota.cmd(command)
end# handler für rule
def PowerHandler(value, trigger)
print ("start PowerHandler with value:",value," and trigger:",trigger)
var TimerName="myTimer"
tasmota.remove_timer(TimerName)
tasmota.set_timer(3000, TimeOutHandler,TimerName)
end# rule definieren
tasmota.add_rule("Power1#State=1", PowerHandler)John
-
Ich verwende für remote Aktoren gerne das TotMannschalter-Prinzip, (Treppenhaus-Schalter)
Wenn innerhalb einer festgelegten Zeitspanne kein Trigger (hier. ON Command) erfolgt, geht das Gerät automatisch in den sicheren Zustand
(hier: OFF)Kann ja auch sein, dass zwar WLAN funktioniert, aber der Sender keine Spannungsversorgung mehr hat.
John
-
Nachdem ich mich etwas mit dem Thema vertraut gemachte habe, bin ich von den neuen Möglichkeiten von Berry-Scripting wirklich begeistert.
Damit erschliesst sich ein neuer Kosmos der Möglichkeiten.
Ich habe die letzten Tage eine anspruchsvolle Anwendung entwickelt, die ich zuvor mit Node-Red gelöst habe:
- es soll die Temperatur in einem Warmwasserspeicher mit Hilfe einer Heizpatrone geregelt werden
- wenn seitens der PV-Anlage Überschuss-Strom vorliegt, soll die Heizpatrone gestuft angesteuert werden, so daß kein Einspeisung in das öffentliche Netz erfolgt
- die Ansteuerung des SSR erfolgt über Wellenpaket-Steuerung
- eine Sicherheits-Controller verhindert die Überhitzung des Boilers
- alle Sensorwerte werden zeitlich überwacht
- die Sensorwerte (Boiler-Temperatur und AC-Power-Aktualwert) müssen über MQTT bereitgestellt werden
Auch bei der Gestaltung der UI ist man flexibel.
John
-
-
Die Temperatur ist, binnen einer Woche im Keller um etwa 3 °C gestiegen.
Das wirkt sich sehr positiv auf die relative Luftfeuchte aus, die im Sommer immer zu hoch ist.
Die Umwälzpumpe arbeitet mit 6W 24 Stunde am Tag.
Das alles ist erst möglich, seitdem ich das Brauchwasser mit dem Heizstab und nicht mit dem Gaskessel erwärme.
John
-
Mit Tasmota-32 kann man einfach einen smarten Heizkörperventilator bauen.
Zum Einsatz kommen preisgünstige PWM-fähige PC-Lüfter, die mit Magneten an der Unterseite des Heizkörpers befestigt werden.
Gegenüber kommerziellen Lösungen (wie SpeedComfort) bietet das vorliegende Konzept folgende Vorteile:
- die Größe der Lüfter kann passend zu den Maßen des Heizkörpers gewählt werden
- die magnetische Halterungen können optimal positioniert werden
- die Verteilung der Lüfter über die Länge des Heizkörpers ist frei wählbar
- mit der einstellbaren Drehzahl lässt sich ein sehr leiser Betrieb und eine gut steuerbare Konvektion erreichen
- mit Tasmota erhält man einen wirklich smartes System, das via MQTT oder HTTP-API angesprochen werden kann
Üblicherweise werden PWM-Lüfter mit einer Frequenz von 25 KHz angesteuert. Dies liegt im Bereich von Tasmota-32.
Ich setze das System aktuell dazu ein, einen Wärmeaustausch zwischen Dachgeschoss und Keller zu erreichen.
John
-
Die Heizpatrone hat im Arbeitspunkt etwa 600 W Leistung. Damit sollte das ganze weitgehend TAB konform sein.
John
-
Zitat
EasyMeter Drehstromzähler der Reihen Q3A, Q3M oder T3M ermittelt die Energie in 1 Sek (1000 ms) Intervallen
Es geht bei den von mir erwähnten 100ms um die Integrationszeit über die Energie, Schwankungen innerhalb dieser Zeitspanne werden vom Zähler aufintegriert.
Wenn dein EasyMeter dieses in 1000 ms macht, sollte eine PWM-Frequenz von 2Hz kein Problem sein.
Bei einer PWM-Frequenz von 10Hz passen ja nur noch 5 Vollwellen der Netzfrequenz in die PWM-Periode rein, also kann man nur noch 5 Leistungsstufen realisieren (Mit Halbwellen immerhin 10). Die nächste mögliche PWM-Frequenz wären 25Hz, hier passen nur noch 2 Vollwellen rein.
Je größer die PWM-Freuquenz wird, umso weniger Stellmöglichkeiten hat man.
ZitatWie sieht das bei Dir aus, hast Du weniger "Zacken"?
Mir sind die Zacken nicht wirklich wichtig, sondern eher der Verlauf des Bezugs-Zählers.
Der sollte bei Überschuss kaum noch steigen. (Hier ab 12:00 Uhr)
Mein Regler versucht den Verbrauch zwischen 5 und 40 Watt zu halten, daher steigt der Verbrauch auch bei Überschuss leicht an.
John
-
Zitat
mit einer 2-Punkt Regelung welche halt immer etwas schwingt.
Ich verwendet im Script einen gleitenden Mittelwert zur Istwertbildung aus dem aktuellen Strom-Verbrauch.
Hat sich sehr bewährt. Vielleicht hilft es etwas.
-
Zitat
Welches SSR nutzt Du hierfür?
Dieses SSR verwende ich.
Testen kannst du das alles auch ohne Script.
Einfach die erwähnte Befehle in der Konsole anwenden.
Grüße John
-
Bei Schwingungspaket werden immer volle Sinusschwingungen an die Last gelegt und somit auch der volle Nennstrom gezogen!
Lies mal hier die Kommentare durch, dort hat auch jemand mit Wellenpaket geregelt und dann festgestellt, dass er trotzdem aus dem Netz zieht:
Das ist mir klar, daher auch folgende Aussage meinerseits.
ZitatDeren Periode muss kleiner sein als die Integrationszeit des
digitalen Zählers, damit die Lastschwankungen aufintegriert werden.
Wenn sich der Bezugszähler kaum noch ändert, ist dies ein hinreichender Nachweis für das Funktionieren des Konzeptes.
Sollte der saldierende Zähler besonders schnell sein (<100 ms) , stößt das Konzept jedoch an seine Grenzen.
Soweit ich gelesen haben ist Phasenanschnitt nur bis 200 W erlaubt. Es erzeugt gerade bei großen Leistungen massig Oberwellen, die zu Störungen führen können. Das wollte ich nicht haben.
Zum 3-Punkt-Regler findet man viele Infos im Netz.
John
-
Hallo opferwurst,
die Erfassung der elektrischen Leistung erfolgt über einen HICHI-Lesekopf und Tasmota-Scripting.
Im gleichen Script kann man auch gleich den 3-Punkt-Regler implementieren, den man für den Leistungssteller benötigt.
Alternativ ist das auch über ein beliebiges SmartHome-System möglich (z.B. NodeRed)
Der Leistungssteller arbeitet mit einer PWM-Frequenz von 2 Hz.
Die PWM-Frequenz muss ein ganzzahliges Vielfaches der Netzfrequenz sein.
Deren Periode muss kleiner sein als die Integrationszeit des
digitalen Zählers, damit die Lastschwankungen aufintegriert werden.
Die Kommunikation zum Leistungststeller kann entweder via MQTT oder HTTP-API erfolgen.
CodeSetOption15 0 stellt auf basis PWM um pwmFrequency 2 pwm frequenz auf 2 Hz pwm xy pulsweite xy = 0..1023
Es können pro PWM-Periode 25 Vollwellen geschaltet werden.
Beispiel: will man 5 Vollwellen (=20%) innerhalb von 500 ms schalten gibt man in Tasmota folgenden Befehl ein
John
-
Bedingung soll sein, das die gemessene Leistung länger als 20 Sek. über 600W liegt.
Es reicht den Wert alle 20-30 Sekunden abzufragen.
Fällt die Leistung für >60 Sek. wieder unter 600W soll der Ausgang abgeschaltet werden.
Ich denke der Umgang mit den Timern wird hier nötig sein.
Ein Beispiel hierzu findest du unter: Github
John
-
Es ist mit einfachen Mitteln möglich, einen Leistungssteller mit Wellenpaketsteuerung umzusetzen.
Hierzu benötigt man
- ESP32 mit Tasmota32
- Ein Solid State Relais mit Null-Spannungsschaltung
- Kenntnisse im Umgang mit den PWM Befehlen
Ich verwende dieses Verfahren um die Überschussleistung meines Balkonkraftwerkes an
einen Heizstab für Brauchwasser weiterzuleiten.
Damit lässt sich die PV Energie fast zu 100 % nutzen.
John