Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Brematic direkt per Skript steuern

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Brematic direkt per Skript steuern

Scheduled Pinned Locked Moved Skripten / Logik
javascript
3 Posts 3 Posters 1.2k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    Derrow
    wrote on last edited by Negalein
    #1

    Nachdem man leider nix findet zu diesem Thema, hier mein eigener Java Script, mit dem man aus ioBroker direkt Funksteckdosen ansteuern kann von Brennenstuhl, Unitec, etc, die jeweils 5 Bit Schalter verwenden für den Gruppen und Unit Code.

    Der Script erzeugt einfach einen "TXP:" Code passend für die Brematic und sollte auch mit dem Intertechno-Gateway funktionieren.

    Übrigends habe ich die Erzeugung eigener "TXP:" Raw Codes zwischenzeitlich herausgefunden, und eine Anleitung hier gepostet:

    https://forum.bernis-hideout.de/viewtopic.php?f=43&t=88

    Hier nun mein Skript:

    createState('BrennenstuhlPlug1', 0, { type: 'number' });                                                    
    createState('BrennenstuhlPlug2', 0, { type: 'number' });                                                    
    createState('BrennenstuhlPlug3', 0, { type: 'number' });                                                    
    
    const idVis1 = 'javascript.0.BrennenstuhlPlug1'; 
    const idVis2 = 'javascript.0.BrennenstuhlPlug2'; 
    const idVis3 = 'javascript.0.BrennenstuhlPlug3'; 
    
    const Brennenstuhl_Master1 = '10010';                                                                       
    const Brennenstuhl_Slave1 = '10000';                                                                        
    const Brennenstuhl_Slave2 = '01000';                                                                        
    const Brennenstuhl_Slave3 = '00100';                                                                        
    
    const g_BrematicIP = '192.168.0.10';                                                                     
    const g_BrematicPort = 49880;                                                                               
    
    on(idVis1, function (obj)                                                                                   
    {                                                                                                           
        sendBrematicMessage(buildBrennenstuhlMessage(Brennenstuhl_Master1, Brennenstuhl_Slave1, obj.state.val));
    });                                                                                                         
    
    on(idVis2, function (obj)                                                                                   
    {                                                                                                           
        sendBrematicMessage(buildBrennenstuhlMessage(Brennenstuhl_Master1, Brennenstuhl_Slave2, obj.state.val));
    });                                                                                                         
    
    on(idVis3, function (obj)                                                                                   
    {                                                                                                           
        sendBrematicMessage(buildBrennenstuhlMessage(Brennenstuhl_Master1, Brennenstuhl_Slave3, obj.state.val));
    });                                                                                                         
    
    function sendBrematicMessage(strMessage)                                                                    
    {                                                                                                           
        var dgram = require('dgram');                                                                           
        var client = dgram.createSocket('udp4');                                                                
        client.send(strMessage, 0, strMessage.length, g_BrematicPort, g_BrematicIP,                             
            function(err, bytes)                                                                                
            {                                                                                                   
                if(err)                                                                                         
                    throw err;                                                                                  
                client.close();                                                                                 
            }                                                                                                   
        );                                                                                                      
    }                                                                                                           
    
    function buildBrennenstuhlMessage(strPlugMaster, strPlugSlave, bState)                                      
    {                                                                                                           
        var iRepeat = 3;                                                                                        
        var iPause = 5600;                                                                                      
        var iPulseLength = 350;                                                                                 
        var iSignalCnt = 25;                                                                                    
    
        var strinit = ',1,3,';                                                                                  
        var strHead = 'TXP:0,0,' + iRepeat + ',' + iPause + ',' + iPulseLength + ',' + iSignalCnt + strinit;    
        var strLastCodeSeq = '1,';                                                                              
        var strTail = strLastCodeSeq + '0';                                                                     
    
        var strOn = '1,3,1,3,3,1,';                                                                             
        var strOff = '3,1,1,3,1,3,';                                                                            
        var strSeqLow = '3,1,1,3,';                                                                             
        var strSeqHigh = '1,3,1,3,';                                                                            
    
        var strState = strOn;                                                                                   
        if(bState == '0')                                                                                       
            strState = strOff;                                                                                  
    
        var strMaster = '';                                                                                     
        var strSlave = '';                                                                                      
    
        for(var i=0;i<strplugmaster.length;i++) {/if(strplugmaster[i]="=" '1')/strmaster/+="strSeqHigh;" else/}/for(i="0;i<strPlugSlave.length;i++)" if(strplugslave[i]="=" strslave/var/strmessage="strHead" strstate/strtail;/return(strmessage);/<e=""></strplugmaster.length;i++)
    

    2 Globale Variablen sind mit euren Ip und Port Adressen des Brematic Gateway anzupassen.

    Dazu muss noch die DIP Schalter Stellung der Funkdosen im Code angepasst werden.

    Bitte um eure Meinungen und Danksagungen :lol: :D

    Derrow

    M 1 Reply Last reply
    0
    • D Derrow

      Nachdem man leider nix findet zu diesem Thema, hier mein eigener Java Script, mit dem man aus ioBroker direkt Funksteckdosen ansteuern kann von Brennenstuhl, Unitec, etc, die jeweils 5 Bit Schalter verwenden für den Gruppen und Unit Code.

      Der Script erzeugt einfach einen "TXP:" Code passend für die Brematic und sollte auch mit dem Intertechno-Gateway funktionieren.

      Übrigends habe ich die Erzeugung eigener "TXP:" Raw Codes zwischenzeitlich herausgefunden, und eine Anleitung hier gepostet:

      https://forum.bernis-hideout.de/viewtopic.php?f=43&t=88

      Hier nun mein Skript:

      createState('BrennenstuhlPlug1', 0, { type: 'number' });                                                    
      createState('BrennenstuhlPlug2', 0, { type: 'number' });                                                    
      createState('BrennenstuhlPlug3', 0, { type: 'number' });                                                    
      
      const idVis1 = 'javascript.0.BrennenstuhlPlug1'; 
      const idVis2 = 'javascript.0.BrennenstuhlPlug2'; 
      const idVis3 = 'javascript.0.BrennenstuhlPlug3'; 
      
      const Brennenstuhl_Master1 = '10010';                                                                       
      const Brennenstuhl_Slave1 = '10000';                                                                        
      const Brennenstuhl_Slave2 = '01000';                                                                        
      const Brennenstuhl_Slave3 = '00100';                                                                        
      
      const g_BrematicIP = '192.168.0.10';                                                                     
      const g_BrematicPort = 49880;                                                                               
      
      on(idVis1, function (obj)                                                                                   
      {                                                                                                           
          sendBrematicMessage(buildBrennenstuhlMessage(Brennenstuhl_Master1, Brennenstuhl_Slave1, obj.state.val));
      });                                                                                                         
      
      on(idVis2, function (obj)                                                                                   
      {                                                                                                           
          sendBrematicMessage(buildBrennenstuhlMessage(Brennenstuhl_Master1, Brennenstuhl_Slave2, obj.state.val));
      });                                                                                                         
      
      on(idVis3, function (obj)                                                                                   
      {                                                                                                           
          sendBrematicMessage(buildBrennenstuhlMessage(Brennenstuhl_Master1, Brennenstuhl_Slave3, obj.state.val));
      });                                                                                                         
      
      function sendBrematicMessage(strMessage)                                                                    
      {                                                                                                           
          var dgram = require('dgram');                                                                           
          var client = dgram.createSocket('udp4');                                                                
          client.send(strMessage, 0, strMessage.length, g_BrematicPort, g_BrematicIP,                             
              function(err, bytes)                                                                                
              {                                                                                                   
                  if(err)                                                                                         
                      throw err;                                                                                  
                  client.close();                                                                                 
              }                                                                                                   
          );                                                                                                      
      }                                                                                                           
      
      function buildBrennenstuhlMessage(strPlugMaster, strPlugSlave, bState)                                      
      {                                                                                                           
          var iRepeat = 3;                                                                                        
          var iPause = 5600;                                                                                      
          var iPulseLength = 350;                                                                                 
          var iSignalCnt = 25;                                                                                    
      
          var strinit = ',1,3,';                                                                                  
          var strHead = 'TXP:0,0,' + iRepeat + ',' + iPause + ',' + iPulseLength + ',' + iSignalCnt + strinit;    
          var strLastCodeSeq = '1,';                                                                              
          var strTail = strLastCodeSeq + '0';                                                                     
      
          var strOn = '1,3,1,3,3,1,';                                                                             
          var strOff = '3,1,1,3,1,3,';                                                                            
          var strSeqLow = '3,1,1,3,';                                                                             
          var strSeqHigh = '1,3,1,3,';                                                                            
      
          var strState = strOn;                                                                                   
          if(bState == '0')                                                                                       
              strState = strOff;                                                                                  
      
          var strMaster = '';                                                                                     
          var strSlave = '';                                                                                      
      
          for(var i=0;i<strplugmaster.length;i++) {/if(strplugmaster[i]="=" '1')/strmaster/+="strSeqHigh;" else/}/for(i="0;i<strPlugSlave.length;i++)" if(strplugslave[i]="=" strslave/var/strmessage="strHead" strstate/strtail;/return(strmessage);/<e=""></strplugmaster.length;i++)
      

      2 Globale Variablen sind mit euren Ip und Port Adressen des Brematic Gateway anzupassen.

      Dazu muss noch die DIP Schalter Stellung der Funkdosen im Code angepasst werden.

      Bitte um eure Meinungen und Danksagungen :lol: :D

      Derrow

      M Offline
      M Offline
      meia
      wrote on last edited by meia
      #2

      @Derrow

      I tried you script but I get the error: javascript.0 script.js.common.Brennenstuhl compile failed: at script.js.common.Brennenstuhl:70,
      which is the last row
      for(var i=0;i<strplugmaster.length;i++) {/if(strplugmaster[i]="=" '1')/strmaster/+="strSeqHigh;" else/}/for(i="0;i<strPlugSlave.length;i++)" if(strplugslave[i]="=" strslave/var/strmessage="strHead" strstate/strtail;/return(strmessage);/<e=""></strplugmaster.length;i++)>

      Any ideas what could be the problem?
      I have configured IP, Port and dips, so it should work.
      I also have another tool running (FB.Switch), which is working fine (but I want to migrate to iobroker).

      Thanks a lot.
      Meia

      Edit: the code was mixed up in the first post, so I fixed it myself.

      1 Reply Last reply
      0
      • opossumO Offline
        opossumO Offline
        opossum
        wrote on last edited by
        #3

        Hallo, @Derrow,

        würdest Du Dein Brennenstuhlscript hier noch einmal reinstellen. Das Script im Post 1 ist irgendwie gemixt am Ende. Vielen Dank.

        Gruß
        opossum

        https://schlepper-petersdorf.jimdofree.com/

        1 Reply Last reply
        0
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        Support us

        ioBroker
        Community Adapters
        Donate

        822

        Online

        32.7k

        Users

        82.4k

        Topics

        1.3m

        Posts
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2025
        logo
        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Home
        • Recent
        • Tags
        • Unread 0
        • Categories
        • Unreplied
        • Popular
        • GitHub
        • Docu
        • Hilfe