Brematic / Brennenstuhl 433 Mhz Steckdosen

diverse Zusatzsoftware

Moderator: Co-Administratoren

jcmerg
Beiträge: 2
Registriert: 30.11.2015, 15:32
Danksagung erhalten: 1 Mal

Brematic / Brennenstuhl 433 Mhz Steckdosen

Beitrag von jcmerg » 30.11.2015, 15:45

Hallo zusammen,

für alle die es gebrauchen können, habe ich hier ein kleines Script geschrieben bzw. den PHP code von dem Connair Web-App (http://www.l3x.de/connair/) in Busybox ASH portiert, dass über die Brematic von Brennenstuhl (Connair) in Verbindung mit dem CUxD (Exec und socat binary) "normale" 433 Mhz Steckdosen schalten kann.

Code: Alles auswählen

#!/bin/sh

if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ] || [ -z "$4" ] || [ -z "$5" ]; then
  echo "Brennenstuhl 433 Mhz switches over brematic wrapper for CCU / CUxD"
  echo "Syntax: $0 <master-dip> <slave-dip> <brematic-ip> <brematic-port> <0|1>"
  exit 1
fi

# search for cuxd socat or use system socat
if [ ! -f "/usr/local/addons/cuxd/extra/socat" ]; then
  sSocat=$(which socat);
  if [ -z $sSocat ]; then
    echo "No socat found, please install socat or start this script on a CCU2 with CUxD addon"
    exit 1;
  fi
else
  sSocat="/usr/local/addons/cuxd/extra/socat"
fi

sA=0
sG=0
sRepeat=10
sPause=5600
sTune=350
sBaud=25
sSpeed=16
sTXVersion=1
sHead="TXP:$sA,$sG,$sRepeat,$sPause,$sTune,$sBaud,"
sTail=",$sTXVersion,1,$sSpeed,;"
sOn="1,3,1,3,3"
sOff="3,1,1,3,1"
bitLow=1
bitHgh=3
seqLow="$bitHgh,$bitHgh,$bitLow,$bitLow,"
seqHgh="$bitHgh,$bitLow,$bitHgh,$bitLow,"

# generate master dip sequence
for bit in $(echo $1 | fold -w1); do
  if [ "$bit" = "0" ]; then
    sMaster=$sMaster$seqLow
  else
    sMaster=$sMaster$seqHgh
  fi
done

# generate slave dip sequence
for bit in $(echo $2 | fold -w1); do
  if [ "$bit" = "0" ]; then
    sSlave=$sSlave$seqLow
  else
    sSlave=$sSlave$seqHgh
  fi
done

if [ "$5" = "1" ]; then
  echo "$sHead$bitLow,$sMaster$sSlave$bitHgh,$sOn$sTail" | $sSocat - udp:$3:$4
  exit $?
else
  echo "$sHead$bitLow,$sMaster$sSlave$bitHgh,$sOff$sTail" | $sSocat - udp:$3:$4
  exit $?
fi

Code: Alles auswählen

Syntax: 
ON:  brematic.sh 11001 01000 1.2.3.4 49880 1
OFF: brematic.sh 11001 01000 1.2.3.4 49880 0
Ich habe es in den extra folder des CUxD kopiert und dann in dem entsprechenden, durch CUxD erstellten Kanal aufgerufen:

SWITCH|CMD_SHORT

Code: Alles auswählen

extra/brematic.sh $_P1$ $_P2$ $_P3$ $_P4$ 0
SWITCH|CMD_LONG

Code: Alles auswählen

extra/brematic.sh $_P1$ $_P2$ $_P3$ $_P4$ 1
Evtl. kann ja jemand was damit anfangen :D
Getestet ist es bei mir mit den Brennenstuhl RCS1000N

Master-DIP sind die ersten 5 DIP Schalter (Systemcode) Slave-DIP die restlichen 5
Dateianhänge
Unbenannt.PNG

laluna1000
Beiträge: 1
Registriert: 24.08.2014, 14:20

Re: Brematic / Brennenstuhl 433 Mhz Steckdosen

Beitrag von laluna1000 » 23.03.2016, 12:09

Vielen Dank jcmerg,

ich habe genau so eine Konstellation. Wie kann ich dieses Script für die weiteren Kanäle abändern ?

Gruß
laluna

ElDiablo
Beiträge: 8
Registriert: 31.03.2016, 20:49

Re: Brematic / Brennenstuhl 433 Mhz Steckdosen

Beitrag von ElDiablo » 03.04.2016, 21:33

Hallo jcmerg,

finde ich klasse! Ich selber habe zwei Brematic und finde die Einbindung zur CCU2 sehr Klasse!
Kurze Anmerkung Vorab. Ich bin Anfänger auf dem Gebiet CUxD.

Habe das eben mal ausprobiert

CCU2 Firmware: 2.17.15
CUxD Version: 1.5.1

