Intertechno ITGW-433 Gateway

Hallo Leute,

hat jemand von Euch Erfahrung mit der Ansteuerung des Intertechno LAN Gateways?

http://www.intertechno.at/produkte/sender/gateway/itgw-433.html

Würde gerne direkt über dieses Gateway und IP-Symcon einige Intertechno Schaltsteckdosen ansteuern. Bis dato aber nicht genügend Informationen über das Protokol gefunden …

Eventuell könnte es ‚gleich‘ sein mit dem

  • Brematic 433 Single Gateway (GWY433)
  • Connair

Vielleicht hilft dies weiter:
Conn-Air Mobile WebApp
connair-webapp/send_msg.php at master · power-web/connair-webapp · GitHub

Ich hatte diese Anfrage auch schon mal, aber Aufgrund der fehlenden Zeit nicht weiter verfolgt / geprüft.

Michael

Hallo Brownson,
Das ist baugleich mit dem Brematic und geht über udp.
Habe dass in einem anderen Beitrag kurz erklärt https://www.symcon.de/forum/threads/27143-Brennenstuhl-Brematic-433-Single-Gateway-%28GWY433%29-Funksteckdosen-433Mhz?highlight=brematic.
Bezüglich der codes habe ich der einfachheitshalber den raw code genommen den ich mit der damaligen steckerchecker app gesendet und über wicap mitgeschnitten habe genommen.

Danke Euch,

nach etwas hin und her experimentieren, hat mich die Connair-Webapp zum Erfolg geführt :slight_smile:

Anbei das Code Fragment, das ich zum Testen verwendet hab:


<?
	$server_ip   = '192.168.178.35'; // Ip Des Gateway
	$server_port = 49880 ;           // Port des Gateway
	$masterdip   = 'A';              // Master DIP (A-P)
	$slavedip    = '3';              // Slave DIP (1-16)
	$statusID    = 41710 ;           // ID der Statusvariable

	$statusValue = !GetValue($statusID);
	$action      = $statusValue ? 'ON' : 'OFF';
	$msg         = create_msg_intertechno($masterdip, $slavedip, $action);
 	$len         = strlen($msg);

	if ($socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP)) {
	   socket_sendto($socket, $msg, $len, 0, $server_ip, $server_port); 
	   echo "socket_sendto=".$msg.PHP_EOL;
		SetValueBoolean($statusID, $statusValue);
	} else
	   echo "socket_create FAILED ...".PHP_EOL;




