Beiträge von karoCB

    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 :?: