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. MVG München Abfahrtszeiten

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
    876

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

MVG München Abfahrtszeiten

Geplant Angeheftet Gesperrt Verschoben JavaScript
6 Beiträge 4 Kommentatoren 1.3k Aufrufe 5 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.
  • F Offline
    F Offline
    fxlupo
    schrieb am zuletzt editiert von fxlupo
    #1

    Hallo zusammen,

    ich möchte mir die Abfahrtszeiten der Münchner U-Bahn und Tram in meiner Vis anzeigen lassen. Ich habe dazu folgende Api auf Git gefunden. https://github.com/Lynbarry/mvg-api) https://github.com/Lynbarry/mvg-api ... Mit npm installiert und ich bekomme die Daten ins Log. Bis hierher alles fein.

    Da ich die Info aber im Vis haben will, habe ich mir einen State erstellt indem der JSON String gespeicher werden soll. Und hier ist Ende mit meinem JS know how.

    Ich habe das Example wie folgend geändert.

        mvgApi.getDepartures(station, [ubahn,sbahn,bus,tram]).then(lines => {
            //  console.log(lines));
              setState('javascript.' + instance + '.MVG.Abfahrtszeit',lines, true);
            });
    

    Egal ob ich den State als String oder Object definiere ist das höchste der Gefühle, dass ich [object Object] als Wert in den State bekomme.
    Das Log spuckt mir folgendes aus.

    2019-04-18 08:04:00.424 - warn: javascript.0 Wrong type of javascript.0.MVG.Abfahrtszeit: "object". Please fix, while deprecated and will not work in next versions.
    2019-04-18 08:04:00.426 - warn: javascript.0 at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1258:20)
    2019-04-18 08:04:00.426 - warn: javascript.0 at mvgApi.getDepartures.then.lines (script.js.MyScripts.MVG:41:11)
    2019-04-18 08:04:00.426 - warn: javascript.0 at :null:null
    2019-04-18 08:04:00.427 - warn: javascript.0 at process._tickCallback (internal/process/next_tick.js:189:7)
    

    Das der State den falschen Typ hat ist gut zu wissen. Aber ich denke ich habe alle Varianten durch und keine Idee, wie ich zum gewünschten Ergebnis komme.

    Wie muss der JS Aufruf oder der State definiert sein, damit mit das Script den JSON String in den State speichert?

    Danke fürs feedback
    Lupo

    bahnuhrB DutchmanD 2 Antworten Letzte Antwort
    0
    • F fxlupo

      Hallo zusammen,

      ich möchte mir die Abfahrtszeiten der Münchner U-Bahn und Tram in meiner Vis anzeigen lassen. Ich habe dazu folgende Api auf Git gefunden. https://github.com/Lynbarry/mvg-api) https://github.com/Lynbarry/mvg-api ... Mit npm installiert und ich bekomme die Daten ins Log. Bis hierher alles fein.

      Da ich die Info aber im Vis haben will, habe ich mir einen State erstellt indem der JSON String gespeicher werden soll. Und hier ist Ende mit meinem JS know how.

      Ich habe das Example wie folgend geändert.

          mvgApi.getDepartures(station, [ubahn,sbahn,bus,tram]).then(lines => {
              //  console.log(lines));
                setState('javascript.' + instance + '.MVG.Abfahrtszeit',lines, true);
              });
      

      Egal ob ich den State als String oder Object definiere ist das höchste der Gefühle, dass ich [object Object] als Wert in den State bekomme.
      Das Log spuckt mir folgendes aus.

      2019-04-18 08:04:00.424 - warn: javascript.0 Wrong type of javascript.0.MVG.Abfahrtszeit: "object". Please fix, while deprecated and will not work in next versions.
      2019-04-18 08:04:00.426 - warn: javascript.0 at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1258:20)
      2019-04-18 08:04:00.426 - warn: javascript.0 at mvgApi.getDepartures.then.lines (script.js.MyScripts.MVG:41:11)
      2019-04-18 08:04:00.426 - warn: javascript.0 at :null:null
      2019-04-18 08:04:00.427 - warn: javascript.0 at process._tickCallback (internal/process/next_tick.js:189:7)
      

      Das der State den falschen Typ hat ist gut zu wissen. Aber ich denke ich habe alle Varianten durch und keine Idee, wie ich zum gewünschten Ergebnis komme.

      Wie muss der JS Aufruf oder der State definiert sein, damit mit das Script den JSON String in den State speichert?

      Danke fürs feedback
      Lupo

      bahnuhrB Online
      bahnuhrB Online
      bahnuhr
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #2

      @fxlupo

      Zeig dich mal dein ganzes Script.


      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
      Danke.
      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
      ScreenToGif :https://www.screentogif.com/downloads.html

      1 Antwort Letzte Antwort
      0
      • F Offline
        F Offline
        fxlupo
        schrieb am zuletzt editiert von
        #3

        Hier das komplette Script

        const mvgApi = require('@lynbarry/mvg-api');
        
        var station = getState('javascript.' + instance + '.MVG.Haltestelle').val
        var bus = '',
            tram = '',
            ubahn = '',
            sbahn = '';
        
            createState('javascript.' + instance + '.MVG.Haltestelle', station, {type: "string", role: 'Haltestelle'});
            createState('javascript.' + instance + '.MVG.Abfahrtszeit', true, {type: "object", role: 'history'});
            createState('javascript.' + instance + '.MVG.SBahn', false, {
            name: 'Anzeige von SBahn',
            desc: 'S-Bahn Abfahrten anzeigen',
            type: 'boolean',
            });
            createState('javascript.' + instance + '.MVG.Tram', false, {
            name: 'Anzeige von Tram',
            desc: 'Tram Abfahrten anzeigen',
            type: 'boolean',
            });
            createState('javascript.' + instance + '.MVG.Bus', false, {
            name: 'Anzeige von Bus',
            desc: 'Bus Abfahrten anzeigen',
            type: 'boolean',
            });
            createState('javascript.' + instance + '.MVG.UBahn', false, {
            name: 'Anzeige von UBahn',
            desc: 'U-Bahn Abfahrten anzeigen',
            type: 'boolean',
            });
        
        function getDeparture() {
            mvgApi.getDepartures(station, [ubahn,sbahn,bus,tram]).then(lines => {
                //  console.log(lines));
                  setState('javascript.' + instance + '.MVG.Abfahrtszeit',lines, true);
                });
         }
        
        
            // Update each minute
        schedule("* * * * *", function () {
            if (getState('javascript.' + instance + '.MVG.UBahn').val){ ubahn= 'u'; } 
            if (getState('javascript.' + instance + '.MVG.SBahn').val){ sbahn = 's'; } 
            if (getState('javascript.' + instance + '.MVG.Bus').val){ bus = 'b'; } 
            if (getState('javascript.' + instance + '.MVG.Tram').val){ tram = 't'; } 
            getDeparture();
        });
        
        1 Antwort Letzte Antwort
        0
        • F fxlupo

          Hallo zusammen,

          ich möchte mir die Abfahrtszeiten der Münchner U-Bahn und Tram in meiner Vis anzeigen lassen. Ich habe dazu folgende Api auf Git gefunden. https://github.com/Lynbarry/mvg-api) https://github.com/Lynbarry/mvg-api ... Mit npm installiert und ich bekomme die Daten ins Log. Bis hierher alles fein.

          Da ich die Info aber im Vis haben will, habe ich mir einen State erstellt indem der JSON String gespeicher werden soll. Und hier ist Ende mit meinem JS know how.

          Ich habe das Example wie folgend geändert.

              mvgApi.getDepartures(station, [ubahn,sbahn,bus,tram]).then(lines => {
                  //  console.log(lines));
                    setState('javascript.' + instance + '.MVG.Abfahrtszeit',lines, true);
                  });
          

          Egal ob ich den State als String oder Object definiere ist das höchste der Gefühle, dass ich [object Object] als Wert in den State bekomme.
          Das Log spuckt mir folgendes aus.

          2019-04-18 08:04:00.424 - warn: javascript.0 Wrong type of javascript.0.MVG.Abfahrtszeit: "object". Please fix, while deprecated and will not work in next versions.
          2019-04-18 08:04:00.426 - warn: javascript.0 at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1258:20)
          2019-04-18 08:04:00.426 - warn: javascript.0 at mvgApi.getDepartures.then.lines (script.js.MyScripts.MVG:41:11)
          2019-04-18 08:04:00.426 - warn: javascript.0 at :null:null
          2019-04-18 08:04:00.427 - warn: javascript.0 at process._tickCallback (internal/process/next_tick.js:189:7)
          

          Das der State den falschen Typ hat ist gut zu wissen. Aber ich denke ich habe alle Varianten durch und keine Idee, wie ich zum gewünschten Ergebnis komme.

          Wie muss der JS Aufruf oder der State definiert sein, damit mit das Script den JSON String in den State speichert?

          Danke fürs feedback
          Lupo

          DutchmanD Offline
          DutchmanD Offline
          Dutchman
          Developer Most Active Administrators
          schrieb am zuletzt editiert von Dutchman
          #4

          @fxlupo sagte in MVG München Abfahrtszeiten:

          Wie muss der JS Aufruf oder der State definiert sein, damit mit das Script den JSON String in den State speichert?

          function getDeparture() {
              mvgApi.getDepartures(station, [ubahn,sbahn,bus,tram]).then(lines => {
                   //  console.log(lines));
                     setState('javascript.' + instance + '.MVG.Abfahrtszeit',JSON.stringify(lines), true);
                   });
            }
          
          

          JSON.stringify() konvertiert [object object] zum string.

          1 Antwort Letzte Antwort
          0
          • F Offline
            F Offline
            fxlupo
            schrieb am zuletzt editiert von
            #5

            Danke das war es was gefehlt hat. State als String definiert und das Object in JSON.stringify gepackt.

            M 1 Antwort Letzte Antwort
            0
            • F fxlupo

              Danke das war es was gefehlt hat. State als String definiert und das Object in JSON.stringify gepackt.

              M Offline
              M Offline
              MarkusL
              schrieb am zuletzt editiert von
              #6

              @fxlupo Hi, kannst Du die Änderungen genau sagen? Oder Dein Script, so wie es jetzt läuft, posten? Ich habe noch einen Wurm in der Variablendeklaration drinnen, den ich nicht rausbekomme (ich habe alles per Copy Paste versucht zusammenzubasteln...).
              Das wäre klasse.
              Danke,
              Markus

              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

              775

              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