Sainlogic Professionelle WLAN Funk Wetterstation - 10 in 1 Wi-Fi

Das ist aber sehr ärgerlich.
Hast trotzdem mal versucht ob da Daten von Außen ankommen?
Ich vermute da kommt wohl eher nichts an, aber man sollte es zumindest mal probieren.

Kann man bei Sendungen aus US Amazon die sonst übliche kostenlose Rücksendung nutzen?
Dann könntest Dir dieses Set hier bei einem deutschen Anbieter bestellen.
Evtl. kann man bei dem Shop den ObserverIP auch separat bestellen.
Von dem Shop habe ich meinen bezogen und der ist 868 MHZ und funktioniert.
Ich sende derzeit doppelt Daten.
Das Display der Wetterstation geht an IPS und von IPS per Upload zu Wunderground.
Der ObserverIP empfängt die Daten parallel und sendet diese direkt zu Wunderground (separater Account) und zu AmbientWeather.

War einfach zu voreilig, deswegen schreibe ich es ja, nicht das jemand auf die Idee kommt auch aus der USA zu beziehen. Kommt leider nichts an, es liegen ja aber auch keine Daten vor die das Ding verschicken könnte.

Aktuelles Snapshot für TP-Llink Router, Modell TL-WR841N Version 13:

Hierzu siehe https://downloads.openwrt.org/snapshots/targets/ramips/mt76x8/openwrt-ramips-mt76x8-tl-wr841n-v13-squashfs-tftp-recovery.bin

Läuft sehr stabil und funktioniert perfekt. Lief auch auf anhieb mit WPA2.

Für alle die einen TP-Llink Router, Modell TL-WR841N Version 13 haben und diesen ggf. wieder in den Ur-Zustand versetzen wollen bzw. müssen.

Um den Router wieder in den Ur-Zustand zurück zu versetzen, habe ich folgende originale FW von TP-Link gefunden, bei der der Header modifiziert wurde. Hierzu siehe https://cloud.disroot.org/s/oksmiAS4iM9mx7D.

Nach dem zurücksetzen kann man dann den aktuellen o.g. LEDE-Snapshot mit TFTP wieder installieren.

Hinweis: Wenn bereits ein LEDE auf dem Router geflashed wurde, braucht man ihn mit dem neuen, von der LEDE-Gruppe hochgeladenen Image, vorher nicht mehr auf die TP-Link Firmware downgraden. Man kann per TFTP die neue Version direkt über das alte LEDE flashen. So hab ich es auch gemacht und lief auf anhieb.

Gruß Tobias

Aufgrund diverser Diskussionen u.a, in WXforum.net glaubte ich, dass dieses Gerät mit Namen „ObserverIP“ IP-Kontakt zur Wetterstation aufnimmt (über den offenen Port 45000), die Wetterdaten abruft und sie dann in die Cloud zu irgendenem Vermarkter schickt.

Und meine Hoffnung ist (oder war ?) dass man, wenn man ein solches Gerät im eigenen LAN hat, das Protokoll zwischen Wetterstation und ObserverIP analysieren kann und schlußendlich mit IPS emuliert.

Ist dem jetzt etwa nicht so? :banghead:

Viele Grüsse
Harald

Der ObserverIP kommuniziert mit der Außeneinheit per Funk also hier in EU 868 MHZ.
Im Prinzip macht er das selbe wie das Display, dass bei der Wetterstation dabei ist,
nur mit dem Unterschied, dass es einen RJ45 Netzwerkschnittstelle hat (kein WLAN erforderlich).
Man den Upload zu Wunderground und AmbientWeather im Webinterface einrichten kann (benötigt keine App am Smartphone).
Durch den Netzwerkanschluss und dem Webinterface ist alles einfacher zu managen.
Man kann den Traffic zwischen dem ObserverIP, Wunderground und AmbientWeather leichter umbiegen bzw. mit loggen.
Das Display der Wetterstation kann keine Wetterdaten zu Ambient Weather uploaden, das geht nur mit dem ObserverIP.
Zumindest bis Dato.

Vielen Dank für die ernüchternde Erklärung zur Funktion des ObserverIP :mad:

Dann bleibt ja nur noch übrig, das Protokoll zwischen dem Wetterstation-Display und einem Smartphone während der Einstellung eines Wetterdaten-Vermarkters zu analysieren :banghead:
Oder läuft das im 2ten Schritt (wenn bereits eine WLAN-Verbindung eingerichtet wurde und nachträglich der Wetterdaten-Vermarkter gewechselt wird) auch nicht über das WLAN?

Ich frage jetzt nicht ob das jemand in Angriff nimmt :loveips:, könnte ich ja auch, wenn ich einen Hub (Switch ohne MAC-Filterung), Wireshark installiert und einige Kenntnisse zur Prozedur hätte.

Viele Grüsse
Harald

Da die Kommunikation zwischen Wetterstation und dem Display bzw. ObServerIP per Funk abläuft gestaltet sich das denke sehr schwierig das direkt aus IP-Symcon herraus zu machen. Dazu bräuchte man dann einen 868 MHZ Empfänger der das Funkprotokoll der Wetterstation versteht.

