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. Anfänger braucht Hilfe bei einem Script

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Anfänger braucht Hilfe bei einem Script

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
12 Beiträge 3 Kommentatoren 968 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.
  • T Offline
    T Offline
    Torsten_MG
    schrieb am zuletzt editiert von
    #3

    @stimezo:

    Nimm getState und nicht getstate (das S groß)

    Gruß

    Christian `

    Super, vielen Dank!!!!

    Hat geklappt

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

      Ich möchte das jetzt ein bisschen umbauen und statt html json verwenden.

      Das erstellen funktioniert bis auf ein kleines Problem auch super.

      Hier der Code:````
      var ziel1 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle0').val;
      var linie1 = getState('javascript.0.Verkehr.Richtung_MG.Linie0').val;
      var zeit1 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit0').val;
      var versp1 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung0').val;

      createState('Verkehr.MG1', " ");

      var html ="[{'Zielhaltestelle':'"+ziel1+"','Linie':'"+linie1+"','Uhrzeit':'"+zeit1+"','Verspätung':'"+versp1+"'}]"

      setState('Verkehr.MG1', html);
      
      
      Das Ergebnis sieht so aus:````
      [{'Zielhaltestelle':'Mön. Clemens-August-Str.','Linie':'001','Uhrzeit':'16:16','Verspätung':'3'}]
      

      Leider akzeptiert das VIS ja nicht, da es so aussehen muß:````
      [{"Zielhaltestelle":"Mön. Clemens-August-Str.","Linie":"001","Uhrzeit":"16:16","Verspätung":"3"}]

      
      Wie kann ich das so umsetzen? Also Doppeltes Hochkomma, statt einfaches.
      
      EDIT: Habs hinbekommen:
      

      var ziel1 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle0').val;
      var linie1 = getState('javascript.0.Verkehr.Richtung_MG.Linie0').val;
      var zeit1 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit0').val;
      var versp1 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung0').val;

      createState('Verkehr.MG1', " ");

      var json ="[{"Zielhaltestelle":""+ziel1+"","Linie":""+linie1+"","Uhrzeit":""+zeit1+"","Verspätung":""+versp1+""}]"

      setState('Verkehr.MG1', json);
      
      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        mmtnrw
        schrieb am zuletzt editiert von
        #5

        ' " ' dürfte auch gehen dann sparst du dir die cryptischen backslashes

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

          Brauche jetzt doch nochmal Hilfe.

          Möchte in der Tabelle nachher 4 Zeiten drin haben. Meine Lösung funktioniert auch, nur es geht einfacher, bekomme es aber leider nicht hin. Wie muß ich das umsetzen, wenn ich das mit Schleifen machen möchte.````
          var ziel1 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle0').val;
          var linie1 = getState('javascript.0.Verkehr.Richtung_MG.Linie0').val;
          var zeit1 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit0').val;
          var versp1 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung0').val;
          var ziel2 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle1').val;
          var linie2 = getState('javascript.0.Verkehr.Richtung_MG.Linie1').val;
          var zeit2 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit1').val;
          var versp2 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung1').val;
          var ziel3 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle2').val;
          var linie3 = getState('javascript.0.Verkehr.Richtung_MG.Linie2').val;
          var zeit3 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit2').val;
          var versp3 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung2').val;
          var ziel4 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle3').val;
          var linie4 = getState('javascript.0.Verkehr.Richtung_MG.Linie3').val;
          var zeit4 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit3').val;
          var versp4 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung3').val;
          var json /
          createState('Verkehr.MG1', " ");

          json ="[{"Zielhaltestelle":""+ziel1+"","Linie":""+linie1+"","Uhrzeit":""+zeit1+"","Verspätung in min.":""+versp1+""},"
          json +="{"Zielhaltestelle":""+ziel2+"","Linie":""+linie2+"","Uhrzeit":""+zeit2+"","Verspätung in min.":""+versp2+""},"
          json +="{"Zielhaltestelle":""+ziel3+"","Linie":""+linie3+"","Uhrzeit":""+zeit3+"","Verspätung in min.":""+versp3+""},"
          json +="{"Zielhaltestelle":""+ziel4+"","Linie":""+linie4+"","Uhrzeit":""+zeit4+"","Verspätung in min.":""+versp4+""}]"

          setState('Verkehr.MG1', json);
          
          
          Habe es versucht, aber ich komme da leider nicht weiter. Weiß absolut nicht, wie ich das mit den Variablen umsetzen muß.
          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            mmtnrw
            schrieb am zuletzt editiert von
            #7

            Musst du mal prüfen so.

            var pre='javascript.0.Verkehr.Richtung_MG.';
            var ka=['Haltestelle', 'Linie', 'Startzeit', 'Verspaetung'];
            
            for(  var i=0,json='['; i<4; i++ )
            {
                json+='"Ziehaltestelle":"' + getState(pre+ka[0]+i.toString() ).val + 
                        '","Linie":"' + getState(pre+ka[1]+i.toString() ).val + 
                        '","Uhrzeit":"' +getState(pre+ka[2]+i.toString() ).val +
                        '","Verspätung":"' +getState(pre+ka[3]+i.toString() ).val + '"';
            }
                json+=']';
            
            createState('Verkehr.MG1', " ");
            setState('Verkehr.MG1', json);
            
            

            Aber so war kacke:

            
            var ziel1 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle0').val;
            var linie1 = getState('javascript.0.Verkehr.Richtung_MG.Linie0').val;
            var zeit1 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit0').val;
            var versp1 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung0').val;
            var ziel2 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle1').val;
            var linie2 = getState('javascript.0.Verkehr.Richtung_MG.Linie1').val;
            var zeit2 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit1').val;
            var versp2 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung1').val;
            var ziel3 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle2').val;
            var linie3 = getState('javascript.0.Verkehr.Richtung_MG.Linie2').val;
            var zeit3 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit2').val;
            var versp3 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung2').val;
            var ziel4 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle3').val;
            var linie4 = getState('javascript.0.Verkehr.Richtung_MG.Linie3').val;
            var zeit4 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit3').val;
            var versp4 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung3').val;
            var json /
            json ="[{\"Zielhaltestelle\":\""+ziel1+"\",\"Linie\":\""+linie1+"\",\"Uhrzeit\":\""+zeit1+"\",\"Verspätung in min.\":\""+versp1+"\"},"
            json +="{\"Zielhaltestelle\":\""+ziel2+"\",\"Linie\":\""+linie2+"\",\"Uhrzeit\":\""+zeit2+"\",\"Verspätung in min.\":\""+versp2+"\"},"
            json +="{\"Zielhaltestelle\":\""+ziel3+"\",\"Linie\":\""+linie3+"\",\"Uhrzeit\":\""+zeit3+"\",\"Verspätung in min.\":\""+versp3+"\"},"
            json +="{\"Zielhaltestelle\":\""+ziel4+"\",\"Linie\":\""+linie4+"\",\"Uhrzeit\":\""+zeit4+"\",\"Verspätung in min.\":\""+versp4+"\"}]"
            
                setState('Verkehr.MG1', json);
            
            
            1 Antwort Letzte Antwort
            0
            • T Offline
              T Offline
              Torsten_MG
              schrieb am zuletzt editiert von
              #8

              @mmtnrw:

              Musst du mal prüfen so.

              var pre='javascript.0.Verkehr.Richtung_MG.';
              var ka=['Haltestelle', 'Linie', 'Startzeit', 'Verspaetung'];
              
              for(  var i=0,json='['; i<4; i++ )
              {
                  json+='"Ziehaltestelle":"' + getState(pre+ka[0]+i.toString() ).val + 
                          '","Linie":"' + getState(pre+ka[1]+i.toString() ).val + 
                          '","Uhrzeit":"' +getState(pre+ka[2]+i.toString() ).val +
                          '","Verspätung":"' +getState(pre+ka[3]+i.toString() ).val + '"';
              }
                  json+=']';
              
              createState('Verkehr.MG1', " ");
              setState('Verkehr.MG1', json);
              
              ```` `  
              

              Funktioniert nicht zu 100%

              Da es so aussieht:

              ["Zielhaltestelle":"Mönchengl. Am Hommelsbach","Linie":"002","Uhrzeit":"17:40","Verspätung":"6""Zielhaltestelle":"Mönchengl. Künkelstraße","Linie":"001","Uhrzeit":"17:52","Verspätung":"0""Zielhaltestelle":"Mönchengl. Am Hommelsbach","Linie":"002","Uhrzeit":"18:10","Verspätung":"1""Zielhaltestelle":"Mönchengl. Künkelstraße","Linie":"001","Uhrzeit":"18:22","Verspätung":"0"]
              

              aber es müßte so aussehen:

              [{"Zielhaltestelle":"Mönchengl. Am Hommelsbach","Linie":"002","Uhrzeit":"17:40","Verspätung":"6"};{"Zielhaltestelle":"Mönchengl. Künkelstraße","Linie":"001","Uhrzeit":"17:52","Verspätung":"0"};{"Zielhaltestelle":"Mönchengl. Am Hommelsbach","Linie":"002","Uhrzeit":"18:10","Verspätung":"1"};{"Zielhaltestelle":"Mönchengl. Künkelstraße","Linie":"001","Uhrzeit":"18:22","Verspätung":"0"}]
              

              Ich habe deinen Code etwas angepasst, klappt aber leider immer noch nicht ganz

              var pre='javascript.0.Verkehr.Richtung_MG.';
              var ka=['Haltestelle', 'Linie', 'Startzeit', 'Verspaetung'];
              
              for(  var i=0,json='['; i<4; i++ )
              {
                  json+='{"Zielhaltestelle":"' + getState(pre+ka[0]+i.toString() ).val + 
                          '","Linie":"' + getState(pre+ka[1]+i.toString() ).val + 
                          '","Uhrzeit":"' +getState(pre+ka[2]+i.toString() ).val +
                          '","Verspätung":"' +getState(pre+ka[3]+i.toString() ).val + '"};';
              }
                  json+=']';
              
              createState('Verkehr.MG1', " ");
              setState('Verkehr.MG1', json);
              
              

              Es sieht nämlich nun so aus

              [{"Zielhaltestelle":"Mönchengl. Am Hommelsbach","Linie":"002","Uhrzeit":"17:40","Verspätung":"6"};{"Zielhaltestelle":"Mönchengl. Künkelstraße","Linie":"001","Uhrzeit":"17:52","Verspätung":"0"};{"Zielhaltestelle":"Mönchengl. Am Hommelsbach","Linie":"002","Uhrzeit":"18:10","Verspätung":"1"};{"Zielhaltestelle":"Mönchengl. Künkelstraße","Linie":"001","Uhrzeit":"18:22","Verspätung":"0"};]
              

              Es muß das Semikolon am Ende zwischen den beiden schließenden Klammern weg

              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                mmtnrw
                schrieb am zuletzt editiert von
                #9

                Mir fehlen halt die Werte :)

                So besser :)

                var pre='javascript.0.Verkehr.Richtung_MG.';
                var ka=['Haltestelle', 'Linie', 'Startzeit', 'Verspaetung'];
                
                for(  var i=0,json='['; i<4; i++ )
                {
                    json+='{"Ziehaltestelle":"' + getState(pre+ka[0]+i.toString() ).val + 
                            '","Linie":"' + getState(pre+ka[1]+i.toString() ).val + 
                            '","Uhrzeit":"' +getState(pre+ka[2]+i.toString() ).val +
                            '","Verspätung":"' +getState(pre+ka[3]+i.toString() ).val + '"};';
                }
                    json=json.substr( 0, json.length-1 ) + ']';
                
                createState('Verkehr.MG1', " ");
                setState('Verkehr.MG1', json);
                
                
                1 Antwort Letzte Antwort
                0
                • T Offline
                  T Offline
                  Torsten_MG
                  schrieb am zuletzt editiert von
                  #10

                  Super!!! Vielen, vielen Dank für die Hilfe!!!

                  1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    mmtnrw
                    schrieb am zuletzt editiert von
                    #11

                    Und noch kleiner wenn man auf das 'Ä' verzichtet müsste dann so sein

                    var pre='javascript.0.Verkehr.Richtung_MG.';
                    var ka=['Haltestelle', 'Linie', 'Startzeit', 'Verspaetung'];
                    
                    for(  var i=0,json='[{'; i<4; i++, json+='};' )
                    {
                        for( var j=0; j<4 )
                            json+='"'+ka[j]+'":"+getState( pre+ka[j] + i.toString() ).val + '",';
                    }
                        json=json.substr( 0, json.length-1 ) + ']';
                    
                    createState('Verkehr.MG1', " ");
                    setState('Verkehr.MG1', json);
                    
                    1 Antwort Letzte Antwort
                    0
                    • T Offline
                      T Offline
                      Torsten_MG
                      schrieb am zuletzt editiert von
                      #12

                      Ich versuche gerade hinter den Code zu steigen, um ihn zu verstehen. Da JSON noch Neuland für mich ist, verstehe ich natürlich noch nicht alles.

                      var pre='javascript.0.Verkehr.Richtung_MG.';
                      var ka=['Haltestelle', 'Linie', 'Startzeit', 'Verspaetung'];
                      
                      for(  var i=0,json='['; i<4; i++ )
                      {
                          json+='{"Ziehaltestelle":"' + getState(pre+ka[0]+i.toString() ).val + 
                                  '","Linie":"' + getState(pre+ka[1]+i.toString() ).val + 
                                  '","Uhrzeit":"' +getState(pre+ka[2]+i.toString() ).val +
                                  '","Verspätung":"' +getState(pre+ka[3]+i.toString() ).val + '"};';
                      }
                          json=json.substr( 0, json.length-1 ) + ']';
                      

                      Was ich noch nicht verstehe, was genau bedeutet.toString()und````
                      .val

                      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

                      764

                      Online

                      32.6k

                      Benutzer

                      82.1k

                      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