Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Yahka Rolläden mit KNX

    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

    Yahka Rolläden mit KNX

    This topic has been deleted. Only users with topic management privileges can see it.
    • Dutchman
      Dutchman Developer Most Active Administrators last edited by

      @Matze1708:

      Sau stark!

      Ich versuche es mal morgen einzubauen.

      Ich gebe info.

      Einbinden muss ich aber immer die JavaScript objecte oder? `

      fuer mal bitten diesen code aus, was sagt dein log:

      `// Read all enums related to enum.functions
      functions = getEnums('functions');
      
      // Loop on all values and store members of function "rolladen" to variable
      for (var i in functions){
          if (functions[i].name == 'rolladen'){
              var rolladen = functions[i].members;
      
      	log(rolladen)
      
          }
      
      }` [/i][/i]
      
      1 Reply Last reply Reply Quote 0
      • M
        Matze1708 last edited by

        wenn ich es global ausführe kommt ziemlich das gleiche wie eben.

        wenn ich es nicht global ausführe kommt das hier

        ` > javascript.0 2017-11-07 18:01:59.633 warn unsubscribe: empty name

        javascript.0 2017-11-07 18:01:59.630 info Stop script script.js.Rolläden.Skript1

        javascript.0 2017-11-07 18:01:54.337 info script.js.Rolläden.Skript1: registered 2 subscriptions and 0 schedules

        javascript.0 2017-11-07 18:01:54.335 warn Object "' undefined '" does not exist

        javascript.0 2017-11-07 18:01:54.165 info Start javascript script.js.Rolläden.Skript1 `

        1 Reply Last reply Reply Quote 0
        • M
          Matze1708 last edited by

          Anbei 2 Bilder von dem enum
          2486_bildschirmfoto_2017-11-07_um_18.04.00.png
          2486_bildschirmfoto_2017-11-07_um_18.03.51.png

          1 Reply Last reply Reply Quote 0
          • Dutchman
            Dutchman Developer Most Active Administrators last edited by

            Führe Mal bitte den code aus 2 Post zurück

            –-----------------------

            Send from mobile device

            1 Reply Last reply Reply Quote 0
            • M
              Matze1708 last edited by

              javascript.0	2017-11-07 18:16:41.242	info	script.js.Rolläden.Schlaf2_Status: registered 4 subscriptions and 0 schedules
              javascript.0	2017-11-07 18:16:41.241	info	script.js.Rolläden.Schlaf2_Status: ObjectId = ' undefined ', Wert = null
              javascript.0	2017-11-07 18:16:41.241	warn	State '' undefined '' not found
              javascript.0	2017-11-07 18:16:41.241	warn	Object '' undefined '' does not exist
              javascript.0	2017-11-07 18:16:41.241	info	Start javascript script.js.Rolläden.Schlaf2_Status
              javascript.0	2017-11-07 18:16:41.240	info	script.js.Rolläden.Schlaf1_Pos: registered 4 subscriptions and 0 schedules
              javascript.0	2017-11-07 18:16:41.240	info	script.js.Rolläden.Schlaf1_Pos: ObjectId = ' undefined ', Wert = null
              javascript.0	2017-11-07 18:16:41.240	warn	State '' undefined '' not found
              javascript.0	2017-11-07 18:16:41.240	warn	Object '' undefined '' does not exist
              javascript.0	2017-11-07 18:16:41.239	info	Start javascript script.js.Rolläden.Schlaf1_Pos
              javascript.0	2017-11-07 18:16:41.239	info	script.js.Rolläden.Kind_Pos: registered 4 subscriptions and 0 schedules
              javascript.0	2017-11-07 18:16:41.239	info	script.js.Rolläden.Kind_Pos: ObjectId = ' undefined ', Wert = null
              javascript.0	2017-11-07 18:16:41.239	warn	State '' undefined '' not found
              javascript.0	2017-11-07 18:16:41.238	warn	Object '' undefined '' does not exist
              javascript.0	2017-11-07 18:16:41.238	info	Start javascript script.js.Rolläden.Kind_Pos
              javascript.0	2017-11-07 18:16:41.238	info	script.js.Rolläden.Kind_Status: registered 4 subscriptions and 0 schedules
              javascript.0	2017-11-07 18:16:41.237	info	script.js.Rolläden.Kind_Status: ObjectId = ' undefined ', Wert = null
              javascript.0	2017-11-07 18:16:41.237	warn	State '' undefined '' not found
              javascript.0	2017-11-07 18:16:41.236	warn	Object '' undefined '' does not exist
              javascript.0	2017-11-07 18:16:41.235	info	Start javascript script.js.Rolläden.Kind_Status
              javascript.0	2017-11-07 18:16:41.235	info	script.js.Rolläden.Schlaf2_Pos: registered 4 subscriptions and 0 schedules
              javascript.0	2017-11-07 18:16:41.235	info	script.js.Rolläden.Schlaf2_Pos: ObjectId = ' undefined ', Wert = null
              javascript.0	2017-11-07 18:16:41.235	warn	State '' undefined '' not found
              javascript.0	2017-11-07 18:16:41.234	warn	Object '' undefined '' does not exist
              javascript.0	2017-11-07 18:16:41.234	info	Start javascript script.js.Rolläden.Schlaf2_Pos
              javascript.0	2017-11-07 18:16:41.234	info	script.js.Rolläden.Schlaf1_Status: registered 4 subscriptions and 0 schedules
              javascript.0	2017-11-07 18:16:41.234	info	script.js.Rolläden.Schlaf1_Status: ObjectId = ' undefined ', Wert = null
              javascript.0	2017-11-07 18:16:41.233	warn	State '' undefined '' not found
              javascript.0	2017-11-07 18:16:41.233	warn	Object '' undefined '' does not exist
              javascript.0	2017-11-07 18:16:41.233	info	Start javascript script.js.Rolläden.Schlaf1_Status
              javascript.0	2017-11-07 18:16:41.232	info	script.js.Rolläden.Büro_OG_Status: registered 4 subscriptions and 0 schedules
              javascript.0	2017-11-07 18:16:41.232	info	script.js.Rolläden.Büro_OG_Status: ObjectId = ' undefined ', Wert = null
              javascript.0	2017-11-07 18:16:41.232	warn	State '' undefined '' not found
              javascript.0	2017-11-07 18:16:41.231	warn	Object '' undefined '' does not exist
              javascript.0	2017-11-07 18:16:41.231	info	Start javascript script.js.Rolläden.Büro_OG_Status
              javascript.0	2017-11-07 18:16:41.231	info	script.js.Rolläden.Büro_OG_Pos: registered 4 subscriptions and 0 schedules
              javascript.0	2017-11-07 18:16:41.230	info	script.js.Rolläden.Büro_OG_Pos: ObjectId = ' undefined ', Wert = null
              javascript.0	2017-11-07 18:16:41.228	warn	State '' undefined '' not found
              javascript.0	2017-11-07 18:16:41.228	warn	Object '' undefined '' does not exist
              javascript.0	2017-11-07 18:16:41.227	info	Start javascript script.js.Rolläden.Büro_OG_Pos
              javascript.0	2017-11-07 18:16:41.227	info	script.js.Rolläden.Essen_Pos(4): registered 4 subscriptions and 0 schedules
              javascript.0	2017-11-07 18:16:41.227	info	script.js.Rolläden.Essen_Pos(4): ObjectId = ' undefined ', Wert = null
              javascript.0	2017-11-07 18:16:41.226	warn	State '' undefined '' not found
              javascript.0	2017-11-07 18:16:41.226	warn	Object '' undefined '' does not exist
              javascript.0	2017-11-07 18:16:41.226	info	Start javascript script.js.Rolläden.Essen_Pos(4)
              javascript.0	2017-11-07 18:16:41.225	info	script.js.Rolläden.Gaderobe_Pos: registered 4 subscriptions and 0 schedules
              javascript.0	2017-11-07 18:16:41.225	info	script.js.Rolläden.Gaderobe_Pos: ObjectId = ' undefined ', Wert = null
              javascript.0	2017-11-07 18:16:41.225	warn	State '' undefined '' not found
              javascript.0	2017-11-07 18:16:41.224	warn	Object '' undefined '' does not exist
              javascript.0	2017-11-07 18:16:41.224	info	Start javascript script.js.Rolläden.Gaderobe_Pos
              javascript.0	2017-11-07 18:16:41.218	info	script.js.Rolläden.WZ_Pos: registered 4 subscriptions and 0 schedules
              javascript.0	2017-11-07 18:16:41.218	info	script.js.Rolläden.WZ_Pos: ObjectId = ' undefined ', Wert = null
              javascript.0	2017-11-07 18:16:41.217	warn	State '' undefined '' not found
              javascript.0	2017-11-07 18:16:41.216	warn	Object '' undefined '' does not exist
              javascript.0	2017-11-07 18:16:41.216	info	Start javascript script.js.Rolläden.WZ_Pos
              javascript.0	2017-11-07 18:16:41.215	info	script.js.Rolläden.Gaderobe_Status: registered 4 subscriptions and 0 schedules
              javascript.0	2017-11-07 18:16:41.215	info	script.js.Rolläden.Gaderobe_Status: ObjectId = ' undefined ', Wert = null
              javascript.0	2017-11-07 18:16:41.215	warn	State '' undefined '' not found
              javascript.0	2017-11-07 18:16:41.214	warn	Object '' undefined '' does not exist
              javascript.0	2017-11-07 18:16:41.214	info	Start javascript script.js.Rolläden.Gaderobe_Status
              javascript.0	2017-11-07 18:16:41.213	info	script.js.Rolläden.WZ_Status: registered 4 subscriptions and 0 schedules
              javascript.0	2017-11-07 18:16:41.213	info	script.js.Rolläden.WZ_Status: ObjectId = ' undefined ', Wert = null
              javascript.0	2017-11-07 18:16:41.212	warn	State '' undefined '' not found
              javascript.0	2017-11-07 18:16:41.212	warn	Object '' undefined '' does not exist
              javascript.0	2017-11-07 18:16:41.211	info	Start javascript script.js.Rolläden.WZ_Status
              javascript.0	2017-11-07 18:16:41.211	info	script.js.Rolläden.WZ_Tür_Status: registered 4 subscriptions and 0 schedules
              javascript.0	2017-11-07 18:16:41.210	info	script.js.Rolläden.WZ_Tür_Status: ObjectId = ' undefined ', Wert = null
              javascript.0	2017-11-07 18:16:41.199	warn	State '' undefined '' not found
              javascript.0	2017-11-07 18:16:41.199	warn	Object '' undefined '' does not exist
              javascript.0	2017-11-07 18:16:41.199	info	Start javascript script.js.Rolläden.WZ_Tür_Status
              javascript.0	2017-11-07 18:16:41.198	info	script.js.Rolläden.WZ_Tür_Pos: registered 4 subscriptions and 0 schedules
              javascript.0	2017-11-07 18:16:41.198	info	script.js.Rolläden.WZ_Tür_Pos: ObjectId = ' undefined ', Wert = null
              javascript.0	2017-11-07 18:16:41.198	warn	State '' undefined '' not found
              javascript.0	2017-11-07 18:16:41.198	warn	Object '' undefined '' does not exist
              javascript.0	2017-11-07 18:16:41.197	info	Start javascript script.js.Rolläden.WZ_Tür_Pos
              javascript.0	2017-11-07 18:16:41.197	info	script.js.Rolläden.Essen_Status: registered 4 subscriptions and 0 schedules
              javascript.0	2017-11-07 18:16:41.197	info	script.js.Rolläden.Essen_Status: ObjectId = ' undefined ', Wert = null
              javascript.0	2017-11-07 18:16:41.196	warn	State '' undefined '' not found
              javascript.0	2017-11-07 18:16:41.195	warn	Object '' undefined '' does not exist
              javascript.0	2017-11-07 18:16:41.195	info	Start javascript script.js.Rolläden.Essen_Status
              javascript.0	2017-11-07 18:16:41.194	info	script.js.Rolläden.Küche_Status: registered 4 subscriptions and 0 schedules
              javascript.0	2017-11-07 18:16:41.192	info	script.js.Rolläden.Küche_Status: ObjectId = ' undefined ', Wert = null
              javascript.0	2017-11-07 18:16:41.191	warn	State '' undefined '' not found
              javascript.0	2017-11-07 18:16:41.191	warn	Object '' undefined '' does not exist
              javascript.0	2017-11-07 18:16:41.191	info	Start javascript script.js.Rolläden.Küche_Status
              javascript.0	2017-11-07 18:16:41.190	info	script.js.Rolläden.Küche_Pos: registered 4 subscriptions and 0 schedules
              javascript.0	2017-11-07 18:16:41.190	info	script.js.Rolläden.Küche_Pos: ObjectId = ' undefined ', Wert = null
              javascript.0	2017-11-07 18:16:41.190	warn	State '' undefined '' not found
              javascript.0	2017-11-07 18:16:41.190	warn	Object '' undefined '' does not exist
              javascript.0	2017-11-07 18:16:41.189	info	Start javascript script.js.Rolläden.Küche_Pos
              javascript.0	2017-11-07 18:16:37.949	info	Start javascript script.js.Rolläden.Küche_Pos
              javascript.0	2017-11-07 18:16:37.882	info	received all objects
              javascript.0	2017-11-07 18:16:37.219	info	received all states
              javascript.0	2017-11-07 18:16:36.445	info	requesting all objects
              javascript.0	2017-11-07 18:16:36.442	info	requesting all states
              javascript.0	2017-11-07 18:16:36.428	info	starting. Version 3.2.6 in /opt/iobroker/node_modules/iobroker.javascript, node: v6.11.1
              javascript.0	2017-11-07 18:16:36.361	info	States connected to redis 127.0.0.1:6379
              

              geändert: Code in Code-tags; Homoran (Mod)

              1 Reply Last reply Reply Quote 0
              • Dutchman
                Dutchman Developer Most Active Administrators last edited by

                -Javascript Adapter neu gestartet nachdem du die enum erstellt und gefüllt hast?

                –-----------------------

                Send from mobile device

                1 Reply Last reply Reply Quote 0
                • M
                  Matze1708 last edited by

                  Nein…. sorry....

                  ABER.... auch nach java adapter neustart, ändert sich nichts am LOG.

                  1 Reply Last reply Reply Quote 0
                  • Dutchman
                    Dutchman Developer Most Active Administrators last edited by

                    @Matze1708:

                    Nein…. sorry....

                    ABER.... auch nach java adapter neustart, ändert sich nichts am LOG. `

                    Hast ne PN von mir

                    –-----------------------

                    Send from mobile device

                    1 Reply Last reply Reply Quote 0
                    • Dutchman
                      Dutchman Developer Most Active Administrators last edited by

                      da war noch ein kleiner fehler im script, probier mal version 0.8

                      `//******************************************
                      //*****************Dutchman*****************
                      //****revert values to use KNX with yahka***
                      //*******************V 0.8****************** 
                      //******************************************
                      //******************************************
                      
                      // Read all enums related to enum.functions
                      functions = getEnums('functions');
                      
                      // Loop on all values and store members of function "rolladen" to variable
                      for (var i in functions){
                          if (functions[i].name == 'rolladen'){
                              var rolladen = functions[i].members;
                      
                          }
                      
                      }
                      
                      //Seperate values in variable "rolladen" to seperate devices
                      //and create new objects reflecting all current devies and states for "rolladen" in javascript tree
                      str = rolladen + ' ';
                      
                      var str_array = str.split(',');
                      for(i = 0; i < str_array.length; i++) {
                          str_array[i] = str_array[i].replace(/^\s*/, "").replace(/\s*$/, "");
                      
                      	try{
                      
                              //retrieve device name for all found devices, replace empty spaces in name by _
                              var objnameT =  getObject(str_array[i]).common.name;
                              var objname = objnameT.split(' ').join('_');
                              var objvalue = 100 - getState(str_array[i]).val;
                              var revName = objname + '_reversed';
                      
                              //Check if object already exist, otherwise create and sync current value
                      		if (typeof(getIdByName(revName)) === 'undefined') {
                      
                                  createState("rolladen_reversed_values." + objname, objvalue, {
                                      name: revName,
                                      read: true,
                                      write: true,
                                      min: 0,
                                      max: 100,
                                      type: 'number',
                                      role: 'level.hight',
                                      unit: "%",
                                      linkorigin: str_array[i]
                      
                                  });
                      
                                  log('New object  "' + revName + '"  created within "rolladen_reversed_values"');
                      
                      		}
                      
                      	}   catch(e){}   
                      
                      }
                      
                      // Trigger on value change in reverse values and syncronise to origin
                      on({id: /^javascript.1.rolladen_reversed_values\./, change: "ne"}, function (obj) {
                      
                          //reverse value from Yahka to KNX logic
                          var newvalue = 100 - obj.state.val;
                      
                          //verify is calculated value is different, if yes update Yahka value to reversed object otherwise do nothing
                          if (newvalue !== getState(obj.common.linkorigin).val){
                              setState (obj.common.linkorigin, newvalue);
                              console.debug('value change based on Yahka trigger, received value = ' + obj.state.val + ' ,calculated to = ' + newvalue);
                      
                          }
                      
                      });
                      
                      // Trigger on value change in origin values and syncronise to reverse values
                      on({enumName: 'rolladen', change: "ne"}, function (obj) {
                      
                          //reverse value from KNX to Yahka logic
                          var newvalue = 100 - obj.state.val;
                          var objnameT =  obj.common.name;
                          var objname = objnameT.split(' ').join('_');
                      
                          //verify is calculated value is different, if yes update KNX value to reversed object otherwise do nothing
                          if (newvalue !== getState("rolladen_reversed_values." + objname).val){
                              setState("rolladen_reversed_values." + obj.common.name, newvalue, true);
                              console.debug('value change based on KNX trigger, received value = ' + obj.state.val + ' ,calculated to = ' + newvalue);
                      
                          }
                      
                      });` [/i][/i][/i][/i][/i][/i][/i]
                      
                      1 Reply Last reply Reply Quote 0
                      • Dutchman
                        Dutchman Developer Most Active Administrators last edited by

                        So dar waren noch ein par fehlelr drin, mit zusammenarbeit dan im 0.9 geloest.

                        Wen jemand interessiert ist hier das fertige script, gehen bestimmt sachen besser (tips wilkommen) aber es laeuft soweit 🙂

                        `//******************************************
                        //*****************Dutchman*****************
                        //****revert values to use KNX with yahka***
                        //*******************V 0.9****************** 
                        //******************************************
                        //******************************************
                        
                        // Read all enums related to enum.functions
                        functions = getEnums('functions');
                        
                        // Loop on all values and store members of function "rolladen" to variable
                        for (var i in functions){
                            if (functions[i].name == 'rolladen'){
                                var rolladen = functions[i].members;
                        
                            }
                        
                        }
                        
                        //Seperate values in variable "rolladen" to seperate devices
                        //and create new objects reflecting all current devies and states for "rolladen" in javascript tree
                        str = rolladen + ' ';
                        
                        var str_array = str.split(',');
                        for(i = 0; i < str_array.length; i++) {
                            str_array[i] = str_array[i].replace(/^\s*/, "").replace(/\s*$/, "");
                        
                           try{
                        
                                //retrieve device name for all found devices, replace empty spaces in name by _
                                var objnameT =  getObject(str_array[i]).common.name;
                                var objname = objnameT.split(' ').join('_');
                                var objvalue = 100 - getState(str_array[i]).val;
                                var revName = objname + '_reversed';
                        
                                //Check if object already exist, otherwise create and sync current value
                              if (typeof(getIdByName(revName)) === 'undefined') {
                        
                                    createState("rolladen_reversed_values." + objname, objvalue, {
                                        name: revName,
                                        read: true,
                                        write: true,
                                        min: 0,
                                        max: 100,
                                        type: 'number',
                                        role: 'level.hight',
                                        unit: "%",
                                        linkorigin: str_array[i]
                        
                                    });
                        
                                    log('New object  "' + revName + '"  created within "rolladen_reversed_values"');
                        
                              }
                        
                           }   catch(e){}   
                        
                        }
                        
                        // Trigger on value change in reverse values and syncronise to origin
                        on({id: /^javascript.0.rolladen_reversed_values\./, change: "ne"}, function (obj) {
                        
                            //reverse value from Yahka to KNX logic
                            var newvalue = 100 - obj.state.val;
                        
                            //verify is calculated value is different, if yes update Yahka value to reversed object otherwise do nothing
                            if (newvalue !== getState(obj.common.linkorigin).val){
                        
                                log("object trigger reverses nach IF");
                                setState (obj.common.linkorigin, newvalue);
                                console.debug('value change based on Yahka trigger, received value = ' + obj.state.val + ' ,calculated to = ' + newvalue);
                        
                            }
                        
                        });
                        
                        // Trigger on value change in origin values and syncronise to reverse values
                        on({enumName: 'rolladen', change: "ne"}, function (obj) {
                        
                            //reverse value from KNX to Yahka logic
                            var newvalue = 100 - obj.state.val;
                            var objnameT =  obj.common.name;
                            var objname = objnameT.split(' ').join('_');
                        
                            //verify is calculated value is different, if yes update KNX value to reversed object otherwise do nothing
                            if (newvalue !== getState("rolladen_reversed_values." + objname).val){
                        
                                setState("rolladen_reversed_values." + objname, newvalue, true);
                                console.debug('value change based on KNX trigger, received value = ' + obj.state.val + ' ,calculated to = ' + newvalue);
                        
                            }
                        
                        });` [/i][/i][/i][/i][/i][/i][/i]
                        
                        1 Reply Last reply Reply Quote 0
                        • Dutchman
                          Dutchman Developer Most Active Administrators last edited by

                          Der Entwickler des Adapters hat soeben auf github die Nachricht erstellt das yahka dies zukünftig Standard Unterstützung.

                          Wer möchte kann bereits die github Version benutzen um zu testen

                          Danke an den Entwickler !

                          https://github.com/jensweigele/ioBroker … -351852394

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate
                          FAQ Cloud / IOT
                          HowTo: Node.js-Update
                          HowTo: Backup/Restore
                          Downloads
                          BLOG

                          634
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          3
                          55
                          6522
                          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