froggit WH4000SE mit IP-Symcon verbinden/auslesen/ändern???

Hallo,

die o.g. Wetterstation gibt es mit PC Software zum auslesen der Daten per PC. Ich gehe also davon aus es geht ohne die bereits vorgestellte Lösung mit der DNS Umleitung wie bei anderen.

Nun fehlt mir die zum Zielführende herangehensweis die WH4000SE per W-Lan direkt mit IP-Symcon zu verbinden.

Mit Wireshark habe ich gefunden das PC und Wetterstation miteinander reden, aber dann fehlt mir einfach das Wissen was die beiden da reden oder wenigstens ein Ansatz wie ich weiter machen sollte/kann.

Ich hoffe, vielleicht hat jemand interesse mir zu helfen.

:confused:

Ich habe es soweit geschaft, was ich senden muss um eine Antwort zu erhalten:

<?

#"255" "255" "VT" "0" "HT" "STX" "0" "0" "38 30 0a"

#$commandIn = chr(0xFF).chr(0xFF).chr(0x0B).chr(0x00).chr(0x06).chr(0x04).chr(0x04).chr(0x19);
#ffff0b0006040419
#ffff0b000605051b
#ffff0b000606061d
#ffff0b000607071f
#ffff0b0006080821
#ffff0b0009020000808218
#ffff0b0009028000800218
#ffff0b000902000180831a
#ffff0b000902800180031a
#ffff0b000902000280841c
#ffff0b000902800280041c
#ffff0b000902000380851e
#ffff0b000902800380051e
#ffff0b0009020004808620
#ffff0b0009028004800620
#ffff0b0009020005808722
#ffff0b0009028005800722
#ffff0b0009020006808824
#ffff0b000902e887900116
#ffff0b000902c08890dac8
#ffff0b000902d28890ecec

$vz = 1000;



Switch ($_IPS['SENDER'])

    {

    Case "Execute":
	
	echo $_IPS['SENDER'] ,"
" ;
	
    Case "TimerEvent":

	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x06\x04\x04\x19")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x06\x05\x05\x1B")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x06\x06\x06\x1d")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x06\x07\x07\x1f")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x06\x08\x08\x21")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x09\x02\x00\x00\x80\x82\x18")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x09\x02\x80\x00\x80\x02\x18")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x09\x02\x00\x01\x80\x83\x1a")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x09\x02\x80\x01\x80\x03\x1a")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x09\x02\x00\x02\x80\x84\x1c")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x09\x02\x80\x02\x80\x04\x1c")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x09\x02\x00\x03\x80\x85\x1e")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x09\x02\x80\x03\x80\x05\x1e")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x09\x02\x00\x04\x80\x86\x20")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x09\x02\x80\x04\x80\x06\x20")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x09\x02\x00\x05\x80\x87\x22")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x09\x02\x80\x05\x80\x07\x22")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x09\x02\x00\x06\x80\x88\x24")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x09\x02\xe8\x87\x90\x01\x16")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x09\x02\xc0\x88\x90\xda\xc8")); // Kommando senden
	IPS_Sleep($vz);
	CSCK_SendText(49716 /*[Client Socket]*/, ("\xff\xff\x0b\x00\x09\x02\xd2\x88\x90\xec\xec")); // Kommando senden
		

	 break;
	 
    Default:
	echo $_IPS['SENDER'];
    break;

}


?>

Als Empfang leite ich es einfach nur erstmal weiter:

<?


Switch ($_IPS['SENDER'])
    {


	Case "RegisterVariable":
	
	
        $data = $_IPS['VALUE'];   
		
        echo $_IPS['SENDER']."
", "EMPFANGEN: " ."
" .$data;
		
		#$data1 = json_decode($data);
		#var_dump($data1);
		
	break;
    
	Default:
    break;
}
?>

Darauf erhalte ich die Antwort wo die Wetter Daten drin versteckt sind:

siehe Dok1 und Dok2:

nun mei Problem:

wie bekomme ich aus dem Datensalat meine Werte oder muss ich die Empfangenen Zeichenketten irgenwie decodieren?
Was könnte ich alles Versuchen um an die Werte zu gelangen oder kommt es jemanden bekannt vor wie womit ich decodieren oder umwandeln muss…

VG
Sven

Dok2.pdf (102 KB)

Dok1.pdf (98.4 KB)