Beiträge von karoCB

    ein Elko mit 1000 µF zwischen GDN und 3V3 hat immer geholfen die nötigen Spitzenströme liefern zu können (LED-Blitzlicht usw.).


    Temperaturanzeige in der Konsole und dauerhaft die max und min Werte (bis Rücksetzung mem2/ mem3 - Stromausfall reicht nicht) kann folgender Skript reichen.


    Rule3


    on tele-DS18B20#Temperature do Temperatur: %value% max: %mem3% min: %mem2% endon


    on tele-DS18B20#Temperature<%mem2% do mem2 %value% endon


    on tele-DS18B20#Temperature>%mem3% do mem3 %value% endon

    Dazu finde ich nur diese Lösung:

    rule3 on tele-DS18B20#Temperature do var1 %value% endon

    damit entsteht eine kontinuierliche Anzeige (RESULT = {"Var1":"31.1"} alle 5 Sekunden

    und muss nicht erst bei Sensoren gesucht werden


    also Integration in der Konsole mit

    Backlog Rule3 1; rule3 on tele-DS18B20#Temperature do var1 %value% endon; teleperiod 5

    Nach meiner Auffassung ist in der Berry Script Dokumentation (https://tasmota.github.io/docs…Language/#script-sections) das Beispiel fehlerhaft für die Auswertung mit  bt[x].
    Das Testprogramm läuft nicht, aber nur so kann zur CPU-Entlastung den Interrupt für Buttonaktivitäten unter der Script Section >b genutzt werden.

    Was ist falsch:?:


    Beispiel vollständig besser so: - aber defekt !

    D

    tmp=0

    mp=0


    >b

    tmp=bt[1]

    if tmp==0

    then

    print falling edge of button1

    endif

    if tmp==1

    then

    print rising edge of button1

    endif


    >W

    bu(mp "ok" "Taste")

    Status mp {m} %mp%

    Status tmp {m} %tmp%


    Mit den Rest bin ich noch nicht weiter!:(

    Mit dem Tasmota-Display.bin für ESP32 kommt das Bord sicher zum Starten aber die Template-Einstellung für die Portbelegung zur Displayansteuerung mit einem zugehörigen Testbeispiel (Console DisplayText [s1l1c1]Hallo Welt ) - kann ich nicht finden.

    Wird das Board mit Tasmota-Display.bin nicht unterstützt?



    Kauf z.B. hier - de.aliexpress.com/i/32854116196.html

    mit BS1 auf der Leiterplatte des Displays auf 3-Draht-SPI einstellen - aber wo ist der R8 ?

    SPI_MOSI=GPIO13, SPI_SCLK=GPIO14, CS=GPIO15 - als Einstellung reicht ?


    oder für T5 V2.2 anpassen auf :

    SPI_MOSI1=GPIO23, SPI_CLK1=GPIO18, Epaper29_CS=GPIO05, Output_Hi=Busy=GPIO=04, Display Rst=RES=GPIO12, SPI_DC=D/C=GPIO19 ?

    wie aus den Unterlagen http://github.com/Xinyuan-Lily…ter/schematic/T5_V2.2.pdf erraten


    DisplayModel 5 auf der Konsole ist eingestellt aber

    USE_DISPLAY_EPAPER_29 und USE_SPI ist in tasmota-Display.bin nicht umgesetzt ?



    OK - Danke für die Expertise :thumbup:!

    Dann bleibe ich bei der aktuellen Variante unter ESP8266 und gebe mich mit der Lösung zufrieden.

    Bleibt der Umweg über einen ioBroker oder NGINX in der Zukunft als mögliche Lösung.

    Habe zur Entkopplung von Power1 einen Button4 (Touch TTP223) an den Shelly auf TX (GPIO1) gelegt und

    einen weiteren Testskript erstellt:


    rule2

    on Button4#State do websend [api.openweathermap.org] /data/2.5/weather?q=Cottbus,de&units=metric&appid=ada01f72c79beccce endon

    on main#temp do var1 %value% endon


    # ohne Erfolg, aber mit Erfolg bei :

    rule2

    on Button4#State do Backlog VAR1 -100 websend [api.openweathermap.org] /data/2.5/weather?q=Cottbus,de&units=metric&appid=ada01f72c79beccce endon

    on main#temp do var1 %value% endon




    Fazit: es muss dingend ein Backlog vor dem websend stehen (auch ohne Inhalt) sonst wird nichts übergeben - warum auch immer!


    Danke:<3

    Mit der Sicherheit der BIN 9.5. und dem stimmigen Konsolentest konnte das Zielergebnis erreicht werden. :):):):thumbup:



    Besten Danke für die 9.5.0 BIN - diese läuft aber auch noch nicht wie gewünscht - da habe ich sicherlich noch ein Handlungsproblem:?:;(


    In der Analyse scheint dein WEBSEND aus der Konsol gestartet worden zu sein. 16:59:21.741 CMD: websend [api.openweathermap.org]...

    Mit Konsole - das macht mein Release 9.4 wie deins mit 9.5.0 dann greift die hinterlegter Rule zur Übergabe an VAR1


    Aber ich habe zur Testsimulationsauslösung den Button1 am Shelly - dann kommt nichts mehr am in der Var1 an.

    Evtl. eine RESULT-Überlagerung mit POWER1 Result?


    rule2

    on POWER1#State do websend [api.openweathermap.org] /data/2.5/weather?q=Cottbus,de&units=metric&appid=ada01f72c79beccce endon

    on main#temp do var1 %value% endon


    18:01:07.172 CMD: var1 0

    18:01:07.179 RSL: RESULT = {"Var1":"0"}

    18:01:10.448 RSL: RESULT = {"POWER1":"OFF"}

    18:01:10.451 RSL: POWER1 = OFF

    18:01:10.465 RUL: POWER1#STATE performs "websend [api.openweathermap.org] /data/2.5/weather?q=Cottbus,de&units=metric&appid=ada01f72c79beccce...

    18:01:10.613 RSL: RESULT = {"coord":{"lon":14.3333,"lat":51.7667},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04n"}],"base":"stations","main":{"temp":8.65,"feels_like":5.8,"temp_min":7.66,"temp_max":9.96,"pressure":1016,"humidity":84,"sea_level":1016,"grnd_level":1007},"visibility":10000,"wind":{"speed":5.26,"deg":287,"gust":9.86},"clouds":{"all":100},"dt":1634316590,"sys":{"type":2,"id":2010637,"country":"DE","sunrise":1634275612,"sunset":1634314179},"timezone":7200,"id":2939811,"name":"Cottbus","cod":200}

    18:01:10.622 RSL: RESULT = {"WebSend":"Done"}

    18:01:10.682 RSL: RESULT = {"POWER1":"ON"}

    18:01:10.687 RSL: POWER1 = ON

    18:01:10.703 RUL: POWER1#STATE performs "websend [api.openweathermap.org] /data/2.5/weather?q=Cottbus,de&units=metric&appid=ada01f72c79beccce...

    18:01:10.855 RSL: RESULT = {"coord":{"lon":14.3333,"lat":51.7667},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04n"}],"base":"stations","main":{"temp":8.65,"feels_like":5.8,"temp_min":7.66,"temp_max":9.96,"pressure":1016,"humidity":84,"sea_level":1016,"grnd_level":1007},"visibility":10000,"wind":{"speed":5.26,"deg":287,"gust":9.86},"clouds":{"all":100},"dt":1634316590,"sys":{"type":2,"id":2010637,"country":"DE","sunrise":1634275612,"sunset":1634314179},"timezone":7200,"id":2939811,"name":"Cottbus","cod":200}

    18:01:10.861 RSL: RESULT = {"WebSend":"Done"}

    18:01:51.476 CMD: var1

    18:01:51.482 RSL: RESULT = {"Var1":"0"}


    D

    In der Fritzbox lassen sich gut (unter Telefon>Telefoniegeräte>Live-Bild) URLs ablegen mit denen Tasmota-Geräte dynamisch gesteuert werden können (Weg von den Wandschaltern wenn man schon nicht Alexa nutzt).


    Mit dem Auslösen am Fritztelefon kommt dann dort die Ausschrift "Bildübertragung läuft" das ist ok! Aber um es perfekt zu machen ist mit der Funktionsauslösung folgende Ausschrift "Das Bildformat wird nicht unterstützt" besser durch ein Bild zu ersetzten, welches auf der FB liegt.


    Dazu finde ich aber aktuell keinen technologischen Ansatz: FTelefon URL > Tasmota-Gerät Rule löst Funktion aus und legt einen Link auf http://Fritz.box:49200/Dokumente/Bild.jpg, um was netteres dem Telefon zu reflektieren.

    Könnte da was gehen ohne externe Webserver zu bemühen? :rolleyes:

    Ja - die letzte Zeile war mit falscher Syntax, sollte den Inhalt von VAR1 mit Status (State) reflektieren, da sich ja nichts tut !

    Ja - Rule 1 und Rule 3 waren noch belegt aber ausgeschalten. Nach einem Löschen geht es auch nicht besser. :(


    Kann ich ein fertiges Standard-BIN mit WEBSEND_RESPONDSE im Netz finden:?:

    Danke für den ersten Hinweis:thumbup:

    - aber ich bekomme keine Daten in die Variable beim folgenden Testskript nach Auslösung ::(

    Ist die Umgebung Tasmota 9.4 richtig übersetzt wenn die Daten wenigstens im RESULT sichtbar werden oder kann ich ein aktuelles 9.5. mit Websend_Response entladen?


    rule2

    on POWER1#State do websend [api.openweathermap.org] /data/2.5/weather?q=Cottbus,de&units=metric&appid=ada01f72c79beccce endon

    on main#temp do var1 %value% endon

    on VAR1#Status do VAR1 endon



    Protokoll:

    21:13:15.205 RUL: POWER1#STATE performs "websend [api.openweathermap.org] /data/2.5/weather?q=Cottbus,de&units=metric&appid=ada01f72c79beccce...

    21:13:15.337 RSL: RESULT = {"coord":{"lon":14.3333,"lat":51.7667},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04n"}],"base":"stations","main":{"temp":11.06,"feels_like":10.65,"temp_min":10.9,"temp_max":11.16,"pressure":1018,"humidity":93},"visibility":10000,"wind":{"speed":2.68,"deg":255,"gust":3.58},"clouds":{"all":100},"dt":1634242320,"sys":{"type":2,"id":2000627,"country":"DE","sunrise":1634189109,"sunset":1634227909},"timezone":7200,"id":2939811,"name":"Cottbus","cod":200}

    21:13:15.379 RSL: RESULT = {"WebSend":"Done"}

    Es ist mir zwar gelungen für Release 9.4. ein Tasmota-Release zu erzeugen (Andere haben sich verweigert) welches ein RESULT in der Konsole erzeugt, aber einen Trigger oder eine Datenübernahme in eine Variable für die weitere Auswertung der Webservice-Temperatur ist mir bisher nicht gelungen.

    Kann mich jemand bitte auf den richtigen Weg bringen :saint:?


    Aktion: (gekürzt in der APPID und damit nicht lauffähig)

    on POWER1#State do websend [api.openweathermap.org] /data/2.5/weather?q=Cottbus,de&units=metric&appid=ada01f72c79beccce...... endon


    Ergebnis:

    17:27:40.587 RUL: POWER1#STATE performs "websend [api.openweathermap.org] /data/2.5/weather?q=Cottbus,de&units=metric&appid=ada01f72c79beccce...

    17:27:40.729 RSL: RESULT = {"coord":{"lon":14.3333,"lat":51.7667},"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04n"}],"base":"stations","main":{"temp":9.07,"feels_like":7.21,"temp_min":8.21,"temp_max":9.36,"pressure":1022,"humidity":77,"sea_level":1022,"grnd_level":1013},"visibility":10000,"wind":{"speed":3.32,"deg":288,"gust":5.69},"clouds":{"all":86},"dt":1634142396,"sys":{"type":2,"id":2035260,"country":"DE","sunrise":1634102607,"sunset":1634141640},"timezone":7200,"id":2939811,"name":"Cottbus","cod":200}

    17:27:40.735 RSL: RESULT = {"WebSend":"Done"}

    Danke - 4 Augen sind besser als 2 !

    Ja haben im Testskript mit Mult 600 einen groben Fehler eingebaut - muss 60 sein und dann geht es auch !

    (im 2. setzen über on VAR4#state do RuleTimer3 %Var4% endon geht es dann auch mit großen Zahlen - war aber nicht das Ziel). Problem scheint eine Speicherüberlauf zu sein durch meine Provokation mit 600 !

    Danke - geht mit 60 ! :):thumbup::thumbup:

    Über alle bei mir verfügbaren Release 6.7.1 , 9.1, 9.2, 9.4, 9.5 und 9.5.0.9 habe ich den Fehler (oder falsche Rule-Nutzung?) bemerkt!

    anbei Testskripte:


    Rule3 'geht noch - aber so nicht ausreichend :thumbup:

    on POWER1#State do event check=%time% endon

    on event#check>%sunrise% do Backlog Var4 0; Add4 %time%; Sub4 %sunrise%; RuleTimer3 %Var4% endon

    on Rules#Timer=3 do Backlog power1 on; power2 off endon


    Rule3 'geht nicht mehr - berechnet die Verzögerung der Öffnung wenn Sonnenaufgang nach Powerwechsel (Achtung, bei zweiter Nutzung Rechnungsdatenübernahme prüfen) :cursing:

    on POWER1#State do event check=%time% endon

    on event#check>%sunrise% do Backlog Var4 0; Add4 %time%; Sub4 %sunrise%; Mult4 600; RuleTimer3 %Var4% endon

    on Rules#Timer=3 do Backlog power1 on; power2 off endon


    1. Nutzung nach Neustart:

    17:38:50.577 RUL: EVENT#CHECK>%SUNRISE% performs "Backlog Var4 0; Add4 1058; Sub4 441; Mult4 600; RuleTimer3 :!:"

    17:38:50.591 RSL: RESULT = {"Var4":"0"}

    17:38:50.824 RSL: RESULT = {"Add4":"1058.000"}

    17:38:51.046 RSL: RESULT = {"Sub4":"617.000"}

    17:38:51.307 RSL: RESULT = {"Mult4":"370200.000"}

    17:38:51.595 RSL: RESULT = {"T1":58,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}


    2. Nutzung :

    17:40:54.572 RUL: EVENT#CHECK>%SUNRISE% performs "Backlog Var4 0; Add4 1060; Sub4 441; Mult4 600; RuleTimer3 370800.000:thumbdown:"

    17:40:54.650 RSL: RESULT = {"Var4":"0"}

    17:40:54.912 RSL: RESULT = {"Add4":"1060.000"}

    17:40:55.131 RSL: RESULT = {"Sub4":"619.000"}

    17:40:55.354 RSL: RESULT = {"Mult4":"371400.000:thumbup:"}

    17:40:55.602 RSL: RESULT = {"T1":58,"T2":0,"T3":370800:thumbdown:,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}




    Rule3 'Zwischenlösung - aber unschön:X(

    on POWER1#State do event check=%time% endon

    on event#check>%sunrise% do Backlog Var4 0; Add4 %time%; Sub4 %sunrise%; RuleTimer3 %Var4% endon

    on VAR4#state do RuleTimer3 %Var4% endon

    on Rules#Timer=3 do Backlog power1 on; power2 off endon


    # Ist die Programmierung falsch, so nicht machbar oder liegt ein Tasmota-Fehler vor :?: