NEWS

Array erstellen aus Datenpunkten in javascript


  • @paul53
    Ok, da habe ich wohl Blödsinn erzählt.
    Die Datenpunkte werden mit einer If-Schleife auf True oder False gesetzt anhand eines anderen Datenpunktes (CO2 Wert des jeweiligen Raums).
    Größer 1000 = true, drunter = false.
    Eine direkte Zuordnung gibt es so nicht.
    Hätte jetzt im Script vermutlich mit einer weiteren If-Schleife gearbeitet um bei true eine Variable zu füllen.
    Vermutlich wird es da bessere Varianten geben.


  • @ramses sagte:

    Die Ausgabe sollte wie folgt aussehen
    Folgende Räume sind aktiv (true): Raumname, Raumname, Raumname

    Woher sollen die Raumnamen kommen ? Ein Screenshot der Datenpunkt-Objekte wäre hilfreich.


  • @paul53

    hö? Weiss jetzt nicht wie die Datenpunkte dir helfen sollen? Sind simple boolean Datenpunkte

    "Wenn Kinderzimmer CO2 höher 1000 setze Datenpunkt javascript.0.klima.KinderzimmerCO2signal auf true, wenn darunter auf false" Mehr ist noch nicht passiert.
    Ich hatte jetzt an sowas gedacht:
    "Wenn javascript.0.klima.KinderzimmerCO2signal = true, setze andere Variable auf String "Kinderzimmer". Wenn nicht lasse Variable leer.
    Sollte am Ende ja auch funktionieren, weil leere Variable macht auch keine Ausgabe.
    Aber ist vermutlich so die absolut schlechteste Lösung.


  • @ramses sagte:

    "Wenn javascript.0.klima.KinderzimmerCO2signal = true,

    Dann steckt der Raumname in der Datenpunkt-ID (s. meine erste Frage). Besser wäre es, wenn die ID durch einen zusätzlichen Punkt strukturiert wäre: "javascript.0.klima.Kinderzimmer.CO2signal".


  • @paul53
    Ok, das zu ändern wäre das kleinste Problem. Und dann?


  • @ramses
    Dann kann man Raumnamen separieren.

    var teile = id.split('.'); // Array mit den Teilen zwischen den Punkten
    var room = teile[3]; // Raumname
    

  • @paul53

    hmm anhand der zwei zeilen verstehe ich dennoch nicht wie er daran kommt?! Verstehe zwar was es macht, aber woher kriegt er in diesen zwei Zeilen den richtigen Datenpunkt zum splitten?
    Kannst du mir das vielleicht an einem praktischen Beispiel Zeigen ? z.B. mit meinem genannten Datenpunkt?

    Und dann ist da noch das Ding, alles in einer Reihe ausgeben zu lassen...

    edit: aaaaah lach .. da wo id steht, soll die id rein.. habs jetzt für nen command gehalten

    Fehlt nur noch die gesammelte Ausgabe...


  • @paul53
    obwohl ich jetzt nicht wirklich verstehe warum ich nicht einfach "Kinderzimmer" in eine Variable schreibe und mir die splitterei erspare?!?!


  • @ramses
    Dafür dient der $Selector.

    const idsCO2 = $('javascript.0.klima.*.CO2signal');
    
    var signale = [];
    
    function checkCO2() {
       signale = [];
       idsCO2.each(function(id, i) {
          if(getState(id).val) signale.push(id.split('.')[3]); // Raumname in Array
       });
       // Array in Datenpunkt schreiben ?
    }
    
    idsCO2.on(checkCO2); // triggert bei Änderung eines der Datenpunkte
    

  • @paul53

    Ja, ich muss noch viel lernen. Aber das ist ein schönes praktisches Beispiel womit ich zum Verständnis was rumprobieren kann .

    Danke dir erst mal so weit.
    Wenn noch Fragen sind, werde ich noch mal nachhaken.

Suggested Topics

1.3k
Online

36.7k
Users

42.4k
Topics

587.4k
Posts