Beiträge von mat-sche

    Liebes Forum,

    zwar auf den Seiten zu Tasmota gesucht, gelesen und doch nicht fundig geworden, hier nun meine Bitte um INformationen und Hilfe.

    Ich möchte einen ESP mit Tasmota bespielen, der dann über einen PCF8574 mehrere Relais schalten soll. Den ESP benötige ich für den WEB Teil + MQTT meiner Steuerung. Zur Visualiesierung und anderer Sachen möchte ich einen ATMega per serielle an den ESP anhängen. Der ATMega bedient ein 240x128 Display mit Touch, worüber ich ebenfalls diese Relais schalten möchte.

    Wie kann ich nun Tasmota nutzen um Seriell mit dem ATMega zu kommunizieren?

    Vielen Dank und Grüße MAT

    Guten Abend und Gruß in die Runde!

    Was habe ich:

    * ESP8266 4Mb

    * RE-Empfangsteil auf GPIO 10

    * 3 Relais => power1-3

    Die Auswertung der Empfangen Daten meiner RF Fernbedienung funktioniert:

    Rule1 on RfReceived#Data=0xxxxxxx do backlog power2 0; power3 0; power1 toggle endon

    Bei Empfang einer Tastenbetätigung wird das entsprechende Relais eingeschalten, davor werden die 2 anderen Relais ausgeschalten. Die Relais schalten einen Lüfter mit 3 Geschwindigkeiten (Lüftung)

    Was möchte ich machen:

    Mit der Rule1 soll es jeweils nur möglich sein, eines der Relais bei einem Tastendruck zu "toggel". Ist ein Relais (Lüfterstufe) vorher schon angeschalten, wird dies erst abgeschalten und dann erst auf eine ander Lüfterstufe.

    Nun habe ich noch eine weiter (4.) Taste auf der FB, die ich zum einschalten einer Intervallschaltung zum Lüfterlauf nutzen möchte. Der Knackpunkt ist der, das die Intervallschaltung für alle 3 Lüfterstufen nutzbar sein sollte.

    Das Intervall soll über einen Timer erfolgen, der im Zeitplan einstellbar sein soll:

    Code
        rule2
        on clock#timer=4 do backlog rule3 1; power1 1; ruletimer2 3600 endon
        on clock#timer=5 do backlog rule3 0; power1 0 endon
    
        rule2 1   
    
        rule3
        on rules#timer=4 do backlog power1 0; ruletimer5 14400 endon
        on rules#timer=5 do backlog power1 1; ruletimer4 3600 endon

    In der Rule 2/3 wird nun direkt das Relais/Lüfterstufe geschalten.. Wie kann man die rules nun so gestallten, das nur die entsprechende lüfterstufe, die über die FB gewählt wurde, aktiviert wird? Und das über die 4. Taste der FB?

    Ich würde eine Variable mir anlegen, in der die Lüfterstufe (power xyz ) hinterlegt wird, nach dem diese auf 1 gesetzt wird.

    Diese Varable würde ich dann in die Rule 2/3 einbinden:


    Code
    	rule2
    	on clock#timer=4 do backlog rule3 1; power%var1% 1; ruletimer2 3600 endon
    	on clock#timer=5 do backlog rule3 0; power%var1% 0 endon
    
    	rule3
    	on rules#timer=4 do backlog power%var1% 0; ruletimer5 14400 endon
    	on rules#timer=5 do backlog power%var1% 1; ruletimer4 3600 endon

    Könnte das so gehen? Oder hättet Ihr noch einen anderen Lösungsweg?

    Vielen DAnk und ich bin mal gespannt....


    MAT

    Hallo Marc,

    Danke und schön das Du geantwortet hast! Auch ich habe aus mehr oder weniger Zufall geschaut, ob ich antwort bekommen habe.

    Habe gleich von anfang an Dein Vorhaben verstanden. Wenn meine Maschine fertig ist zieht sie noch 12W, ein Idikator das Sie fertig ist, ein Knitterschutz gibt es bei meiner Maschine glaube ich nicht. Das muss ich aber ersteinmal checken.

    Kurz gefragt, ist es möglich Deinen Ansatz von Script zu bekommen, um darauf aufzubauen bzw. zu nutzen?

    Das wäre echt super!

    Dank und Grüße MAT

    Hallo Marc,

    leider ist Beitrag #16 der letzte zu diesem Thema, bist Du schon weiter gekommen?

    Ich bin ebenfalls dran meine Steckdosen intelligenter zu machen:

    1. Strommessung => könnte aber Probleme bei unterschiedlicher Beladung geben

    2. Zeit => wird an meiner Maschine angezeigt, eine Möglichkeit über einen Ruletimer etwas zu organisieren

    3. Ergebniszählung & Verweildauer vom Waschprogramm


    Wenn Du eine Lösung gefunden hast, würde die mich schon interessieren!

    Vielen Dank und Grüße!

    So ist es.... wollte vorher es auch nicht glauben, wenn die Daten örtlich liegen, werden die Anfragen nicht über einen anderen "Server" laufen, erst wenn von einem anderen Server bzw. wo die Webseite liegt die Daten angefragt werden, wird en Riegel davor geschoben und verhindert, dass Daten weitergeleitet werden. Grund: der Server über die Daten weiterleitet könnte ja die Daten minipulieren, abhängig vom Typ der Abfrage (GET,POST,DELETE...)

    Also bei mir ist es so, dass ich einen Webserver habe, auf dem eine Seite läuft und diese sich die Daten von den einzelnen Tasmota Devices holt und da brauche ich halt cors dazu :)

    Hallo, ich habe versucht, die o.a. Beispiele (nach: Ich hab dir die Energydaten mal in das Beispiel mit eingebaut:) umzusetzen.
    Ich bekomme aber keine Werte zurückgeliefert. Woran kann das liegen?

    Wenn ich das Beispiel aufrufe erscheint das:

    Beim Klick auf "Get State" passiert gar nichts.
    Ich habe versucht mit document.write("Hier"); zu prüfen ob die functions aufgerufen werden, Es wird aber kein "Hier" ausgegeben.

    Ach ja, falls das wichtig ist, ich habs mit firefox und edge probiert...
    Wer kann helfen?

    Vielen Dank!!!

    N'guten Abend!


    Mein Code aus #38 funktioniert so wie er da steht. Was hast Du genau gemacht, wie ist Dein Java Code? Welche Hardware nutzt Du und wenn es Tasmota ist, musst du CORS aktivieren (geht nur wenn Du ein custom bin erzeugst) Schau mal unter meinem Namen die Beiträge durch, dann kommst Du zum Ziel, ist alles darin beschrieben.

    Was mir geholfen hat, F12 bei edge oder Firefox und Du bist im entwickler seite und kannst sehen was auf deiner Webseite passiert, nach Dem Du nen fetch anschiebst.

    Grüße MAT

    Guten Morgen,


    Danke aller Antworten!

    Zur Info, es soll auf der Webseite nur ein Countdown angezeigt werden, der abhängig von der Waschzeit voreingestellt wird, und bei Waschstart gestartet wird.

    @HoerMirAuf : das mit dem Rultimer werde ich mir mal anschauen. Die Abarbeitung des Counter muss inTasmota stattfinden, da die WebSeitenauswertung unterschiedlich auf Geräten und Zeit vorgenommen werden kann.

    Vielen Dank und bis später

    MAT

    Liebes Forum,

    ich benötige auf meiner Tasmota-Steckdose ca 3 - 4 Timer die als Countdown laufen. Die verbleibenden Zeit(Zeit die rückwärts läuft) möchte ich per Http Request (Abfrage per Fetch) mir auf meiner Webseite anzeigen lassen, aktivieren und deaktivieren können. Mit "cm?cmnd=timers" lassen sich die aktuellen Einstellungen abfragen.

    Wie aber könnte man einen Countdown erstellen?

    Hintergrund: an einer Steckdose ist eine Waschmaschine angeschlossen, Frau startet Countdown auf der Webseite, dort wo Sie schon die Steckdose aktiviert wird, und kann von Zeit zu zeit nachschauen wie weit die Wäsche ist.

    A) über den gerade verbrauchte Leistung und

    B) über den Countdown.


    Jemand ne Idee? :D

    Soo meinen Fehler hab ich auch gefunden.

    #define USE_CORS
    #define USE_I2C                                // Add support for I2C
    #define USE_PCF8574


    reicht völlig aus. Mein Problem war, dass ich "Wähle die Funktionen" I/O Erweiterungsboards ausgewählt hatte...

    Und natürlich wenn ich dieses Auswähle und nicht die nötigen #define mit hinzufüge kann es ja nicht gehen :)

    Einzeln natürlich einen MCP hinzuzufügen sollte auch so gehen...

    Und bitte, was kann ich mit dem Websend Response alles anstellen?

    Moin!

    Hast Du den Punkt unter "Wähle die Funktionen" I/O Erweiterungsboards mit hineingenommen? Bei meiner Auswahl hatte ich unter zusätzliche Parameter noch ein define MCP2300... mit aufgeführt, dieser wurde mir dann auch im Log als I2C Device angezeigt. Diesen konnte ich beim compelieren nicht herrausnehmen, wenn ja dann streikte die Kompelierung....

    Werde nochmals den Tasmocompiler anwerfen :)

    Wünsche einen schönen Tag!

    @HoerMirAuf & Einstein,

    Super, konnte nun das Update aufspielen und es zeigt mir nun den Button zum einstellen.

    Wie hast Du das Bin erzeugt? Mit dem benzino77 Tasmocompiler habe ich es nicht hinbekommen, konnte machen was ich wollte...

    Hat jemand ne gute Anleitung, dass ich mich endlich mal mit Platform IO beschäftige..., wie darüber ein eigenes Tasmota-BIN erstellt werden kann?

    Ich müsste nochmals etwas am BIN erweitern, benötige noch das CORS.

    Gibt es eine Möglichkeit ein Abbild der ganzen Einstellungen zu speichern und nach dem die FW geupdatet wurde wieder neu aufzuspielen?

    Was liefert der Befehl: i2cdriver zurück?

    "28" sollte dabei sein. Das wäre der PCF8574/PCF8574A Treiber.

    Hab den Befehl garnicht gesehen!

    Bei mir kommt : RESULT = {"I2CDriver":"22"} => das wäre dann der MCP23.... laut Liste : https://tasmota.github.io/docs/I2CDEVICE…ted-i2c-devices.

    Dann ist es mir klar, dass keine Einstellmenü zum PCF kommt. Im Tasmocompiler konnte iich das define für den MCP nicht auskommentieren, da hat dann das compelieren gestreikt.

    Du hast in den Einstellungen auch die GPIO's an welchen der Expander angeschlossen ist als:

    I2C SCl und I2C SDA

    konfiguriert bzw. mal andere verwendet?

    Auch die habe ich mal vertauscht eingegeben, ohne Erfolg. Ich nutze ein ESP12F als Hardware.

    Nach dem ich alles gemacht habe, kann ich mir nur vorstellen, dass das Build 13.3.0 nicht funktioniert.

    Zum Vergleich, könntest Du mir bitte ein FW erstellen, mit den gewünschten Funktionalität. Ich zweifle gerade etwas an mir ;)

    ja, habe alles im Web durchsucht,

    Ohh, habs nicht explizit geschrieben.

    Code
    #define USE_I2C
    #define USE_PCF8574_ADR 026
    
    #define USE_PCF8574_MODE2
    => habe ich nicht genommen, möchte Mode1

    Eigentlich habe ich alles so gemacht wie im Web zu finden...

    Kann es sein, dass wenn Tasmota keinen PCF beim Start findet, diese Einstellmöglichkeit gibt? Ist aber auch quatsch, da viele meinten, dass mit I2Cscan die Adresse ermittelt werden kann....

    Hast du diese #define hinzugefügt?

    Hi Noschvie danke für Deine Antwort,

    ja, habe alles im Web durchsucht, um einen Erfolg zu haben! Habe div. Builds zusammengestellt, Einstellungen dann vorgenommen ect.

    Mit einem eigenem Arduino Sketch weiß ich, dass der PCF auf der angegebenen Adresse funktioniert.

    Könnte das Problem mit dem aktuellen Build zu tun haben? Das Bin-Files habe ich mit dem Tasmocompiler durchgeführt, da ich noch nicht mit Platform IO zurecht komme.

    Liebes Forum,

    vergeblich gestern eine FW über den Tasmocompiler zu erstellen, die einen PCF7485 beinhaltet. Habe alle Punkte wie folgt ausgewählt:

    Nutzen tue ich den neuesten Build 13.3.0

    Nach dem Flashen vom ESP bekommen ich in den Einstellungen keinen Punkt für den PCF, wie ich in den gängigen web-Suchergebnissen finden konnte. Auch geht kein "i2cscan". I2C Anschlüsse habe ich festgelegt.

    Was mache ich falsch?

    Moin

    Das wird genauso geparst wie das einfache JSON.

    Code

    N'guten Abend!


    Danke für die Antwort!

    Hatte inzwischen aus einem JS Forum Hlfe bekommen und es so umgesetzt:

    Ich werde an der Sache dranbleiben, muss noch einiges lernen. Jetzt designe ich erstmal die Seite für meinen ESP32 :)

    Vielen DAnk und Grüße!

    wenn ich es richtig verstanden habe, seid ihr auf einem nicht tasmota bestückten ESP32 unterwegs und wertet da Tasmota Daten aus?

    Hi,

    fast richtig, aber hier geht es nicht umbedingt ums Board, tasmota ist ja SW und das Board kann so gestalltet werden wie Du magst!

    da bin ich noch nicht unterwegs, weil meine Strategie noch ist, alles mit tasmota umzusetzen. Sieht bis jetzt auch ganz gut aus, dass man es hinbekommt.

    Jup, Tasmota ist sehr mächtig und komplex, über Scripts oder Rules kann einiges gemacht werden, gerade mit einem ESP32.

    Darüber hinaus kann man auch Werte von Tasmota direkt versenden.
    Oder habe ich Euch falsch verstanden?

    Und auch Jup! :D

    Bei meiner Geschichte geht es darum, Tasmota über einen http request anzusprechen und die Daten, die auch über MQTT von Tasmota verschickt werden können, direkt auf einer Webseite auf einem Server zu verarbeiten.


    Grüße MAT