function create_msg_intertechno($masterdip, $slavedip, $action) {
    $sA=0;
    $sG=0;
    $sRepeat=12;
    $sPause=11125;
    $sTune=89;
    $sBaud="26,0";
    $sSpeed=32; //erfahrung aus dem Forum auf 32 stellen http://forum.power-switch.eu/viewtopic.php?f=15&t=146
    $uSleep=800000;
    $HEAD="$sA,$sG,$sRepeat,$sPause,$sTune,$sBaud,";
    $TAIL=",1,$sSpeed,;";
    $AN="12,4,4,12,12,4";
    $AUS="12,4,4,12,4,12";
    $bitLow=4;
    $bitHgh=12;
    $seqLow=$bitHgh.",".$bitHgh.",".$bitLow.",".$bitLow.",";
    $seqHgh=$bitHgh.",".$bitLow.",".$bitHgh.",".$bitLow.",";
    $msgM="";
    switch (strtoupper($masterdip)) {
        case "A":
            $msgM=$seqHgh.$seqHgh.$seqHgh.$seqHgh;
            break;
        case "B":
            $msgM=$seqLow.$seqHgh.$seqHgh.$seqHgh;
            break;
        case "C":
            $msgM=$seqHgh.$seqLow.$seqHgh.$seqHgh;
            break;
        case "D":
            $msgM=$seqLow.$seqLow.$seqHgh.$seqHgh;
            break;
        case "E":
            $msgM=$seqHgh.$seqHgh.$seqLow.$seqHgh;
            break;
        case "F":
            $msgM=$seqLow.$seqHgh.$seqLow.$seqHgh;
            break;
        case "G":
            $msgM=$seqHgh.$seqLow.$seqLow.$seqHgh;
            break;
        case "H":
            $msgM=$seqLow.$seqLow.$seqLow.$seqHgh;
            break;
        case "I":
            $msgM=$seqHgh.$seqHgh.$seqHgh.$seqLow;
            break;
        case "J":
            $msgM=$seqLow.$seqHgh.$seqHgh.$seqLow;
            break;
        case "K":
            $msgM=$seqHgh.$seqLow.$seqHgh.$seqLow;
            break;
        case "L":
            $msgM=$seqLow.$seqLow.$seqHgh.$seqLow;
            break;
        case "M":
            $msgM=$seqHgh.$seqHgh.$seqLow.$seqLow;
            break;
        case "N":
            $msgM=$seqLow.$seqHgh.$seqLow.$seqLow;
            break;
        case "O":
            $msgM=$seqHgh.$seqLow.$seqLow.$seqLow;
            break;
        case "P":
            $msgM=$seqLow.$seqLow.$seqLow.$seqLow;
            break;
    }
    $msgS="";
    switch ($slavedip){
        case "1":
            $msgS=$seqHgh.$seqHgh.$seqHgh.$seqHgh;
            break;
        case "2":
            $msgS=$seqLow.$seqHgh.$seqHgh.$seqHgh;
            break;
        case "3":
            $msgS=$seqHgh.$seqLow.$seqHgh.$seqHgh;
            break;
        case "4":
            $msgS=$seqLow.$seqLow.$seqHgh.$seqHgh;
            break;
        case "5":
            $msgS=$seqHgh.$seqHgh.$seqLow.$seqHgh;
            break;
        case "6":
            $msgS=$seqLow.$seqHgh.$seqLow.$seqHgh;
            break;
        case "7":
            $msgS=$seqHgh.$seqLow.$seqLow.$seqHgh;
            break;
        case "8":
            $msgS=$seqLow.$seqLow.$seqLow.$seqHgh;
            break;
        case "9":
            $msgS=$seqHgh.$seqHgh.$seqHgh.$seqLow;
            break;
        case "10":
            $msgS=$seqLow.$seqHgh.$seqHgh.$seqLow;
            break;
        case "11":
            $msgS=$seqHgh.$seqLow.$seqHgh.$seqLow;
            break;
        case "12":
            $msgS=$seqLow.$seqLow.$seqHgh.$seqLow;
            break;
        case "13":
            $msgS=$seqHgh.$seqHgh.$seqLow.$seqLow;
            break;
        case "14":
            $msgS=$seqLow.$seqHgh.$seqLow.$seqLow;
            break;
        case "15":
            $msgS=$seqHgh.$seqLow.$seqLow.$seqLow;
            break;
        case "16":
            $msgS=$seqLow.$seqLow.$seqLow.$seqLow;
            break;
    }
    if($action=="ON") {
        return $HEAD.$bitLow.",".$msgM.$msgS.$seqHgh.$seqLow.$bitHgh.",".$AN.$TAIL;
    } else {
        return $HEAD.$bitLow.",".$msgM.$msgS.$seqHgh.$seqLow.$bitHgh.",".$AUS.$TAIL;
    }
}
?>

Hallo,
habe die Beiträge zu 433MHz Gateways gesehen. Habe auch noch ein paar Intertechno Komponenten (Schalter und Steckdosen) im Einsatz, diese sind eigentlich zu schade um sie zu entsorgen, unsere Rauchmelder laufen ebenso auf 433 MHz.
Hat jemand vielleicht das Intertechno 433MHz Gateway erfolgreich am laufen? Kann man nicht nur senden, sondern auch
empfangen? Will mir erst so ein Gateway zulegen, lohnt sich das? Auch wäre ich an einem Beispielscript interessiert.

Danke schon mal für Eure Antworten

PIO

Hallo Pio,

ja, habs so ein Ding bei meinem Nachbarn in Betrieb gesetzt - zugehöriges Modul ist bei mir auf GIT zu finden:
https://github.com/brownson/Intertechno

Mit dem Empfang von Daten hab ich mich bis dato noch nicht auseinandergesetzt, das Senden un Steuern der Aktoren läuft soweit problemlos.

Hallo Andreas,

Danke für die Rückmeldung, werde ich mir am Wochenende mal anschauen.

Gruß
PIO

Hy!
Ich mache gerade auch meine ersten gehversuche mit Brematic Gateway!
Was ich schon geschafft habe das ich meine Markiese übers Telefon steuern kann, war nicht so ein großer aufwand!
mit dem PC und dem Programm SteckerPRO für Windows funktioniert es auch schon!
ABER!!!
Wie bekomme ich das ganze jetzt in IPS

Habe jetz ein Skript gefunden und funktioniert super mit „RAW Code“


 <?
$server_ip   = '192.168.1.9'; // Ip Des Gateway
$server_port = 49880 /*[Objekt #49880 existiert nicht]*/; //Port des Gateway
$message     = 'TXP:0,0,10,5551,91,41,57,18,8,4,8,4,4,8,4,8,4,8,4,8,4,8,8,4,8,4,4,8,4,8,4,8,8,4,4,8,4,8,8,4,8,4,4,8,8,4,8,4,8,4,4,8,4,8,8,4,8,4,4,8,8,4,4,8,4,8,8,4,8,4,4,8,4,8,4,8,8,4,8,4,4,8,4,8,8,4,8,61;';

if ($socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP))

     socket_sendto($socket, $message, strlen($message), 0, $server_ip, $server_port); //Code schicken an Gateway
?>

RAW Code wurde ausgelesen mit Smartsniffer
Mfg
Maxx

Sieht doch mal sehr ähnlich zum Intertechno Gateway aus, hast Du mein Modul schon mal versucht - IP + Port setzen, Instanz anlegen, …

Hy Andreas!
Modul habe ich noch nicht ausprobiert! Mein Problem war die Markise! Wo ich nicht wusste welcher Rohrmotor verbaut wurde und am Hand sender steht nur dooya dc 90!
Also probieren und testen!
Aber geschafft!

Hallo Brownson,

ich habe soeben dein Modul installiert.

Als Hardware habe ich das Brematic Gateway und verschiedene Intertechno Zwischenstecker (Schalter).
Die Installaetion hat auch einwandfrei geklappt und beim Schalten über IPS sendet das Gateway.

Leider schaltet der Zwischenstecker aber nicht (über die SteckerPro App funktioniert alles).

als Ports habe ich beides mal 49880 eingestellt.

gibt es vielleicht sonst noch etwas zu beachten?

Ne, eigentlich nicht, hatte bei meinem Nachbarn aber auch Probleme mit einem Stecker - eventuell kannst Du ja andere auch noch versuchen.

Eine weitere Möglichkeit wäre bei den Kommunikationsparameter noch etwas herumzuexperimentieren (Datei IntertechnoBase.php):

Speziell der Parameter sSpeed könnte als Finetuning dienen …


	protected function SendMsg($masterdip, $slavedip, $command) {
		$sA=0;
		$sG=0;
		$sRepeat=12;
		$sPause=11125;
		$sTune=89;
		$sBaud="26,0";
		$sSpeed=32; //erfahrung aus dem Forum auf 32 stellen http://forum.power-switch.eu/viewtopic.php?f=15&t=146
		$uSleep=800000;
		$HEAD="$sA,$sG,$sRepeat,$sPause,$sTune,$sBaud,";
		$TAIL=",1,$sSpeed,;";
		$AN="12,4,4,12,12,4";
		$AUS="12,4,4,12,4,12";
		$bitLow=4;
		$bitHgh=12;

Hallo Andreas,
habe soeben mal dein Modul ausprobiert und funktioniert auch soweit, aber gibt es eine Möglichkeit das ganze noch zu erweitern, das man anstatt das Codierrad einen Lerncode benutzen könnte?
Besitze ein Intertechno Gateway.

Hab bis dato noch keine Ahnung, wie das mit den Lerncodes funktioniert bzw. wie die Ansteuerung dann aussehen müsste?

Wenn Du nähere Informationen hast, bitte um Info;)

