Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Cloud - alexa fehler / alle funktionen laufen nacheinander durch [Problem gefunden]

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Cloud - alexa fehler / alle funktionen laufen nacheinander durch [Problem gefunden]

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

      ich hab den fehler gefunden, weshalb cloud nicht mit milight und eventuell anderen lichtsteuerungen via alexa sauber funktioniert

      hier ein beispiel des codes, den ich um ettliche debug meldungen, zum tracing erweitert hab:

      case 'TurnOffRequest':

      // kommentare mit sample

      adapter.log.debug('ALEXA OFF: ' + request.payload.appliance.applianceId);

      for (i = 0; i < ids.length; i++) {

      ****<u>adapter.log.debug('off - forschleife - ids.length ' + ids.length);

      adapter.log.debug('off - forschleife - ids ' + ids);____</u>**** **__controlOnOff(ids, false, ids.length === 1, function (err) {

      if (!–count) {

      request.header.name = 'TurnOffConfirmation';

      callback({

      header: request.header,

      payload: {}

      });

      request = null;

      }

      });

      hier rodelt eine for schleife ids durch, was aber in wirklichkeit ein array mit dessen funktionen wie state, brightness,etc ist, was dann bei "Lampe ausschalten" in den logs zu folgender Ausgabe führt:____ __ ` > ____cloud.0 2017-02-05 17:40:53.341 debug off - forschleife - ids __milight.0.zone3.brightness

      cloud.0 2017-02-05 17:40:53.340 debug off - forschleife - ids.length 2 (<<< integer 0 und 1)

      cloud.0 2017-02-05 17:40:53.333 debug off - forschleife - ids __milight.0.zone3.state

      cloud.0 2017-02-05 17:40:53.332 debug off - forschleife - ids.length 2 (<<< kommt daher da ich state + brightness habe)

      cloud.0 2017-02-05 17:40:53.331 debug ALEXA OFF: Gang________ ________das führt dazu, dass wenn ich 3 funktionen auf einem objekt habe, er alle 3 funktionen ansteuert, was 1. nicht nötig und zweitens gar nicht gewollt war.

      das erklärt auch, weshalb ein ON vor dem Dimmen geschickt wird (im log zu sehen)

      ich hab das im milight adapter gefixt, indem ich brightness 0 ignoriere und ggf wenn jemand 0% sagt erneut ausschalten in milight direkt sende.

      ids wird zuvor oben bei socket.on('alexa.. usw, nachdem man es mit var erstellt hat, in der ersten if schleife als array befüllt, welches alle funktionen erbt.

      Funktionen wie eben state, brightness, mode usw.

      um das zu demonstrieren habe ich mir einen adapter mit 4 funktionen gebaut, ohne state:

      Ich verwende allOn allOff um alle lampen ein / aus zuschalten (zonenübergreifend - nicht state - allon macht ALLE lampen)

      rgb zum test und hue um den farbton via % zu wählen______

      cloud.0	2017-02-05 18:01:08.320	debug	on - forschleife - ids.length milight.0.zone1.rgb
      cloud.0	2017-02-05 18:01:08.319	debug	on - forschleife - ids.length 4
      cloud.0	2017-02-05 18:01:08.318	debug	on - forschleife - ids.length milight.0.zone1.hue
      cloud.0	2017-02-05 18:01:08.317	debug	on - forschleife - ids.length 4
      cloud.0	2017-02-05 18:01:08.316	debug	on - forschleife - ids.length milight.0.zone1.allOff
      cloud.0	2017-02-05 18:01:08.315	debug	on - forschleife - ids.length 4
      cloud.0	2017-02-05 18:01:08.314	debug	on - forschleife - ids.length milight.0.zone1.allOn
      cloud.0	2017-02-05 18:01:08.313	debug	on - forschleife - ids.length 4
      

      schaltet die funktionen nacheinander, wie erwartet durch

      ich hab das in meinem source geändert und die for-schleife auskommentiert und i auf 0 gesetzt. (=state bzw. erste funktion des gerätes)

      jetzt macht cloud nur noch das was es soll, bei ein und ausschalten auf den adaptern die state + brightness haben, denn da ist state immer als 1. funktion und somit ids = 0 korrekt

      das problem ist, ich habe mir aber am testadapter AllOn, AllOff und Hue gesetzt.

      Dort wäre i = 0 AllOn, i = 1 AllOff, i = 2 Hue

      Ich glaube du verstehst mein Dilemma?

      Kommentiere ich nun alle for schleifen entsprechend aus / um, dann funktioniert dort das dimmen in dem fall nicht mehr, sondern alle lampen werden eingeschaltet (0=allOn).

      Man müsste also statt einem integer / forschleife eher die korrekte array-tabelle für den jeweiligen befehl dort setzen.

      mein code ist jedenfalls vermurkst, werde jetzt wieder auf den unveränderten code zurück gehen und dann die for schleifen bei ein und ausschalten wegkommentieren.

      Edit

      ok jetzt bekomm ich auch wieder ein OK statt "Das Gerät antwortet nicht":

      alle if (!–count) { auskommentiert, da count = ids.length und somit ungleich ist.

      jetzt verstehe ich auch das i++ bei der for schleife__ ` ____**

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

        Man kann mit Alexa nicht nur MiLight steuern.

        Und du hast den Code ein bisschen falsch verstanden.

        > das führt dazu, dass wenn ich 3 funktionen auf einem objekt habe, er alle 3 funktionen ansteuert, was 1\. nicht nötig und zweitens gar nicht gewollt war.
        Man sollte die Quelle editieren und zwar in der Cloud-Einstellungen die unnötige Geräte einfach aus der Gruppe nehmen.

        Das war es.

        1 Reply Last reply Reply Quote 0
        • H
          Highpressure last edited by

          State + brightness

          Das brauch ich

          Editier ich den source nicht und sage licht aus, bekomme ich

          Light off

          Dim to 0 -> minimal gedimmt

          Mache ich

          State + hue (weil ich zb via dim farbe setze)

          Light off

          Dim to 0 -> farbe

          Das triggered cloud an, nicht milight

          Somit betrifft das jede andere lampe auch

          Ich hab bei mir

          Couch - state, brightness

          Partycouch - mode, hue

          Verwendest du alexa mit einem anderen steuerungsmodul?

          Passiert das da nicht?

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

            @Highpressure:

            State + brightness

            Das brauch ich

            Editier ich den source nicht und sage licht aus, bekomme ich

            Light off

            Dim to 0 -> minimal gedimmt

            Mache ich

            State + hue (weil ich zb via dim farbe setze)

            Light off

            Dim to 0 -> farbe

            Das triggered cloud an, nicht milight

            Somit betrifft das jede andere lampe auch

            Ich hab bei mir

            Couch - state, brightness

            Partycouch - mode, hue

            Verwendest du alexa mit einem anderen steuerungsmodul?

            Passiert das da nicht? `
            Farbe kannst du sowieso nicht steuern. D.h. interessant ist nur "State + brightness".

            Im Milight Adapter sollte dann so implementiert werden, dass wenn Brightness 0 kommt, wird auch State auf false gesteuert.

            Und umgekehrt, wenn Brightness <> 0, dann sollte auch State auf true gesetzt werden.

            Ich habe die Logik, die foxthefox (nicht ich) eingebaut hat, aber nicht ganz verstanden wozu, weil ich die Lampen nicht habe.

            Jetzt verstehe ich die Logik und vielleicht kann @foxthefox das wieder einbauen (auch für v6).

            Dann kannst du nur Brightness in der Gruppe lassen.

            1 Reply Last reply Reply Quote 0
            • H
              Highpressure last edited by

              Mit dem partycouch trick funktionierts

              Hue ist in % zu setzen

              Sag ich party%element% oder partymodus auf 80% wird eine farbe die umgerechnet wird gesetzt.

              Sage ich party%element% oder partymodus einschalten wird statt state eben der wechslerbutton gedrückt 🙂

              Ich hab mir die Gruppe Licht mit AllOn AllOff definiert, was eben ALLE lichter ein oder ausschaltet

              Bei der derzeitigen for schleife hat das den effekt, dass das Licht ein und gleich wieder aus geht

              Da es kein state ist geht nach meinem fix nur noch AllOn, da es ja index 0 ist und index 1 brightness wäre.

              Spätestens wenn später amazon mehr funktionen und steuerungen zulässt, wird genau dass zum problem werden (for schleife)

              Wie gesagt, ich für mich und im milight adapter habs gefixt.

              Wenn du darin kein issue siehst oder sonst jemand ein problem hat, störts mich auch nicht weiter.

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

                @Highpressure:

                Wenn du darin kein issue siehst oder sonst jemand ein problem hat, störts mich auch nicht weiter. `
                Spätestens, nach dritten Update wird es. :?

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

                Support us

                ioBroker
                Community Adapters
                Donate

                503
                Online

                31.8k
                Users

                80.0k
                Topics

                1.3m
                Posts

                2
                6
                1221
                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