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:
Derrow