Was vielmehr interessanter wäre, wie die Daten vom Observer hochgeladen werden. In der Fimware sieht man zumindest an welche URL Daten geschickt werden. Die Frage ist wie generiert sich der Passkey der muss wohl aus der MAC abgeleitet werden.

Doof ist diese ist dort wohl nicht bestellbar oder zumindest zur Zeit wohl nicht lieferbar und etwas vergleichbares habe ich nicht gefunden.

Das war nicht mein Ansatz!
Ich hätte einfach gerne das ‚Sesam-öffne-Dich‘-Passwort, das man über LAN an den Port 45000 sendet und den Zugriff zu den im Wetterstation-Display gespeicherten Daten ermöglicht.
Eine solche Prozedur muß doch in der Firmeware des Wetterstation-Display implementiert sein, wozu ist sonst der der Port 45000 offen (wird in Fing als ciscopop, Cisco Postoffice Protocol for Cisco Secure IDS benannt) ?

Viele Grüsse
Harald

Also ich hab mal alles mit Port 45000 probiert. Man kann Kommandos senden und erhaelt auch entsprechende Antworten.
Folgendes sind alle Kommandos die existieren. 5 kann ich per Script benutzen. Kommando 34 und 35 sehen nach einem
anderem Login fuer einen anderen Server ( Ambient etc ? )

// 			CommandsHEX	:	
//							1E	(30)		??
//							1F	(31)		??
//							20	(32)		Get Wunderground Login
// 							21	(33)		Set Wunderground Login
//							22	(34)		??
//							23	(35)		??
//							24	(36)		Get Weathercloud Login
// 							25	(37)		Set Weathercloud Login
//							26	(38)		??
// 							50	(80)		Request Softwarestand 

Nicht unbedingt, der Port ist ja primär dazu da das ein Firmwareupdate stattfinden kann, bzw. Einstellungen wie Wunderground Station ID und Passwort auf dem Gerät abgelegt werden können. Ob es überhaupt irgendeine Möglichkeit gibt bzw. ob die Firmware es vorsieht Daten ab zugreifen und nicht das Display eben ausschließlich Daten sendet ist ja offen. Wenn überhaupt sehe ich eher die einzige Möglichkeit darin herauszufinden wie ein Firmware Update funktioniert und woher die App die Firmware bezieht. Dann könnte man eventuell einfach eine Feld für eine zusätzliche URL in der Firmware hinterlegen und die modifizierte Firmware aufspielen. Dann würde auch der Teil mit dem Umleiten der Daten wegfallen da dann das Display direkt an die URL sendet die in der Firmware hinterlegt sind.

Könntest Du bitte mal das komplette Skript posten?, wäre nützlich mal was auszuprobieren

Viele Grüsse
Harald

Das war ja die Hoffnung, die mich bisher davon abgehalten hat, in die Tiefen der Port-Umleitung einzusteigen:p

Hier mit einer erweiterten Beschreibung was bei den anderen Kommandos kommt

//******************************************************************************
// 			CommandsHEX	:	
//							1E	(30)		Kein Parameter liefert immer eine 11HEX
//							1F	(31)		Kein Parameter liefert immer eine 00HEX
//							20	(32)		Get Wunderground Login - funktioniert
// 							21	(33)		Set Wunderground Login - funktioniert
//							22	(34)		?? liefert 3 Werte(Strings) zurueck
//							23	(35)		?? kann 3 Werte(Strings) setzen
//							24	(36)		Get Weathercloud Login - funktioniert
// 							25	(37)		Set Weathercloud Login - funktioniert
//							26	(38)		Liefert die MAC-Adresse
// 							50	(80)		Request Softwarestand - funktioniert 
//
//	Auf allen anderen gesendete Daten gibt es keine Reaktion
//******************************************************************************

	$IP = "192.168.1.91";

	// Setzt die Wunderground Login Daten
	// Request(33,"xxxxxx","xxxxxxx");
	
	// So setzt man 3 Werte
	// Request(35,"123456","xxxxxxx","000000");
	// die auch hiermit ausgelesen werden
	// Request(34);
	
	// Liefert den Softwarestand
	 Request(80);

