Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. [Problem] Ungewollte SayIt-Ansage nach ioBroker-Neustart

NEWS

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    1.1k

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.6k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    6.2k

[Problem] Ungewollte SayIt-Ansage nach ioBroker-Neustart

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
5 Beiträge 2 Kommentatoren 965 Aufrufe
  • Ä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.
  • D Offline
    D Offline
    dtp
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich habe fogendes sayIt-Skript bei mir laufen:

    var idSayIt = "sayit.0.tts.text";
    var date;
    
    // EG Flur SV Tablet Kamera
    on({id: "hm-rega.0.2727", val: true}, function(){
      setState(idSayIt, 'de;100;Achtung. Ihr Einbruch wurde registriert und wir haben bereits die Polizei verständigt.'); 
    });
    
    // CCU CUxD Timer Abwesenheit.WORKING
    on({id: "javascript.0.AlarmCountdown", change: "gt"}, function(obj){
      setState(idSayIt, 'Achtung. Alarmanlage in '+obj.state.val+' Sekunden scharf. Zum Entschärfen Haustür aufschließen.'); 
    });
    
    // Heizungsanlage Betriebsart
    on({id: "viessmann.0.get.VitoBetriebsart", change: "ne"}, function(obj){
      date = new Date();
      if((6 < date.getHours()) && (date.getHours() < 23)){
        setState(idSayIt, 'Betriebsart der Heizunmgsanlage auf '+obj.state.val+' geändert.'); 
      }
    });
    
    // Heizungsanlage Partybetrieb
    on({id: "viessmann.0.get.VitoBetriebParty", change: "ne"}, function(obj){
      date = new Date();
      if((6 < date.getHours()) && (date.getHours() < 23)){
        if(obj.state.val === "aus"){
          setState(idSayIt, 'Partybetrieb der Heizungsanlage ausgeschaltet.');
        }
        if(obj.state.val === "an"){
          setState(idSayIt, 'Partybetrieb der Heizungsanlage eingeschaltet.');
        }
      }
    });
    
    // Heizungsanlage Sparbetrieb
    on({id: "viessmann.0.get.VitoBetriebSpar", change: "ne"}, function(obj){
      date = new Date();
      if((6 < date.getHours()) && (date.getHours() < 23)){
        if(obj.state.val === "aus"){
          setState(idSayIt, 'Sparbetrieb der Heizungsanlage ausgeschaltet.');
        }
        if(obj.state.val === "an"){
          setState(idSayIt, 'Sparbetrieb der Heizungsanlage eingeschaltet.');
        }
      }
    });
    

    Nach einem reboot des Raspi bzw. einem Neustart von ioBroker werden jedes Mal die beiden letzten Ansagen "Partybetrieb der Heizungsanlage ausgeschaltet." und "Sparbetrieb der Heizungsanlage ausgeschaltet." auf meinem Tablet ausgegeben, obwohl sich deren Zustand eigentlich gar nicht geändert hat (ist immer aus). Nun ergeben sich zwei Fragen:

    1. Wieso erfolgt nicht auch eine Ansage zur Betriebsart?

    2. Wie kann ich die Ansagen nach einem Neustart vermeiden?

    Gruß,

    Thorsten

    ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

    1 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      Vermutlich startet das Skript bevor der Vitotronic-Adapter seine Initialisierung beendet hat.
      @dtp:

      Wie kann ich die Ansagen nach einem Neustart vermeiden? `
      Vielleicht hilft es, das Skript (mit Hilfe eines separaten Skriptes) zu stoppen und verzögert wieder zu starten. Habe mal getestet und festgestellt, dass stopScript('Scriptname') leider nicht funktioniert. Versuche es mal so:

      var obj = getObject('script.js.Skriptname');
      obj.common.enabled = false;
      setObject('script.js.Skriptname', obj);  // Skript stoppen
      
      setTimeout(function() {
          runScript('Skriptname');
      }, 10000);  // nach 10 s wieder starten
      
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

      1 Antwort Letzte Antwort
      0
      • paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #3

        Anderer Vorschlag: Eine Freigabeverzögerung nach Skriptstart einbauen:

        var idSayIt = "sayit.0.tts.text";
        var date;
        var startDelay = false;
        
        setTimeout(function() {
            startDelay = true;
        }, 10000);
        ...
        
        

        und dann die Abfragen erweitern:

          if((6 < date.getHours()) && (date.getHours() < 23) && startDelay){
        
        

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

        1 Antwort Letzte Antwort
        0
        • D Offline
          D Offline
          dtp
          schrieb am zuletzt editiert von
          #4

          Hallo paul53,

          vielen Dank für die Hilfe. Doch leider kommen die Ansagen immer noch. Nun entsprechend verzögert. Gibt es keine Möglichkeit, den Neustart von ioBroker abzufragen und dann eine entsprechende if-Abfrage einzufügen?

          Gruß,

          Thorsten

          ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

          1 Antwort Letzte Antwort
          0
          • paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #5

            @dtp:

            Gibt es keine Möglichkeit, den Neustart von ioBroker abzufragen und dann eine entsprechende if-Abfrage einzufügen? `
            Genau das passiert mit der zusätzlichen Auswertung von startDelay. Da mit ioBroker-Neustart alle Adapter und somit alle Skripte gestartet werden, wird startDelay erst auf false und nach 10 s auf true gesetzt. Folglich können Wertänderungen der Vitotronic-Datenpunkte innerhalb der ersten 10 s nach ioBroker-Neustart keine Reaktion (sayit) auslösen.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

            1 Antwort Letzte Antwort
            0

            Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

            Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

            Mit deinem Input könnte dieser Beitrag noch besser werden 💗

            Registrieren Anmelden
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            178

            Online

            33.0k

            Benutzer

            83.6k

            Themen

            1.3m

            Beiträge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2026
            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