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. Skript funktioniert nicht, wenn über schedule gestartet

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Skript funktioniert nicht, wenn über schedule gestartet

Geplant Angeheftet Gesperrt Verschoben Gelöst Skripten / Logik
6 Beiträge 3 Kommentatoren 490 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.
  • Christof.KacC Offline
    Christof.KacC Offline
    Christof.Kac
    schrieb am zuletzt editiert von
    #1

    Hi,
    ich habe eine Heizung von Nefit (Bosch ableger), welche über das Internet gesteuert werden kann.
    Es gibt dazu bereits eine npm library "nefit-easy-commands" welche ich dafür erfolgreich nutze.
    Das Skript sieht so aus:

    const NefitEasyClient = require('nefit-easy-commands');
    // Client instanziieren
    const client = NefitEasyClient({
      serialNumber : "1234",
      accessKey    : "ABCD",
      password     : "EFGH",
    }); 
    function HollandWerteAuslesen()
    {
        log("Holland Heizung abfragen");
        // Connect client and retrieve status and pressure.
        client.connect().then( () => 
        {
            return [ client.status(), client.pressure() ];
        }).spread((status, pressure) => 
        {
            console.log("Temperature is set to " + status['temp setpoint'].toFixed(1) + " °C, current is " + status['in house temp'].toFixed(1) + " °C.\n" +
                "Outside temperature is "+status['outdoor temp'].toFixed(1)+" °C.\n" +
                "User Mode is "+status['user mode']+".\n" +
                "System pressure is " + pressure.pressure + " " + pressure.unit);
                
            setState("HeizungHolland.TemperaturIst", status['in house temp'].toFixed(1));
            setState("HeizungHolland.TemperaturSoll", status['temp setpoint'].toFixed(1));
            setState("HeizungHolland.Aussentemperatur", status['outdoor temp'].toFixed(1));
            setState("HeizungHolland.Druck", pressure.pressure);
            var today = new Date();
            setState("HeizungHolland.UpdateZeit", today.getFullYear()+"-"+(today.getMonth()+1)+"-"+today.getDate()+" "+today.getHours()+":"+today.getMinutes());        
        }).catch((e) => 
        {
            console.error('Error: ' + e);
        }).finally(() => 
        {
            client.end();
        });
    }
    

    Wenn ich dieses Skript manuell ausführe, bekomme ich die gewünschte Info:

    11:50:30.569	[info]	javascript.0 script.js.common.Nefit: Holland Heizung abfragen
    11:50:31.692	[info]	javascript.0 script.js.common.Nefit: Temperature is set to 21.0 °C, current is 21.2 °C. Outside temperature is 7.0 °C. User Mode is clock. System pressure is 1.4 bar
    
    

    Wenn ich das Skript aber über "schedule" automatisch starten möchte:

    schedule({minute: [0, 30, 38, 45]}, HollandWerteAuslesen);
    

    bekomme ich einen timeout fehler auf der library :

    javascript.0	2019-02-10 11:38:38.635	error	script.js.common.Nefit: Error: Error: MAX_RETRIES_REACHED
    avascript.0	2019-02-10 11:38:00.578	info	script.js.common.Nefit: Holland Heizung abfragen
    

    Die npm library nefit-easy-commands habe ich bei den Einstellungen des JavaScript adapters eingetragen.

    Woran kann es liegen, dass eine "normale" Ausführung des Skriptes funktioniert, über "schedule" aber nicht?

    Danke
    Christof

    ioBroker admin 6 mit cloud in einer VM mit CCU2, Rademacher Homepilot, FS20, Homematic, Google Home

    1 Antwort Letzte Antwort
    0
    • Christof.KacC Christof.Kac

      Leider nicht, ich sehe am Log, dass das Skript wirklich nur zu den gewünschten Zeiten gestartet wird.
      Der Hund muss irgendwo anders verbuddelt sein...

      Danke
      Christof

      apollon77A Offline
      apollon77A Offline
      apollon77
      schrieb am zuletzt editiert von
      #5

      @Christof-Kac Kann man eine Client instanz mehrfach connecten oder brauchst immer ne neue? Nicht das es daran liegt. Ziehe mal das init von client mit in die Funktion

      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
      1 Antwort Letzte Antwort
      0
      • apollon77A Offline
        apollon77A Offline
        apollon77
        schrieb am zuletzt editiert von
        #2

        Kann es sein das Du auch "second" wenigstens auf 0 setzen musst nicht das er in der minute das Skripe jede Sekunde startet?

        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
        PeoplesP 1 Antwort Letzte Antwort
        0
        • Christof.KacC Offline
          Christof.KacC Offline
          Christof.Kac
          schrieb am zuletzt editiert von
          #3

          Leider nicht, ich sehe am Log, dass das Skript wirklich nur zu den gewünschten Zeiten gestartet wird.
          Der Hund muss irgendwo anders verbuddelt sein...

          Danke
          Christof

          ioBroker admin 6 mit cloud in einer VM mit CCU2, Rademacher Homepilot, FS20, Homematic, Google Home

          apollon77A 1 Antwort Letzte Antwort
          0
          • apollon77A apollon77

            Kann es sein das Du auch "second" wenigstens auf 0 setzen musst nicht das er in der minute das Skripe jede Sekunde startet?

            PeoplesP Offline
            PeoplesP Offline
            Peoples
            schrieb am zuletzt editiert von
            #4

            @apollon77 said in Skript funktioniert nicht, wenn über schedule gestartet:

            Kann es sein das Du auch "second" wenigstens auf 0 setzen musst nicht das er in der minute das Skripe jede Sekunde startet?

            War bei mir auch so ohne Sekunden Angaben hatte ich beim Backitup Script immer Schwierigkeiten

            Ich beantworte keine Fragen zu Themen via PN

            1 Antwort Letzte Antwort
            0
            • Christof.KacC Christof.Kac

              Leider nicht, ich sehe am Log, dass das Skript wirklich nur zu den gewünschten Zeiten gestartet wird.
              Der Hund muss irgendwo anders verbuddelt sein...

              Danke
              Christof

              apollon77A Offline
              apollon77A Offline
              apollon77
              schrieb am zuletzt editiert von
              #5

              @Christof-Kac Kann man eine Client instanz mehrfach connecten oder brauchst immer ne neue? Nicht das es daran liegt. Ziehe mal das init von client mit in die Funktion

              Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

              • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
              • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
              1 Antwort Letzte Antwort
              0
              • Christof.KacC Offline
                Christof.KacC Offline
                Christof.Kac
                schrieb am zuletzt editiert von
                #6

                Hi,
                das war es, danke. Die Instanz muss anscheinend immer wieder neu erzeugt werden.
                Jetzt funktioniert es.

                Danke für den prompten Support!
                Christof

                ioBroker admin 6 mit cloud in einer VM mit CCU2, Rademacher Homepilot, FS20, Homematic, Google Home

                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

                724

                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