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. Bei bestimmtem String stürzt Javascript Instanz ab

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
    950

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Bei bestimmtem String stürzt Javascript Instanz ab

Geplant Angeheftet Gesperrt Verschoben JavaScript
21 Beiträge 5 Kommentatoren 635 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.
  • haus-automatisierungH haus-automatisierung

    @ticaki sagte in Bei bestimmtem String stürzt Javascript Instanz ab:

    Aber ist es da wirklich zwingend das ein Objekt (oder ein Wert != null/undefined/0/''/false) zurück gegeben werden muß?

    Aktuell ja. Das ist analog zu sendTo implementiert. Würde das nicht umstellen - was ist der Mehrwert? Die Blockly-Bausteine generieren den Code ja momentan auch so, dass immer ein Objekt zurückgeliefert wird:

    https://github.com/ioBroker/ioBroker.javascript/blob/939b0b0a70dd857684afc10be6732467fb3a5208/src/public/google-blockly/own/blocks_trigger.js#L998

    Intern ist das ja ein einfaches sendTo. Und da arbeitet man ja eigentlich immer mit Objekten. Finde ich auch sauber gelöst.

    T Nicht stören
    T Nicht stören
    ticaki
    schrieb am zuletzt editiert von
    #12

    @haus-automatisierung
    Da ist kein Vorteil, nur das im sendTo() für jsonConfig.json bei textSendTo ein String erwartet wird(kein Object), daher meine Fehlannahme. :)

    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

    Spenden

    haus-automatisierungH 1 Antwort Letzte Antwort
    0
    • T ticaki

      @haus-automatisierung
      Da ist kein Vorteil, nur das im sendTo() für jsonConfig.json bei textSendTo ein String erwartet wird(kein Object), daher meine Fehlannahme. :)

      haus-automatisierungH Online
      haus-automatisierungH Online
      haus-automatisierung
      Developer Most Active
      schrieb am zuletzt editiert von
      #13

      @ticaki Stimmt, wäre schöner wenn auch der Admin für textSendTo dann result.text nutzen würde und man auch dort ein Objekt zurückliefert.

      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
      📚 Meine inoffizielle ioBroker Dokumentation

      Ben1983B 1 Antwort Letzte Antwort
      0
      • haus-automatisierungH haus-automatisierung

        @ticaki Stimmt, wäre schöner wenn auch der Admin für textSendTo dann result.text nutzen würde und man auch dort ein Objekt zurückliefert.

        Ben1983B Offline
        Ben1983B Offline
        Ben1983
        schrieb am zuletzt editiert von
        #14

        @haus-automatisierung ok.
        Dann sollte ja async meineFunktion.result gehen, oder?
        Trotzdem stürzt ja komischerweise die Instanz ab… obwohl nur der Rückgabewert geloggt werden soll. Sollte das nicht trotzdem gehen?

        haus-automatisierungH T 2 Antworten Letzte Antwort
        0
        • Ben1983B Ben1983

          @haus-automatisierung ok.
          Dann sollte ja async meineFunktion.result gehen, oder?
          Trotzdem stürzt ja komischerweise die Instanz ab… obwohl nur der Rückgabewert geloggt werden soll. Sollte das nicht trotzdem gehen?

          haus-automatisierungH Online
          haus-automatisierungH Online
          haus-automatisierung
          Developer Most Active
          schrieb am zuletzt editiert von haus-automatisierung
          #15

          @ben1983 sagte in Bei bestimmtem String stürzt Javascript Instanz ab:

          Dann sollte ja async meineFunktion.result gehen, oder?

          Wenn Du ein Objekt an die Callback-Funktion übergibst, ja. So wie in der Doku zu finden.

          PS: Strings mit <> zu vergleichen ist so eine Sache... da wirst Du noch Probleme bekommen (je nachdem ob eine 0 vorangestellt wird, oder nicht):

          Screenshot 2023-11-09 at 12.53.48.png

          🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
          🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
          📚 Meine inoffizielle ioBroker Dokumentation

          Ben1983B 1 Antwort Letzte Antwort
          1
          • Ben1983B Ben1983

            @haus-automatisierung ok.
            Dann sollte ja async meineFunktion.result gehen, oder?
            Trotzdem stürzt ja komischerweise die Instanz ab… obwohl nur der Rückgabewert geloggt werden soll. Sollte das nicht trotzdem gehen?

            T Nicht stören
            T Nicht stören
            ticaki
            schrieb am zuletzt editiert von
            #16

            @ben1983 sagte in Bei bestimmtem String stürzt Javascript Instanz ab:

            @haus-automatisierung ok.
            Dann sollte ja async meineFunktion.result gehen, oder?
            Trotzdem stürzt ja komischerweise die Instanz ab… obwohl nur der Rückgabewert geloggt werden soll. Sollte das nicht trotzdem gehen?

            Oben steht doch die Lösung die geht...

            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

            Spenden

            1 Antwort Letzte Antwort
            1
            • haus-automatisierungH haus-automatisierung

              @ben1983 sagte in Bei bestimmtem String stürzt Javascript Instanz ab:

              Dann sollte ja async meineFunktion.result gehen, oder?

              Wenn Du ein Objekt an die Callback-Funktion übergibst, ja. So wie in der Doku zu finden.

              PS: Strings mit <> zu vergleichen ist so eine Sache... da wirst Du noch Probleme bekommen (je nachdem ob eine 0 vorangestellt wird, oder nicht):

              Screenshot 2023-11-09 at 12.53.48.png

              Ben1983B Offline
              Ben1983B Offline
              Ben1983
              schrieb am zuletzt editiert von
              #17

              @haus-automatisierung ok danke.
              Ja denke mache es so, dass ich wirklich den String splitten werde, denn nur aus einer Zeit kann man ja mit Date() nichts erzeugen. Werde dann auch ein Objekt übergeben.

              Nur ne Frage: wie kann es denn sein, dass der Fehler jemandem den ioBroker zerschießt?

              haus-automatisierungH 1 Antwort Letzte Antwort
              0
              • Ben1983B Ben1983

                @haus-automatisierung ok danke.
                Ja denke mache es so, dass ich wirklich den String splitten werde, denn nur aus einer Zeit kann man ja mit Date() nichts erzeugen. Werde dann auch ein Objekt übergeben.

                Nur ne Frage: wie kann es denn sein, dass der Fehler jemandem den ioBroker zerschießt?

                haus-automatisierungH Online
                haus-automatisierungH Online
                haus-automatisierung
                Developer Most Active
                schrieb am zuletzt editiert von
                #18

                @ben1983 sagte in Bei bestimmtem String stürzt Javascript Instanz ab:

                Nur ne Frage: wie kann es denn sein, dass der Fehler jemandem den ioBroker zerschießt?

                Eigentlich gar nicht. Mindestens der JavaScript-Adapter läuft ja in einem eigenen Prozess (außer der Compact-Mode ist aktiviert). Gibt da für mich keine technisch Erklärung für.

                Wenn ich das fehlerhafte Script nun so nehme und ausprobiere, passiert wahrscheinlich wieder gar nix :)

                🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                📚 Meine inoffizielle ioBroker Dokumentation

                Ben1983B 1 Antwort Letzte Antwort
                0
                • haus-automatisierungH haus-automatisierung

                  @ben1983 sagte in Bei bestimmtem String stürzt Javascript Instanz ab:

                  Nur ne Frage: wie kann es denn sein, dass der Fehler jemandem den ioBroker zerschießt?

                  Eigentlich gar nicht. Mindestens der JavaScript-Adapter läuft ja in einem eigenen Prozess (außer der Compact-Mode ist aktiviert). Gibt da für mich keine technisch Erklärung für.

                  Wenn ich das fehlerhafte Script nun so nehme und ausprobiere, passiert wahrscheinlich wieder gar nix :)

                  Ben1983B Offline
                  Ben1983B Offline
                  Ben1983
                  schrieb am zuletzt editiert von Ben1983
                  #19

                  @haus-automatisierung OK. Wundert mich jetzt auch etwas.

                  Hier mein finaler Code, der funktioniert.
                  Sollte das so ok sein?

                  // Prüfen,ob die angegebenen Zeit vor oder gleich der aktuellen ist
                  onMessage("TimeBeforeOrEqualNow",(messagedata,callback)=>{
                      const now = new Date();
                      const inputTime = new Date(`${now.getFullYear()}-${now.getMonth() + 1}-${now.getDate()}-${messagedata.time}`);
                      if(inputTime){
                          callback({result:inputTime <= now});
                      }
                      else{
                          callback({result:false});
                      }
                  });
                  
                  async function checkTime(){
                      log((await messageToAsync("TimeBeforeOrEqualNow",{time:"8:33"},{timeout:5000})).result);
                  }
                  
                  checkTime();
                  

                  @haus-automatisierung ich stehe nur irgendwie noch auf dem Schlauch, wie ich das in meine Logik unterbringen soll?
                  Also ich habe einen Trigger durch "$Selector.on((obj)=>{....}

                  wenn ich jetzt darin die Funktion nutzen möchte, kann ich ja gar kein await nutzen, da es nicht in einer async funktion ist.
                  Somit würde ja die If Abfrage mit "undefined" abgehakt werden, bevor ein result zurückkommen kann.

                  CodierknechtC 1 Antwort Letzte Antwort
                  0
                  • Ben1983B Ben1983

                    @haus-automatisierung OK. Wundert mich jetzt auch etwas.

                    Hier mein finaler Code, der funktioniert.
                    Sollte das so ok sein?

                    // Prüfen,ob die angegebenen Zeit vor oder gleich der aktuellen ist
                    onMessage("TimeBeforeOrEqualNow",(messagedata,callback)=>{
                        const now = new Date();
                        const inputTime = new Date(`${now.getFullYear()}-${now.getMonth() + 1}-${now.getDate()}-${messagedata.time}`);
                        if(inputTime){
                            callback({result:inputTime <= now});
                        }
                        else{
                            callback({result:false});
                        }
                    });
                    
                    async function checkTime(){
                        log((await messageToAsync("TimeBeforeOrEqualNow",{time:"8:33"},{timeout:5000})).result);
                    }
                    
                    checkTime();
                    

                    @haus-automatisierung ich stehe nur irgendwie noch auf dem Schlauch, wie ich das in meine Logik unterbringen soll?
                    Also ich habe einen Trigger durch "$Selector.on((obj)=>{....}

                    wenn ich jetzt darin die Funktion nutzen möchte, kann ich ja gar kein await nutzen, da es nicht in einer async funktion ist.
                    Somit würde ja die If Abfrage mit "undefined" abgehakt werden, bevor ein result zurückkommen kann.

                    CodierknechtC Online
                    CodierknechtC Online
                    Codierknecht
                    Developer Most Active
                    schrieb am zuletzt editiert von
                    #20

                    @ben1983 sagte in Bei bestimmtem String stürzt Javascript Instanz ab:

                    wenn ich jetzt darin die Funktion nutzen möchte, kann ich ja gar kein await nutzen, da es nicht in einer async funktion ist.

                    Warum nicht? Mach doch eine draus.

                    on({id:'dein.dp.oder.selektor', change:"ne"}, async function () {
                        // hier geht auch await
                    });
                    

                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                    HmIP|ZigBee|Tasmota|Unifi
                    Zabbix Certified Specialist
                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                    Ben1983B 1 Antwort Letzte Antwort
                    2
                    • CodierknechtC Codierknecht

                      @ben1983 sagte in Bei bestimmtem String stürzt Javascript Instanz ab:

                      wenn ich jetzt darin die Funktion nutzen möchte, kann ich ja gar kein await nutzen, da es nicht in einer async funktion ist.

                      Warum nicht? Mach doch eine draus.

                      on({id:'dein.dp.oder.selektor', change:"ne"}, async function () {
                          // hier geht auch await
                      });
                      
                      Ben1983B Offline
                      Ben1983B Offline
                      Ben1983
                      schrieb am zuletzt editiert von Ben1983
                      #21

                      @codierknecht Danke... oh man, da bin ich gar nicht drauf gekommen, da es eine Arrow Function ist :-)

                      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

                      307

                      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