Einsteiger Frage

als erstes kann ich meine IP sehen also die von der ccu

hmmm…ich habe keine CCu - aber hast Du dir das hier angeschaut: CCU: IP-Symcon :: Automatisierungssoftware ?

und dann die IP verwaltungskonsole, aber wo sehe ich ob eine verbindung zur CCU vorhanden ist ??

In der „logischen Baumansicht“ gibt es unten die I/O Instanzen. Dort muss Deine CCU zu finden sein

ich glaube da ist nix

wenn ich suchen gehe findet der ja auch garnix

Doch doch - da ist sie doch. Öffne sie einmal (doppelklick) und dann schau mal ob Du verbunden bist. Ich bin grad nicht vor meinem IPS, aber da müsste etwas wie „Gerät öffnen“ oder „Gerät verbinden“ stehen stehen…

bin mir jetzt echt unsicher ob die adressen richtig sind kann ich die auch testen oder würde ich die finden auf den rechner??

Sieht gut aus. Port’s in der Firewall freigegeben? Host ist die CCU, Ereignisserver ist der Rechner wo IPS läuft?

ja alles richtig gemacht, kann man die verbindung testen???

Hast du schon irgendeinen Aktor an der CCU angelernt? Wenn ja was?

Starte mal dieses Skript.

<?
/*
********************************************************************************
Create instances for new Homematic Devices from CCU device

Attention! It is necessary to have the XMLPatch-API installed (from
			  Homematic Inside

Creator: friendly
Version: 1.0
********************************************************************************
*/

$ccu_address          = 'http://192.168.1.56';   // Protocol and IP address of CCU
$category_new_devices = 'new Homematic Devices';  // Category root folder for new devices
$category_dummy_room  = 'no room';                // Category folder if room is not set
$logdir               = IPS_GetKernelDir().'/logs/';
$logfile
     = $logdir."hm_create_instances.log";

// nothing has to be changed below
// *****************************************************************************

$device_file          = $logdir."HM_devicelist.xml";
$room_file            = $logdir."HM_roomlist.xml";

// store reply from CCU for logging
$deviceList = getXmlApiList($ccu_address."/config/xmlapi/devicelist.cgi", $device_file);
$roomList   = getXmlApiList($ccu_address."/config/xmlapi/roomlist.cgi", $room_file);


