Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Sayit –> Keine Ansage wenn Geburtstag/Muell ansteht

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] Sayit –> Keine Ansage wenn Geburtstag/Muell ansteht

    This topic has been deleted. Only users with topic management privileges can see it.
    • wendy2702
      wendy2702 last edited by

      Hi,

      ich mache mal ein eigenes Thema auf das dieses http://forum.iobroker.net/viewtopic.php?f=21&t=3351 hier ja eigentlich schon gelöst ist.

      Ich habe das Script soweit zum laufen bekommen das ich eine Ansage für Temperatur und DWD Wetter bekomme.

      Wenn ich jetzt z.B. nur schon den ICAL für Geburtstage eintrage:

      var idGeburtstage =      "ical.0.data.html";
      

      Bekomme ich keine Ansage mehr. Es ertönt lediglich der Hinweis Ton. Im Script log sieht es so aus:

      17:58:49.328	[info]	javascript.0 script.js.SayIt_Ansage_Script: getState(id=dwd.0.warning.description, timerId=0) => {"val":"Es tritt leichter Frost zwischen 0 °C und -2 °C auf.","ack":true,"ts":1482336181371,"q":0,"from":"system.adapter.dwd.0","lc":1482328981463}
      17:58:49.328	[info]	javascript.0 script.js.SayIt_Ansage_Script: Wetter: Es tritt leichter Frost zwischen 0 °C und -2 °C auf.
      17:58:49.328	[info]	javascript.0 script.js.SayIt_Ansage_Script: getState(id=ical.0.data.html, timerId=0) => {"val":"Heute Geburtstag Heinrich","ack":true,"ts":1482339356020,"q":0,"from":"system.adapter.ical.0","lc":1482339356020}
      17:58:49.328	[info]	javascript.0 script.js.SayIt_Ansage_Script: getState(id=ical.0.data.html, timerId=0) => {"val":"Heute Geburtstag Heinrich","ack":true,"ts":1482339356020,"q":0,"from":"system.adapter.ical.0","lc":1482339356020}
      17:58:49.328	[info]	javascript.0 script.js.SayIt_Ansage_Script: Heute Geburtstag Heinrich
      17:58:49.328	[info]	javascript.0 script.js.SayIt_Ansage_Script: getState(id=javascript.0.Muellereignisse.heute, timerId=0) => {"val":"","ack":false,"ts":1482267293799,"q":0,"from":"system.adapter.javascript.0","lc":1482267293799}
      17:58:49.328	[info]	javascript.0 script.js.SayIt_Ansage_Script: Trigger: false
      17:59:19.456	[info]	javascript.0 script.js.SayIt_Ansage_Script: getState(id=hm-rpc.0.MEQ0202146.1.TEMPERATURE, timerId=0) => {"val":4.7,"ack":true,"ts":1482339522666,"q":0,"from":"system.adapter.hm-rpc.0","lc":1482339238152}
      17:59:19.457	[info]	javascript.0 script.js.SayIt_Ansage_Script: Temp 4.7
      17:59:19.457	[info]	javascript.0 script.js.SayIt_Ansage_Script: getState(id=hm-rpc.0.MEQ0202146.1.TEMPERATURE, timerId=0) => {"val":4.7,"ack":true,"ts":1482339522666,"q":0,"from":"system.adapter.hm-rpc.0","lc":1482339238152}
      17:59:19.457	[info]	javascript.0 script.js.SayIt_Ansage_Script: Temp 4.7
      17:59:19.457	[info]	javascript.0 script.js.SayIt_Ansage_Script: getState(id=dwd.0.warning.description, timerId=0) => {"val":"Es tritt leichter Frost zwischen 0 °C und -2 °C auf.","ack":true,"ts":1482336181371,"q":0,"from":"system.adapter.dwd.0","lc":1482328981463}
      17:59:19.457	[info]	javascript.0 script.js.SayIt_Ansage_Script: Wetter: Es tritt leichter Frost zwischen 0 °C und -2 °C auf.
      17:59:19.457	[info]	javascript.0 script.js.SayIt_Ansage_Script: getState(id=ical.0.data.html, timerId=0) => {"val":"Heute Geburtstag Heinrich","ack":true,"ts":1482339356020,"q":0,"from":"system.adapter.ical.0","lc":1482339356020}
      17:59:19.457	[info]	javascript.0 script.js.SayIt_Ansage_Script: getState(id=ical.0.data.html, timerId=0) => {"val":"Heute Geburtstag Heinrich","ack":true,"ts":1482339356020,"q":0,"from":"system.adapter.ical.0","lc":1482339356020}
      17:59:19.457	[info]	javascript.0 script.js.SayIt_Ansage_Script: Heute Geburtstag Heinrich
      17:59:19.457	[info]	javascript.0 script.js.SayIt_Ansage_Script: getState(id=javascript.0.Muellereignisse.heute, timerId=0) => {"val":"","ack":false,"ts":1482267293799,"q":0,"from":"system.adapter.javascript.0","lc":1482267293799}
      17:59:19.457	[info]	javascript.0 script.js.SayIt_Ansage_Script: Trigger: true
      17:59:19.457	[info]	javascript.0 script.js.SayIt_Ansage_Script: setForeignState(id=sayit.0.tts.text, state="100;Guten Morgen, heute ist Mittwoch der 21te Dezember 2016\. Es ist17 Uhr und 59 Minuten. Die Aussentemperatur beträgt 4,7 Grad. Wetter Bedingungen,Es tritt leichter Frost zwischen 0 °C und -2 °C auf. .Nicht vergessen, Heute Geburtstag Heinrich .")
      

      Als Sprache habe ich Ivony Deutsch Marlene ausgewählt.

      Jemand eine Idee warum keine Ansage mehr kommt?

      So sieht das Script log ohne Geburtstagskalender und mit funktionierender Ansage aus:

      8:12:32.319	[info]	javascript.0 Start javascript script.js.SayIt_Ansage_Script
      18:12:32.320	[info]	javascript.0 script.js.SayIt_Ansage_Script: subscribe: {"pattern":{"id":"hm-rega.0.17393","change":"ne"},"name":"script.js.SayIt_Ansage_Script"}
      18:12:32.320	[info]	javascript.0 script.js.SayIt_Ansage_Script: subscribe: {"pattern":{"id":"ical.0.events.Geburtstag","change":"any"},"name":"script.js.SayIt_Ansage_Script"}
      18:12:32.320	[info]	javascript.0 script.js.SayIt_Ansage_Script: subscribe: {"pattern":{"id":{},"change":"any"},"name":"script.js.SayIt_Ansage_Script"}
      18:12:32.320	[info]	javascript.0 script.js.SayIt_Ansage_Script: schedule(cron=5 0 * * *)
      18:12:32.320	[info]	javascript.0 script.js.SayIt_Ansage_Script: registered 3 subscriptions and 1 schedule
      18:12:49.493	[info]	javascript.0 script.js.SayIt_Ansage_Script: getState(id=hm-rpc.0.MEQ0202146.1.TEMPERATURE, timerId=0) => {"val":4.6,"ack":true,"ts":1482340237942,"q":0,"from":"system.adapter.hm-rpc.0","lc":1482340110939}
      18:12:49.493	[info]	javascript.0 script.js.SayIt_Ansage_Script: Temp 4.6
      18:12:49.493	[info]	javascript.0 script.js.SayIt_Ansage_Script: getState(id=hm-rpc.0.MEQ0202146.1.TEMPERATURE, timerId=0) => {"val":4.6,"ack":true,"ts":1482340237942,"q":0,"from":"system.adapter.hm-rpc.0","lc":1482340110939}
      18:12:49.493	[info]	javascript.0 script.js.SayIt_Ansage_Script: Temp 4.6
      18:12:49.493	[info]	javascript.0 script.js.SayIt_Ansage_Script: getState(id=dwd.0.warning.description, timerId=0) => {"val":"Es tritt leichter Frost zwischen 0 °C und -2 °C auf.","ack":true,"ts":1482339781467,"q":0,"from":"system.adapter.dwd.0","lc":1482328981463}
      18:12:49.493	[info]	javascript.0 script.js.SayIt_Ansage_Script: Wetter: Es tritt leichter Frost zwischen 0 °C und -2 °C auf.
      18:12:49.493	[info]	javascript.0 script.js.SayIt_Ansage_Script: getState(id=javascript.0.Kalenderereignisse.heute, timerId=0) => {"val":"","ack":false,"ts":1482267293791,"q":0,"from":"system.adapter.javascript.0","lc":1482267293791}
      18:12:49.493	[info]	javascript.0 script.js.SayIt_Ansage_Script: getState(id=javascript.0.Muellereignisse.heute, timerId=0) => {"val":"","ack":false,"ts":1482267293799,"q":0,"from":"system.adapter.javascript.0","lc":1482267293799}
      18:12:49.493	[info]	javascript.0 script.js.SayIt_Ansage_Script: Trigger: true
      18:12:49.493	[info]	javascript.0 script.js.SayIt_Ansage_Script: setForeignState(id=sayit.0.tts.text, state="100;Guten Morgen, heute ist Mittwoch der 21te Dezember 2016\. Es ist18 Uhr und 12 Minuten. Die Aussentemperatur beträgt 4,6 Grad. Wetter Bedingungen,Es tritt leichter Frost zwischen 0 °C und -2 °C auf. .")
      

      Hier das Script wie ich es für meine ICAL Angepasst habe:

      ! ```
      `// Test mit Variable;
      // Besser ist es, gleich den Bewegungsmelder hier abzufragen.
      //var idSayVar = 'javascript.0.Sayit.Trigger';
      var idSayVar = 'hm-rega.0.17393';
      ! // Definition
      var idSayIt = "sayit.0.tts.text";
      var lautstaerke = 100;
      ! // Quellen
      var idWetter = "dwd.0.warning.description";
      var idTemperatursensor = "hm-rpc.0.MEQ0202146.1.TEMPERATURE";
      //var idGeburtstage = "javascript.0.Kalenderereignisse.heute";
      var idMuell = "javascript.0.Muellereignisse.heute";
      var idGeburtstage = "ical.0.data.html";
      //var idMuell = "ical.2.data.html";
      ! function ermitteleAnsagedatum () {
      //Wochentag ermitteln
      var d = new Date ();
      var w = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
      var wochentag = w[d.getDay()];
      ! //Tagesdatum ermitteln
      var tag = d.getDate();
      ! //Monat ermitteln
      var month = new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
      var monat = month[d.getMonth()];
      ! //Jahr ermitteln
      var jahr = d.getFullYear();
      ! //Stunde ermitteln
      var stunde = d.getHours();
      ! //Minute ermitteln
      var minute = d.getMinutes();

      return { // zurückgeben
          'Jahr'      : jahr,
          'Monat'     : monat,
          'Tag'       : tag,
          'Wochentag' : wochentag,
          'Stunde'    : stunde,
          'Minute'    : minute
      };
      

      }

      ! function ermitteleWetter () { // Wetterbedingungen
      var wetterdaten = getState(idWetter).val;
      log('Wetter: ' + wetterdaten);
      return(wetterdaten);
      }
      ! 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();
      log('Temp ' + temp_string);
      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 ermitteleGeburtstage () {
      var geburtstage = getState(idGeburtstage).val;
      log(geburtstage);
      return (geburtstage);
      }
      ! function ermitteleMuell () {
      var muell = getState(idMuell).val;
      log(muell);
      return (muell);
      }
      ! // ###################################
      // Trigger für Ansage
      // ###################################
      ! on(idSayVar, function (data) {

      var ansagetext = "Guten Morgen, heute ist " + ermitteleAnsagedatum().Wochentag + " der " + ermitteleAnsagedatum().Tag + "te " + ermitteleAnsagedatum().Monat + ' ' + ermitteleAnsagedatum().Jahr 
              + ". Es ist" + ermitteleAnsagedatum().Stunde + "  Uhr und " + ermitteleAnsagedatum().Minute + "  Minuten." 
              + " Die Aussentemperatur beträgt " + ermitteleAnsageTemperatur().Ganzzahl + "," + ermitteleAnsageTemperatur().Nachkommazahl + " Grad." 
              + " Wetter Bedingungen," + ermitteleWetter() +" .";
      

      // ####################################################
      // Wenn Geburtstag dann mit ansagen
      // ####################################################
      var geburtstage2 = getState(idGeburtstage).val;
      if (geburtstage2.length > 2) { // wenn der Inhalt des Objektes "idGeburtstage" weniger als 2 Zeichen lang ist (also praktisch leer), dann ...
      ansagetext = ansagetext + "Nicht vergessen, " + ermitteleGeburtstage() +" .";
      }

      // ####################################################
      // Wenn Müll dann mit ansagen
      // ####################################################
      var muell2 = getState(idMuell).val;
      if (muell2.length > 2) { // wenn der Inhalt des Objektes "idMuell" weniger als 2 Zeichen lang ist (also praktisch leer), dann ...
      ansagetext = ansagetext + "Achtung, heute ist Abholung " + ermitteleMuell() +" .";
      }

      !
      log('Trigger: ' + data.state.val);
      if (data.state.val === true) {
      setState(idSayIt, lautstaerke + ";" + ansagetext); // hier also ("40;Guten Morgen ...")
      }
      });
      ! /* Kalenderevent auswerten ----> nur Geburtstage
      ! sucht im iCal Adapter nach events (heute)
      auf Anfrage von Skorpil im Forum erstellt.
      http://forum.iobroker.de/viewtopic.php?f=21&t=2347&p=20627&sid=524f9dda2f313d3cbb183941df61fc38#p20627
      ! 27.02.2016 erstellt von Pix
      02.03.2016 Anpassung und Aufbereitung für Sprachausgabe
      21.07.2016 Umbau auf Müll Kalender
      */
      ! //Datum als String ermitteln;
      function ermitteleDatum() {
      var d= new Date();

      //Tagesdatum ermitteln
          var day = new Array("00","01","02","03","04","05","06","07","06","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31");
          var t = day[d.getDate().toString()];
      

      ! //Monat ermitteln
      var month = new Array("01","02","03","04","05","06","07","08","09","10","11","12");
      var m = month[d.getMonth().toString()];
      ! //Jahr ermitteln
      var j = d.getFullYear().toString();

      var datum= t+"."+m+"."+j+" ";
      //log("datum:   " + datum);
      return (datum);
      

      }

      ! createState('Kalenderereignisse.heute', '', {
      name: 'Events von heute',
      type: 'string'
      });
      ! var idListe = 'Kalenderereignisse.heute';
      ! function pruefeKalender() {
      var inhalt = getState('ical.0.data.table').val;
      var heute = ermitteleDatum();
      try{
      var ereignisse = JSON.stringify(inhalt, null, 2); // Ausgabe als String
      log(ereignisse);
      var ereignisheute = '', // Liste (kommasepariert)
      ereignisheute_zeilen = ''; // Liste (mit Zeilenumbruch, zB für Anzeige in VIS)
      for(var i = 0; i <inhalt.length; i++)/{/alle/events/durchgehen/if/(/(inhalt[i].date.indexof(heute)/!="-1)" ||/(inhalt[i].date.indexof('heute')/)/strings/datum/oder/relatives/(nicht/nicht)/gefunden/var/ereignis="inhalt[i].event;" komma/im/namen/ersetzen="">0) ? ', ' : '';
      ereignisheute = ereignisheute + komma + ereignis;
      }
      }
      // Aufbereitung für die Ansage (falls vorhanden, wird letztes Komma durch und ersetzt)
      var lastkomma = ereignisheute.lastIndexOf(','); // letztes Komma in der Reihe
      if (lastkomma != -1) {
      var vorn = ereignisheute.slice(0,lastkomma-1);
      var hinten = ereignisheute.slice(lastkomma+1, ereignisheute.length);
      ereignisheute = vorn + ' und' + hinten;
      }
      // Ende Aufbereitung für die Ansage

          setState(idListe, ereignisheute);
          log('Geburtstage: ' + ereignisheute);
      } catch (fehler_try) {
          log('Fehler beim Kalenderevent einlesen ' + fehler_try);
      }
      

      }

      ! // neuer Teil für Müllkalender
      createState('Muellereignisse.heute', '', {
      name: 'Müll-Events von heute',
      type: 'string'
      });
      ! var idListe2 = "Muellereignisse.heute";
      ! function pruefeKalender2() {
      var inhalt2 = getState('ical.2.data.table').val;
      var heute2 = ermitteleDatum();
      try{
      var ereignisse2 = JSON.stringify(inhalt2, null, 2); // Ausgabe als String
      log(ereignisse2);
      var ereignisheute2 = '', // Liste (kommasepariert)
      ereignisheute2_zeilen = ''; // Liste (mit Zeilenumbruch, zB für Anzeige in VIS)
      for(var i = 0; i <inhalt2.length; i++)/{/alle/events/durchgehen/if/(/(inhalt2[i].date.indexof(heute2)/!="-1)" ||/(inhalt2[i].date.indexof('heute')/)/strings/datum/oder/relatives/(nicht/nicht)/gefunden/var/ereignis2="inhalt2[i].event;" komma/im/namen/ersetzen="">0) ? ', ' : '';
      ereignisheute2 = ereignisheute2 + komma + ereignis2;
      }
      }
      // Aufbereitung für die Ansage (falls vorhanden, wird letztes Komma durch und ersetzt)
      var lastkomma = ereignisheute2.lastIndexOf(','); // letztes Komma in der Reihe
      if (lastkomma != -1) {
      var vorn = ereignisheute2.slice(0,lastkomma-1);
      var hinten = ereignisheute2.slice(lastkomma+1, ereignisheute2.length);
      ereignisheute2 = vorn + ' und' + hinten;
      }
      // Ende Aufbereitung für die Ansage

          setState(idListe2, ereignisheute2);
          log('Müll: ' + ereignisheute2);
      } catch (fehler_try) {
          log('Fehler beim Müll-Kalenderevent einlesen ' + fehler_try);
      }
      

      }

      ! // bei Aktualisierung des Kalenders
      on ({id:'ical.0.events.Geburtstag', change: 'any'}, function(data) {
      pruefeKalender();
      });
      on ({id:/\ical.2.events.$/, change: 'any'}, function(data) { // jedes Objekt im ical.2
      pruefeKalender2();
      });
      ! //bei Skriptstart
      schedule("5 0 * * *", function () {
      log("===>Wird einmal am Tag ausgelöst");
      pruefeKalender();
      pruefeKalender2();
      });</inhalt2.length;></inhalt.length;>`
      ! ICAL 0 = Geburtstagskalender
      ! ICAL 2 = Muell Kalender
      ! Hat jemand eventuell eine Idee woran das liegen könnte?
      ! Danke
      ! Mirko[/i][/i][/i][/i][/i][/i]

      1 Reply Last reply Reply Quote 0
      • wendy2702
        wendy2702 last edited by

        Gerade nochmal im iobroker log geschaut, hier kommt dieser Fehler:

        host.openmediavault	2016-12-21 20:32:52.051	error	instance system.adapter.sayit.0 terminated with code 0 (OK)
        sayit.0	2016-12-21 20:32:52.046	info	terminating
        sayit.0	2016-12-21 20:32:52.043	info	stopping...
        TypeError:	2016-12-21 20:32:52.042	error	at Timer.listOnTimeout (timers.js:92:15)
        TypeError:	2016-12-21 20:32:52.042	error	at null._onTimeout (/opt/iobroker/node_modules/iobroker.sayit/main.js:270:13)
        TypeError:	2016-12-21 20:32:52.042	error	at sayIt (/opt/iobroker/node_modules/iobroker.sayit/main.js:1203:9)
        TypeError:	2016-12-21 20:32:52.042	error	at sayItGetSpeech (/opt/iobroker/node_modules/iobroker.sayit/main.js:539:9)
        TypeError:	2016-12-21 20:32:52.042	error	at sayItGetSpeechGoogle (/opt/iobroker/node_modules/iobroker.sayit/main.js:319:16)
        TypeError:	2016-12-21 20:32:52.042	error	at Object.socket.once.exports.get (https.js:186:21)
        TypeError:	2016-12-21 20:32:52.042	error	at Object.socket.once.exports.request (https.js:182:15)
        TypeError:	2016-12-21 20:32:52.042	error	at Object.exports.request (http.js:31:10)
        TypeError:	2016-12-21 20:32:52.042	error	at new ClientRequest (_http_client.js:50:11)
        TypeError:	2016-12-21 20:32:52.042	error	Request path contains unescaped characters.
        uncaught	2016-12-21 20:32:52.040	error	exception: Request path contains unescaped characters.
        sayit.0	2016-12-21 20:32:52.036	info	saying: color: red">Heute
        sayit.0	2016-12-21 20:32:51.033	info	saying: /opt/iobroker/node_modules/iobroker.sayit/scifi.mp3
        javascript.0	2016-12-21 20:32:51.027	info	script.js.SayIt_Ansage_Script: setForeignState(id=sayit.0.tts.text, state="100;Guten Morgen, heute ist Mittwoch der 21te Dezember 2016\. Es ist20 Uhr und 32 Minuten. Die Aussentemperatur beträgt 5,1
        javascript.0	2016-12-21 20:32:51.027	info	script.js.SayIt_Ansage_Script: Trigger: true
        javascript.0	2016-12-21 20:32:51.027	info	script.js.SayIt_Ansage_Script: getState(id=javascript.0.Muellereignisse.heute, timerId=0) => {"val":"","ack":false,"ts":1482267293799,"q":0,"from":"system.adapter.javascript.0","lc":1482267293799}
        javascript.0	2016-12-21 20:32:51.027	info	script.js.SayIt_Ansage_Script: Heute Geburtstag Heinrich
        javascript.0	2016-12-21 20:32:51.027	info	script.js.SayIt_Ansage_Script: getState(id=ical.0.data.html, timerId=0) => {"val":"Heute
        javascript.0	2016-12-21 20:32:51.027	info	script.js.SayIt_Ansage_Script: getState(id=ical.0.data.html, timerId=0) => {"val":"Heute
        javascript.0	2016-12-21 20:32:51.027	info	script.js.SayIt_Ansage_Script: Wetter: Es tritt leichter Frost zwischen 0 °C und -2 °C auf.
        javascript.0	2016-12-21 20:32:51.027	info	script.js.SayIt_Ansage_Script: getState(id=dwd.0.warning.description, timerId=0) => {"val":"Es tritt leichter Frost zwischen 0 °C und -2 °C auf.","ack":true,"ts":1482346981410,"q":0,"from":"system.ad
        javascript.0	2016-12-21 20:32:51.027	info	script.js.SayIt_Ansage_Script: Temp 5.1
        javascript.0	2016-12-21 20:32:51.027	info	script.js.SayIt_Ansage_Script: getState(id=hm-rpc.0.MEQ0202146.1.TEMPERATURE, timerId=0) => {"val":5.1,"ack":true,"ts":1482348689996,"q":0,"from":"system.adapter.hm-rpc.0","lc":1482348689996}
        javascript.0	2016-12-21 20:32:51.026	info	script.js.SayIt_Ansage_Script: Temp 5.1
        javascript.0	2016-12-21 20:32:51.026	info	script.js.SayIt_Ansage_Script: getState(id=hm-rpc.0.MEQ0202146.1.TEMPERATURE, timerId=0) => {"val":5.1,"ack":true,"ts":1482348689996,"q":0,"from":"system.adapter.hm-rpc.0","lc":1482348689996}
        web.0	2016-12-21 20:32:40.760	info	2016-12-21T19:32:40.758Z Connected system.user.admin
        

        Kann man die Überprüfung der Schriftfarbe im Script "ignorieren" ?

        Habe im ical Adapter alles was mit Farbe zusammen hängt deaktiviert:

        999_ical_geburtstage.jpg

        Trotzdem kommt im script noch dieser Fehler:

        host.openmediavault	2016-12-21 20:49:52.269	error	instance system.adapter.sayit.0 terminated with code 0 (OK)
        sayit.0	2016-12-21 20:49:52.262	info	terminating
        sayit.0	2016-12-21 20:49:52.256	info	stopping...
        TypeError:	2016-12-21 20:49:52.255	error	at Timer.listOnTimeout (timers.js:92:15)
        TypeError:	2016-12-21 20:49:52.255	error	at null._onTimeout (/opt/iobroker/node_modules/iobroker.sayit/main.js:270:13)
        TypeError:	2016-12-21 20:49:52.255	error	at sayIt (/opt/iobroker/node_modules/iobroker.sayit/main.js:1203:9)
        TypeError:	2016-12-21 20:49:52.255	error	at sayItGetSpeech (/opt/iobroker/node_modules/iobroker.sayit/main.js:539:9)
        TypeError:	2016-12-21 20:49:52.255	error	at sayItGetSpeechGoogle (/opt/iobroker/node_modules/iobroker.sayit/main.js:319:16)
        TypeError:	2016-12-21 20:49:52.255	error	at Object.socket.once.exports.get (https.js:186:21)
        TypeError:	2016-12-21 20:49:52.255	error	at Object.socket.once.exports.request (https.js:182:15)
        TypeError:	2016-12-21 20:49:52.255	error	at Object.exports.request (http.js:31:10)
        TypeError:	2016-12-21 20:49:52.255	error	at new ClientRequest (_http_client.js:50:11)
        TypeError:	2016-12-21 20:49:52.255	error	Request path contains unescaped characters.
        uncaught	2016-12-21 20:49:52.252	error	exception: Request path contains unescaped characters.
        sayit.0	2016-12-21 20:49:52.233	info	saying: color:">Heute Geburtstag Heinrich .
        sayit.0	2016-12-21 20:49:51.226	info	saying: /opt/iobroker/node_modules/iobroker.sayit/scifi.mp3
        
        1 Reply Last reply Reply Quote 0
        • S
          skorpil last edited by

          Mirko,

          Ich meine mich zu erinnern, dass Ivona keine langen Texte sprechen kann. Das geht nur, wenn Du angemeldet bist. Das ist, glaube ich, bzw. war kostenlos auf Ivona.com.

          Zu Deiner Frage im anderen fred: die iPads müssten doch in deinem Netzwerk unterschiedliche ip's haben. Zumindest ist das bei meinen Sonos Boxen so. Für jede Sonos Box habe ich einen sayit Adapter. Und den löse ich über den entsprechenden trigger, also bewmldr aus. Das sollte auch bei Dir gehen.

          Liebe Grüße

          Bernd

          1 Reply Last reply Reply Quote 0
          • wendy2702
            wendy2702 last edited by

            Hi,

            Bei Ivona habe ich mich angemeldet. Google hat das Problem mit den langen Texten.

            Hier sagt der SayIt Adapter das er ein Problem mit einem Sonderzeichen hat. Ich weiß nur nicht wo das herkommt.

            Kannst du mir eventuell einen Screenshot deines ICal Adapter schicken?

            Nutzt du google Kalender oder einen anderen cloud Kalender?

            Danke

            Mirko

            Gesendet von iPhone mit Tapatalk

            1 Reply Last reply Reply Quote 0
            • S
              skorpil last edited by

              Jetzt

              1 Reply Last reply Reply Quote 0
              • wendy2702
                wendy2702 last edited by

                Moin,

                ich habe den Screenshot erhalten. Sieht im Prinzip nicht viel anders aus als bei mir.

                Es klappt, zumindest für den Geburtstag.

                Ich darf diese Zeilen nicht ändern !?

                var idGeburtstage =      "javascript.0.Kalenderereignisse.heute";
                var idMuell =            "javascript.0.Muellereignisse.heute";
                

                Nur beim Muell sagt er mir noch nichts an und wenn ich zwei Geburtstage im Kalender stehen habe kommt die Ansage nur für einen. Wenn ich den Eintrag der in der Ansage kommt lösche und das script neu trigger kommt immer noch die Ansage für den gelöschten Termin.

                Mirko

                1 Reply Last reply Reply Quote 0
                • S
                  skorpil last edited by

                  Guten Morgen, Mirko,

                  Ich habe ja das Skript von Jonny auf meine Bedürfnisse angepasst. Allerdings funktioniert bei mir auch die Müllansage noch nicht. Ich werde mir das heute im Laufe des Tages in Ruhe anschauen und mich dann noch einmal melden.

                  Liebe Grüße

                  Bernd

                  1 Reply Last reply Reply Quote 0
                  • P
                    PrinzEisenherz1 last edited by

                    Hi skorpil.

                    Ich stelle heute noch meine Skripte incl. Screenshots (ical-Adapter config, usw) hier rein.

                    Bzgl. IPad und SayIt kann ich leider nicht weiterhelfen da ich selber keines habe.

                    Ich hoffe die Skripte und Screens können euch trotzdem weiterhelfen

                    Gruß

                    Johnny

                    1 Reply Last reply Reply Quote 0
                    • wendy2702
                      wendy2702 last edited by

                      Hi,

                      Die iPad Ansage funktioniert ja Prinzipiell.

                      Das ich die einzeln ansprechen kann ist erstmal nicht so wichtig.

                      Freue mich auf deine Infos und Skripte.

                      Mirko

                      Gesendet von iPhone mit Tapatalk

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      650
                      Online

                      31.7k
                      Users

                      79.7k
                      Topics

                      1.3m
                      Posts

                      3
                      9
                      1246
                      Loading More Posts
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes
                      Reply
                      • Reply as topic
                      Log in to reply
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                      The ioBroker Community 2014-2023
                      logo