Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Scriptable iPhone Widget

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Scriptable iPhone Widget

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

      Hallo
      Ich habe leider keine JS Kenntnisse trotzdem habe ich es versucht. Habe aus mehreren Scripts eins zusammen gebastelt.
      Hier im Forum hatten welche die Idee das man ein Widget vom ioBroker hat. Da ich den Adapter „Birthday“ benutze hätte ich gerne die Daten in einem Widget drin

      Hier meine Sachen, vielleicht gibt es ja jemanden der das optimieren & besser darstellen kann.

      730086FB-72EE-4AC1-A2EC-352387D91128.jpeg

      
      // iobroker ip
      let host = args.widgetParameter;
      if (!host)
        host = "http://192.168.178.46:8087"
      
      console.log(host)
      
      
      let widget = await createWidget()
      Script.setWidget(widget)
      widget.presentSmall()
      Script.complete()
      
      
      async function createWidget() {
      // API Daten
          const list = new  ListWidget()
      
          try {
              const line1 = list.addText(await getValue("0_userdata.0.Simple_API.Name"))
              line1.font = Font.boldSystemFont(18)
              
              const line2 = list.addText(await getValue("0_userdata.0.Simple_API.Tage") + " Tage")
              line2.font = Font.boldSystemFont(18)
              
              const line3 = list.addText(await getValue("0_userdata.0.Simple_API.Alter") +" Alter")
              line3.font = Font.boldSystemFont(18)
              
      
              return list
      
          } catch(err) {
              const errorList = new ListWidget()
              errorList.addText(err)
              return errorList
          }
      }
      
      async function getValue(point) {
          try {
              let req = new Request(host + "/getPlainValue/" + point)
              let value = await req.loadString()
          
              console.log(value)
              return value;
          } catch(err) {
              console.error(err)
              return "n/a"
          }
      }
      
      
      arteck 1 Reply Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active @Duisburgo last edited by arteck

        @duisburgo sagte in Scriptable iPhone Widget:

        "0_userdata.0.Simple_API.Name"

        das bekommst du auch mit einem binding im HTML widget hin

        {0_userdata.0.Simple_API.Name}<br>
        {0_userdata.0.Simple_API.Tage}Tage<br>
        {0_userdata.0.Simple_API.Alter}Alter
        
        Codierknecht 1 Reply Last reply Reply Quote 0
        • Codierknecht
          Codierknecht Developer Most Active @arteck last edited by

          @Duisburgo

          @arteck sagte in Scriptable iPhone Widget:

          das bekommst du auch mit einem binding im HTML widget hin

          Mal davon abgesehen:
          Ich habe zwar keinen blassen Schimmer von Widget-Programmierung, aber man kann das ja mit ziemlicher Sicherheit auch in HTML-Elemente verpacken.
          Die kann man dann mit CSS formatieren wie man Lust und Laune hat.

          D 1 Reply Last reply Reply Quote 0
          • D
            Duisburgo @Codierknecht last edited by

            @codierknecht könnt ihr mir sagen wie das geht mit HTML?

            Neuschwansteini 1 Reply Last reply Reply Quote 0
            • Neuschwansteini
              Neuschwansteini @Duisburgo last edited by Neuschwansteini

              @arteck
              @duisburgo sagte in Scriptable iPhone Widget:

              @codierknecht könnt ihr mir sagen wie das geht mit HTML?

              Das hab ich mich auch gerade gefragt, als ich deine Frage und die Antworten gelesen habe... die Suchfunktion mit Google bringt da leider keine Beispiele.. es geht ja um Scriptable und nicht um eine iobroker-VIS.. da wäre das einfach, aber einfach wollen wir ja nicht.. 🙂

              Codierknecht 1 Reply Last reply Reply Quote 0
              • Codierknecht
                Codierknecht Developer Most Active @Neuschwansteini last edited by

                @ilovegym
                Es gibt aber auch genügend Beispiele, wie man das ohne CSS formatieren könnte:

                  line1.font = Font.semiboldSystemFont(13)
                  line1.textSize = 13
                  line1.textColor = Color.white()
                
                  line2.font = Font.systemFont(12)
                  line2.textSize = 12
                  line2.textColor = Color.white()
                  line2.textOpacity = 0.8
                

                Und - aus der Hüfte geschossen weil ich das nicht kenne/einsetze:

                let tage = await getValue("0_userdata.0.Simple_API.Tage") 
                const line2 = list.addText("<span style='color:red'>" + tage + "</span>" + " Tage")
                

                Käme vermutlich auf einen Versuch an ...

                Und by the way: Da Scriptable nix mit ioBroker zu tun hat, sollte der Thread vielleicht nach OffTopic verschoben werden => @Homoran

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

                Support us

                ioBroker
                Community Adapters
                Donate

                926
                Online

                31.7k
                Users

                79.7k
                Topics

                1.3m
                Posts

                4
                6
                362
                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