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

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

Erstes Scipt reagiert nicht wie geplant

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
12 Beiträge 4 Kommentatoren 513 Aufrufe 2 Watching
  • Ä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.
  • R Offline
    R Offline
    raspido
    schrieb am zuletzt editiert von
    #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 Antworten Letzte Antwort
    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 Offline
      Dr. BakteriusD Offline
      Dr. Bakterius
      Most Active
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
        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
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antworten Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #8

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

                  1 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 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

                          386

                          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