Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Scriptable iPhone Widget

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    828

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Scriptable iPhone Widget

Scheduled Pinned Locked Moved Off Topic
6 Posts 4 Posters 567 Views 6 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    Duisburgo
    wrote on last edited by
    #1

    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"
        }
    }
    
    
    arteckA 1 Reply Last reply
    0
    • D Duisburgo

      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"
          }
      }
      
      
      arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      wrote on last edited by arteck
      #2

      @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
      

      zigbee hab ich, zwave auch, nuc's genauso und HA auch

      CodierknechtC 1 Reply Last reply
      0
      • arteckA 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
        
        CodierknechtC Offline
        CodierknechtC Offline
        Codierknecht
        Developer Most Active
        wrote on last edited by
        #3

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

        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
        HmIP|ZigBee|Tasmota|Unifi
        Zabbix Certified Specialist
        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

        D 1 Reply Last reply
        0
        • CodierknechtC Codierknecht

          @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 Offline
          D Offline
          Duisburgo
          wrote on last edited by
          #4

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

          ? 1 Reply Last reply
          0
          • D Duisburgo

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

            ? Offline
            ? Offline
            A Former User
            wrote on last edited by A Former User
            #5

            @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.. :-)

            CodierknechtC 1 Reply Last reply
            0
            • ? A Former User

              @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.. :-)

              CodierknechtC Offline
              CodierknechtC Offline
              Codierknecht
              Developer Most Active
              wrote on last edited by
              #6

              @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

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi
              Zabbix Certified Specialist
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              1 Reply Last reply
              0
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              Support us

              ioBroker
              Community Adapters
              Donate

              615

              Online

              32.6k

              Users

              82.1k

              Topics

              1.3m

              Posts
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
              ioBroker Community 2014-2025
              logo
              • Login

              • Don't have an account? Register

              • Login or register to search.
              • First post
                Last post
              0
              • Home
              • Recent
              • Tags
              • Unread 0
              • Categories
              • Unreplied
              • Popular
              • GitHub
              • Docu
              • Hilfe