Habe mal hier ein Bild angehängt wie die Aktoren z.B. in Mediola’s NEO angelegt werden.

Hilft mir für eine potentielle Implementierung auch nicht wirklich weiter, zeigt aber zumindest, dass es irgendwie geht :smiley:

Hallo in die Runde,

wollte schon vor Monaten mein Brematic Gateway testen, hat bis jetzt gedauert.
Aus den vorhandenen Posts habe ich mir meine Version des Script zusammengebaut.
Funktioniert bei mir in den ersten Tests gut.

PHP-Code:


<?
# Brematic GWY433 zum schalten für Funksteckdosen mittels DIP Codierung -> Brennstuhl / Elro"
# Pios angepasste Version 1.0"

$server_ip   = '192.168.11.117'; // Ip Des Gateway
$server_port = 49880; //Port des Gateway
$master="A"; //House Code Master Code ABCDE = 11111
$slave="1"; //Unit Code Slave Code
$status =GetValueBoolean(38531 /*[Funksteckdose 1]*/ ); //Variable die abgefragt wird
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);

#Aufbau der Message

    $sA=0;
    $sG=0;
    $sRepeat=12;
    $sPause=5600;
    $sTune=89;
    $sBaud=26;
    $sSpeed=32;
    $uSleep=800000;
    $txversionan=1;  //komischerweise schaltet nur in txversion 1 an
    $txversionaus=1; //komischerweise schaltet nur in txversion 3 aus; SP ist egal!!!
    $HEAD="TXP:$sA,$sG,$sRepeat,$sPause,$sTune,$sBaud,";
    $TAILAN=",$txversionan,$sSpeed,;";
    $TAILAUS=",$txversionaus,$sSpeed,;";
	$AN="12,4,4,12,12,4";
	$AUS="12,4,4,12,4,12";
    $bitLow=4;
    $bitHgh=12;
    $seqLow=$bitHgh.",".$bitHgh.",".$bitLow.",".$bitLow.",";
    $seqHgh=$bitHgh.",".$bitLow.",".$bitHgh.",".$bitLow.",";
	
    # House-Code (Master)
	$msgM="";
	#A
	$msgM=$seqHgh.$seqHgh.$seqHgh.$seqHgh;
	#B
	#$msgM=$seqLow.$seqHgh.$seqHgh.$seqHgh;
	#C
	#$msgM=$seqHgh.$seqLow.$seqHgh.$seqHgh;
	#D
	#$msgM=$seqLow.$seqLow.$seqHgh.$seqHgh;
	#E
	#$msgM=$seqHgh.$seqHgh.$seqLow.$seqHgh;
	#F
	#$msgM=$seqLow.$seqHgh.$seqLow.$seqHgh;
	#G
	#$msgM=$seqHgh.$seqLow.$seqLow.$seqHgh;
	#H
	#$msgM=$seqLow.$seqLow.$seqLow.$seqHgh;
	#I
	#$msgM=$seqHgh.$seqHgh.$seqHgh.$seqLow;
	#J":
	#$msgM=$seqLow.$seqHgh.$seqHgh.$seqLow;
	#K":
	#$msgM=$seqHgh.$seqLow.$seqHgh.$seqLow;
	#L":
	#$msgM=$seqLow.$seqLow.$seqHgh.$seqLow;
	#M":
	#$msgM=$seqHgh.$seqHgh.$seqLow.$seqLow;
	#N":
	#$msgM=$seqLow.$seqHgh.$seqLow.$seqLow;
	#"O":
	#$msgM=$seqHgh.$seqLow.$seqLow.$seqLow;
	#P":
	#msgM=$seqLow.$seqLow.$seqLow.$seqLow;

    # Unit-Code (Slave)
	$msgS="";
	#1":
	$msgS=$seqHgh.$seqHgh.$seqHgh.$seqHgh;
	#2":
	#			$msgS=$seqLow.$seqHgh.$seqHgh.$seqHgh;
	#3":
	#			$msgS=$seqHgh.$seqLow.$seqHgh.$seqHgh;
	#4":
	#			$msgS=$seqLow.$seqLow.$seqHgh.$seqHgh;
	#5":
	#			$msgS=$seqHgh.$seqHgh.$seqLow.$seqHgh;
	#6":
	#			$msgS=$seqLow.$seqHgh.$seqLow.$seqHgh;
	#7":
	#			$msgS=$seqHgh.$seqLow.$seqLow.$seqHgh;
	#8":
	#			$msgS=$seqLow.$seqLow.$seqLow.$seqHgh;
	#9":
	#			$msgS=$seqHgh.$seqHgh.$seqHgh.$seqLow;
	#10":
	#			$msgS=$seqLow.$seqHgh.$seqHgh.$seqLow;
	#11":
	#			$msgS=$seqHgh.$seqLow.$seqHgh.$seqLow;
	#12":
	#			$msgS=$seqLow.$seqLow.$seqHgh.$seqLow;
	#13":
	#			$msgS=$seqHgh.$seqHgh.$seqLow.$seqLow;
	#14":
	#			$msgS=$seqLow.$seqHgh.$seqLow.$seqLow;
	#15":
	#			$msgS=$seqHgh.$seqLow.$seqLow.$seqLow;
	#16":
	#			$msgS=$seqLow.$seqLow.$seqLow.$seqLow;
  
    $messageAUS=$HEAD.$bitLow.",".$msgM.$msgS.$seqHgh.$seqLow.$bitHgh.",".$AUS.$TAILAUS;
    $messageSAUS=strlen($HEAD.$bitLow.",".$msgM.$msgS.$seqHgh.$seqLow.$bitHgh.",".$AUS.$TAILAUS);
    $messageAN=$HEAD.$bitLow.",".$msgM.$msgS.$seqHgh.$seqLow.$bitHgh.",".$AN.$TAILAN;
    $messageSAN=strlen($HEAD.$bitLow.",".$msgM.$msgS.$seqHgh.$seqLow.$bitHgh.",".$AN.$TAILAN);
    