Ich bekomme jedoch bekomme 2 Fehler, wenn ich den Befehl über die SSH Verbindung ausführe

Code: Alles auswählen

# sh /usr/local/addons/cuxd/extra/brematic.sh 10101 10000 192.168.20.49 49880 1
: not foundaddons/cuxd/extra/brematic.sh: line 2:
/usr/local/addons/cuxd/extra/brematic.sh: line 38: syntax error: unexpected word (expecting "do")
Habe über CUxD ein Gerät erstellt -> CUX2801002


Geräteparameter:
CHANNELS: 1
PARAM1: 10101 <- Master DIP
PARAM2: 10000 <- Slave DIP
PARAM3: 192.168.20.48 <- IP der Brematic
PARAM4: 49880 <- Port

Einstellungen Channel 1:
SWITCH|CMD_SHORT: sh /usr/local/addons/cuxd/extra/brematic.sh $_P1$ $_P2$ $_P3$ $_P4$ 0
SWITCH|CMD_LONG: sh /usr/local/addons/cuxd/extra/brematic.sh $_P1$ $_P2$ $_P3$ $_P4$ 1
SWITCH|EXEC_TIMEOUT: 1


Anbei der Code, welchen ich als brematic.sh in das Verzeichnis "/usr/local/addons/cuxd/extra" kopiert habe.
Berechtigung von der Datei auf 755 gesetzt.

Code: Alles auswählen

#!/bin/sh

if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ] || [ -z "$4" ] || [ -z "$5" ]; then
  echo "Brennenstuhl 433 Mhz switches over brematic wrapper for CCU / CUxD"
  echo "Syntax: $0 <master-dip> <slave-dip> <brematic-ip> <brematic-port> <0|1>"
  exit 1
fi

# search for cuxd socat or use system socat
if [ ! -f "/usr/local/addons/cuxd/extra/socat" ]; then
  sSocat=$(which socat);
  if [ -z $sSocat ]; then
    echo "No socat found, please install socat or start this script on a CCU2 with CUxD addon"
    exit 1;
  fi
else
  sSocat="/usr/local/addons/cuxd/extra/socat"
fi

sA=0
sG=0
sRepeat=10
sPause=5600
sTune=350
sBaud=25
sSpeed=16
sTXVersion=1
sHead="TXP:$sA,$sG,$sRepeat,$sPause,$sTune,$sBaud,"
sTail=",$sTXVersion,1,$sSpeed,;"
sOn="1,3,1,3,3"
sOff="3,1,1,3,1"
bitLow=1
bitHgh=3
seqLow="$bitHgh,$bitHgh,$bitLow,$bitLow,"
seqHgh="$bitHgh,$bitLow,$bitHgh,$bitLow,"

# generate master dip sequence
for bit in $(echo $1 | fold -w1); do
  if [ "$bit" = "0" ]; then
    sMaster=$sMaster$seqLow
  else
    sMaster=$sMaster$seqHgh
  fi
done

# generate slave dip sequence
for bit in $(echo $2 | fold -w1); do
  if [ "$bit" = "0" ]; then
    sSlave=$sSlave$seqLow
  else
    sSlave=$sSlave$seqHgh
  fi
done

if [ "$5" = "1" ]; then
  echo "$sHead$bitLow,$sMaster$sSlave$bitHgh,$sOn$sTail" | $sSocat - udp:$3:$4
  exit $?
else
  echo "$sHead$bitLow,$sMaster$sSlave$bitHgh,$sOff$sTail" | $sSocat - udp:$3:$4
  exit $?
fi
Frage:
1. Was habe ich verkehrt gemacht?
2. Kannst du Master DIP und Slave DIP direkt bei den jeweiligen Channel einbauen? So muss man für jede Steckdose ein über CUxD ein neues Gerät anlegen.
3. Kann eine Status Variable erstellt werden? Letzter bekannter Schaltzustand AN / AUS

Danke im Voraus.

schittl
Beiträge: 29
Registriert: 23.02.2017, 12:53

Re: Brematic / Brennenstuhl 433 Mhz Steckdosen

Beitrag von schittl » 14.04.2017, 15:05

Hallo,

die Syntaxerros stammen von falschen Line Endigs durchs Kopieren.

Code: Alles auswählen

cat brematic.sh | tr -d '\r' >> brematic2.sh
Probiere das mal aus. (brematic2.sh anschließend wieder in brematic.sh umbenennen). Bei mir hat es funktioniert.

vg
piVCCU3 3.41.11 auf PI3 incl. zigbee2mqtt + ioBroker auf Rock64

Henry003
Beiträge: 1
Registriert: 16.10.2017, 15:00

Re: Brematic / Brennenstuhl 433 Mhz Steckdosen

Beitrag von Henry003 » 16.10.2017, 15:04

Hallo,

