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. JavaScript
  5. [Erledigt] Skript Lichtzählen [..] angezeigt

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
23 Beiträge 5 Kommentatoren 1.5k Aufrufe 5 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.
  • C CruziX

    @maloross Ja, bin da auch noch Anfänger, daher ist es schwierig wenn man nicht selbst rumprobieren kann :)
    Kannst du mal mit einem log prüfen ob aus raumArray[0] das korrekte ausgelesen wird?

    malorossM Offline
    malorossM Offline
    maloross
    schrieb am zuletzt editiert von maloross
    #7

    @CruziX sagte

    @maloross Ja, bin da auch noch Anfänger, daher ist es schwierig wenn man nicht selbst rumprobieren kann :)
    Kannst du mal mit einem log prüfen ob aus raumArray[0] das korrekte ausgelesen wird?

    Nein kommt ein Fehler.

    von meiner Logik her ist es doch so, dass Gerätename und Raumname innerhalb der Schleife in gleicher Weise abgerufen werden sollten

    var devicename = name.replace(".state", "");
    var raumname = getObject(id, "rooms"); 
    
    if (status) {
                ++anzahlLichterAn;
                textLichterAn.push(devicename);
                textRaum.push(raumname);
            }
            ++anzahlLichter;
        });
    

    Wobei die Variable devicename die bereinigte ID des Gerätes enthält.
    Das Array hat für diese beiden Variablen folgenden Befehle:

    textLichterAn.sort();
    textRaum.sort();
    
    setState(pfad0 + 'Text', textLichterAn.join('<br>'));
    setState(pfad0 + 'Raum', textRaum.join(', '));
    
    

    Aber der Raum wird nicht angezeigt., im Log steht: raum: [object Object]

    Auch Frauen können sich für Technik begeistern! ;)

    Equipment:
    diverse HM-, HMIP-, Aeotec- Tradfri- Sonos- und Fibaro-Geräte, Master-/Slavesystem auf 2 Raspi4, NAS

    paul53P 1 Antwort Letzte Antwort
    0
    • malorossM maloross

      @CruziX sagte

      @maloross Ja, bin da auch noch Anfänger, daher ist es schwierig wenn man nicht selbst rumprobieren kann :)
      Kannst du mal mit einem log prüfen ob aus raumArray[0] das korrekte ausgelesen wird?

      Nein kommt ein Fehler.

      von meiner Logik her ist es doch so, dass Gerätename und Raumname innerhalb der Schleife in gleicher Weise abgerufen werden sollten

      var devicename = name.replace(".state", "");
      var raumname = getObject(id, "rooms"); 
      
      if (status) {
                  ++anzahlLichterAn;
                  textLichterAn.push(devicename);
                  textRaum.push(raumname);
              }
              ++anzahlLichter;
          });
      

      Wobei die Variable devicename die bereinigte ID des Gerätes enthält.
      Das Array hat für diese beiden Variablen folgenden Befehle:

      textLichterAn.sort();
      textRaum.sort();
      
      setState(pfad0 + 'Text', textLichterAn.join('<br>'));
      setState(pfad0 + 'Raum', textRaum.join(', '));
      
      

      Aber der Raum wird nicht angezeigt., im Log steht: raum: [object Object]

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #8

      @maloross sagte:

      var raumname = getObject(id, "rooms");

      Richtig:

      var raumname = getObject(id, "rooms").enumNames[0];
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      malorossM 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @maloross sagte:

        var raumname = getObject(id, "rooms");

        Richtig:

        var raumname = getObject(id, "rooms").enumNames[0];
        
        malorossM Offline
        malorossM Offline
        maloross
        schrieb am zuletzt editiert von
        #9

        @paul53 hat auch keinen Erfolg....es gab Ende 2017 auf Github diesbezüglich ein Fehlermeldung, allerdings ohne konkreten Lösungsansatz.

        Auch Frauen können sich für Technik begeistern! ;)

        Equipment:
        diverse HM-, HMIP-, Aeotec- Tradfri- Sonos- und Fibaro-Geräte, Master-/Slavesystem auf 2 Raspi4, NAS

        C paul53P 2 Antworten Letzte Antwort
        0
        • malorossM maloross

          @paul53 hat auch keinen Erfolg....es gab Ende 2017 auf Github diesbezüglich ein Fehlermeldung, allerdings ohne konkreten Lösungsansatz.

          C Offline
          C Offline
          CruziX
          schrieb am zuletzt editiert von
          #10

          @maloross Ist ja auch so ziemlich das gleiche wie mein Code Schnipsel

          malorossM 1 Antwort Letzte Antwort
          0
          • malorossM maloross

            @paul53 hat auch keinen Erfolg....es gab Ende 2017 auf Github diesbezüglich ein Fehlermeldung, allerdings ohne konkreten Lösungsansatz.

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #11

            @maloross sagte:

            hat auch keinen Erfolg..

            Wie hast Du die Räume zugeordnet ? Welche Javascript-Version ?

            Testscript.JPG

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            T 1 Antwort Letzte Antwort
            0
            • C CruziX

              @maloross Ist ja auch so ziemlich das gleiche wie mein Code Schnipsel

              malorossM Offline
              malorossM Offline
              maloross
              schrieb am zuletzt editiert von maloross
              #12

              @CruziX ja, aber manchmal sind es Kleingkeiten, die Fehler verursachen...
              ich habe die Räume erst mal rausgenommen.

              @paul53 angelegt über Aufzählung, Zuordnung Objekte-Auswahl
              Danke für eure Unterstützung..

              Auch Frauen können sich für Technik begeistern! ;)

              Equipment:
              diverse HM-, HMIP-, Aeotec- Tradfri- Sonos- und Fibaro-Geräte, Master-/Slavesystem auf 2 Raspi4, NAS

              1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @maloross sagte:

                hat auch keinen Erfolg..

                Wie hast Du die Räume zugeordnet ? Welche Javascript-Version ?

                Testscript.JPG

                T Offline
                T Offline
                Tictactoo
                schrieb am zuletzt editiert von
                #13

                @paul53
                Ich hab die 4.3.4 am Laufen und bekomme es so auch nicht raus leider. Logge ich den Array enumNames, 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. Seltsam...

                paul53P 1 Antwort Letzte Antwort
                0
                • T Tictactoo

                  @paul53
                  Ich hab die 4.3.4 am Laufen und bekomme es so auch nicht raus leider. Logge ich den Array enumNames, 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. Seltsam...

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #14

                  @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;
                  

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  T 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @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;
                    
                    T Offline
                    T Offline
                    Tictactoo
                    schrieb am zuletzt editiert von
                    #15

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

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • T Tictactoo

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

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #16

                      @Tictactoo sagte:

                      zeigt er mir auch den Inhalt.

                      Wie sieht er aus ?

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      T 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @Tictactoo sagte:

                        zeigt er mir auch den Inhalt.

                        Wie sieht er aus ?

                        T Offline
                        T Offline
                        Tictactoo
                        schrieb am zuletzt editiert von Tictactoo
                        #17

                        @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...

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • T Tictactoo

                          @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...

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #18

                          @Tictactoo sagte:

                          bekomme ich nur das:

                          Sehr eigenartig. Was ergibt im Log?

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

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          T 1 Antwort Letzte Antwort
                          0
                          • C Offline
                            C Offline
                            CruziX
                            schrieb am zuletzt editiert von
                            #19

                            Schomal iobroker bzw Script Engine neugestartet?

                            1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @Tictactoo sagte:

                              bekomme ich nur das:

                              Sehr eigenartig. Was ergibt im Log?

                               var test = getObject(devices[i].replace('.available',''), 'rooms').enumNames[0];
                              
                              T Offline
                              T Offline
                              Tictactoo
                              schrieb am zuletzt editiert von
                              #20

                              @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
                              
                              1 Antwort Letzte Antwort
                              0
                              • T Nicht stören
                                T Nicht stören
                                ticaki
                                schrieb am zuletzt editiert von ticaki
                                #21

                                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.

                                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                Spenden

                                paul53P 1 Antwort Letzte Antwort
                                0
                                • T ticaki

                                  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.

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  schrieb am zuletzt editiert von paul53
                                  #22

                                  @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.

                                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                  T 1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @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.

                                    T Nicht stören
                                    T Nicht stören
                                    ticaki
                                    schrieb am zuletzt editiert von
                                    #23

                                    @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.

                                    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                    Spenden

                                    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

                                    603

                                    Online

                                    32.4k

                                    Benutzer

                                    81.5k

                                    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