Beiträge von dcx

    Da bei PV ja nur Einspeisung erfolgt hast Du dort stets das negative Vorzeichen.

    Ich habe ebenfalls den Dual R3 v2 mit Tasmota 12 zur Leistungsmessung an der PV,

    wenn Du Dir eine eigene Firmware mit Script-Unterstützung kompilierst (siehe hier) kannst Du meine Lösung anwenden.



    Hier wird der positiv gewandelte Wert zusätzlich als globale Variable im LAN kommuniziert (via UDP Multicast).

    Ich habe noch weitere Geräte an denen Displays hängen, so sehe ich immer direkt was gerade "geerntet" wird.


    Ich möchte meine LED-Displays zum Abend hin dimmen und morgens wieder heller einstellen, möglicherweise gekoppelt an die Astro-Funktion (Sunrise, Sunset).

    Wie realisiert man eine Befehlsausführung am besten? Gibt es im Scriptinterpreter so etwas wie einen CronJob?



    Code
    ;Abend
    ->DisplayDimmer 1
    
    ;Morgen
    ->DisplayDimmer 20

    Nun funktioniert es, sowohl WebSend/WebQuery als auch die GlobVars. Dickes Dankeschön an die Experten hier und danke für Eure Geduld mit mir, das Thema ist doch etwas kompliziert und es hat ein paar Tage gedauert bis ich dahinter gestiegen bin ;)


    Falls noch jemand das umsetzen möchte, hier zusammenfassend nochmal wie ich es gelöst habe:

    - Aktuelle Development-Firmware v11.1.0.4 mit TasmoCompiler erstellt, Haken bei "Script" gesetzt und folgende zusätzliche Parameter ausgewählt:

    Code
    #define USE_SCRIPT_GLOBVARS
    #define USE_SCRIPT_FULL_JSON_PARSER
    #define USE_WEBSEND_RESPONSE
    #define USE_SCRIPT_WEB_DISPLAY
    #define SUPPORT_MQTT_EVENT


    Damit kann ich nun die Temperaturwerte von 2 Geräten auf dem jeweils anderen mit anzeigen lassen,

    hier über die globalen Variablen:

        


    Das Skript dazu (so5 wie so3 nur andersrum mit den Werten)


    Mein Sonoff DUAL R3 v2 welche die Leistungswerte der PV-Anlage erfasst ist ein ESP32 und läuft mit unmodifizierter Tasmota32.bin

    Diesen Frage ich über Websend/WebQuery alle 30 Sekunden ab und lasse den Wert auf einem ESP8266 mit integriertem OLED-Display darstellen, außerdem die beiden Temperaturwerte der globalen Variablen gleich mit.




    Alles in allem eröffnet das natürlich viele neue Möglichkeiten, daher freue ich mich das es nun läuft! Danke nochmal!

    Exakt das was ich auch gerade versuche, an den globalen Variablen aber scheitere. Es klappt einfach nicht.

    Auf welchem Gerät läuft Dein Script? Auf dem welches den Wert auch anzeigen soll?

    Wo liegt mein Denkfehler?

    Das Script macht Websend an das Device an der PV-Anlage, dort wird Status 10 ausgeführt.

    Wie kommt der Wert zurück zum anfragenden Gerät an dem das Display angeschlossen ist?

    Es klappt einfach nicht...

    Vielen Dank für Eure Antworten. Ich hatte es also schonmal richtig verstanden und nun nach dem Beispiel von gemu2015 eingestellt.

    Funktioniert leider nicht, entweder ist "DS18B20#Temperature" falsch (?) oder irgendwas stimmt mit meinem Tasmota-Custom-Build noch nicht (?). Habe unter "zusätzliche Parameter" explizit nochmal #define USE_SCRIPT_GLOBVARS hinzugefügt, das hat aber nichts geändert. Ich stehe vor einem Rätsel, bekomme den einen Wert einfach nicht auf dem Web-Frontend des andern Tasmota-Gerätes angezeigt.

    Ich hatte dieses Thema bereits studiert, komme aber überhaupt nicht weiter da der ESP32 "Berry Script" hat und der ESP8266 das im Thema angesprochene Standard-Scripting beherrscht.


    Ich habe nun einmal versucht die Werte von 2 ESP8266 Geräten untereinander auszutauschen, leider auch ohne Erfolg.

    Wie werden die globalen Scriptvariablen denn überhaupt kommuniziert? Via MQTT? Da ist bei mir noch ein großes Fragezeichen.


    Ich habe einen Sonoff DUAL R3 v2 (ESP32) der die Leistungsdaten meiner PV-Anlage erfasst und auch ordentlich per MQTT an den ioBroker übermittelt.

    Nun möchte ich aber die aktuelle Leistung (Watt) auf dem WebIF eines anderen Tasmota-Gerätes (ESP8266) und später auch auf dessen Display (SH1106) anzeigen lassen.

    Wie bekomme den Datensatz auf das andere Tasmota-Gerät?


    Generell muss man bei solchen Relaisplatinen schauen ob sie auf "high" oder "low" schalten. Die meisten schalten auf "low" was dazu führen kann das Relais beim Einschalten des ESP (je nach gewähltem GPIO) kurz anziehen. Bei Garatentoransteuerung kann sowas u.U. ungünstig sein (nach Stromausfall geht Tor auf). Ich habe mir extra welche besorgt die man umstecken kann (wahlweise low oder high). Link

    Mit den Timeout-Schleifen habe ich mich auch schon rumgeärgert. Versuch doch mal was ganz anderes:

    Auf dem Sonoff der die Leuchte schaltet ist ja wahrscheinlich Tasmota installiert.

    Das Ausschalten lässt Du daher nicht über die Blockly-Routine machen sondern den Sonoff selbst übernehmen:

    Dazu in der Console "PulseTime1 225" einstellen (100 Offset plus Deine 125 Sek.)

    Mit jedem PowerOn startet PulseTime auf's neue, egal welcher Bewegungsmelder das initiiert.

    Aber aufpassen: wahrscheinlich muss aber "Falls Objekt" "wurde geändert" auf "wurde aktualisiert" umgestellt werden.