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. NodeRed Scriptstart via Trigger funzt net

NEWS

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

  • 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

NodeRed Scriptstart via Trigger funzt net

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
2 Beiträge 1 Kommentatoren 2.0k 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.
  • G Offline
    G Offline
    galferiz
    schrieb am zuletzt editiert von
    #1

    Hi Leute,

    Ich hatte das Problem schonmal hier (viewtopic.php?f=21&t=16003) gepostet, allerdings ohne grosses Feedback.

    Es passt hier, denk ich, besser rein.

    Kann sich einer das Verhalten erklären?

    1935_s5.png
    Wenn ich den State (bei Datenpunkt) manuell ändere auf "true", läuft das Script und SayIt gibt den Text aus wie gewünscht.

    Wenn ich den Status über Alexa ändere, sagt Alexe zwar das "Status" = "an", der Zeitstempel wird aktualisiert,

    aber er regisiert den State-change nicht im Script, obwohl er den Datenpunkt auf true setzt?!

    Hier mal paar NodeRed Infos.

    (Ich schlate meine HM Lichter im Haus genauso und das geht problemlos.
    1935_s1.png
    1935_s7.png
    1935_s6.png
    1935_s2.png
    1935_s3.png
    1935_s4.png

    Hier der Scriptcode:

    var idSayIt = "sayit.0.tts.text";               // Hier die entsprechende SayIt Text ID
    var trigger = "javascript.0.ALEXA.TempData";    //Objekte auf daß, das Skrift auslöst
    var lastSay = null;
    
    // ansagetext, sind die TempDaten
    
    // Quellen
    var idTemperatursensor = "hm-rpc.0.NEQ1382432.1.TEMPERATURE"/*HM-WDS10-TH-O NEQ1382432:1.TEMPERATURE*/
    var idTemperatursensor2 = "hm-rpc.0.NEQ1523315.1.TEMPERATURE"/*KME - EG-Wohnzimmer.TEMPERATURE*/
    
    function ermitteleAnsageTemperatur () {
        // Die Außentemperatur ist xx. Das Wetter heute ist xx
        // Einfache Temperaturansage mit SayIt.
        // Variante 1 mittels splitten der Temperatur, damit die Ansage nicht
        // "Es sind 18 Punkt 2 Grad " sagt.
    
        var temperatursensor = getState(idTemperatursensor).val;
        var temp_string = temperatursensor.toString();
        var temp_array = [];
        temp_array = temp_string.split(".");
    
        // Fange leere Nachkommastellen ab. Das passiert, wenn die Temperatur z. B. 18.0 ist.
        // Es wird dann nur "18" gelesen.
        if (!temp_array[1]) {
            temp_array[1] = "0";
            log("Die Nach-Kommastelle in temp_array[1] war nicht vorhanden und wird nun fest auf 0 gesetzt.");
        }
        return{
            'Ganzzahl'      : temp_array[0],
            'Nachkommazahl' : temp_array[1]
        };
    }
    
    function ermitteleAnsageTemperatur2 () {
        // Die Außentemperatur ist xx. Das Wetter heute ist xx
        // Einfache Temperaturansage mit SayIt.
        // Variante 1 mittels splitten der Temperatur, damit die Ansage nicht
        // "Es sind 18 Punkt 2 Grad " sagt.
    
        var temperatursensor = getState(idTemperatursensor2).val;
        var temp_string = temperatursensor.toString();
        var temp_array = [];
        temp_array = temp_string.split(".");
    
        // Fange leere Nachkommastellen ab. Das passiert, wenn die Temperatur z. B. 18.0 ist.
        // Es wird dann nur "18" gelesen.
        if (!temp_array[1]) {
            temp_array[1] = "0";
            log("Die Nach-Kommastelle in temp_array[1] war nicht vorhanden und wird nun fest auf 0 gesetzt.");
        }
        return{
            'Ganzzahl'      : temp_array[0],
            'Nachkommazahl' : temp_array[1]
        };
    }
    
    // TempDaten melden
    
    var ansagetext = "Temperatur Garten " + ermitteleAnsageTemperatur().Ganzzahl + "," + ermitteleAnsageTemperatur().Nachkommazahl + " Grad." 
                    + " Temperatur Wohnbereich " + ermitteleAnsageTemperatur2().Ganzzahl + "," + ermitteleAnsageTemperatur2().Nachkommazahl + " Grad." ;
    
    [color]subscribe({id:"javascript.0.ALEXA.TempData", val: true}, function (obj) {
             log('DatenTrigger registriert');
             if (!lastSay || ((new Date()).getTime() - lastSay)) {
                      lastSay = (new Date()).getTime();
                      setState (idSayIt, "de;90;" + ansagetext);  
             }
             // Nach 1 Sek
               setTimeout(function () {
                          setState(trigger, false);
               }, 1000);
            });
    [/color]
    
    

    Der Rote Code soll den Trigger erkennen und auslösen.

    Kann mir einer Sagen wo das Problem liegen könnte, bzw. in welcher Richtung ich noch testen könnte?!

    Dank Euch

    Gruß

    Thomas

    Nach Weihnachten ist vor Weihnachten

    1 Antwort Letzte Antwort
    0
    • G Offline
      G Offline
      galferiz
      schrieb am zuletzt editiert von
      #2

      Ok Leute.

      Hab das Kleingedruckte nicht umgesetzt.

      Für alle Nachbauer:

      1935_s6.png

      In der "Replace with" Zeile, hab ich den Wert auf "string" gelassen. Das hat gereicht um nicht zu reagieren.

      Hier müsst Ihr den Wert in der Tabelle auf "Boolean" ändern.

      Problem gelöst :lol:

      Nach Weihnachten ist vor Weihnachten

      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

      737

      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