Tasmota steuern über den Smart-TV hat jetzt Hürden an der Fritzbox

  • Was prüf der Skript ?

    Es wird mit dem Link http://<IP>/ufsd?download=/<DATEI> nur ein Download durchgeführt.

    Der Browser auf dem TV kann das aber nicht und auf dem IOS-Gerät wird diese Funktion auch verweigert.

    Windows macht eine erfolgreiche Entladung die im Nachgang "nur noch" gestartet werden muss.

    Das Dateiformat bekomme ich nicht raus da ich mit Rules die .bin übersetzt habe.

  • Hi.

    Ich hatte es unter Linux mit wget getestet da klappte das problemlos.

    Ich kenne mich mit Response, Header Get, Post von Webservern nur ansatzweise aus aber so wie ich das sehe wird das Filesystem vom Tasmota-WebServer nicht direkt gehostet sondern bei einem Request, liest Tasmota das angeforderte File ein und gibt es im Response mit aus....

    Je nachdem wie da der Response dann aussieht wird das wohl vom Client nicht als Webside interpretiert sondern als File das gedownloaded werden möchte. Aber alles reine Mutmaßung.

    Das Filesystem ist halt kein WebServer.

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

  • um zum verlinken noch etwas zu erfahren

    mit Scripting unter >W (Großbuchstabe)

    kann man buttons etc (wie in meinem screenshot) und weiteren html code unterbringen,

    wird dann auf der Tasmota Startseite dargestellt.

    mit Scripting unter >w (Kleinbuchstabe!)

    kann man buttons, html Code... wie unter >W (Großbuchstabe) definieren,

    wird dann aber als button auf Startseite angezeigt mit link zu extra html-Seite

    http://192.168.178.xxx/sfd1

    (Beispiel "Übersicht HomeIOT" in meinem screenshot)

    mit >w1 >w2 >w3.. sind auch mehrere Seiten möglich

    mit Scripting >W und USE_UFILESYS hat man den Webserver,

    abrufbar zB als: http://192.168.178.xxx/ufs/HomeIOT_Vx.html

    notwendig dafür in der user_config:

    #undef USE_RULES

    #define USE_SCRIPT

    #define USE_SCRIPT_WEB_DISPLAY // für >W und Webserver

    #define SCRIPT_FULL_WEBPAGE // für >w / w1, w2 ...

    #define USE_UFILESYS // für Webserver


    einfacher als rules ;) und alles zu Scripting mit Beispielen im link oben.

  • Danke für den Versuch mich zu erleuchten !

    Aber ein Browserzugriff für http://192.168.178.xxx/ufs/HomeIOT_Vx.html bringt :

    Code
    File Not Found
    
    URI: /ufs/HomeIOT_Vx.html
    Method: GET
    Arguments: 0

    die im "Manage File System" verlinkten Applikationsskripte IP/ufse?File= oder IP/ufsd?download= gehen schon gut bei mir entsprechend deinem Vorschlag , es fehlt nur dem Browser den Hinweis zur Ausführung der abgelegten HTML Seite zu geben.

    IP/ufsr?run= ist es nicht - wo stehen die Möglichkeiten ?

  • die folgenden Ports bis 1024 sind auf diesem Webserver offen - kann mit denen außer Port 80 noch was laufen?

    PS C:\> 1..1024 | % {write-host ((new-object Net.Sockets.TcpClient).Connect("192.168.178.61",$_)) "Port $_ ist offen"} 2>$null

    >>

    Port 25 ist offen

    Port 80 ist offen

    Port 110 ist offen

    Port 119 ist offen

    Port 143 ist offen

    Port 465 ist offen

    Port 563 ist offen

    Port 587 ist offen

    Port 993 ist offen

    Port 995 ist offen

    ?? Oder ist eine externer direkter Zugriff nicht möglich sondern nur mit Tasmota-Skriptoption >W ?

  • Aber ein Browserzugriff für http://192.168.178.xxx/ufs/HomeIOT_Vx.html bringt :

    ist auch wirklich eine *.html (nicht *.htm) hinterlegt?

    ist ein Script definiert mit >W und aktiviert?

    und wurde die Tasmota Startseite nach dem booten des ESP 1x aufgerufen,

    dann ist es abrufbar.

    mit weiteren ports hab ich noch nichts probiert,

    da evtl gemu2015 direkt anklingeln, er ist für das geniale Scripting "verantwortlich" :)

  • gemu2015 - hat den Programmteil erfolgreich für einen Compiler-Lauf mit "SCRIPT"-Option neu angepasst, so das der Link unter Release 11.0.0.4 wieder läuft.

    Damit reagiert auch ein externer Link mit <IP>/ufs/*.html - mit Ausführung der Seite, egal welcher Browser (auch Exoten wie SmartTV).

    Somit muss zur Übersetzung in die plattformio_override.ini das Bord umgebaut werden (z.B. Shelly 2.5 so):

    board = esp8266_2M1M

    und in die my_user_config.h zusätzlich:

    #define USE_SCRIPT_WEB_DISPLAY

    #define USE_UFILESYS

  • Jetzt kommt die nächste Hürde !

    Rule-Umsetzungen in Script ist nicht so einfach wie am Anfang gedacht.

    Externe HTTP-Aufrufe zum Setzen interner Variablen in der Session >E http://192.168.x.x/cm?cmnd=script?VAR1=3

    Wie kommt das Resultat in die interne VAR1 ?

    Auf den externen Event kann noch reagiert werden mit einem Trick, aber eine echte Überleitung der Inhalte bleibt mir aktuell noch verschlossen.

    Ich suche eine Lösung für eine HTTP-Steuerung unter Script (für Rule mit http://192.168.x.x/cm?cmnd=ADD1%203)

    Power1 dagegen wird auch im Script wie bei Rule übernommen. http://192.168.x.x/cm?cmnd=POWER1%202

    aktueller Trick als Notmaßnahme: http://192.168.x.x/cm?cmnd=script?VAR1

    >E

    VAR1=VAR1+3

  • Soweit geht es !

    Ein Shelly 2.5 (ESP8266) auf Tasmota Script-Steuerung geflasht fürs Rollo mit UFS als paralleler Web-HTML-Host für alle Smart-Geräte geht. Eine komplexe Steuerung über das Fritztelefon scheitert aber an der Fritzbox, da sie verweigert in dem HTTP-String ein ">" einbauen zu lassen (z.B. http://192.168.x.x/cm?cmnd=script>test=1) . Damit bleibt es bei der Notlösung im >E Sektion für die Steuerung vom Fritztelefon aus.

  • das Entprellen der Steuerung über ein Fritztelefon mit Hilfe der Live-Bild Funktion zu einem Tasmota-Rollogerät (Shelly 2PM) mit Rule erfolgt

    seit 3 Jahren über verschieden Varianten - letzte V. >13.0.x Release:

    Rule1
    ON Switch2#State=2 do ADD1 1 endon
    on Button4#State do ADD1 1 endon
    on VAR2#state==1 do Backlog ADD1 1; Ruletimer5 2 endon
    on VAR1#State==1 do Backlog Power1 0; Power2 0 endon
    on VAR1#State==2 do Backlog Power1 1; Power2 0 endon
    on VAR1#State==3 do Backlog Power1 0; Power2 0 endon
    on VAR1#State==4 do Backlog Power1 0; Power2 1 endon
    on VAR1#State>4 do VAR1 1 endon
    on POWER1#state==1 do RuleTimer1 160 endon
    on POWER2#state==1 do RuleTimer2 160 endon
    on Rules#Timer=1 do Backlog VAR1 3; VAR2 0 endon
    on Rules#Timer=2 do Backlog VAR1 1; VAR2 0 endon
    on Rules#timer=5 do VAR2 0 endon

    In der Fritzbox unter Live-Bild ist das http-Kommando einzustellen, um das Ein-/Ausschalten sicher mit dem Fon auszulösen: http://ip-tasmota/cm?cmnd=ADD2%201

    Hat jemand noch eine Idee zur Verbesserung - 2 Sekunden Sperre zu umgehen ?

    Es werden abhängig vom Fritzbox-Type ca 2-6 http-Versendungen per Fon getätigt, wenn die Var2 per http auf 1 gesetzt wird.

    7 Mal editiert, zuletzt von karoCB (29. August 2025 um 20:25)

  • Scheinbar gibt es keine bessere Lösung - reicht ja auch !

    hier für die, welche keine komplexe Rollo-Lösung wie oben umsetzen wollen, das Entprellen nochmals einzeln und mit optimaler Lösung (übersichtlicher mit Event statt ADD2 wie oben, aber eine Zeile Code mehr!).

    In der Fritzbox unter Live-Bild ist das http-Kommando einzustellen, um das Ein-/Ausschalten sicher mit dem Fon auszulösen:

    http://ip-tasmota/cm?cmnd=Event%20Fritzbox

    eine unendliche Fernbedienung für IOT-Geräte mit der nötigen Nachbehandlung:

    Rule1
    on Event#Fritzfon do Backlog ADD1 1; Ruletimer1 2 ENDON
    on VAR1#state=1 do power1 toggle endon
    on rules#timer=1 do var1 0 endon
    on System#Boot do var1 0 endon

    6 Mal editiert, zuletzt von karoCB (21. August 2025 um 20:20)

  • der Var1=2 do ... wird auch abgearbeitet, aber wie ein Bild für das Fritzfon zusätzlich von einem Tasmota/ufs/ der Fritzanforderung untergelegt werden kann ohne einen NGINX ? - wird wohl ohne gehen müssen


    Rule1
    on Event#Fritzfon do Backlog ADD1 1; Ruletimer1 2 ENDON
    on VAR1#state=1 do power1 toggle endon

    on VAR1#state=2 do Bild holen und an Fritztelefon übergeben endon
    on rules#timer=1 do var1 0 endon
    on System#Boot do var1 0 endon

    4 Mal editiert, zuletzt von karoCB (21. August 2025 um 20:20)