Werte/Eingabefelder hintereinander anordnen

  • die script macros erzeugen einfach HTML code der primär für die Darstellung untereinander im Tasmota Hauptmenu gedacht war. z.B <center>

    mit den speziellen Optionen kann man einzelne Elemente dabei ausschalten

    special html options:

    so(flags):


    WSO_NOCENTER = 1 force elements not centered

    WSO_NODIV = 2 force elements not in extra <div>

    WSO_FORCEPLAIN = 4 send line in plain (no table elements)

    WSO_FORCEMAIN = 8 send lines in main mode ($ mode)


    wenn du also z.B so(1) schreibst dann werden die Elemente linksbündig statt zentriert dargestellt


    du kannst dir den erzeugten HTML Code im Browser anschauen mit "Quelltext anzeigen"


    warum es manchmal Verschiebungen gibt weis ich leider auch nicht.

  • Mit dem Konsolenbefehl kann man die Einstellung z. B. von Timer 1 auslesen und entsprechend über Scriptprogramm anpassen.

    Code
    ->timer1 {"Enable":1,"Mode":0,"Time":"20:20%","Window":0,"Days":"1111111","Repeat":1,"Output":1,"Action":1}

    Gibt es eine Möglichkeit, die einzelnen Timer Werte/Einstellungen z. B. den Wert von Enable in eigene Variablen abzulegen? bzw. wie heißen die Variablen der Timereinstellungen?

    Hintergrund: Wenn man über Die Konfigurationen die Timer Einstellungen vornimmt, werden diese nicht in den Zahlen Eingabefelder auf der WEB UI übernommen. Ändert man dagegen über die WEBUI die Timer Einstellungen und schaut unter Konfigrationen in den Timern nach, wurden diese von er WEB UI Eingabefelder übernomen.

  • ohne den Skript zu sehen ist die Mutmassung das du eine Schattensteuerung im WebUI aufbaust die keine Rückkopplung aus der Konfiguration erhält.

    Beide als gleichberechtigt aktiv zu bauen ist sehr komplex mit Vergleichen zu gestalten. Aber vielleicht hat gemu2015 noch einen Trick für dich

  • vielleicht hilft das

    bei den Geräten bei denen ich einen Tasmota Timer verwende benutze ich dieses script zur Anzeige der aktuellen Zeiten im Web UI


  • gemu2015 danke für das Beispiel! Hat mir weitergeholfen, muste aber leider feststellen, dass es nicht so sinnhaftig war was ich vor hatte.

    Ich habe jetzt ein Programm mit Uhrzeit und Datum sowie dass mir bei einem aktivierten (verinfacht) Timer die Zeit in der WEBUI anzeigt. Ich habe all mögliche Kombination ausprobiert das ich den Timer1 in einen Rahmen angezeigt bekomme. Leider ohne Erfolg. Hast du einen Idee wie das klappen könnte?


    Sprich diesen Rahmen

    Code
    so(7)
    <blockquote style="border-style: solid;
    border-width: 5px; border-color: #0e70a4; background-color: #1f1f1f">
    
    </blockquote>


    in diesen code, so dass die aktivierten Timer im Rahme stehen.

  • hier das bereinigte script

    es waren einige Syntaxfehler drin. Es gibt so gut wie keinen Syntaxcheck im scripter. es können aber sehr seltsame Dinge passieren wenn man z.B. eine Bedingung nicht richtig abschliesst also eine geschweifte Klammer auf ohne geschweifte Klammer zu. am besten bleibst du bei einer Schreibweise, entweder if then else oder geschweifte Klammern.

    Wenn du mit Einrückungen arbeitest siehst du das viel besser.

    Wenn du mehr mit scripten machen willst solltest du den scripteditor verwenden, dort gibt es auch eine Syntax Colorierung mit der man Fehler besser finden kann und das Programm wird auf Knopfdruck auf den ESP übertragen,


  • gemu2015 Danke das du es mir verbessert hast. Die unterschiedliche Schreibeweise kommt daher, dass ich von Beispielen Codeteile herauskopiert haben :D. Das mit dem einrücken hat aber den Nachteil das Zeichen verschwendet werden.

    Ich komme mit der Scripterrei nicht so zurecht, wie zb. mit C. Ist recht seltsam, wenn man das ganze mit html kombiniert.

    Du hast gesagt das man mit so(7) die Elemente hintereinander anordnen kann. In deinem Beispiel funktioniert es auch. Aber in diesem Fall klappt es einfach nicht. Die zwei Button Var1 und Var2 sollen hintereinander in dem Rahmen stehen. Der so(7) Befehl hat leider keine Auswirkung.