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. Skripten / Logik
  4. JavaScript
  5. Erstes Scipt reagiert nicht wie geplant

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Erstes Scipt reagiert nicht wie geplant

Scheduled Pinned Locked Moved JavaScript
javascript
12 Posts 4 Posters 563 Views 2 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.
  • R Offline
    R Offline
    raspido
    wrote on last edited by
    #1

    Das Script soll eigentlich bei Änderung der Temperatur prüfen, ob die Temperatur und Helligkeit gewisse Werte überschreitet bzw. unterschreit. Ich weiß nicht ob ich da irgendwie ein Logikfehler drin ist oder wo ich den Bock geschossen habe.

    Da die Temperatur mir nicht den gefallen tut, auf Wunsch sich zu ändern, habe ich Testweise ein anderen Datenpunkt genommen und diesen manuell verändert. Zum eigentlichen Sript sollte aber die Temperatur dienen, also sobald die sich ändert. Oder gibt es dafür eine elegantere Lösung?

    /*
    Urlaubssteuerung für die Rollos, bei über 25 Grad fahren die Rollos runter, bei unter 25 Grad und wenn es Hell ist hoch
    
    */
    
    
    on({id: 'hm-rpc.1.0010D8A990A07B.1.ACTUAL_TEMPERATURE', change: 'le'}, function (obj) {
        var temp=getState("hm-rpc.1.0010D8A990A07B.1.ACTUAL_TEMPERATURE").val;
        var licht=getState("hm-rpc.1.000D58A9915FBC.1.AVERAGE_ILLUMINATION").val;
            if (temp>25) {
                setState("hm-rpc.0.PEQ0181456.1.LEVEL", 25);
                setState("hm-rpc.0.PEQ0181557.1.LEVEL", 25);
                setState("hm-rpc.0.PEQ0181507.1.LEVEL", 25);
                setState("hm-rpc.0.OEQ2341971.1.LEVEL", 25);
                setState("hm-rpc.0.PEQ0181297.1.LEVEL", 25);
                setState("hm-rpc.0.PEQ0181518.1.LEVEL", 25);
                setState("hm-rpc.0.PEQ0181504.1.LEVEL", 25);
                setState("hm-rpc.0.PEQ0181520.1.LEVEL", 25);
                setState("hm-rpc.0.PEQ0181559.1.LEVEL", 25);
            } else if (temp<25 && licht>2500) {
                setState("hm-rpc.0.PEQ0181456.1.LEVEL", 100);
                setState("hm-rpc.0.PEQ0181557.1.LEVEL", 100);
                setState("hm-rpc.0.PEQ0181507.1.LEVEL", 100);
                setState("hm-rpc.0.OEQ2341971.1.LEVEL", 100);
                setState("hm-rpc.0.PEQ0181297.1.LEVEL", 100);
                setState("hm-rpc.0.PEQ0181518.1.LEVEL", 100);
                setState("hm-rpc.0.PEQ0181504.1.LEVEL", 100);
                setState("hm-rpc.0.PEQ0181520.1.LEVEL", 100);
                setState("hm-rpc.0.PEQ0181559.1.LEVEL", 100);
            }
    });
    

    Ich hoffe man kann mir dabei helfen. Den so passiert im Moment nichts, also die Rollos fahren nicht alle auf 25% Level.

    Michael

    Dr. BakteriusD GlasfaserG 2 Replies Last reply
    0
    • R raspido

      Das Script soll eigentlich bei Änderung der Temperatur prüfen, ob die Temperatur und Helligkeit gewisse Werte überschreitet bzw. unterschreit. Ich weiß nicht ob ich da irgendwie ein Logikfehler drin ist oder wo ich den Bock geschossen habe.

      Da die Temperatur mir nicht den gefallen tut, auf Wunsch sich zu ändern, habe ich Testweise ein anderen Datenpunkt genommen und diesen manuell verändert. Zum eigentlichen Sript sollte aber die Temperatur dienen, also sobald die sich ändert. Oder gibt es dafür eine elegantere Lösung?

      /*
      Urlaubssteuerung für die Rollos, bei über 25 Grad fahren die Rollos runter, bei unter 25 Grad und wenn es Hell ist hoch
      
      */
      
      
      on({id: 'hm-rpc.1.0010D8A990A07B.1.ACTUAL_TEMPERATURE', change: 'le'}, function (obj) {
          var temp=getState("hm-rpc.1.0010D8A990A07B.1.ACTUAL_TEMPERATURE").val;
          var licht=getState("hm-rpc.1.000D58A9915FBC.1.AVERAGE_ILLUMINATION").val;
              if (temp>25) {
                  setState("hm-rpc.0.PEQ0181456.1.LEVEL", 25);
                  setState("hm-rpc.0.PEQ0181557.1.LEVEL", 25);
                  setState("hm-rpc.0.PEQ0181507.1.LEVEL", 25);
                  setState("hm-rpc.0.OEQ2341971.1.LEVEL", 25);
                  setState("hm-rpc.0.PEQ0181297.1.LEVEL", 25);
                  setState("hm-rpc.0.PEQ0181518.1.LEVEL", 25);
                  setState("hm-rpc.0.PEQ0181504.1.LEVEL", 25);
                  setState("hm-rpc.0.PEQ0181520.1.LEVEL", 25);
                  setState("hm-rpc.0.PEQ0181559.1.LEVEL", 25);
              } else if (temp<25 && licht>2500) {
                  setState("hm-rpc.0.PEQ0181456.1.LEVEL", 100);
                  setState("hm-rpc.0.PEQ0181557.1.LEVEL", 100);
                  setState("hm-rpc.0.PEQ0181507.1.LEVEL", 100);
                  setState("hm-rpc.0.OEQ2341971.1.LEVEL", 100);
                  setState("hm-rpc.0.PEQ0181297.1.LEVEL", 100);
                  setState("hm-rpc.0.PEQ0181518.1.LEVEL", 100);
                  setState("hm-rpc.0.PEQ0181504.1.LEVEL", 100);
                  setState("hm-rpc.0.PEQ0181520.1.LEVEL", 100);
                  setState("hm-rpc.0.PEQ0181559.1.LEVEL", 100);
              }
      });
      

      Ich hoffe man kann mir dabei helfen. Den so passiert im Moment nichts, also die Rollos fahren nicht alle auf 25% Level.

      Michael

      Dr. BakteriusD Online
      Dr. BakteriusD Online
      Dr. Bakterius
      Most Active
      wrote on last edited by
      #2

      @raspido Was mir aufgefallen ist: Bei genau 25°C passiert nichts. Ebenso wenn die Temperatur unter 25°C und das Licht kleiner 2500 ist. Ist das so gewollt?

      paul53P 1 Reply Last reply
      0
      • Dr. BakteriusD Dr. Bakterius

        @raspido Was mir aufgefallen ist: Bei genau 25°C passiert nichts. Ebenso wenn die Temperatur unter 25°C und das Licht kleiner 2500 ist. Ist das so gewollt?

        paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by paul53
        #3

        @dr-bakterius sagte: Bei genau 25°C passiert nichts. . Ist das so gewollt?

        So prüfst Du es. Ändere Zeile 20 in

                } else if (licht>2500) {
        

        wenn licht die Außenhelligkeit enthält und die Rollos nur über 2500 auf 100 % fahren sollen.
        Allerdings solltest Du eine größere Hysterese einbauen, damit die Rollos nicht im Bereich von 25°C ständig rauf und runter fahren.

        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

        R 2 Replies Last reply
        0
        • paul53P paul53

          @dr-bakterius sagte: Bei genau 25°C passiert nichts. . Ist das so gewollt?

          So prüfst Du es. Ändere Zeile 20 in

                  } else if (licht>2500) {
          

          wenn licht die Außenhelligkeit enthält und die Rollos nur über 2500 auf 100 % fahren sollen.
          Allerdings solltest Du eine größere Hysterese einbauen, damit die Rollos nicht im Bereich von 25°C ständig rauf und runter fahren.

          R Offline
          R Offline
          raspido
          wrote on last edited by raspido
          #4

          @paul53 Eigentlich war das so geplant, dass die Rollos nur Tagsüber runter fahren, wenn es über 25 Grad wird. Sobald es kälter wird und es Tagsüber ist, sollen die Rollos hoch fahren.

          Ich dachte über den Weg bekomme ich das hin. Den ich möchte ja nicht, dass die Rollos Nachts plötzlich hoch fahren. Deshalb habe ich den Helligkeitssensor genommen mit über 2500 Lux als Wert.

          Und zur Info, falls es nicht bekannt ist 0 ist Unten und 100 ist oben. Also bei den Rollos.

          Ich hoffe man versteht was ich versuche aus zu drücken.

          Die reguläre Rollosteuerung läuft aktuell noch über die CCU selber. Also bei Sonnenuntergang Rollos runter, bei Sonnenaufgang Rollos Hoch. Diese Erweiterung war dafür gedacht, dass vor allem im Sommer es nicht so heiß in der Bude wird.

          Ich hab nochmal verschiedene Tutorials mal rein geguckt und oben bei dem abfragen der Temperatur habe ich den Parameter bei Chance von "le" auf "ne" geändert und gerade tat sich plötzlich was. Also alle Rollos sind nun auf 25% muss nur beobachten ob das nun so klappt wie gewünscht oder was passiert.

          Michael

          GlasfaserG 1 Reply Last reply
          0
          • R raspido

            @paul53 Eigentlich war das so geplant, dass die Rollos nur Tagsüber runter fahren, wenn es über 25 Grad wird. Sobald es kälter wird und es Tagsüber ist, sollen die Rollos hoch fahren.

            Ich dachte über den Weg bekomme ich das hin. Den ich möchte ja nicht, dass die Rollos Nachts plötzlich hoch fahren. Deshalb habe ich den Helligkeitssensor genommen mit über 2500 Lux als Wert.

            Und zur Info, falls es nicht bekannt ist 0 ist Unten und 100 ist oben. Also bei den Rollos.

            Ich hoffe man versteht was ich versuche aus zu drücken.

            Die reguläre Rollosteuerung läuft aktuell noch über die CCU selber. Also bei Sonnenuntergang Rollos runter, bei Sonnenaufgang Rollos Hoch. Diese Erweiterung war dafür gedacht, dass vor allem im Sommer es nicht so heiß in der Bude wird.

            Ich hab nochmal verschiedene Tutorials mal rein geguckt und oben bei dem abfragen der Temperatur habe ich den Parameter bei Chance von "le" auf "ne" geändert und gerade tat sich plötzlich was. Also alle Rollos sind nun auf 25% muss nur beobachten ob das nun so klappt wie gewünscht oder was passiert.

            Michael

            GlasfaserG Offline
            GlasfaserG Offline
            Glasfaser
            wrote on last edited by
            #5

            @raspido sagte in Erstes Scipt reagiert nicht wie geplant:

            . Also alle Rollos sind nun auf 25%

            ... und dein Duty Cycle explodiert in der CCU !

            ... fahre die Rollladen einzeln mit Verzögerung .

            Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

            R paul53P 2 Replies Last reply
            0
            • GlasfaserG Glasfaser

              @raspido sagte in Erstes Scipt reagiert nicht wie geplant:

              . Also alle Rollos sind nun auf 25%

              ... und dein Duty Cycle explodiert in der CCU !

              ... fahre die Rollladen einzeln mit Verzögerung .

              R Offline
              R Offline
              raspido
              wrote on last edited by
              #6

              @glasfaser Okay, muss ich gucken, wie ich in JavaScript eine Pause von 5 Sekunden oder so rein fummel. Aber erst später. Gerade ist für so anstrengende Arbeit etwas zu warm.

              1 Reply Last reply
              0
              • R raspido

                Das Script soll eigentlich bei Änderung der Temperatur prüfen, ob die Temperatur und Helligkeit gewisse Werte überschreitet bzw. unterschreit. Ich weiß nicht ob ich da irgendwie ein Logikfehler drin ist oder wo ich den Bock geschossen habe.

                Da die Temperatur mir nicht den gefallen tut, auf Wunsch sich zu ändern, habe ich Testweise ein anderen Datenpunkt genommen und diesen manuell verändert. Zum eigentlichen Sript sollte aber die Temperatur dienen, also sobald die sich ändert. Oder gibt es dafür eine elegantere Lösung?

                /*
                Urlaubssteuerung für die Rollos, bei über 25 Grad fahren die Rollos runter, bei unter 25 Grad und wenn es Hell ist hoch
                
                */
                
                
                on({id: 'hm-rpc.1.0010D8A990A07B.1.ACTUAL_TEMPERATURE', change: 'le'}, function (obj) {
                    var temp=getState("hm-rpc.1.0010D8A990A07B.1.ACTUAL_TEMPERATURE").val;
                    var licht=getState("hm-rpc.1.000D58A9915FBC.1.AVERAGE_ILLUMINATION").val;
                        if (temp>25) {
                            setState("hm-rpc.0.PEQ0181456.1.LEVEL", 25);
                            setState("hm-rpc.0.PEQ0181557.1.LEVEL", 25);
                            setState("hm-rpc.0.PEQ0181507.1.LEVEL", 25);
                            setState("hm-rpc.0.OEQ2341971.1.LEVEL", 25);
                            setState("hm-rpc.0.PEQ0181297.1.LEVEL", 25);
                            setState("hm-rpc.0.PEQ0181518.1.LEVEL", 25);
                            setState("hm-rpc.0.PEQ0181504.1.LEVEL", 25);
                            setState("hm-rpc.0.PEQ0181520.1.LEVEL", 25);
                            setState("hm-rpc.0.PEQ0181559.1.LEVEL", 25);
                        } else if (temp<25 && licht>2500) {
                            setState("hm-rpc.0.PEQ0181456.1.LEVEL", 100);
                            setState("hm-rpc.0.PEQ0181557.1.LEVEL", 100);
                            setState("hm-rpc.0.PEQ0181507.1.LEVEL", 100);
                            setState("hm-rpc.0.OEQ2341971.1.LEVEL", 100);
                            setState("hm-rpc.0.PEQ0181297.1.LEVEL", 100);
                            setState("hm-rpc.0.PEQ0181518.1.LEVEL", 100);
                            setState("hm-rpc.0.PEQ0181504.1.LEVEL", 100);
                            setState("hm-rpc.0.PEQ0181520.1.LEVEL", 100);
                            setState("hm-rpc.0.PEQ0181559.1.LEVEL", 100);
                        }
                });
                

                Ich hoffe man kann mir dabei helfen. Den so passiert im Moment nichts, also die Rollos fahren nicht alle auf 25% Level.

                Michael

                GlasfaserG Offline
                GlasfaserG Offline
                Glasfaser
                wrote on last edited by
                #7

                @raspido sagte in Erstes Scipt reagiert nicht wie geplant:

                setState("hm-rpc.0.PEQ0181559.1.LEVEL", 25);

                setStateDelayed("hm-rpc.0.PEQ0181559.1.LEVEL", 25, 5000, false);
                setStateDelayed("hm-rpc.0.PEQ0181557.1.LEVEL", 25, 10000, false);
                setStateDelayed("hm-rpc.0.PEQ0181507.1.LEVEL", 25, 15000, false);
                
                
                

                Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                R 1 Reply Last reply
                0
                • GlasfaserG Glasfaser

                  @raspido sagte in Erstes Scipt reagiert nicht wie geplant:

                  setState("hm-rpc.0.PEQ0181559.1.LEVEL", 25);

                  setStateDelayed("hm-rpc.0.PEQ0181559.1.LEVEL", 25, 5000, false);
                  setStateDelayed("hm-rpc.0.PEQ0181557.1.LEVEL", 25, 10000, false);
                  setStateDelayed("hm-rpc.0.PEQ0181507.1.LEVEL", 25, 15000, false);
                  
                  
                  
                  R Offline
                  R Offline
                  raspido
                  wrote on last edited by
                  #8

                  @glasfaser Oder so. Danke für die Hilfe.

                  1 Reply Last reply
                  0
                  • paul53P paul53

                    @dr-bakterius sagte: Bei genau 25°C passiert nichts. . Ist das so gewollt?

                    So prüfst Du es. Ändere Zeile 20 in

                            } else if (licht>2500) {
                    

                    wenn licht die Außenhelligkeit enthält und die Rollos nur über 2500 auf 100 % fahren sollen.
                    Allerdings solltest Du eine größere Hysterese einbauen, damit die Rollos nicht im Bereich von 25°C ständig rauf und runter fahren.

                    R Offline
                    R Offline
                    raspido
                    wrote on last edited by raspido
                    #9

                    @paul53 said in Erstes Scipt reagiert nicht wie geplant:

                    Hysterese

                    Meist am besten zusätzlich noch eine "Pause" einbauen, dass nach dem Fahren der Rollos z.B. 15 - 30 Minuten keine weitere Aktion gestartet wird oder so?

                    Also so oder so ähnlich:

                    await Sleep(900000);
                    

                    Michael

                    1 Reply Last reply
                    0
                    • GlasfaserG Glasfaser

                      @raspido sagte in Erstes Scipt reagiert nicht wie geplant:

                      . Also alle Rollos sind nun auf 25%

                      ... und dein Duty Cycle explodiert in der CCU !

                      ... fahre die Rollladen einzeln mit Verzögerung .

                      paul53P Offline
                      paul53P Offline
                      paul53
                      wrote on last edited by
                      #10

                      @glasfaser sagte: und dein Duty Cycle explodiert in der CCU !

                      Auch, weil bei jeder Temperaturänderung wieder an alle Rollos gesendet wird. Besser so:

                      var level = getState('hm-rpc.0.PEQ0181456.1.LEVEL').val;
                      
                      on('hm-rpc.1.0010D8A990A07B.1.ACTUAL_TEMPERATURE', function (dp) {
                          let temp = dp.state.val;
                          let licht = getState("hm-rpc.1.000D58A9915FBC.1.AVERAGE_ILLUMINATION").val;
                          if(licht > 2500) {
                              if (temp > 25) level = 25;
                              else if (temp < 24) level = 100;
                              if(level != getState('hm-rpc.0.PEQ0181456.1.LEVEL').val) {
                                  setState("hm-rpc.0.PEQ0181456.1.LEVEL", level);
                                  setStateDelayed("hm-rpc.0.PEQ0181557.1.LEVEL", level, 5000);
                                  setStateDelayed("hm-rpc.0.PEQ0181507.1.LEVEL", level, 10000);
                                  setStateDelayed("hm-rpc.0.OEQ2341971.1.LEVEL", level, 15000);
                                  setStateDelayed("hm-rpc.0.PEQ0181297.1.LEVEL", level, 20000);
                                  setStateDelayed("hm-rpc.0.PEQ0181518.1.LEVEL", level, 25000);
                                  setStateDelayed("hm-rpc.0.PEQ0181504.1.LEVEL", level, 30000);
                                  setStateDelayed("hm-rpc.0.PEQ0181520.1.LEVEL", level, 35000);
                                  setStateDelayed("hm-rpc.0.PEQ0181559.1.LEVEL", level, 40000);
                              }
                          }
                      });
                      

                      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

                      R 1 Reply Last reply
                      0
                      • paul53P paul53

                        @glasfaser sagte: und dein Duty Cycle explodiert in der CCU !

                        Auch, weil bei jeder Temperaturänderung wieder an alle Rollos gesendet wird. Besser so:

                        var level = getState('hm-rpc.0.PEQ0181456.1.LEVEL').val;
                        
                        on('hm-rpc.1.0010D8A990A07B.1.ACTUAL_TEMPERATURE', function (dp) {
                            let temp = dp.state.val;
                            let licht = getState("hm-rpc.1.000D58A9915FBC.1.AVERAGE_ILLUMINATION").val;
                            if(licht > 2500) {
                                if (temp > 25) level = 25;
                                else if (temp < 24) level = 100;
                                if(level != getState('hm-rpc.0.PEQ0181456.1.LEVEL').val) {
                                    setState("hm-rpc.0.PEQ0181456.1.LEVEL", level);
                                    setStateDelayed("hm-rpc.0.PEQ0181557.1.LEVEL", level, 5000);
                                    setStateDelayed("hm-rpc.0.PEQ0181507.1.LEVEL", level, 10000);
                                    setStateDelayed("hm-rpc.0.OEQ2341971.1.LEVEL", level, 15000);
                                    setStateDelayed("hm-rpc.0.PEQ0181297.1.LEVEL", level, 20000);
                                    setStateDelayed("hm-rpc.0.PEQ0181518.1.LEVEL", level, 25000);
                                    setStateDelayed("hm-rpc.0.PEQ0181504.1.LEVEL", level, 30000);
                                    setStateDelayed("hm-rpc.0.PEQ0181520.1.LEVEL", level, 35000);
                                    setStateDelayed("hm-rpc.0.PEQ0181559.1.LEVEL", level, 40000);
                                }
                            }
                        });
                        
                        R Offline
                        R Offline
                        raspido
                        wrote on last edited by
                        #11

                        @paul53 Okay danke für die Hilfe. Ich merke, ich muss noch einiges "üben" und lernen was Programmieren an geht.

                        Aber ich denke es wird schon mit etwas Mühe.

                        Einer der nächsten Projekte was noch auf dem Plan steht, eine Werteliste aus einem Datenpunkt in ein Array packen, den im Anschluß in ein neues Format zu packen und in ein neuen Array packen und im Anschluß in einen anderen Datenpunkt zu packen. Aber ich denke dafür werde ich nochmal etwas üben.

                        Also der Plan ist aus dem Datenpunkt A (Auto,Apfel,Baum,...) einen Datenpunkt B folgenden Inhalt bringen (Auto=Auto,Apfel=Apfel,Baum,Baum,...). Dieses "Problem" ist für mein Sonos Lautsprecher.

                        Michael

                        R 1 Reply Last reply
                        0
                        • R raspido

                          @paul53 Okay danke für die Hilfe. Ich merke, ich muss noch einiges "üben" und lernen was Programmieren an geht.

                          Aber ich denke es wird schon mit etwas Mühe.

                          Einer der nächsten Projekte was noch auf dem Plan steht, eine Werteliste aus einem Datenpunkt in ein Array packen, den im Anschluß in ein neues Format zu packen und in ein neuen Array packen und im Anschluß in einen anderen Datenpunkt zu packen. Aber ich denke dafür werde ich nochmal etwas üben.

                          Also der Plan ist aus dem Datenpunkt A (Auto,Apfel,Baum,...) einen Datenpunkt B folgenden Inhalt bringen (Auto=Auto,Apfel=Apfel,Baum,Baum,...). Dieses "Problem" ist für mein Sonos Lautsprecher.

                          Michael

                          R Offline
                          R Offline
                          raspido
                          wrote on last edited by
                          #12

                          Das Problem mit dem Array habe ich gelöst. Vielleicht nicht die Eleganteste Lösung aber zumindest der Teil mit den Datenpunkten funktioniert. Nur leider bringt mir das mit meiner Situation im Habpanel nicht weiter.

                          Aber trotzdem wollte ich mal mein Code zeigen, der mit Sicherheit nicht der eleganteste ist, aber er funktioniert.

                          on({id: 'hm-rpc.0.PEQ0177610.1.PRESS_SHORT'/*Display Wz:1 PRESS SHORT*/}, function (obj) {
                             var favoritenliste = getState("javascript.0.sonos.favTexte").val;
                             var listederfavoriten = favoritenliste.split(";");
                             var aneueliste = ["a","b"];
                             var sneueliste = "a";
                             var elemente = listederfavoriten.length;
                             console.log(elemente);
                             for (var i = 0; i<elemente; i++) {
                                 aneueliste[i] = listederfavoriten[i] + "=" + listederfavoriten[i];
                                 console.log(aneueliste[i]);
                             }
                          
                             setState("javascript.0.sonos.favoriten", aneueliste.join(","));
                          });
                          

                          Mein Plan war es eigentlich über meinen neu erzeugten Datenpunkt die Items des Auswahlwidgets zu erzeugen, nur leider klappt das nicht wie erhofft. Bei der Manuell erzeugten Liste, ändert das Auswahlwidget beim auswählen den Datenpunkt vom Sonos, welcher den aktuellen Favoriten in die Wiedergabe bringt. Also den Datenpunkt favorietes_set mit der Auswahl füllt.
                          cf1a577c-0a77-4a30-bde7-82d3f2658639-grafik.png

                          Vielleicht hat von euch jemand eine Idee oder kennt eine Möglichkeit für mein Problem.

                          Ich hoffe man versteht was ich machen möchte und wozu.

                          Michael

                          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

                          643

                          Online

                          32.7k

                          Users

                          82.3k

                          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