#Ausführung Code & Variablenänderung

if ($status == "true")
{
socket_sendto($socket, $messageAUS, $messageSAUS, 0, $server_ip, $server_port); //Code schicken an Gateway
#echo $messageAUS
SetValueBoolean(38531 /*[Funksteckdose 1]*/, false); //variable ändern auf aus <- bitte ändern auf Variable von $status
}

else
{
socket_sendto($socket, $messageAN, $messageSAN, 0, $server_ip, $server_port); //Code schicken an Gateway
SetValueBoolean(38531 /*[Funksteckdose 1]*/, true); //variable ändern auf an <- bitte ändern auf Variable von $status
}
?>

Werde zur Programmierung der Aktoren einen Intertechno Funksender mit Codierrad verwenden, da ich keine
Möglichkeit (Software) zur Dekodierung des Raw-Code habe.

Gruß
PIO

Hallo Brownson,

Sehr gute Arbeit!!! Ein Traum wird wahr!!!

Wäre es möglich, dass du die Brennenstuhl / ELRO Codierung in das Modul mit einbauen könntest (Master- / Slave-CODE -> 10101 10000)?
Dann brauch man nicht umständlich die Signal mitschneiden oder über andere Programme übersetzen lassen.
Das wäre das Nonplusultra.

Da siehst du die Unterschiedlichen Ausgaben zwischen Intertechno und ELRO.

https://github.com/power-web/connair-webapp/blob/master/send_msg.php