function Request($command,$parameter1=false,$parameter2=false,$parameter3=false)
	{
		switch ($command)
			{
				case 80 :	$data = chr(80);
							$data = $data . chr(countbytes($data)+2);
							$data = $data . chr(checksumme($data));
							$result = DoRequest($data);
							return $result;	
							break;	

				case 30 :	$data = chr(30);
							$data = $data . chr(countbytes($data)+2);
							$data = $data . chr(checksumme($data));
							$result = DoRequest($data);
							return $result;	
							break;	

/*
				case 30 :	$data = chr(30);
							$data = $data . chr(3) . chr(33);
							$result = DoRequest($data);
							return $result;	
							break;	
*/
				case 31 :	$data = chr(31);
							$data1 = chr(countbytes($parameter1));
							$data1 = $data1 . $parameter1;
							//$data1 = $data1 . chr(countbytes($parameter2));
							//$data1 = $data1 . $parameter2;
							$data1 = $data1 . chr(1);
							$data = $data . chr(countbytes($data1)+3);
                            $data = $data . $data1;
							$data = $data .  chr(checksumme($data));
							$result = DoRequest($data);
							return $result;	
							break;	
				


				case 33 :	$data = chr(33);
							$data1 = chr(countbytes($parameter1));
							$data1 = $data1 . $parameter1;
							$data1 = $data1 . chr(countbytes($parameter2));
							$data1 = $data1 . $parameter2;
							$data1 = $data1 . chr(1);
							$data = $data . chr(countbytes($data1)+3);
                            $data = $data . $data1;
							$data = $data .  chr(checksumme($data));
							$result = DoRequest($data);
							return $result;	
							break;	
				
				case 32 :	$data = chr(32);
							$data = $data . chr(3) . chr(35);
							$result = DoRequest($data);
							return $result;	
							break;	

				case 34 :	$data = chr(34);
							$data = $data . chr(3) . chr(37);
							$result = DoRequest($data);
							return $result;	
							break;	

				case 35 :	$data = chr(35);
							$data1 = chr(countbytes($parameter1));
							$data1 = $data1 . $parameter1;
							$data1 = $data1 . chr(countbytes($parameter2));
							$data1 = $data1 . $parameter2;
							$data1 = $data1 . chr(countbytes($parameter3));
							$data1 = $data1 . $parameter3;
							//$data1 = $data1 . chr(1);
							$data = $data . chr(countbytes($data1)+3);
                            $data = $data . $data1;
							$data = $data .  chr(checksumme($data));
							$result = DoRequest($data);
							return $result;	
							break;	
				
				case 37 :	$data = chr(37);
							$data = $data . chr(3) . chr(40);
							$result = DoRequest($data);
							return $result;	
							break;	

				case 38 :	$data = chr(38);
							$data = $data . chr(3) . chr(41);
							$result = DoRequest($data);
							return $result;	
							break;	
				
			}	
				
	}	


function DoRequest($data)
	{
	GLOBAL $IP;

	$data = chr(255).chr(255).$data;
	
	echo "
Senddata HEX : ";

	$len = strlen($data);
	
	for($x=0;$x<$len;$x++)
		{
		$d = (ord($data[$x]));
		
		echo "[".$d."]";
		
		}



	$fp = fsockopen($IP, 45000 , $errno, $errstr, 30);
	if (!$fp) 
		{
    	$result =  "$errstr ($errno)<br />
";	
		} 
	else 
		{
    	fwrite($fp, $data);
    	stream_set_timeout ($fp,5); 
    	$result = fread($fp, 128);
    		
    	fclose($fp);
		}	
		
	echo "
Getdata HEX : ";

	$len = strlen($result);
	
	for($x=0;$x<$len;$x++)
		{
		$d = (ord($result[$x]));
		
		echo "[".$d."]";
		
		}

	echo " Getdata ASCII : [".$result."]";


	return $result;	
	}
 

function countbytes($data)
	{
	$count = strlen($data);
	return $count;	
	}	
	
		
function checksumme($data)
	{
	
	$len = strlen($data);
	$summe = 0;
	for($x=0;$x<$len;$x++)
		{
		$d = ord($data[$x]);
		$summe = $summe + $d;
		
		
		}
			
	return $summe;
	
	}
					
?>

Dann müsstest Du wohl in die Tiefen der Firmware Modifikation einsteigen ;), oder aber eben die Daten einfach zu Wunderground laden lassen und diese dann von dort wieder in IP-Symcon herunterladen.

Also die APP sucht auf folgender Seite nach dem aktuellen Update.
http://www.foshk.com/upload/update_firm/Ver.txt

Da stehen ja zumindest die Versionen drinnen, aber wo bekommt die App dann die eigentliche Firmware her? Bei so vielen unterschiedlichen Versionen könnte man ja vielleicht eine zusätzliche bauen und die dann auf das Display der Wetterstationen schieben.

Moin Jungs ,

Ich sende aktuell auch zu Wunderground und hol es mir mit dem Modul zurück , ich bekomme das NAT mit unifi einfach nicht hin. Aktuell scheint das die einfachste Lösung zu sein.

Gesendet von iPhone mit Tapatalk

Hallo Frauenhofer,

wo genau liegt das Problem mit dem Unifi?

Evtl. daran, dass iptables nicht korrekt läuft? Dann hilft Dir das evtl. weiter: Solved: IPTables - Ubiquiti Networks Community

Viele Grüße,

Burkhard

Hallo Burkhard,

Ich hab die 5.8.20 laufen und an der usg das 10g zum Switch genutzt . Das ist relativ neu , hast du es denn mit unifi hinbekommen? Ich hab mal 4 Stunden alles versucht und dann aufgegeben, denn lass es doch zu Wunderground laufen und dann zurück, das Ergebnis ist doch das gleiche oder ?

Gesendet von iPhone mit Tapatalk