// check every device from devicelist
foreach($deviceList as $attrib) {
  $HM_name      = utf8_decode($attrib['name']);
  $HM_address   = $attrib['address'];
  $HM_interface = $attrib['interface'];

  // interate over all channels of device
  foreach ($attrib as $channel) {
	 $HM_channel_name    = utf8_decode($channel['name']);
    $HM_channel_address = $channel['address'];
    $HM_channel_ise_id  = (integer)$channel['ise_id'];
    $HM_found = FALSE;

    // check if channel is already configured in IP-Symcon
    foreach ( IPS_GetInstanceListByModuleID("{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}") as $id ){
      $curr_address = HM_GetAddress($id);
		if($HM_channel_address == $curr_address){
		   $HM_found = TRUE;
		   $HM_instance = $id;
		}
	 }

	 // search room for channel
	 $HM_room = $category_dummy_room;
	 foreach ($roomList as $currRoom){
		$currRoomName = utf8_decode($currRoom['name']);
		foreach ($currRoom as $roomChannel){
			$roomChannel_ise_id =  (integer)$roomChannel['ise_id'];
			if($HM_channel_ise_id == $roomChannel_ise_id){
				$HM_room =  $currRoomName;
			}
		}
	 }

	 // create channel instance if address not exists
	 if($HM_found == FALSE){
		// get folder (category) hierarchy ( Category / Room / Device )
		$category = GetCategoryIDByName(0, $category_new_devices);
		$room     = GetCategoryIDByName($category, $HM_room);
		$device   = GetCategoryIDByName($room, $HM_name);

		// Create instance
		$HM_instance = IPS_CreateInstance("{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}");
      IPS_SetParent($HM_instance,$device);
      IPS_SetName($HM_instance, $HM_channel_name);
      HM_SetAddress($HM_instance,(string)$HM_channel_address);
		if($HM_interface == 'BidCos-RF'){
		  $protocol = 0;
		}
		else{
		  $protocol = 1;
		};
      HM_SetProtocol($HM_instance,$protocol);
      HM_SetEmulateStatus($HM_instance,true);
		// apply changes
		IPS_ApplyChanges($HM_instance);
	 }

	 // log channel attributes
	 logEntry ("Device: ".$HM_name." - ".$HM_interface." - Channel: ".
	   $HM_channel_name." (room: ".$HM_room.") - address: ".$HM_channel_address.
		" - IPS instance: ".$HM_instance." - new created: ".
		($HM_found ? "no" : "yes")."
");
  }
}
function GetCategoryIDByName($ParentID, $name){
	global $IPS_SELF;
   $InstanzID = @IPS_GetCategoryIDByName($name, $ParentID);
	if($InstanzID === false){
		$InstanzID = IPS_CreateCategory();
		IPS_SetParent($InstanzID, $ParentID);
		IPS_SetName($InstanzID, $name);
		IPS_SetInfo($InstanzID, "this variable was created by script #$IPS_SELF");
	}
	return $InstanzID;
}

function logEntry($text) {
	global $logfile;
	if (strlen($logfile)>0) {
		$log=fopen($logfile,"a+");
		if ($log) {
	   	$d=date("r");
			fwrite($log,"$d $text");
 			fflush($log);
			fclose($log);
		}
	}
}

function getXmlApiList($url, $file){
   logEntry("Get config from: ".$url."
");
   $xml = @file_get_contents($url);
   if((strpos($http_response_header[0], "200") === false)){
	  logEntry("Error getting devices.
");
     return "";
   }
	// save Contents
   file_put_contents( $file, $xml );
   logEntry("Config written to ".$file."
");
   return simplexml_load_string($xml);
}
?>

Im Objektbaum sollte dann so etwas erscheinen.

19-09-2011 15-23-48.png

ja ne ganze menge aber das Wandthermostat ist am besten liegt neben mir:)

so man das ist nicht einfach…

das ist Ok, ist etwas in der Objektansicht dazu gekommen?

ja was denn :frowning:

So, hoffe das ich die ein wenig helfen konnte über TV. Bei weitere Fragen einfach hier melden.

dank BMW M3 habe ich die kiste zum laufen gebracht aber ich stelle gerade fest das Temperaturen nicht reinkommen seit 15:30 steht alles beim alten, die Aktoren kann ich aber alle ansprechen :frowning:

also so wie es scheind geht die Datenübertragung nur in eine Richtung von IPS zur CCU aber nicht zurück darum bekomme ich auch rückmeldungen zB fester offen :frowning:

Deaktiviere mal die Firewall bzw. Port 5544 muß frei sein

Lass mal das Script laufen.

<?
##################################################################################
# Zum überprüfen ob der entsprechende TCP-Port erreichbar ist oder geblockt wird #
# Für einen UDP Check muss ein udp// vor die IP-Adresse gesetzt werden.          #
##################################################################################

//$port = array(1012,49000 /*[Objekt #49000 existiert nicht]*/); // Fritzbox
$port = array(2000,2001,2002,5544); // Homematic. Für den Lanadapter muss nur Port 2001 und 5544 erreichbar sein
//$port = array(5432);

for($i=0; $i<count($port); $i++)
{
    $socket = fsockopen("192.168.1.45", $port[$i], $errno, $errstr); // IP Adresse anpassen
    if(!$socket)
    {
        echo "ERROR: $errno - $errstr
";
    }
    else
    {
        echo "Port: ".$port[$i]." ist erreichbar.
";
    }
}
?>