Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. verschiedene Datenpunkte in eine Tabelle schreiben

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    verschiedene Datenpunkte in eine Tabelle schreiben

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @Basti97 last edited by

      @Basti97 sagte:

      noch die Grad nach den Zahlen einfügen.

          table[idx].Temp = dp.state.val + ' °C';
      
      Basti97 1 Reply Last reply Reply Quote 0
      • Basti97
        Basti97 Most Active @paul53 last edited by

        @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. 🙂

        paul53 1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @Basti97 last edited by

          @Basti97 sagte:

          aber ich sehe mit Java kann man viel mehr machen.

          Blockly enthält nur eine Teilmenge von Javascript.

          Basti97 1 Reply Last reply Reply Quote 0
          • Basti97
            Basti97 Most Active @paul53 last edited by

            @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.

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @Basti97 last edited by paul53

              @Basti97 sagte:

              Wie oft wird eigentlich der Datenpunkt aktualisiert?

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

              Basti97 2 Replies Last reply Reply Quote 0
              • Basti97
                Basti97 Most Active @paul53 last edited by

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

                1 Reply Last reply Reply Quote 0
                • Basti97
                  Basti97 Most Active @paul53 last edited by

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


                  const idTable = 'javascript.0.virtuelle_Datenpunkte.Temperaturauswertung'; // ID JSON-Tabelle

                  //Temperatur
                  const idsTemp = [
                  'zigbee.0.00158d03035bf62e.temperature',
                  'zigbee.0.00158d03045bf62e.temperature',
                  'zigbee.0.00158d03065bf62e.temperature',
                  'zigbee.0.00158d03046bf62e.temperature',

                  ]; // Luftfeuchtigkeit

                  const idsLuftf = [
                  'zigbee.0.00158d03035bf62e.humidity',
                  'zigbee.0.00158d03045bf62e.humidity',
                  'zigbee.0.00158d03065bf62e.humidity',
                  'zigbee.0.00158d03046bf62e.humidity',

                  ];// Temperatur Status (true oder false)

                  const idsStatus = [
                  'zigbee.0.00158d03035bf62e.available',
                  'zigbee.0.00158d03045bf62e.available',
                  'zigbee.0.00158d03065bf62e.available',
                  'zigbee.0.00158d03046bf62e.available',

                  ]; // Datenpunkt-IDs von Adaptern

                  const rooms = [
                  'Wohnen','Schlafen','Küche',
                  'Bad','Kinderzimmer'
                  ];

                  var table = [];

                  for(let i = 0; i < rooms.length; i++) {

                  // Tabellen Spalten und Überschrift

                  table[i] = {};
                  
                  table[i].Raum = rooms[i];
                  
                  table[i].Temperatur = getState(idsTemp[i]).val + ' °C';
                  table[i].Luftfeuchtigkeit = getState(idsLuftf[i]).val;
                      table[i].Status = getState(idsStatus[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 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @Basti97 last edited by paul53

                    @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.

                    Basti97 1 Reply Last reply Reply Quote 0
                    • Basti97
                      Basti97 Most Active @paul53 last edited by Basti97

                      Danke für deine Hilfe.

                      1 Reply Last reply Reply Quote 0
                      • Basti97
                        Basti97 Most Active last edited by

                        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

                        Basti97 1 Reply Last reply Reply Quote 0
                        • Basti97
                          Basti97 Most Active @Basti97 last edited by

                          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.

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          801
                          Online

                          31.8k
                          Users

                          80.0k
                          Topics

                          1.3m
                          Posts

                          blockly javascript monitoring
                          2
                          14
                          1894
                          Loading More Posts
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes
                          Reply
                          • Reply as topic
                          Log in to reply
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          The ioBroker Community 2014-2023
                          logo