NEWS

[Erledigt] Skript Lichtzählen [..] angezeigt


  • Tictactoo sagte:

    zeigt er mit zwar das JSON-Object darin an, wenn ich aber versuche mit .de auf den deutschen Namen zuzugreifen, sagt er das die Proberty nicht vorhanden wäre.

    Du hast getObject so verwendet ?

    getObject(id, "rooms").enumNames[0].de;
    

  • paul53 Ja, hab ich. Wie gesagt, wenn ich "getObject(id, "rooms").enumNames[0]" logge, zeigt er mir auch den Inhalt.


  • Tictactoo sagte:

    zeigt er mir auch den Inhalt.

    Wie sieht er aus ?


  • paul53

    javascript.0 (17215) script.js.Rhasspy.Slots: [{'en':'bath_room','de':'Bad'}]
    
    

    Nehm ich die Variable und setzen "[0].de" dahinter bekomme ich nur das:

    javascript.0	2020-01-30 15:44:21.547	error	(17215) at Script.runInContext (vm.js:133:20)
    javascript.0	2020-01-30 15:44:21.546	error	(17215) at script.js.Rhasspy.Slots:9:84
    javascript.0	2020-01-30 15:44:21.546	error	(17215) TypeError: Cannot read property 'de' of undefined
    javascript.0	2020-01-30 15:44:21.546	error	(17215) ^
    javascript.0	2020-01-30 15:44:21.545	error	(17215) var test = getObject(devices[i].replace('.available',''), 'rooms').enumNames[0].de;
    javascript.0	2020-01-30 15:44:21.545	error	(17215) script.js.Rhasspy.Slots: script.js.Rhasspy.Slots:9
    

    Hatte es auch schon mit array['de'] versucht, aber das schluckt er auch net...


  • Tictactoo sagte:

    bekomme ich nur das:

    Sehr eigenartig. Was ergibt im Log?

     var test = getObject(devices[i].replace('.available',''), 'rooms').enumNames[0];
    

  • Schomal iobroker bzw Script Engine neugestartet?


  • paul53 Hatte es vorher oben reingeschrieben, vielleicht hatte sich das mit deiner Antwort überschnitten:

    javascript.0	2020-01-30 15:44:21.547	error	(17215) at Script.runInContext (vm.js:133:20)
    javascript.0	2020-01-30 15:44:21.546	error	(17215) at script.js.Rhasspy.Slots:9:84
    javascript.0	2020-01-30 15:44:21.546	error	(17215) TypeError: Cannot read property 'de' of undefined
    javascript.0	2020-01-30 15:44:21.546	error	(17215) ^
    javascript.0	2020-01-30 15:44:21.545	error	(17215) var test = getObject(devices[i].replace('.available',''), 'rooms').enumNames[0].de;
    javascript.0	2020-01-30 15:44:21.545	error	(17215) script.js.Rhasspy.Slots: script.js.Rhasspy.Slots:9
    

  • Gibt es schon eine Lösung für diesen Fehler?

      // auch mit  getObject(ab, 'rooms').enumNames[0].de durchprobiert
      var test = getObject(ab.replace('.available',''), 'rooms').enumNames[0].de;// Fehler
    
      var test = getObject(ab.replace('.available',''), 'rooms').enumNames[0];
      log(test.de); // Fehler
    
      var test = getObject(ab.replace('.available',''), 'rooms').enumNames[0];
      test = JSON.stringify(test);
      test = JSON.parse(test); // Fehler 
    

    Was ich mir nicht erklären kann ist folgendes:

       var test = getObject(ab.replace('.available',''), 'rooms').enumNames[0];
       if (test === undefined) log('yep');
       let t = JSON.stringify(test);
       //let x = JSON.parse(t);
    

    test ist nicht undefiniert und das Script läuft durch.
    Aktiviere ich die 4 Zeile, ist test in Zeile 2 undefiniert.


  • ticaki sagte:

    test = JSON.parse(test); // Fehler

    Es ist kein JSON.

    ticaki sagte in [Erledigt] Skript Lichtzählen [..] angezeigt:

    var test = getObject(ab.replace('.available',''), 'rooms').enumNames[0].de;// Fehler

    Wenn die Räume schon in einer früheren Version angelegt wurden, gibt es das Sprach-Objekt nicht. Bei selbst angelegten Räumen fehlt es wohl ebenso.


  • paul53
    Danke für deine Antwort

    Ich war gestern abend zu müde, mein Fehler war, dass das erste Element in der Auflistung kein enumNames hatte.

Suggested Topics

2.1k
Online

34.7k
Users

40.8k
Topics

558.7k
Posts