Die Gateways (ITW-433 / GWY-433 / Connair-433) sind alle gleich, nur die Ausgabe der Signale ist unterschiedlich.
Aus Eigener Erfahrung muss dann noch auf die Version geachtet werden, da ansonsten die Steckdosen nicht schalten oder falsch reagieren können.

Danke, es wäre eine äußerst sinnvolle Erweiterung.

Super Arbeit!

Hallo zusammen,
habe heute das Modul geladen und bekomme immer diese Fehlermeldung.

Fatal error: Uncaught Error: Call to undefined function IPS_SendDataToParent() in /var/lib/symcon/modules/Intertechno/IntertechnoBase.php:158
Stack trace:
#0 /var/lib/symcon/modules/Intertechno/IntertechnoBase.php(151): IntertechnoBase->SendMsgToParent(‚0,0,12,11125,89…‘)
#1 /var/lib/symcon/modules/Intertechno/IntertechnoSwitch/module.php(66): IntertechnoBase->SendMsg(‚B‘, ‚5‘, ‚12,4,4,12,12,4‘)
#2 /var/lib/symcon/modules/Intertechno/IntertechnoSwitch/module.php(46): IntertechnoSwitch->SendCommand(‚12,4,4,12,12,4‘)
#3 /var/lib/symcon/scripts/__generated.inc.php(1383): IntertechnoSwitch->SwitchOn()
#4 /var/lib/symcon/scripts/14036.ips.php(1): ITSW_SwitchOn(37577)
#5 {main}
thrown in /var/lib/symcon/modules/Intertechno/IntertechnoBase.php on line 158
PHP-Error-Error: Uncaught Error: Call to undefined function IPS_SendDataToParent() in /var/lib/symcon/modules/Intertechno/IntertechnoBase.php:158
Stack trace:
#0 /var/lib/symcon/modules/Intertechno/IntertechnoBase.php(151): IntertechnoBase->SendMsgToParent(‚0,0,12,11125,89…‘)
#1 /var/lib/symcon/modules/Intertechno/IntertechnoSwitch/module.php(66): IntertechnoBase->SendMsg(‚B‘, ‚5‘, ‚12,4,4,12,12,4‘)
#2 /var/lib/symcon/modules/Intertechno/IntertechnoSwitch/module.php(46): IntertechnoSwitch->SendCommand(‚12,4,4,12,12,4‘)
#3 /var/lib/symcon/scripts/__generated.inc.php(1383): IntertechnoSwitch->SwitchOn()
#4 /var/lib/symcon/scripts/14036.ips.php(1): ITSW_SwitchOn(37577)
#5 {main}
thrown
Error in Script /var/lib/symcon/modules/Intertechno/IntertechnoBase.php on Line 158Abort Processing during Fatal-Error: Uncaught Error: Call to undefined function IPS_SendDataToParent() in /var/lib/symcon/modules/Intertechno/IntertechnoBase.php:158
Stack trace:
#0 /var/lib/symcon/modules/Intertechno/IntertechnoBase.php(151): IntertechnoBase->SendMsgToParent(‚0,0,12,11125,89…‘)
#1 /var/lib/symcon/modules/Intertechno/IntertechnoSwitch/module.php(66): IntertechnoBase->SendMsg(‚B‘, ‚5‘, ‚12,4,4,12,12,4‘)
#2 /var/lib/symcon/modules/Intertechno/IntertechnoSwitch/module.php(46): IntertechnoSwitch->SendCommand(‚12,4,4,12,12,4‘)
#3 /var/lib/symcon/scripts/__generated.inc.php(1383): IntertechnoSwitch->SwitchOn()
#4 /var/lib/symcon/scripts/14036.ips.php(1): ITSW_SwitchOn(37577)
#5 {main}
thrown
Error in Script /var/lib/symcon/modules/Intertechno/IntertechnoBase.php on Line 158

Hallo
komm alleine nicht drauf denn Fehler zu finden.
Bitte um Hilfe.
Danke schon mal