Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Funktion scriptübergreifend aufrufen?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Funktion scriptübergreifend aufrufen?

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      SchuetzeSchulz last edited by

      Hallo zusammen,

      ich möchte in meinen Views oben in einer Leiste eine "Benachrichtigungszeile" haben wie bei akutellen Smartphones.

      Hier drüber sollen je nach Meldung (Fenster wurde geöffnet, Servicemeldung, Alarm scharfgeschaltet etc.) Benachrichtigungen mit einem individuellen Icon angezeigt werden.

      Als Widgt habe ich das basic HTML genommen.

      Um die individuellen Icons hinzukriegen wollte ich mir eine einzelne Funktion scripten die ich aus anderen Scripten aufrufen kann:

      createState('PushMessage', '');
      function AddPushMessage(type, text) 
      {
      	log("PUSHMESSAGES: PushMessages aufgerufen","info");
          var MessageType = "info";
          switch (type)
          {
              case "error":
                  log("PUSHMESSAGES: Pushmessage ist Error","info");
                  MessageType = "";
              break;
              case "warning":
                  log("PUSHMESSAGES: Pushmessage ist Warning","info");
                  MessageType = "";
              break;
              case "info":
              default:
                  log("PUSHMESSAGES: Pushmessage ist Default","info");
                  MessageType = "";
              break;
          }
          log("PUSHMESSAGES: Setzen der States","info");
          setState('PushMessage', MessageType + text);
          setState('PushMessage', 3600); 
          setState('PushMessage', "");
      }
      

      Nur leider scheint das nicht zu funktionieren.

      Auch wenn ich die Funktion z.B. mit

      AddPushMessage("info", "Test") 
      

      aus einem anderen Script aufrufe, passiert nix…

      Oder kann man Funktionen evtl. nicht scriptübergreifend aufrufen?

      1 Reply Last reply Reply Quote 0
      • htrecksler
        htrecksler Forum Testing last edited by

        das geht nur dann, wenn das Script im Ordner "global" liegt.

        Globale Scripts werden vom System einfach an jedes Script angehängt. Technisch gesehen sind diese Funktionen also in jedem Script vorhanden.

        Ich hoffe, das war einigermaßen verständlich.

        1 Reply Last reply Reply Quote 1
        • P
          pix last edited by

          @SchuetzeSchulz:

          MessageType = "";
          
          ```` `  
          

          Ich bin nicht sicher, b das so funktioniert. Vielleicht solltest du einen Kombination aus doppelten und einfachen Anführungszeichen verwenden.

          MessageType = "![](/vis.0/main/img/error-icon.png)";
          

          Gruß

          Pix

          1 Reply Last reply Reply Quote 0
          • S
            SchuetzeSchulz last edited by

            Danke Hermann, der Trick mit dem "global" war's 🙂

            Und vielen Dank an pix, der Fehler ist mir noch gar nicht aufgefallen! 🙂

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            552
            Online

            31.9k
            Users

            80.2k
            Topics

            1.3m
            Posts

            3
            4
            3952
            Loading More Posts
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes
            Reply
            • Reply as topic
            Log in to reply
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            The ioBroker Community 2014-2023
            logo