Beiträge von HoerMirAuf

    Moin

    Um Nachkommastellen usw. zu definieren, kann man auch CALCRES setzen. (Siehe Tasmota Commands)

    Mit dem Hysteresis-Vorschlag komme ich nicht so klar. +-5 bedeutet doch, dass nur Werte einbezogen werden, die sich um +-5 vom vorherigen Wert

    Ganz genau, damit wird nicht ganz so oft getriggert. Das hängt aber von der größe der Wertänderung und der Hysterese ab. Da muss man mit spielen. Ist die Hysterese zu groß wird zu wenig getriggert und ist sie zu niedrig, bringt sie nichts. Deshalb ist sie auch als Variable gesetzt [var6] umd das leichter anpassen zu können ohne die ganz Rule umzuschrieben.

    Wahrscheinlich muss var4 auch noch Null gesetzt werden, der wird immer weiter hochgezählt.

    Nach meinem Beispiel nicht. var 4 wird bei jedem triggern mit dem aktuellen triggerwert gefüttert [var4 %value%] und dann um den Hystereswert erhöht [add4 %var6%] ... dasselbe mit var5 nur das diese um den Triggerwert reduziert wird.

    Um mehr zu sagen müsste man jetzt den Konsolenoutput sehen....

    Hi

    du hast 2x "do" in deiner Rule:

    on analog#a0 do do backlog add1 %value%; var2 add 1 endon

    ich hab allerdings auch eine Schreibfehler in meinem Beispiel (var2 add1).

    Nimm das mal:

    Code
    rule1
    on system init do backlog var1 0; var2 0; var3 0; endon
    on analog#a0 do backlog add1 %value%; add2 1 endon
    on var2#state>=10 do backlog scale3 %var1%,0,10,0,1; var1 0; var2 0 endon
    on var3#state do publish stat/Zitronenbaum/Bodenfeuchte/M10 %value% endon

    Wie gesagt triggert die Rule recht viel ....

    Man kann das auch mit einer Hysterese einschränken:

    (In der var6 steht der Hysteresenwert +-5)

    Code
    rule1
    on system init do backlog var1 0; var2 0; var3 0; var4 0; var5 0; var6 5 endon
    on analog#a0>=%var4% do backlog add1 %value%; add2 1; var4 %value%; add4 %var6%; var5 %value%; sub5 %var6%  endon
    on analog#a0<=%var5% do backlog add1 %value%; add2 1; var4 %value%; add4 %var6%; var5 %value%; sub5 %var6%  endon
    on var2#state>=10 do backlog scale3 %var1%,0,10,0,1; var1 0; var2 0 endon
    on var3#state do publish stat/Zitronenbaum/Bodenfeuchte/M10 %value% endon

    Das geht so:

    on analog#a0>WERTX do IRGENDWAS endon

    bzw.

    on analog#a0 do IRGENDWAS endon

    Was es beim Analog schwierig machen wird ist das der Wert vermutlich viel zu oft ändert und schwankt.

    Da muss man evtl mit einer Wertematrix arbeiten. Um sich das zu verdeutlichen, kannst Du dir das hier mal ansehen:

    HoerMirAuf
    27. April 2022 um 09:46

    Hi.

    Wie schauen die Messwerte den im Log aus?

    Das der jeweilge Werte über MQTT gesendet wird stört ja nicht. Was wir brauchen ist ein zusätzlicher Wert der den Mittelwert übermittelt, im Bsp genannt M10 (Mittelwert von 10 Messungen)

    Mir stelle mir das dann als Rule so vor:

    Code
    on system init do backlog var1 0; var2 0; var3 0; endon
    on <MESSWERT> do backlog add1 %value%; var2 add 1 endon
    on var2#state>=10 do backlog scale3 %var1%,0,10,0,1; var1 0; var2 0 endon
    on var3#state do publish stat/<DEVICENAME>/M10 %value% endon

    Um das dann in Prozent umzurechnen bräuchte man noch den 100% Wert.

    scale<x> <MITTELWERTWERT>,0,<100%_WERT>,0,100

    Moin.

    Ob das ein 10K oder 22K Pullup ist, ist egal. Der stellt nur sicher das ein sauber definiertes High Signal am GPIO16 anliegt.

    Bei meinen WEMOS geht das auch ohne Pullups.


    ich hab das mal nachgestellt:

    Ich denke das Dein DeepSleep funktioniert.

    Wenn du den Befehl Deepsleeptime <x> ausführst, zählt Tasmota bis 60 runter geht in den Deepsleep, wacht nach der eingestellten Zeit auf und geht mit der nächsten Teleperiod (ein paar Sekunden bis die kommt) wieder in den Deepsleep. Schätze das bekommst da dann gar nicht mit das der WEMOS alle 60 Sekunden aufwacht.

    Zitat

    Es gibt ZWEI allgemeine Methoden, um mit Deepsleep zu arbeiten. Methode EINS weckt das Gerät in regelmäßigen Abständen auf, wartet auf TELEPERIOD und wechselt sofort wieder in den Deepsleep.

    Das kannst Du verhindern indem du eine Rule einstellst:

    backlog rule1 on system#init do deepsleeptime 0 endon; rule1 1

    Jetzt wird nach dem aufwachen der Deepsleep deaktiviert und du kannst in via Rule wieder in den Schlaf schicken nachdem er erledigt hat was auch immer er machen soll.


    Oder gleich über Timer (jeder auf Rule gestellte Timer beendet zu der einegstellten Zeit den Deepsleep):

    Zitat

    DeepSleep-Aufwachen basierend auf TIMER-Ereignissen~
    Mit Version 13.2 gibt es eine neue Funktionalität zur Verwendung von TIMER für den Weckvorgang im Tiefschlaf. In diesem Fall wird die Tiefschlafzeit dynamisch durch die TIMER berechnet. Um TIMER im Tiefschlaf zu aktivieren, muss einrule1 Wakeup

    Regel1 Zustand Verhalten
    Wakeup EIN/1 Das Gerät führt eine TELEPERIODE durch und wechselt so schnell wie möglich in den Tiefschlaf, ähnlich wie beim Tiefschlaf mit Intervall
    Wakeup AUS/0 Das Gerät bleibt eingeschaltet, bis es mit Neustart 9 (Tiefschlaf) in den Tiefschlaf versetzt wird.
    Wakeup EINMAL/5 Das Gerät führt eine TELEPERIODE durch und wechselt so schnell wie möglich in den Tiefschlaf. Beim nächsten Aufwachen bleibt das Gerät eingeschaltet

    DeepSleep - Tasmota

    Moin

    Code
    >E
    Executed when a Tasmota MQTT RESULT message is received, e.g., on POWER change. Also Zigbee reports to this section.

    Das sollte es sein ... ein Power on/off erzeugt immer ein RESULT

    Code
    >E
    if pwr(0)==1
    then
    =>IRsend {"Protocol":"NEC","Bits":32,"Data":"0x4FB4AB5"}
    delay(1000)
    =>IRsend {"Protocol":"NEC","Bits":32,"Data":"0xXXXXXXX"}
    endif

    ja - deshalb bleibe ich bei 13.3

    Ja ... ich hab leider keine 13 er bin mehr die IR integriert hat und CORS und Websend respond :(

    Aber was solls, ich brauch WebIF eh kaum. Wird alles über Alexa und MQTT bedient. geht schneller als im Browser ;)

    Softwarestand ändern geht auch nicht ganz so einfach bei den H801. Meins hat wohl nur nen 512kb Speicher. Selbst die minimal lässt sich über die Oberfläche nicht mehr einspielen, wenn das bereits eingespielte BIN zu groß ist. Nochmal flashen hab ich keine Lust, also bleibt's wie's ist. :P

    Welche Idee hast du das Colorsystem mit Rule umzusetzen.

    So:

    Code
    rule1
    on event#dark do WebColor {"WebColor":["#eaeaea","#252525","#4f4f4f","#000000","#dddddd","#65c115","#1f1f1f","#ff5661","#008000","#faffff","#1fa3ec","#0e70a4","#d43535","#931f1f","#47c266","#5aaf6f","#faffff","#999999","#eaeaea","#08405e"]} endon
    on event#light do WebColor {"WebColor":["#000000","#ffffff","#f2f2f2","#000000","#ffffff","#000000","#ffffff","#ff0000","#008000","#ffffff","#1fa3ec","#0e70a4","#d43535","#931f1f","#47c266","#5aaf6f","#ffffff","#999999","#000000","#a1d9f7"]} endon

    rule1 1

    event dark

    event light


    Habe mir jetzt anstatt der Shellies noch 2 H801 bestellt.

    Ist auf jeden Fall eine qualitativ Hochwertige, günstige Alternative.

    Ich bin mit den teilen mehr als zufrieden.

    Was mir gefällt das man die GPIO der Status LED auch zweckentfremden kann. Damit hat man 5 PWM und 4 freie GPIO's (wenn man RX/TX mitrechnet)


    EDIT:

    Welche Idee hast du das Colorsystem mit Rule umzusetzen.

    Ach du meinst über die IR Fernbedienung?

    Code
    Rule1
    on IrReceived#Data=0xFFB04F do power1 on endon
    on IrReceived#Data=0xFFF807 do power1 off endon
    on IrReceived#Data=0xFF906F do dimmer + endon
    on IrReceived#Data=0xFFB847 do dimmer - endon
    on IrReceived#Data=0xFFB24D do scheme 0 endon
    on IrReceived#Data=0xFF00FF do scheme 4 endon
    on IrReceived#Data=0xFF58A7 do scheme 2 endon
    on IrReceived#Data=0xFF30CF do scheme 3 endon
    Code
    Rule2
    on IrReceived#Data=0xFF9867 do color2 #FF0000 endon
    on IrReceived#Data=0xFFE817 do color2 #470D00 endon
    on IrReceived#Data=0xFF02FD do color2 #381600 endon
    on IrReceived#Data=0xFF50AF do color2 #331A00 endon
    on IrReceived#Data=0xFF38C7 do color2 #332600 endon
    on IrReceived#Data=0xFFD827 do color2 #00FF00 endon
    on IrReceived#Data=0xFF48B7 do color2 #00330A endon
    on IrReceived#Data=0xFF32CD do color2 #003314 endon
    on IrReceived#Data=0xFF7887 do color2 #00331E endon
    Code
    Rule3
    on IrReceived#Data=0xFF28D7 do color2 #003328 endon
    on IrReceived#Data=0xFF8877 do color2 #0000FF endon
    on IrReceived#Data=0xFF6897 do color2 #0A0033 endon
    on IrReceived#Data=0xFF20DF do color2 #140033 endon
    on IrReceived#Data=0xFF708F do color2 #140033 endon
    on IrReceived#Data=0xFFF00F do color2 #280033 endon
    on IrReceived#Data=0xFFA857 do color2 #FFFFFF endon

    Moin,

    so das Teil wurde gestern geliefert.

    Flashen ging problemlos, wie erwartet.

    Die Pinout sind etwas anders als auf der Template Page.

    H801 LED Controller Configuration for Tasmota
    Configure your smart LED controller to work with Tasmota open source firmware.
    templates.blakadder.com

    Ebenso sind die PWM anders sortiert:

    R = GPIO13 / G = GPIO15 / B = GPIO12

    Der TSOP vom MagicHome arbeitet tadellos am RX GPIO (serielles logging deaktiviert)

    Wer mehr GPIO braucht, evtl. Temp-Sensoren etc. kann auch die LED Dioden D1/D2 auslöten und diese verwenden, die Leiterbahnen sind direkt auf den ESP Chip geführt und können dort bequem abgegriffen werden.


    Fazit:

    Für etwa über 10€ (damit nicht teurer aus der MagicHome seinerzeit mit ESP Chip) ist das echt ein SEHR GUTES Preis/Leistungsverhältnis!

    Das Ding ist sauber und aufwendig verarbeitet, mit abnehmbaren Klemm-Steckern, hat sogar 5 PWM Ausgänge und die verbauten Mosfet sind eine ganz andere Kategorie als die Spielzeuge im MagicHome und dürften einiges mehr an Leistung vertragen.

    Abgesehen von der Baugröße für die PWM gesteuerten LED Stripes echt zu empfehlen. :thumbup:

    Naja ... "bemängelt" ;) ... klar wäre mir kleiner lieber, ich hab mich damit abgefunden das es wohl nix mehr so kleines gibt.

    Allerdings gefällt mir die Bauform vom H801 besser als vom Shelly RGB

    Hab mir allerdings auch zum testen noch einen Tuya Controller bestellt der auch nen ESP haben soll. Mal sehen ob da was geht.

    Der H801 hat werksteitig keinen IR Anschluss aber der TSOP Empfänger vom Original MagicHome ist problemlos an einem ungenutzten GPIO nachrüstbar.