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.

    benzino77 Tasmocompiler

    Gitpod Master Release


    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 u. mosquitto/bash/html/cgi auf RPI 2B+

  • 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.