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. [Frage] Wie Variablen Inhalte in Schleife auswerten

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

[Frage] Wie Variablen Inhalte in Schleife auswerten

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
3 Beiträge 2 Kommentatoren 929 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.
  • PeoplesP Offline
    PeoplesP Offline
    Peoples
    schrieb am zuletzt editiert von
    #1

    Hi Leute,

    ich steh mal wieder vor einem Problem:

    Ich versuche gerade meinen eingentlich simplen Abfallkalender den ich in Homematic-Script erstellt habe in den iOBroker zu "portieren" doch leider ohne Erfolg.

    Mir fehlen teilweise Befehle, Alternativen für diese oder einfach das Wissen.

    Ich habe 4 Variablen (Bio, Gelber Sack, Rest und Biomüll) in welchen durch Komma getrennt jedes Abholdatum hinterlegt ist.

    Mir gelingt es nicht die einzelnen Datumswerte welche ich durch split trennen wollte in einer for Schleife weiter zu verwenden.

    Hier der Code-Teil

    ...
    abfall_kalender_liste = ["1.Abfallkalender_Bio","3.Abfallkalender_Gelb","5.Abfallkalender_Papier","9.Abfallkalender_Rest"];
    for (var i_index in abfall_kalender_liste) {
        	i = abfall_kalender_liste[i_index];
        	kalender_name = i.split('.')[1];
        	abfall_typ = i.split('.')[0];  
    
    // Hier setzte ich nun den Javascript Variablen Namen zusammen um 
    // die Inhalte auszulesen  
    	 datumsliste = getState(instanz + pfad + kalender_name).val   
    
    }
    

    So weit klappt das auch aber wie kann ich diese Werte nun weiter auswerten?

    ich wollte nun in einer weiteren "for each" Schleife die es wohl nicht gibt, die "datumsliste" durch split auf die einzelnen Datumsangaben herrunter aufteilen und diese dann mit dem heutigen Datum vergleichen. Bei einem Treffer würde dann eine andere Variable gesetzt.

    Nur leider klappt kein Weg den ich bisher probiert habe.

    Der Erklärung halber hier noch mein Homematic - Script

    ! ````
    ! !Liste der vorhandenen Abfallkalender Systemvariablen die abgefragt werden sollen.
    string tmpA = "1Abfallkalender_Bio,3Abfallkalender_Gelb,5Abfallkalender_Papier,9Abfallkalender_Rest";
    ! string tmpB;
    ! !Variable für Mülltyp (papier - Gelb usw)
    integer tmpC = 0;
    var tmpD = dom.GetObject("Abfallkalender_heute");
    ! !Datum des morgigen Tages berechnen
    integer tmpE = 1;
    integer tmpF = system.Date("%F %X").ToTime().ToInteger();
    integer tmpG = tmpF + (86400 + tmpE);
    string tmpH = tmpG.ToTime().Format("%d.%m.%Y");
    ! !Alle ersteinmal auf 0 setzen
    tmpD.State(tmpC);
    !Jeden einzelnen Kalender abprüfen
    foreach(tmpB, tmpA.Split(",")){

    	!Zahl vor dem Abfalltyp separieren
    	integer drop_type_value = tmpB.Substr(0, 1);
    	integer calendar_name_length = tmpB.Length();
    	var calendar = tmpB.Substr(1, calendar_name_length);
    
    	var datelist = dom.GetObject(calendar);
    	!Alle Werte zählen
    	var _count = web.webGetValueListCount(datelist.ValueList());
    	integer i = 0;
    
    	!Alle Werte abarbeiten
    	while (i < _count) { 
    		!Wenn das hinterlegte Datum dem Morgigen entspricht auf true setzen
    		if(web.webGetValueFromList(datelist.ValueList(), i) == tmpH){
    			!Variable setzen
                tmpC = tmpC + drop_type_value;
    		}
    		i = i + 1; 
    	}
    

    }
    tmpD.State(tmpC);

    ! ````

    Ich wäre sehr dankbar wenn mir jemand auf die Sprünge helfen könnte.

    Danke

    Peoples

    Ich beantworte keine Fragen zu Themen via PN

    1 Antwort Letzte Antwort
    0
    • ThisoftT Offline
      ThisoftT Offline
      Thisoft
      schrieb am zuletzt editiert von
      #2

      Wie wär's damit?

      datumsliste = "01.06.2017,02.06.2017,03.06.2017,04.06.2017,05.06.2017";
      var splitted =datumsliste.split(",");
      for (var _i in splitted){
          log(splitted[_i]);
          //mach was du willst
      }
      

      Oder hab ich Dein Problem falsch verstanden?

      22 HM-Geräte; PivCCU2 auf RasPi

      ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

      1 Antwort Letzte Antwort
      0
      • PeoplesP Offline
        PeoplesP Offline
        Peoples
        schrieb am zuletzt editiert von
        #3

        genau das wars

        Tausend Dank!

        Ich beantworte keine Fragen zu Themen via PN

        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

        586

        Online

        32.6k

        Benutzer

        82.2k

        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