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. Brematic direkt per Skript steuern

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Brematic direkt per Skript steuern

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
3 Beiträge 3 Kommentatoren 1.2k Aufrufe 1 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.
  • D Offline
    D Offline
    Derrow
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      0
      • opossumO Offline
        opossumO Offline
        opossum
        schrieb am zuletzt editiert von
        #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 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

        383

        Online

        32.6k

        Benutzer

        82.3k

        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