Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Probleme mit einfachen IF Abfragen

    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

    Probleme mit einfachen IF Abfragen

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      matze-pe last edited by

      Hallo,

      ich möchte ein einfaches Skript mit einer IF Abfrage starten.
      In dem VW Adapter liest er die aktuelle Lademenge der Wallbox aus. Nach erfolgreicher Aufladung bleibt der Wert aber bestehen.
      In meiner Visualiseurng möchte ich den Wert nur angezeigt haben, wenn der Status "charging" ist.

      Also habe ich mir überlegt, ich baue mir eine Abfrage mit einer Hilfsvariabel "menge".
      Der Wert Menge wird nur nur "gefüllt" wenn auch tatsächlich geladen wird, ansonsten "leer".

      Leider läuft das Skript nicht, hat jemand eine Idee?

      var state = 'vw-connect.0.wecharge.homecharging.stations.Garage.sessions.latestItem.charging_state';
      var lademenge = 'vw-connect.0.wecharge.homecharging.stations.Garage.sessions.latestItem.energy_consumption_wh';
      const menge = 'vw-connect.lademenge';
      //var rechne = 'vw-connect.rechne';
      
      function start() {
      
      createState(menge, 0, {type: 'number', unit: 'kWh'});  
      
          if (state == "charging") {    
          // rechne = lademenge / 1000;    
          setState(menge, lademenge, true); // Summe in Datenpunkt schreiben
          }   
          else {
          setState(menge, "", true); // Summe in Datenpunkt schreiben    
          }
      }
      
      setTimeout(start, 200); // Skriptstart
      
      N paul53 2 Replies Last reply Reply Quote 0
      • N
        Nordischerjung @matze-pe last edited by

        @matze-pe Welche Vis nutzt du? Kannst du doch über "Sichtbarkeit" zB umschalten

        M 1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @matze-pe last edited by paul53

          @matze-pe sagte: Leider läuft das Skript nicht

          Du vergleichst eine ID (state) mit einem Wert ("charging"). Außerdem wird die Funktion start() nur einmal bei Skriptstart ausgeführt. Danach passiert nichts mehr. Man darf auch keinen String ("") in einen Datenpunkt vom Typ "number" schreiben, ohne eine Warnung zu erhalten.
          So sollte es funktionieren:

          const idState = 'vw-connect.0.wecharge.homecharging.stations.Garage.sessions.latestItem.charging_state';
          const idLademenge = 'vw-connect.0.wecharge.homecharging.stations.Garage.sessions.latestItem.energy_consumption_wh';
          const idMenge = '0_userdata.0.vw-connect.lademenge';
          
          function start(menge) {
              if (getState(idState).val == "charging") {    
                  menge = menge / 1000;
                  menge = menge.toFixed(2); // mit 2 Nachkommastellen
              } else menge = '';
              setState(idMenge, menge, true); // in Datenpunkt schreiben
          }
          
          if(existsState(idMenge)) start(getState(idLademenge).val);
          else createState(idMenge, '', {type: 'string', unit: 'kWh'});  
          
          on(idLademenge, function(dp) {
              start(dp.state.val);
          });  
          
          M 1 Reply Last reply Reply Quote 0
          • M
            matze-pe @Nordischerjung last edited by

            @nordischerjung said in Probleme mit einfachen IF Abfragen:

            @matze-pe Welche Vis nutzt du? Kannst du doch über "Sichtbarkeit" zB umschalten

            2022-03-24 14_44_28-Edit vis.png

            Unter Sichtbarkeit kann ich den Wert z.B. "charging" nicht eintragen. Dann passiert nichts. Aktuell ist er fertig und der Wert steht immer noch da

            1 Reply Last reply Reply Quote 0
            • M
              matze-pe @paul53 last edited by

              @paul53 said in Probleme mit einfachen IF Abfragen:

              const idState = 'vw-connect.0.wecharge.homecharging.stations.Garage.sessions.latestItem.charging_state';

              danke, teste ich nachher gleich. Aktuell ist der Wagen von den ganzen Test gerade voll 🙂

              N 2 Replies Last reply Reply Quote 0
              • N
                Nordischerjung @matze-pe last edited by

                @matze-pe probieremal "besteht aus" charging dann den Wert von der Box sichtbar, "besteht nicht aus" charging dann 0 oder was du möchtest

                1 Reply Last reply Reply Quote 0
                • N
                  Nordischerjung @matze-pe last edited by

                  @matze-pe geht noch einfacher, Basic-Html Widget nehmen und in HTML folgendes eintragen:

                  {wert:vw-connect.0.wecharge.homecharging.stations.Garage.sessions.latestItem.charging_state;wert1:vw-connect.0.wecharge.homecharging.stations.Garage.sessions.latestItem.energy_consumption_wh; wert == "charging" ? wert1 :: "0"}
                  

                  wert ist DP von Wallbox ob charging oder nicht, bei charging schreibt er wert1(dein DP von Wallbox) rein, wenn nicht charging dann schreibt er 0 rein

                  M 1 Reply Last reply Reply Quote 0
                  • M
                    matze-pe @Nordischerjung last edited by

                    Super, danke so hat es geklappt mittels "Sichtbarkeit", danke trotzdem für das Skript 🙂
                    Akku ist zwar voll, aber das umschalten eben im Test hat geklappt. Vielen Dank!

                    2022-03-24 16_28_28-Edit vis.png

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    837
                    Online

                    31.8k
                    Users

                    80.0k
                    Topics

                    1.3m
                    Posts

                    3
                    8
                    328
                    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