NEWS

verschiedene Datenpunkte in eine Tabelle schreiben



  • Wie kann ich von verschiedenen Zustände die Datenpunkte in einen Datenpunkt (Zeichenkette) für eine Json Tabelle schreiben. Wär hat für mich ein kleines Beispiel damit ich die Aufteilung verstehe.
    Zum Beispiel
    Wohnzimmer: 25°C
    Schlafzimmer:12°C
    usw.
    Danke

    Update
    großen Dank an @paul53 für deine Hilfe. 😊



  • @Basti97 sagte:

    eine Json Tabelle schreiben.
    Zum Beispiel
    Wohnzimmer: 25°C
    Schlafzimmer:12°C

    Vorschlag:

    const idTable = '...'; // ID JSON-Tabelle
    const idsTemp = ['...','...','...']; // Datenpunkt-IDs eintragen
    const rooms = ['Wohnen','Schlafen','Küche'];
    
    var table = [];
    for(let i = 0; i < rooms.length; i++) {
        table[i] = {};
        table[i].Raum = rooms[i];
        table[i].Temp = getState(idsTemp[i]).val;
    }
    setState(idTable, JSON.stringify(table), true);
    
    on(idsTemp, function(dp) {
        let idx = idsTemp.indexOf(dp.id);
        table[idx].Temp = dp.state.val;
        setState(idTable, JSON.stringify(table), true);
    });
    


  • @paul53 Danke für deine Hilfe werde es probieren. Wie kann ich in das Script noch die Grad nach den Zahlen einfügen.



  • @Basti97 sagte:

    noch die Grad nach den Zahlen einfügen.

        table[idx].Temp = dp.state.val + ' °C';
    


  • @paul53 Danke langsam verstehe ich das ganze Script. Hatte bis jetzt nur mi Blockly alles gemacht aber ich sehe mit Java kann man viel mehr machen. 🙂



  • @Basti97 sagte:

    aber ich sehe mit Java kann man viel mehr machen.

    Blockly enthält nur eine Teilmenge von Javascript.



  • @paul53 Ja das merke ich jetzt auch mit Blockly hätte man so etwas nicht hinbekommen. Wie oft wird eigentlich der Datenpunkt aktualisiert? Kann man das auch noch einstellen.



  • @Basti97 sagte:

    Wie oft wird eigentlich der Datenpunkt aktualisiert?

    Bei jeder Änderung eines Temperaturwertes der im Array idsTemp angelegten Datenpunkte, also in Echtzeit.



  • @paul53 Ok Der Datenpunkt wird an sich aktualisiert aber die Werte irgendwie bleiben stehen. Die werden erst bei einem Neustart des Adapters aktualisiert.



  • @paul53
    Hier ist mein Script ich verstehe nicht warum der Status nicht aktualisiert wird. 😠
    Ich hoffe ich habe es richtig eingefügt.



  • @Basti97
    Du hast pro Messgröße 4 Datenpunkte, aber 5 Räume.
    Für die Aktualisierung aller Messgrößen braucht es 3 Trigger.

    on(idsTemp, function(dp) {
       let idx = idsTemp.indexOf(dp.id);
       table[idx].Temperatur = dp.state.val + ' °C';
       setState(idTable, JSON.stringify(table), true);
    });
    on(idsLuftf, function(dp) {
       let idx = idsLuftf.indexOf(dp.id);
       table[idx].Luftfeuchtigkeit = dp.state.val + ' %';
       setState(idTable, JSON.stringify(table), true);
    });
    on(idsStatus, function(dp) {
       let idx = idsStatus.indexOf(dp.id);
       table[idx].Status = dp.state.val;
       setState(idTable, JSON.stringify(table), true);
    });
    

    Bitte den gesamten Javascript-Code immer in Code tags </> posten.



  • Danke für deine Hilfe.



  • Ich habe in meiner Tabelle als Status einzelne False und True (siehe Bild).
    Wie kann ich nun Definieren das bei True die Text Farbe Grün ist und bei False rot.
    Der Status kommt von den einzelnen Datenpunkte.
    Zweite Frage kann man Anstatt true bzw False auch jeweils ein Symbol in Javascript einfügen.

    Unbenannt.JPG



  • Hat jemand eine Lösung um die true und false "Datenpunkte" in grün und rot umzuwandeln. Was muss man im JavaScript dafür ändern.



Suggested Topics

  • 3
  • 11
  • 18
  • 15
  • 5
  • 10
  • 18
  • 9

1.4k
Online

32.6k
Users

39.1k
Topics

530.3k
Posts