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. JavaScript
  5. Probleme mit einfachen IF Abfragen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Probleme mit einfachen IF Abfragen

Geplant Angeheftet Gesperrt Verschoben JavaScript
8 Beiträge 3 Kommentatoren 537 Aufrufe 1 Watching
  • Ä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.
  • M Offline
    M Offline
    matze-pe
    schrieb am zuletzt editiert von
    #1

    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 paul53P 2 Antworten Letzte Antwort
    0
    • M matze-pe

      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 Offline
      N Offline
      Nordischerjung
      schrieb am zuletzt editiert von
      #2

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

      Gruß Nordischerjung

      sonnige Grüße von der Ostsee

      M 1 Antwort Letzte Antwort
      0
      • M matze-pe

        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
        
        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #3

        @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);
        });  
        

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        M 1 Antwort Letzte Antwort
        0
        • N Nordischerjung

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

          M Offline
          M Offline
          matze-pe
          schrieb am zuletzt editiert von
          #4

          @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 Antwort Letzte Antwort
          0
          • paul53P 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 Offline
            M Offline
            matze-pe
            schrieb am zuletzt editiert von
            #5

            @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 Antworten Letzte Antwort
            0
            • M matze-pe

              @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 Offline
              N Offline
              Nordischerjung
              schrieb am zuletzt editiert von
              #6

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

              Gruß Nordischerjung

              sonnige Grüße von der Ostsee

              1 Antwort Letzte Antwort
              0
              • M matze-pe

                @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 Offline
                N Offline
                Nordischerjung
                schrieb am zuletzt editiert von
                #7

                @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

                Gruß Nordischerjung

                sonnige Grüße von der Ostsee

                M 1 Antwort Letzte Antwort
                0
                • N Nordischerjung

                  @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 Offline
                  M Offline
                  matze-pe
                  schrieb am zuletzt editiert von
                  #8

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

                  514

                  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