Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. homematic hmip-dbb mit Alexasprachausgabe als Türgong

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    homematic hmip-dbb mit Alexasprachausgabe als Türgong

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

      Hallo ins Forum, ich bin neu hier und habe auch vorher die Suchfunktion genutzt, dennoch komme ich nicht weiter mit meinem ersten Blockly. Ich möchte Alexa als Türgong nutzen und mir den Homematic mp3 Gong sparen , leider bekomme ich zwar Alexa zum sprechen aber nicht auf Tastendruck. Ich habe schon erdenklich viele Varianten getestet, leider erfolglos. Daher hoffe ich, dass mir hier jemand helfen könnte.

      hier mein script:

      Screenshot 2020-05-11 at 22.06.44.png

      on({id: "hm-rpc.3.001498A99876B4.1.PRESS_SHORT"/HmIP-DBB 001498A99877B3:1.PRESS_SHORT/, val: true}, function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      setState("alexa2.0.Echo-Devices.G090L91182360PP7.Commands.speak"/speak/, '20; kling klong kling es steht jemand vor der tür');

      Vielen Dank für Eure Hilfe

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Kurvenschreck last edited by

        @Nico-Ludwig sagte:

        aber nicht auf Tastendruck.

        Kommt der Tastendruck in ioBroker an, d.h. wird bei Betätigung der Zeitstempel von PRESS_SHORT aktualisiert ?

        1 Reply Last reply Reply Quote 0
        • K
          Kurvenschreck last edited by

          Wir teste ich das im log?

          @paul53 said in homematic hmip-dbb mit Alexasprachausgabe als Türgong:

          Tastendruck

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Kurvenschreck last edited by

            @Kurvenschreck sagte:

            Wir teste ich das im log?

            Im Tab "Objekte" mit dem Mauszeiger über den Wert fahren, dann werden auch Zeitstempel, letzte Änderung ... angezeigt.

            1 Reply Last reply Reply Quote 0
            • K
              Kurvenschreck last edited by

              Gerade getestet, der Zeitstempel steht noch auf 15 Uhr obwohl ich den Taster mehrmals danach gedrückt hatte.

              paul53 1 Reply Last reply Reply Quote 0
              • K
                Kurvenschreck last edited by

                Korrigiere der Zeitstempel steht noch auf dem 3.5.2020

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @Kurvenschreck last edited by paul53

                  @Kurvenschreck sagte in homematic hmip-dbb mit Alexasprachausgabe als Türgong:

                  Gerade getestet, der Zeitstempel steht noch auf 15 Uhr obwohl ich den Taster mehrmals danach gedrückt hatte.

                  Dann hilft eine Dummy-Programm auf der CCU (Forum-Suche) oder versuche es mit folgendem Script, das nur einmal kurz ausgeführt werden muss:

                  const channel = '001498A99876B4:1';
                  const dp = 'PRESS_SHORT';
                   
                  sendTo('hm-rpc.3', 'reportValueUsage', {ID: channel, paramType: dp, params: 1}, res => {
                      log(JSON.stringify(res));
                  });
                  
                  K 1 Reply Last reply Reply Quote 0
                  • K
                    Kurvenschreck @paul53 last edited by

                    @paul53 Vielen Dank ich teste gerade.

                    haselchen 1 Reply Last reply Reply Quote 0
                    • haselchen
                      haselchen Most Active @Kurvenschreck last edited by

                      @Kurvenschreck

                      Auf jedenfall den Dummy anlegen in der CCU und dann würde ich sagen musste auf "aktualisiert" triggern ( nicht auf wahr).

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @haselchen last edited by paul53

                        @haselchen sagte:

                        Auf jedenfall den Dummy anlegen in der CCU und dann würde ich sagen musste auf "aktualisiert" triggern ( nicht auf wahr).

                        Das Script sollte das Gleiche machen wie ein Dummy-Programm, wobei ich allerdings nicht weiß, ob es auch bei HmIP funktioniert. "PRESS_SHORT" ist immer true, weshalb man auch auf "wahr" triggern kann.

                        haselchen O 2 Replies Last reply Reply Quote 0
                        • haselchen
                          haselchen Most Active @paul53 last edited by

                          @paul53

                          Habe die gleiche Konstellation wie der TE und da es bei mir so geht , gebe ich das natürlich so weiter 😀
                          Aber ich probiere das mit "true" auch mal.
                          Man lernt nie aus.

                          1 Reply Last reply Reply Quote 0
                          • O
                            ostseeskipper @paul53 last edited by

                            @paul53 und @haselchen
                            Auch wenn der Thread 2 Jahre her ist,
                            Habe auf der Raspimatic das Dummyprogramm angelegt, dann hat es funktioniert, seit dem stehen die Datenpunkte im ioBroker alle auf True
                            Die gehen jedoch nicht zurück auf "false"😕
                            Die Zeitstempel jedenfalls ändern sich.
                            Muss ich am trigger was ändern wenn ich auf den Zeitstempel gehe?

                            const idAlexa_Echo1 = 'alexa2.0.Echo-Devices.G0922MxxxxxxxxGU.Commands.speak'; // Alexa Textausgabe
                            const idAlexa_Echo1_Vol = 'alexa2.0.Echo-Devices.G0922MxxxxxxxxGU.Commands.speak-volume'; // Alexa Lautstärke SOLL
                            
                            const idKlingelReni_L = 'hm-rpc.0.00149F299F0548.1.PRESS_LONG'; // Klingel Reni Long
                            const idKlingelReni_S = 'hm-rpc.0.00149F299F0548.1.PRESS_SHORT'; // Klingel Reni Short
                            const idKlingelTextReni = '0_userdata.0.Haus.TuerklinelReni'; // Textausgabe für Reni
                            
                            const idKlingelDreas_L = 'hm-rpc.0.00149F299F0548.1.PRESS_LONG'; // Klingel Dreas
                            const idKlingelDreas_S = 'hm-rpc.0.00149F299F0548.1.PRESS_SHORT'; // Klingel Dreas
                            const idKlingelTextDreas = '0_userdata.0.Haus.TuerklingelDreas'; // Textausgabe für Dreas
                            
                            function klingelReni(dp) {                 // function = js befehl / frei vergebener Name für die Funktion / dp = temporäre Variable für die funktion
                            
                            let alexa_vol =  getState(idAlexa_Echo1_Vol).val;
                            
                                        setState(idAlexa_Echo1_Vol, 40,false);
                                        setState(idAlexa_Echo1,getState(idKlingelTextReni).val,false);
                                        setState(idAlexa_Echo1_Vol, alexa_vol,false);
                               }
                            
                            on([idKlingelReni_L,idKlingelReni_S], function(dp) { // Triggern bei Wertänderung
                            
                               klingelReni(dp.state.val); //    
                            
                            //log(("Klingel ist: " + dp.state.val),"info");
                            
                            });
                            
                            
                            paul53 1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @ostseeskipper last edited by

                              @ostseeskipper sagte: Muss ich am trigger was ändern wenn ich auf den Zeitstempel gehe?

                              Ja.

                              on({id: [idKlingelReni_L,idKlingelReni_S]}, function() { // Triggern bei Aktualisierung
                                  klingelReni();
                              });
                              
                              O 2 Replies Last reply Reply Quote 1
                              • O
                                ostseeskipper @paul53 last edited by

                                @paul53 👍
                                Danke, echt genial das du hier bist und hilfst.
                                Weisst du zufällig warum die Taster sich nicht auf "false" zurücksetzen ?

                                1 Reply Last reply Reply Quote 0
                                • O
                                  ostseeskipper @paul53 last edited by

                                  @paul53
                                  Eine Frage: Möchte noch eine 2te Klingel einbauen.
                                  Wie bekomme im Trigger heraus welches der 4 Events der Auslöser war?

                                  O 1 Reply Last reply Reply Quote 0
                                  • O
                                    ostseeskipper @ostseeskipper last edited by

                                    @paul53
                                    letzte Frage konnte ich inzwischen selbst lösen, hattest mir damals auch schon geholfen, den Auslöser des Triggers herauszufinden.

                                    Falls Einsteiger gleiche Herausforderung haben, so siehts nun aus.
                                    Die idxxxx müssen natürlich Datenpunkten zugewiesen ahben

                                    on({id: [idKlingelReni_L, idKlingelReni_S, idKlingelDreas_L, idKlingelDreas_S]}, function(obj) { // Trigger bei Aktualisierung
                                    
                                        //log('Auslöser: ' + obj.id,"debug");
                                        let alexaEcho1_vol =  getState(idAlexa_Echo1_Vol).val; // ursprungsvolume
                                        let alexaHandy1_vol =  getState(idAlexa_Handy1_Vol).val; // ursprungsvolume
                                    
                                        setState(idAlexa_Echo1_Vol, 60,false);
                                        
                                            if( obj.id == idKlingelReni_L || obj.id == idKlingelReni_S) {
                                    
                                                setState(idAlexa_Echo1,getState(idKlingelTextReni).val,false);
                                                setState(idAlexa_Handy1,getState(idKlingelTextReni).val,false);
                                            }
                                            
                                            if( obj.id == idKlingelDreas_L || obj.id == idKlingelDreas_S) {
                                    
                                                setState(idAlexa_Echo1,getState(idKlingelTextDreas).val,false);
                                                setState(idAlexa_Handy1,getState(idKlingelTextDreas).val,false);
                                            }
                                    
                                        setState(idAlexa_Echo1_Vol, alexaEcho1_vol,false); // Ursprungsvolume zurücksetzen
                                        setState(idAlexa_Handy1_Vol, alexaHandy1_vol,false); // Ursprungsvolume zurücksetzen
                                    
                                            }); 
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    850
                                    Online

                                    32.0k
                                    Users

                                    80.5k
                                    Topics

                                    1.3m
                                    Posts

                                    4
                                    16
                                    573
                                    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