Bachner Gerhard: Onclick-Button mit einem Script auslösen

Hallo Ich habe eine SmartHome Centrale HC2 von fibaro und Programmierer in der Programmiersprache Lua. Ich kann auf der box debugen . Unter dem Debug fenster gibt es einen Button Löschen womit man das Debug fenster leeren kann.

<a id="clearDebugButton" href="#" onclick="mainData.scenes[48].clear(); return false;">
<div class="Button1_0 ng-binding" style="margin: 20px 0px 0px 20px;">Löschen</div>
<a id="stopDebugButton" href="#" onclick="mainData.scenes[48].stop(); return false;">
<div class="Button1_0 ng-binding" style="margin: 20px 0px 0px 20px;">Stop</div>
</a></a>

Wie kann mann diesen onclick oder Button Löschen mit einem Script einmal am tag Clicken, Simulieren ...... so das ich nicht jedesmal mich einloge und das Debug fenster leere. Bin dankbar um einen tip.

Vielen dank im voraus.

  1. Hallo,

    Ich habe eine SmartHome Centrale HC2 von fibaro und Programmierer in der Programmiersprache Lua.

    das sagt mir erst mal nichts, daher kann meine Antwort auch unsinnig sein.

    <a id="clearDebugButton" href="#" onclick="mainData.scenes[48].clear(); return false;">
    <div class="Button1_0 ng-binding" style="margin: 20px 0px 0px 20px;">Löschen</div>
    <a id="stopDebugButton" href="#" onclick="mainData.scenes[48].stop(); return false;">
    <div class="Button1_0 ng-binding" style="margin: 20px 0px 0px 20px;">Stop</div>
    </a></a>
    

    Wie kann mann diesen onclick oder Button Löschen mit einem Script einmal am tag Clicken, Simulieren

    du kannst die Funktionen, die „onclick“ aufgerufen wird, auch direkt oder über setTimeout aufrufen. Das Debugfenster muss dann natürlich auch immer offen sein.

    Gruß
    Jürgen

    PS Das HTML sieht irgendwie seltsam aus. <a …> … <a … > … </a></a> halte ich nicht für sinnvoll: Druckknopf auf Druckknopf. Wer wurde denn jetzt gedrückt?

  2. @@Bachner Gerhard

    Hallo Ich habe eine SmartHome Centrale HC2 von fibaro und Programmierer in der Programmiersprache Lua. Ich kann auf der box debugen . Unter dem Debug fenster gibt es einen Button Löschen womit man das Debug fenster leeren kann.

    <a id="clearDebugButton" href="#" onclick="mainData.scenes[48].clear(); return false;">
    <div class="Button1_0 ng-binding" style="margin: 20px 0px 0px 20px;">Löschen</div>
    <a id="stopDebugButton" href="#" onclick="mainData.scenes[48].stop(); return false;">
    <div class="Button1_0 ng-binding" style="margin: 20px 0px 0px 20px;">Stop</div>
    </a></a>
    

    Zum einen gibt es dort keinen Button, sondern eins, zwei Links (die gerne buttons wären).

    Merke: Links (a-Elemente) für Verweise zu anderen Ressourcen (andere Seiten, Fragmente); Buttons (button-Elemente) für Aktionen.

    Zum anderen ist das Markup kaputt: a darf nicht in a geschachtelt werden.

    (Jedenfalls nicht direkt. Vitaly Friedman hat auf der Smashing Conference Oxford vor ein paar Wochen einen Dirty Trick verraten. Video ab 4:43, Folien ab 4)

    Wie kann mann diesen onclick oder Button Löschen mit einem Script einmal am tag Clicken, Simulieren ...... so das ich nicht jedesmal mich einloge und das Debug fenster leere.

    Ich verstehe das Problem nicht. Läuft die Anwendung ständig im Browser? Was passiert beim Aufruf von mainData.scenes[48].clear()?

    LLAP 🖖

    --
    “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
    Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
    1. Ich verstehe das Problem nicht. Läuft die Anwendung ständig im Browser? Was passiert beim Aufruf von mainData.scenes[48].clear()?>

      Hier wird das Debug Fenster geleert. Scene[48] ist die html seite mit meinem Script das im Fenster darunter mit Debugt wird und das ich regelmäßig leeren möchte. Bildbeschreibung

  3. Hallo ja die Anwendung lauft immer im Hintergrund. Wenn ich den Browser öffne um zu schauen was so passiert ist dann sehe ich was so alles gereget und gesteuert wurde. Es ist ein Script das ich geschrieben habe es wird mit Debuggt. Es ist ein Debug Fenster und zeigt mit ob die Rollos rauf gefahren sind und vieles mehr. Schöhn währe es wenn ich das mit einem script leeren könnte da es nach einer Woche ziemlich voll lauft. Währe dankbar um einen tip.

    1. @@Bachner Gerhard

      Es ist ein Debug Fenster und zeigt mit ob die Rollos rauf gefahren sind und vieles mehr. Schöhn währe es wenn ich das mit einem script leeren könnte da es nach einer Woche ziemlich voll lauft.

      Du willst einmal in der Woche alle Benachrichtigungen wegschmeißen? Auch solche, die gerade eine Minute vorher dazukamen? Unabhängig davon, ob du sie bereits gelesen hast?

      Oder willst du alle Nachrichten wegschmeißen, die älter als eine Woche sind?

      LLAP 🖖

      --
      “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
      Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
    2. Hallo ja ich will alle löschen nach einer bestimmten zeit ein tag oder eine Woche... auch wenn ich sie nicht gelesen habe. Ich währe froh wenn ich erstmal alles leeren kann also einen Click auf den Lösch Button.

      Meine Scene

      1. Habe ein Bild hinzugefügt. Meine Scene

        1. Hallo,

          Habe ein Bild hinzugefügt. Meine Scene

          das hast du gestern auch schon gezeigt.

          Hast du denn versucht meinen Vorschlag von gestern umzusetzen?

          Gruß
          Jürgen

          1. Nein weil wenn ich das Fenster geöffnet haben muss dann kann ich auch manuell Löschen. Ich wüste auch nicht wo ich Ansätzen soll. Ich muss das wahrscheinlich so hinnehmen.

            1. Hallo,

              du hast doch eine HTML-Seite. Bau da doch einfach ein Script-Element ein und setz da den setInterval (ist in diesem Fall besser als setTimeout) rein. Das könnte z.B. so aussehen (ungetestet):

              <script>
                window.setInterval(mainData.scenes[48].clear(),86400000);
              </script>
              

              Wenn das Löschen auch durchgeführt werden soll, wenn du die Steuerung von deinem Smarthome nicht geöffnet hast, muss das auf der Smart-Home-Box passieren, da kenne ich mich aber nicht aus.

              Gruß
              Jürgen

              1. Wenn das Löschen auch durchgeführt werden soll, wenn du die Steuerung von deinem Smart-Home nicht geöffnet hast, muss das auf der Smart-Home-Box passieren, da kenne ich mich aber nicht aus.

                Gruß
                Jürgen

                Hallo Jürgen genau so etwas brauche ich. Auf meiner Smart-Home-Box leuft Linux und möchte das aus meinem Script das in Lua geschrieben ist einen ähnlichen befehl gibt der die Seite erst gar nicht öffnet und ein befehl absetzt das Das darunter liegende Debugfenster leert.

                Danke für die mühe

                1. --[[
                  %% autostart
                  %% properties
                  %% globals
                  --]]
                  
                  
                  function sceneReboot()
                  		local currentDate = os.date("*t");
                          if ((currentDate.hour == 2) and (currentDate.min >= 0)and (currentDate.min < 1))
                          or sourceTrigger["type"] == "other" then
                                debug("Neustart der Scene!")
                                fibaro:sleep(1*60*1000)
                                fibaro:startScene(rebootSceneID);
                          end
                          setTimeout(sceneReboot, 1*60*1000)
                  end
                  
                  
                  
                  

                  Das ist ein Script das sich Rebootet. Was ähnliches brauche ich das Das Debugfenster darunter leert ohne zu öffnen wie in diesem Fall jeden tag um 2 Uhr Rebootet dieses Script.

  4. Hi,

    Ich habe eine SmartHome Centrale HC2 von fibaro und Programmierer in der Programmiersprache Lua. Ich kann auf der box debugen . Unter dem Debug fenster gibt es einen Button Löschen womit man das Debug fenster leeren kann.

    <a id="clearDebugButton" href="#" onclick="mainData.scenes[48].clear(); return false;">
    <div class="Button1_0 ng-binding" style="margin: 20px 0px 0px 20px;">Löschen</div>
    <a id="stopDebugButton" href="#" onclick="mainData.scenes[48].stop(); return false;">
    <div class="Button1_0 ng-binding" style="margin: 20px 0px 0px 20px;">Stop</div>
    </a></a>
    

    allzuviel kann man daraus nicht erkennen. Das ist ein Stück HTML - dass es fehlerhaft ist, wurde ja schon angesprochen; ein a-Element darf weder ein weiteres a-Element als Nachfahren enthalten, noch ein Blockelement wie div.
    Nehmen wir mal an, dieser Ausschnitt würde trotz der Fehler tun, was er soll - dann würde beim Anklicken des Links der Javascript-Aufruf mainData.scenes[48].clear(); ausgeführt. Was der wirklich tut, ist aus dem Ausschnitt nicht erkennbar, aber es muss wohl ein Objekt mainData mit den entsprechenden Eigenschaften und Methoden geben. Und dort müsstest du nachsehen, vor allem was die Mthode clear() wirklich tut. Und erst dann kann man überlegen, ob und wie die gleiche Aktion auch mit einem Lua-Script zu erledigen wäre. Das könnte man dann z.B. als Cronjob einmal täglich starten.

    Aber eine ganz andere Frage ist doch: Was stehen da im Debug-Fenster für Meldungen? Warum stehen die da? Kannst du die Ausgabe von solchen Debug-Meldungen nicht einfach abstellen, wenn sie dich sowieso nicht interessieren?

    So long,
     Martin

    --
    Bei der Umsetzung von guten Ideen hapert es meist viel mehr an der Wolle als an der Könne.
    1. @@Der Martin

      allzuviel kann man daraus nicht erkennen. Das ist ein Stück HTML - dass es fehlerhaft ist, wurde ja schon angesprochen; ein a-Element darf weder ein weiteres a-Element als Nachfahren enthalten,

      Das stimmt. Auf den dirty trick von Vitaly hab ich ja schon hingewiesen. (Der funzt zwar, macht das HTML aber auch nicht valide.)

      noch ein Blockelement wie div.

      Das stimmt nicht.

      “Content model: Transparent, but there must be no interactive content or a element descendants.” [Spec]

      LLAP 🖖

      --
      “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
      Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|