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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Bitte Hilfe bei Interpretation von Fehlermeldungen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

Bitte Hilfe bei Interpretation von Fehlermeldungen

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
27 Beiträge 5 Kommentatoren 1.0k Aufrufe 4 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.
  • S Offline
    S Offline
    skorpil
    schrieb am zuletzt editiert von
    #17

    @paul53 dankeschön, das war es: "if (wetterdaten)". Denn augenscheinlich liefert der Adapter manchmal eben leere Objekte.

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      skorpil
      schrieb am zuletzt editiert von
      #18

      @paul53 noch eine Frage: jetzt reagiert das Script ja nur, wenn ein Wert vorhanden ist. Eben durch die Abfrage if(Variable). Wie würde man das Gegenteil programmieren, also wenn „kein“ Wert vorhanden, dann.... ich würde nämlich gerne in meine CCU Variable noch schreiben, wenn kein Wert, dann „keine Angabe“.

      paul53P 1 Antwort Letzte Antwort
      0
      • S skorpil

        @paul53 noch eine Frage: jetzt reagiert das Script ja nur, wenn ein Wert vorhanden ist. Eben durch die Abfrage if(Variable). Wie würde man das Gegenteil programmieren, also wenn „kein“ Wert vorhanden, dann.... ich würde nämlich gerne in meine CCU Variable noch schreiben, wenn kein Wert, dann „keine Angabe“.

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #19

        @skorpil sagte:

        CCU Variable noch schreiben, wenn kein Wert, dann „keine Angabe“.

        function Wetterdatenholenundsetzen() {
            wetterdaten = getState(idOpenWeater).val;
            if(wetterdaten === null) wetterdaten = 'keine Angabe';
            setState(idVariable, wetterdaten);
        }
        

        EDIT: Vergleich geändert, da Wert 0 ein gültiger Wert ist, der vorkommen kann.

        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

        S 1 Antwort Letzte Antwort
        1
        • paul53P paul53

          @skorpil sagte:

          CCU Variable noch schreiben, wenn kein Wert, dann „keine Angabe“.

          function Wetterdatenholenundsetzen() {
              wetterdaten = getState(idOpenWeater).val;
              if(wetterdaten === null) wetterdaten = 'keine Angabe';
              setState(idVariable, wetterdaten);
          }
          

          EDIT: Vergleich geändert, da Wert 0 ein gültiger Wert ist, der vorkommen kann.

          S Offline
          S Offline
          skorpil
          schrieb am zuletzt editiert von
          #20

          @paul53 großartig! Vielen Dank u. nun ein schönes Wochenende.

          PS: ...wenn es dieses Forum nicht gäbe...

          HomoranH 1 Antwort Letzte Antwort
          0
          • S skorpil

            @paul53 großartig! Vielen Dank u. nun ein schönes Wochenende.

            PS: ...wenn es dieses Forum nicht gäbe...

            HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #21

            @skorpil sagte in Bitte Hilfe bei Interpretation von Fehlermeldungen:

            wenn es dieses Forum nicht gäbe...

            und warum bekommt Paul dann keine "postive Bewertung"

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            S HomoranH 2 Antworten Letzte Antwort
            0
            • HomoranH Homoran

              @skorpil sagte in Bitte Hilfe bei Interpretation von Fehlermeldungen:

              wenn es dieses Forum nicht gäbe...

              und warum bekommt Paul dann keine "postive Bewertung"

              S Offline
              S Offline
              skorpil
              schrieb am zuletzt editiert von
              #22

              @Homoran kriegt er ja gerne. Aber wie muß ich das machen?

              1 Antwort Letzte Antwort
              0
              • S Offline
                S Offline
                skorpil
                schrieb am zuletzt editiert von skorpil
                #23

                ...und der guten Ordnung halber noch das fertige Script. Es liest Daten aus openweathermap und schreibt sie in CCU Variablen. Sicher nicht profimäßig programmiert. Aber es läuft.

                // #########################################################################
                //    Wetterdaten aus openweathermap holen und in homematic Variable setzen
                // #########################################################################
                
                
                // Aktualisierung der homematic Variable bei Aktualisierung openweathermap
                on ({id:'openweathermap.0.forecast.current.date'/*Actual date*/, change: 'any'}, function(data) {
                
                //Werte holen und setzen
                
                //Wetter Bedingung als String
                var idOpenWeater = 'openweathermap.0.forecast.current.state'/*Actual state*/;
                var idVariable = 'hm-rega.0.29954'/*Wetter Bedingungen*/;
                wetterdaten = getState(idOpenWeater).val
                
                if (wetterdaten) setState(idVariable, wetterdaten); 
                
                //Wetter Richtung als Zahl
                var idOpenWeater = 'openweathermap.0.forecast.current.windDirection'/*Forecast for wind direction*/;
                //log(JSON.stringify(getState(idOpenWeater).val));
                var idVariable = 'hm-rega.0.29959'/*Wetter Windrichtg*/;
                Wetterdatenholenundsetzen();
                
                //Wind Richtung als Angabe 
                var idOpenWeater = 'openweathermap.0.forecast.current.windDirection'/*Forecast for wind direction*/;
                var idVariable = 'hm-rega.0.29958'/*Wetter Windrichtung*/;  
                    
                    //******************* Windrichtung bestimmen***************
                    //*******************Nord 339-23, Nordost 24-68, Ost 69-113, SüdOst 114-158, Süd 159-203, SüdWest 204-248, West 249-293, NordWest 394-338***************
                
                    wetterdaten = getState(idOpenWeater).val
                
                    if (wetterdaten > 23 && wetterdaten <= 68){
                        wetterdaten = "NordOst";
                        };
                
                    if (wetterdaten > 68 && wetterdaten <= 113){
                        wetterdaten = "Ost";
                        };
                
                    if (wetterdaten > 113 && wetterdaten <= 158){
                        wetterdaten = "SüdOst";
                        };
                
                    if (wetterdaten > 158 && wetterdaten <= 203){
                        wetterdaten = "Süd";
                        };
                
                    if (wetterdaten > 203 && wetterdaten <= 248){
                        wetterdaten = "SüdWest";
                        };
                
                    if (wetterdaten > 248 && wetterdaten <= 293){
                        wetterdaten = "West";
                        };
                
                    if (wetterdaten > 293 && wetterdaten <= 338){
                        wetterdaten = "NordWest";
                        };
                
                    if (wetterdaten > 338 && wetterdaten <= 360){
                        wetterdaten = "Nord";
                        };
                
                    if (wetterdaten > 0 && wetterdaten <= 23){
                        wetterdaten = "Nord";
                        };
                    
                    if (!wetterdaten) {
                        wetterdaten = "keine Angabe";
                        setState(idVariable, wetterdaten);
                    };
                
                    if (wetterdaten) setState(idVariable, wetterdaten);
                
                //Temperatur als Zahl
                var idOpenWeater = 'openweathermap.0.forecast.current.temperature'/*Actual temperature for today*/
                var idVariable = 'hm-rega.0.29955'/*Wetter Temperatur*/;
                Wetterdatenholenundsetzen();
                
                //Luftfeuchtigkeit als Zahl
                var idOpenWeater = 'openweathermap.0.forecast.current.humidity'/*Actual humidity*/
                var idVariable = 'hm-rega.0.29956'/*Wetter Luftfeuchte*/;
                Wetterdatenholenundsetzen();
                
                //Windgeschwindigkeit als Zahl
                var idOpenWeater = 'openweathermap.0.forecast.current.windSpeed'/*Forecast for wind speed*/
                var idVariable = 'hm-rega.0.29960'/*Wetter Windgeschwindigkeit*/;
                Wetterdatenholenundsetzen();
                
                //Aktualisierung (Zeit)
                var idOpenWeater = 'openweathermap.0.forecast.current.date'/*Actual date*/;
                var idVariable = 'hm-rega.0.29953'/*Wetter Aktualisierung*/;
                wetterdaten = getState(idOpenWeater).val;
                var date = new Date(wetterdaten);
                
                // Umwandeln in deutsches Format
                
                    //Tagesdatum ermitteln
                    var tag = date.getDate();
                    
                    //Monat ermitteln
                    var month = new Array("1","2","3","4","5","6","7","8","9","10","11","12");
                    var monat = month[date.getMonth()];
                    if(monat.length < 2){
                        monat = "0" + monat;
                    }
                       
                    //Jahr ermitteln
                    var jahr = date.getFullYear();
                
                    //Stunde ermitteln
                    var stunde = date.getHours();
                    var stunde = stunde.toString();
                    if(stunde.length < 2){
                        stunde = "0" + stunde;
                    }
                    
                    //Minute ermitteln
                    var minute = date.getMinutes();
                    var minute = minute.toString();
                    if(minute.length < 2){
                        minute = "0" + minute;
                    }
                    
                    //Sekunde ermitteln
                    var sekunde = date.getSeconds();
                    var sekunde = sekunde.toString();
                    if(sekunde.length < 2){
                        sekunde = "0" + sekunde;
                    }
                       
                var ausgabe = tag + "." + monat + "." + jahr + "   " + stunde + ":" + minute + ":" + sekunde;
                
                setState(idVariable, ausgabe);
                
                // ##################################################################
                //                  FUNKTION Holen und setzen     
                // ##################################################################
                
                 function Wetterdatenholenundsetzen() {
                    wetterdaten = getState(idOpenWeater).val;
                    if (wetterdaten != null) setState(idVariable, wetterdaten);
                
                
                });
                
                paul53P 1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

                  @skorpil sagte in Bitte Hilfe bei Interpretation von Fehlermeldungen:

                  wenn es dieses Forum nicht gäbe...

                  und warum bekommt Paul dann keine "postive Bewertung"

                  HomoranH Nicht stören
                  HomoranH Nicht stören
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von
                  #24

                  @skorpil sagte in Bitte Hilfe bei Interpretation von Fehlermeldungen:

                  @Homoran kriegt er ja gerne. Aber wie muß ich das machen?

                  Wenn du die Signaturen ausgeblendet hast, kannst du es natürlich nicht lesen ;-) :

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  Unter jedem Beitrag befindet sich rechts unten neben "Zitieren" eine Bewertungsinfo mit einem "Bewertung hoch" ^ - dann dem Wert der Bewertung für diesen Beutrag (leider 0) und dann ein "Bewertung runter" Icon um wie auch immer geartetet schlechte Beiträge auch negativ beurteilen zu können

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  S 1 Antwort Letzte Antwort
                  1
                  • S skorpil

                    ...und der guten Ordnung halber noch das fertige Script. Es liest Daten aus openweathermap und schreibt sie in CCU Variablen. Sicher nicht profimäßig programmiert. Aber es läuft.

                    // #########################################################################
                    //    Wetterdaten aus openweathermap holen und in homematic Variable setzen
                    // #########################################################################
                    
                    
                    // Aktualisierung der homematic Variable bei Aktualisierung openweathermap
                    on ({id:'openweathermap.0.forecast.current.date'/*Actual date*/, change: 'any'}, function(data) {
                    
                    //Werte holen und setzen
                    
                    //Wetter Bedingung als String
                    var idOpenWeater = 'openweathermap.0.forecast.current.state'/*Actual state*/;
                    var idVariable = 'hm-rega.0.29954'/*Wetter Bedingungen*/;
                    wetterdaten = getState(idOpenWeater).val
                    
                    if (wetterdaten) setState(idVariable, wetterdaten); 
                    
                    //Wetter Richtung als Zahl
                    var idOpenWeater = 'openweathermap.0.forecast.current.windDirection'/*Forecast for wind direction*/;
                    //log(JSON.stringify(getState(idOpenWeater).val));
                    var idVariable = 'hm-rega.0.29959'/*Wetter Windrichtg*/;
                    Wetterdatenholenundsetzen();
                    
                    //Wind Richtung als Angabe 
                    var idOpenWeater = 'openweathermap.0.forecast.current.windDirection'/*Forecast for wind direction*/;
                    var idVariable = 'hm-rega.0.29958'/*Wetter Windrichtung*/;  
                        
                        //******************* Windrichtung bestimmen***************
                        //*******************Nord 339-23, Nordost 24-68, Ost 69-113, SüdOst 114-158, Süd 159-203, SüdWest 204-248, West 249-293, NordWest 394-338***************
                    
                        wetterdaten = getState(idOpenWeater).val
                    
                        if (wetterdaten > 23 && wetterdaten <= 68){
                            wetterdaten = "NordOst";
                            };
                    
                        if (wetterdaten > 68 && wetterdaten <= 113){
                            wetterdaten = "Ost";
                            };
                    
                        if (wetterdaten > 113 && wetterdaten <= 158){
                            wetterdaten = "SüdOst";
                            };
                    
                        if (wetterdaten > 158 && wetterdaten <= 203){
                            wetterdaten = "Süd";
                            };
                    
                        if (wetterdaten > 203 && wetterdaten <= 248){
                            wetterdaten = "SüdWest";
                            };
                    
                        if (wetterdaten > 248 && wetterdaten <= 293){
                            wetterdaten = "West";
                            };
                    
                        if (wetterdaten > 293 && wetterdaten <= 338){
                            wetterdaten = "NordWest";
                            };
                    
                        if (wetterdaten > 338 && wetterdaten <= 360){
                            wetterdaten = "Nord";
                            };
                    
                        if (wetterdaten > 0 && wetterdaten <= 23){
                            wetterdaten = "Nord";
                            };
                        
                        if (!wetterdaten) {
                            wetterdaten = "keine Angabe";
                            setState(idVariable, wetterdaten);
                        };
                    
                        if (wetterdaten) setState(idVariable, wetterdaten);
                    
                    //Temperatur als Zahl
                    var idOpenWeater = 'openweathermap.0.forecast.current.temperature'/*Actual temperature for today*/
                    var idVariable = 'hm-rega.0.29955'/*Wetter Temperatur*/;
                    Wetterdatenholenundsetzen();
                    
                    //Luftfeuchtigkeit als Zahl
                    var idOpenWeater = 'openweathermap.0.forecast.current.humidity'/*Actual humidity*/
                    var idVariable = 'hm-rega.0.29956'/*Wetter Luftfeuchte*/;
                    Wetterdatenholenundsetzen();
                    
                    //Windgeschwindigkeit als Zahl
                    var idOpenWeater = 'openweathermap.0.forecast.current.windSpeed'/*Forecast for wind speed*/
                    var idVariable = 'hm-rega.0.29960'/*Wetter Windgeschwindigkeit*/;
                    Wetterdatenholenundsetzen();
                    
                    //Aktualisierung (Zeit)
                    var idOpenWeater = 'openweathermap.0.forecast.current.date'/*Actual date*/;
                    var idVariable = 'hm-rega.0.29953'/*Wetter Aktualisierung*/;
                    wetterdaten = getState(idOpenWeater).val;
                    var date = new Date(wetterdaten);
                    
                    // Umwandeln in deutsches Format
                    
                        //Tagesdatum ermitteln
                        var tag = date.getDate();
                        
                        //Monat ermitteln
                        var month = new Array("1","2","3","4","5","6","7","8","9","10","11","12");
                        var monat = month[date.getMonth()];
                        if(monat.length < 2){
                            monat = "0" + monat;
                        }
                           
                        //Jahr ermitteln
                        var jahr = date.getFullYear();
                    
                        //Stunde ermitteln
                        var stunde = date.getHours();
                        var stunde = stunde.toString();
                        if(stunde.length < 2){
                            stunde = "0" + stunde;
                        }
                        
                        //Minute ermitteln
                        var minute = date.getMinutes();
                        var minute = minute.toString();
                        if(minute.length < 2){
                            minute = "0" + minute;
                        }
                        
                        //Sekunde ermitteln
                        var sekunde = date.getSeconds();
                        var sekunde = sekunde.toString();
                        if(sekunde.length < 2){
                            sekunde = "0" + sekunde;
                        }
                           
                    var ausgabe = tag + "." + monat + "." + jahr + "   " + stunde + ":" + minute + ":" + sekunde;
                    
                    setState(idVariable, ausgabe);
                    
                    // ##################################################################
                    //                  FUNKTION Holen und setzen     
                    // ##################################################################
                    
                     function Wetterdatenholenundsetzen() {
                        wetterdaten = getState(idOpenWeater).val;
                        if (wetterdaten != null) setState(idVariable, wetterdaten);
                    
                    
                    });
                    
                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #25

                    @skorpil sagte:

                    das fertige Script.

                    Ändere bitte noch

                        if (wetterdaten) setState(idVariable, wetterdaten);
                    

                    in

                        if (wetterdaten != null) setState(idVariable, wetterdaten);
                    

                    da sonst die Aussentemperatur von 0 °C nicht in die SV geschrieben wird.

                    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

                    S 1 Antwort Letzte Antwort
                    1
                    • HomoranH Homoran

                      @skorpil sagte in Bitte Hilfe bei Interpretation von Fehlermeldungen:

                      @Homoran kriegt er ja gerne. Aber wie muß ich das machen?

                      Wenn du die Signaturen ausgeblendet hast, kannst du es natürlich nicht lesen ;-) :

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      Unter jedem Beitrag befindet sich rechts unten neben "Zitieren" eine Bewertungsinfo mit einem "Bewertung hoch" ^ - dann dem Wert der Bewertung für diesen Beutrag (leider 0) und dann ein "Bewertung runter" Icon um wie auch immer geartetet schlechte Beiträge auch negativ beurteilen zu können

                      S Offline
                      S Offline
                      skorpil
                      schrieb am zuletzt editiert von
                      #26

                      @Homoran Dankeschön! Wußte ich nicht!

                      1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @skorpil sagte:

                        das fertige Script.

                        Ändere bitte noch

                            if (wetterdaten) setState(idVariable, wetterdaten);
                        

                        in

                            if (wetterdaten != null) setState(idVariable, wetterdaten);
                        

                        da sonst die Aussentemperatur von 0 °C nicht in die SV geschrieben wird.

                        S Offline
                        S Offline
                        skorpil
                        schrieb am zuletzt editiert von skorpil
                        #27

                        @paul53 Danke! Habe ich nun auch in obigem Script geändert!

                        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

                        659

                        Online

                        32.4k

                        Benutzer

                        81.4k

                        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