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. Array aus php script holen

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

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

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

Array aus php script holen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
24 Beiträge 3 Kommentatoren 2.4k 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.
  • AlCalzoneA Offline
    AlCalzoneA Offline
    AlCalzone
    Developer
    schrieb am zuletzt editiert von
    #21

    Super dass es jetzt klappt. Setze bitte ein "[gelöst]" vor den Thementitel.

    Und für andere, die hier möglicherweise drauf stoßen wäre es gut, wenn du deine Lösung noch posten könntest.

    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      sveni_lee
      schrieb am zuletzt editiert von
      #22

      naja gelöst ist das ganze noch nicht… eventuell muß ich die Überschrift ändern.

      die Abfrage klappt jetzt so:

      const request = require('request');
      const idJSON = "javascript.0.DB_Abfrage.DB_json";
      
      request('http://192.168.1.142/server.php', (err, res, body) => {
        if (err) { return log(err); }
        log(body);
        setState(idJSON, body);
        var obj = JSON.parse(body, function (key, value) {
          if (value == "dir" && key != "extrafanart") 
              log(key);
      
          });
      });
      
      

      allerdings würde ich grn in der json abfrage einen counter mitlaufen lassen so das ich die erhaltenen "key" auch einem state zu ordnen kann.

      müsste dann wohl mit einer "for" schleife gemacht oder gibt es einen besseren Weg?

      EDIT:

      okay, mit counter funtioniert so:

      const request = require('request');
      const idJSON = "javascript.0.DB_Abfrage.DB_json";
      
      request('http://192.168.1.142/server.php', (err, res, body) => {
        if (err) { return log(err); }
        log(body);
        setState(idJSON, body);
        var i = 1;
        var obj = JSON.parse(body, function (key, value) {
              if (value == "dir" && key !="extrafanart") {
              log(key);
              log(i);
              i=i+1;
      
              }
          });
      });
      
      1 Antwort Letzte Antwort
      0
      • AlCalzoneA Offline
        AlCalzoneA Offline
        AlCalzone
        Developer
        schrieb am zuletzt editiert von
        #23

        Alternativ kannst du auch sowas machen, ist vermutlich eher das was du willst:

        const parsed = JSON.parse(body);
        for (const key of Object.keys(parsed)) {
            const value = parsed[key];
            // was mit den Einträgen machen. In key stehen nacheinander die Schlüssel deines Objekts, in value nacheinander die dazugehörigen Werte, wie "dir", etc...
        }
        
        

        Oder wenn du (wie es mir scheint), nur die Verzeichnisse außer "extrafanart" willst:

        const parsed = JSON.parse(body);
        const files = Object.keys(parsed)
            .filter(key => parsed[key] === "dir" && key !== "extrafanart") // Verzeichnisse filtern
        ;
        // Hier ist files jetzt ein String-Array mit Inhalt ["1973 - Ring Ring", "1974 - Waterloo", ...]
        
        

        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

        1 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          sveni_lee
          schrieb am zuletzt editiert von
          #24

          das schau ich mir auf jedenfall mal an…

          habe jetzt mal ein wenig gespielt...

          ~~![](</s><URL url=)https://i.imgur.com/nCKLNwz.jpg" />

          die states werden durch das script gefüllt… und wenn man auf den Ordner dückt wird der "Name" an einen state übergeben. dieser soll dann über das script an meine serve.php übergeben werden...

          Der teil mit der Übergabe fehlt mir allerdings noch...~~

          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

          479

          Online

          32.5k

          Benutzer

          81.7k

          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