Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [GELÖST] Javascript von einer ext. Seite Einbinden in ioBroker

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    657

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

[GELÖST] Javascript von einer ext. Seite Einbinden in ioBroker

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
14 Beiträge 3 Kommentatoren 1.6k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #3

    https://forum.iobroker.net/viewtopic.php?f=21&t=11987&p=126520#p127232 lässt sich sicherlich auf bis zu 100 Bildern erweitern.

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    1 Antwort Letzte Antwort
    0
    • T Offline
      T Offline
      tomdeboom
      schrieb am zuletzt editiert von
      #4

      Danke Paul, aber dann müsste ich z.B. im Widget Image 8 alle 100 Bilder hinterlegen?

      Und anstatt "states: {" müsste ich aus der neuen funktion "phase" benutzen?

      Gruß,

      Tom

      <size size="85">CCU2 | QNAP TVS-473 64GB | VM Lubunto iBroker | Echo 2\. Gen. | LAN/Wifi | 18 Geräte</size>

      1 Antwort Letzte Antwort
      0
      • paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #5

        @tomdeboom:

        dann müsste ich z.B. im Widget Image 8 alle 100 Bilder hinterlegen? `
        Von VIS habe ich keine Ahnung :(
        @tomdeboom:

        anstatt "states: {" müsste ich aus der neuen funktion "phase" benutzen? `
        states (Zustandstexte) ist eine definierte Eigenschaft von Datenpunkten in ioBroker. Wenn mehr Bilder gewünscht werden, muss die Anzahl erweitert werden (pro Bild ein Integer-Wert 0…N).

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Antwort Letzte Antwort
        0
        • T Offline
          T Offline
          tomdeboom
          schrieb am zuletzt editiert von
          #6

          Ok, danke ich versuche mal mein Glück…

          Ich Lasse aber die Frage nochmal offen. :D

          Gruß,

          Tom

          <size size="85">CCU2 | QNAP TVS-473 64GB | VM Lubunto iBroker | Echo 2\. Gen. | LAN/Wifi | 18 Geräte</size>

          1 Antwort Letzte Antwort
          0
          • arteckA Offline
            arteckA Offline
            arteck
            Developer Most Active
            schrieb am zuletzt editiert von
            #7

            du kannst doch dynamisch die das Widget füllen

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

            1 Antwort Letzte Antwort
            0
            • T Offline
              T Offline
              tomdeboom
              schrieb am zuletzt editiert von
              #8

              Hallo arteck,

              und wie mache ich das?

              Gruß,

              Tom

              <size size="85">CCU2 | QNAP TVS-473 64GB | VM Lubunto iBroker | Echo 2\. Gen. | LAN/Wifi | 18 Geräte</size>

              1 Antwort Letzte Antwort
              0
              • paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #9

                @tomdeboom:

                anstatt "states: {" müsste ich aus der neuen funktion "phase" benutzen? `
                Die states kann man auch weglassen, was bei 100 Werten zu empfehlen ist. Die Integerwerte erzeugt man dann nicht mit if(…), sondern per Berechnung.

                const suncalc = require('suncalc');
                const idVis = 'Vis.Mondphase';  // Für Vis
                
                createState(idVis, 0, {
                   type: 'number',
                   min: 1,
                   max: 100,
                   role: 'level',
                });
                
                function mpVis() {
                   var mond = suncalc.getMoonIllumination(new Date());
                   var mp = mond.phase;  // 0...1 mit 0 = Neumond
                   mp = 100 * mp - 50;
                   if(mp < 0.5) mp = mp + 100;  // Neumond = 50 
                   mp = Math.round(mp); // Integer 1 ... 100, 100 = Vollmond
                   setState(idVis, mp, true);
                }
                
                mpVis(); // Skriptstart
                
                schedule("*/10 * * * *", mpVis);  // alle 10 Minuten
                

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Antwort Letzte Antwort
                0
                • T Offline
                  T Offline
                  tomdeboom
                  schrieb am zuletzt editiert von
                  #10

                  Hallo Paul,

                  vielen Dank für das Script, es funktioniert so das ich die Bild Nummer in ein State geschrieben bekomme.

                  Nun versuche ich gerade das Script so zu ergänzen das ich den kompletten Bildpfad als State geschrieben bekomme.

                  Nur bekomme ich es nicht hin, habe jetzt schon verschiedene Ansätze versucht, aber irgendwie funktioniert es nicht…

                  Hier mein Versuch:

                  const suncalc = require('suncalc');
                  const idVis = 'Vis.Mondphase2';  // Für Vis
                  
                  var pfad = "/vis.0/main/Icon/Wetter/phasenbilder/";
                  
                  // createState('Vis.Image', 0, {type: 'string'});
                  createState('Vis.Image', pfad + mp + '.png', {type: 'string'}); // funktioniert nicht
                  
                  createState(idVis, 0, {
                     type: 'number',
                     min: 1,
                     max: 100,
                     role: 'level',
                  });
                  
                  function mpVis() {
                     var mond = suncalc.getMoonIllumination(new Date());
                     var mp = mond.phase;  // 0...1 mit 0 = Neumond
                     mp = 100 * mp - 50;
                     if(mp < 0.5) mp = mp + 100;  // Neumond = 50 
                     mp = Math.round(mp); // Integer 1 ... 100, 100 = Vollmond
                     setState(idVis, mp, true);
                  }
                  
                  // setState('Vis.Image', pfad + mp + '.png'); // funktioniert nicht
                  
                  mpVis(); // Skriptstart
                  
                  schedule("*/1 * * * *", mpVis);  // alle 1 Minuten
                  
                  

                  Kannst du mir dabei helfen? Und kann ich dann später diesen State dazu nutzen um das Bild mit z.B. "basic - string img scr" mir anzeigen zu lassen?

                  Gruß,

                  Tom

                  <size size="85">CCU2 | QNAP TVS-473 64GB | VM Lubunto iBroker | Echo 2\. Gen. | LAN/Wifi | 18 Geräte</size>

                  1 Antwort Letzte Antwort
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #11

                    Möchtest Du den Pfad zur png-Datei in den Datenpunkt schreiben ? Wenn ja, wozu ?

                    Oder möchtest Du den Inhalt der png-Datei in den Datenpunkt schreiben ? Das dürfte kaum gelingen.
                    @tomdeboom:

                    Und kann ich dann später diesen State dazu nutzen um das Bild mit z.B. "basic - string img scr" mir anzeigen zu lassen? `
                    Wie schon weiter oben erwähnt, habe ich von VIS keine Ahnung.

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Antwort Letzte Antwort
                    0
                    • T Offline
                      T Offline
                      tomdeboom
                      schrieb am zuletzt editiert von
                      #12

                      sorry wg. der vis Anfrage…

                      Also ich hätte gerne einen Datenpunkt wo dann der komplette Pfad mit dem jeweiligen Bild steht.

                      so: /vis.0/main/Icon/Wetter/phasenbilder/32.png

                      Gruß,

                      Tom

                      <size size="85">CCU2 | QNAP TVS-473 64GB | VM Lubunto iBroker | Echo 2\. Gen. | LAN/Wifi | 18 Geräte</size>

                      1 Antwort Letzte Antwort
                      0
                      • paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #13

                        @tomdeboom:

                        Datenpunkt wo dann der komplette Pfad mit dem jeweiligen Bild steht.

                        so: /vis.0/main/Icon/Wetter/phasenbilder/32.png `
                        Bei createState() kann die Variable mp nicht verwendet werden, da sie lokal (innerhalb einer Funktion) deklariert ist.

                        Das setState() muss innerhalb der Funktion aufgerufen werden.

                        const suncalc = require('suncalc');
                        const idVis = 'Vis.Mondphase2';  // Für Vis
                        const pfad = '/vis.0/main/Icon/Wetter/phasenbilder/';
                        
                        createState('Vis.Image', pfad + '1.png', {type: 'string'});
                        
                        createState(idVis, 0, {
                           type: 'number',
                           min: 1,
                           max: 100,
                           role: 'level',
                        });
                        
                        function mpVis() {
                           var mond = suncalc.getMoonIllumination(new Date());
                           var mp = mond.phase;  // 0...1 mit 0 = Neumond
                           mp = 100 * mp - 50;
                           if(mp < 0.5) mp = mp + 100;  // Neumond = 50 
                           mp = Math.round(mp); // Integer 1 ... 100, 100 = Vollmond
                           setState(idVis, mp, true);
                           setState('Vis.Image', pfad + mp + '.png', true);
                        }
                        
                        mpVis(); // Skriptstart
                        
                        schedule("*/1 * * * *", mpVis);  // alle 1 Minuten
                        

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        1 Antwort Letzte Antwort
                        0
                        • T Offline
                          T Offline
                          tomdeboom
                          schrieb am zuletzt editiert von
                          #14

                          Guten Morgen,

                          vielen Dank für die schnelle Beantwortung! Ich finde es immer wieder Super das du es auch erklärst was man falsch gemacht hat.

                          Nur so kann ich es Lernen.

                          Schönen Tag und Gruß,

                          Tom

                          <size size="85">CCU2 | QNAP TVS-473 64GB | VM Lubunto iBroker | Echo 2\. Gen. | LAN/Wifi | 18 Geräte</size>

                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          887

                          Online

                          32.6k

                          Benutzer

                          81.9k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe