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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Anfänger braucht Hilfe bei einem Script

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
12 Beiträge 3 Kommentatoren 869 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.
  • S Offline
    S Offline
    stimezo
    Forum Testing
    schrieb am zuletzt editiert von
    #2

    Nimm getState und nicht getstate (das S groß)

    Gruß

    Christian

    1 Antwort Letzte Antwort
    0
    • 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

                        372

                        Online

                        32.5k

                        Benutzer

                        81.6k

                        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