könnte mir vllt jmd erklären wie ich das Script erstelle und es dann auch noch in die cuxd kopiere? Ich scheitere quasi schon am Anfang. Ich habe mir schon diverse Anleitungen überflogen. Leider ohne Erfolg.

Maik0605
Beiträge: 33
Registriert: 03.12.2016, 17:45

Re: Brematic / Brennenstuhl 433 Mhz Steckdosen

Beitrag von Maik0605 » 30.12.2017, 22:07

Vielen Dank Dafür !!!!!!



Habe nur eine Verbesserung

Code: Alles auswählen

extra/brematic.sh $_P1$ $_P2$ $_P3$ $_P4$ 0
in

Code: Alles auswählen

extra/brematic.sh $_C1$ $_C2$ $_C3$ $_C4$ 0

Dann kann man in einem CUX geraet gleich alle Kanäle verteilen . Dann werden die Channel Key genommen

tomily
Beiträge: 30
Registriert: 05.02.2018, 15:46

Re: Brematic / Brennenstuhl 433 Mhz Steckdosen

Beitrag von tomily » 21.11.2019, 15:27

Hallo zusammen,

sorry, wenn ich mich nach so langer Zeit hier einmische...
Nachdem ich viel gegoogelt habe, bin ich auf diesen Artikel gestoßen, der mich FAST ans Ziel gebracht hat :-)

Könnt Ihr mir sagen, welches Gerät ich über CUxD anlegen muss, damit ich mein Brennenstuhl 433 Gateway ansprechen kann?
Ich habe die Parameter gar nicht zur Auswahl und bin mir sicher, dass ich das falsch angelegt habe.

Wenn ich es richtig verstanden habe, muss ich "nur" das oben genannte Skript auf dem Raspberrymatic ablegen.
Es wird dann für jede Steckdose ein Schalter/Taster (via CUxD) verwendet, der über die Parameterliste die entsprechende IDs der Steckdosen mit gibt?

Freue mich wahnsinnig über eure Antworten :=)

Grüße
Tomily

Littlegrisu
Beiträge: 5
Registriert: 18.12.2019, 06:27

Re: Brematic / Brennenstuhl 433 Mhz Steckdosen

Beitrag von Littlegrisu » 18.12.2019, 06:34

Hallo Zusammen,

ich würde diesen Thread hier auch gern noch einmal aufleben lassen wollen um eine Lösung für das oben genannte Problem zu finden.
Bisher läuft dies alles ganz gut bei mir mit FHEM, dem Brematic Gateway und dem Homematic LAN Gateway.

Nun wollte ich gern auf die CCU3 umsteigen um dies vom NAS und FHEM etwas autarker zu gestalten. Nun fehlt mir aber das Wissen wie und wo ich die Scripte in der CCU3 bzw. mit CUxD hinterlege. Kann dies einer nochmal bitte etwas ausführlicher erklären.

Vielen Dank im Voraus
Gruß Thomas

tomily
Beiträge: 30
Registriert: 05.02.2018, 15:46

Re: Brematic / Brennenstuhl 433 Mhz Steckdosen

Beitrag von tomily » 19.12.2019, 07:59

Guten Morgen,

habe es mittlerweile mit dem Script von jcmerg sowhohl auf der CCU (Raspberrymatic), als auch im ioBroker zum laufen bekommen.
Habe dazu in Kurz folgendes getan:

- 16-Fach Schaltaktor im CUxD angelegt (kann natürlich auch ein anderer sein)
- Das Script kann meines erachtens nach überall liegen. Ich habe es hier abgelegt: /usr/local/addons/cuxd/extra/
- Per Schalter je nach Stellung das Script aufrufen extra/brematic.sh $_C1$ $_C2$ $_C3$ $_C4$ 0 (für aus) oder extra/brematic.sh $_C1$ $_C2$ $_C3$ $_C4$ 1 (für an)

Anbei die entsprechenden Screenshots dazu.

Hoffe das hilft Dir weiter!?

Grüße
Tomily
Dateianhänge
script.JPG
script.JPG (13.86 KiB) 4194 mal betrachtet
CUxD-Gerät.JPG
Aufruf1.JPG

Littlegrisu
Beiträge: 5
Registriert: 18.12.2019, 06:27

Re: Brematic / Brennenstuhl 433 Mhz Steckdosen

Beitrag von Littlegrisu » 19.12.2019, 10:50

Hi Tomily,

danke für Dein Feedback, werde es heute Abend gleich ausprobieren.
Wäre das dann, dass ich auf jeden Kanal eine Dose legen kann, also 6 auf den 6fach Taster? Oder muss ich für jede Dose einen 6fach Taster anlegen?

Die .sh Datei ist doch nur eine txt Datei welche ich mit dem Code abspeichere, richtig? Mit welchem Programm hast Du die Datei dann auf die CCU geschrieben?

Danke

Gruß Thomas

Antworten

Zurück zu „Sonstige Addons“