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

Hallo
Meine bervorzugte APP ist WS View . Dort wird auch ein Update angezeigt und installiert.
Teste mal ob die Station im WLAN erreichbar ist und welche Version du hast.
Trag die IP deiner Wetterstation in das folgende Script ein.

<?php

	$IP = "192.168.1.91";

	$mode = 80;
	
	Request($mode);

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;	
			}
	}
	
		
	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;
	
	}

Meine aktuelle Version ist EasyWeatherV1.4.0.
Getestet hab ich folgende APP
Ambient Tool
WS Tool
awnet
WS View

Nur WS View bietet die Version V1.4.0 an. Die anderen wollen eine aeltere Version installieren.
Sei sicher , dass nur eine APP aktiv ist. Wenn ich zb WS Tool starte findet er meine Station.
Wenn ich dann WS View starte findet er nichts. Muss erst WS Tool beenden. Warum das so ist weiss ich nicht.

Danke für deine Hilfe! Ich hab die App awnet benutzt und damit hat es geklappt… war zwar nicht ganz so einfach wie gedacht aber jetzt läuft sie. Ich musste erst noch ein wlan reapeter dazwischen setzen, dann hat es einwandfrei funktioniert. Warum das jetzt geklappt hat, frage ich mich selbst, da mein Router grade mal 2 Meter von dem Modul der Wetterstation weg steht.

Hallo
Nach dem letzten Update ist folgendes Problem immer noch da.
https://www.symcon.de/forum/threads/37643-Sainlogic-Professionelle-WLAN-Funk-Wetterstation-10-in-1-Wi-Fi?p=397745#post397745

Die Variable Windboe ist definert als m/s.
Hochgeladen wird sie nach Wunderground so :

      $param .= '&windgustmph=' . str_replace(',', '.', strval($this->MSToMPH(GetValueFloat($this->GetIDForIdent('Windgust')))));

Ist ja auch richtig MSToMPH.
Nur von der Wetterstation wird sie so eingetragen:

      if (isset($data['windgustmph'])) {
            $windgust = floatval($data['windgustmph']);
            $this->SendDebug('Weatherstation:', 'windgust: ' . $windgust, 0);
            if ($speed_unit == 1) {
                $this->SetValue('Windgust', $this->MilesToKilometer($windgust));
            } else {
                $this->SetValue('Windgust', $windgust);
            }
        }

Wird also von Miles in Kilometer umgewandelt. Sollte aber von Miles in MS sein.

Auch koennte man folgendes aendern beim Hochladen.
Von:

$param .= '&softwaretype=EasyWeatherV1.2.1';

In:

$param .= '&softwaretype='.GetValue($this->GetIDForIdent('Software_Type'));

Passt das jetzt so nach dem neusten Update?

Fuer mich sieht das gut aus, weil ich auf km/h stehe.
Ich finde die Abfrage nach der speed_unit braucht man hier garnicht weil eh ms gespeichert
werden soll. Wer mph eingestellt hat, hat das gleiche Problem.

if ($speed_unit == self::kmh) {
                $this->SetValue('Windgust', $this->MPHToMS($windgust));
            } else {
                $this->SetValue('Windgust', $windgust);
            }

Reicht wohl einfach

 $this->SetValue('Windgust', $this->MPHToMS($windgust));

Hallo,

leider habe ich heute Update in Modules und es wurde von der Console angeboten das Modul durch den neuen Modul-Store zu ersetzen.

jetzt bekomme ich die folgende Fehlermeldung:

04.08.2019 11:55:40 | TimerPool | WeatherStation (Sainlogic) (AmbientWeatherTimerUpdate): <br /><b>Fatal error</b>:  Uncaught TypeError: rawurlencode() expects parameter 1 to be string, int given in /var/lib/symcon/modules/.store/fonzo.ipsymconweatherstation/WeatherStation/module.php:1010
Stack trace:
#0 /var/lib/symcon/modules/.store/fonzo.ipsymconweatherstation/WeatherStation/module.php(1010): rawurlencode(197)
#1 /var/lib/symcon/modules/.store/fonzo.ipsymconweatherstation/WeatherStation/module.php(982): WeatherStation->GetParametersAmbientWeatherCloud()
#2 /var/lib/symcon/scripts/__generated.inc.php(3487): WeatherStation->Update_AmbientWeatherCloud()
#3 /-(1): WeatherStation_Update_AmbientWeatherCloud(11946)
#4 {main}
  thrown in <b>/var/lib/symcon/modules/.store/fonzo.ipsymconweatherstation/WeatherStation/module.php</b> on line <b>1010</b><br />

??

Andreas

PS Habe ein Update auf die Firmware 1.4.0 durchgeführt ohne Erfolg

Wechsel im Modul Store mal auf den Beta Kanal des Moduls dann sollte die Fehlermeldung hoffentlich weg sein. Die Fehlerbehebung in der Stable sollte die nächsten Tage folgen sobald eine Freigabe durch IP-Symcon erfolgt ist.

Hallo Fronzo,

Instanz löschen? Und danach neu anlegen?

Danke

Andreas

PS.
Modul gelöscht.
Im Store - Modul auf Beta
Im Store - Modul gelöscht und als Beta neu installiert
kurze Rückmeldung:
Instanz nicht gelöscht.
Dienst gestopt.
Dienst neu gestartet.
Variablen werden nicht aktualisiert.

04.08.2019, 13:53:08 | TimerPool | WeatherStation (Sainlogic) (AmbientWeatherTimerUpdate): <br /><b>Fatal error</b>:  Uncaught TypeError: rawurlencode() expects parameter 1 to be string, float given in /var/lib/symcon/modules/.store/fonzo.ipsymconweatherstation/WeatherStation/module.php:1029
Stack trace:
#0 /var/lib/symcon/modules/.store/fonzo.ipsymconweatherstation/WeatherStation/module.php(1029): rawurlencode(99)
#1 /var/lib/symcon/modules/.store/fonzo.ipsymconweatherstation/WeatherStation/module.php(1004): WeatherStation->GetParametersAmbientWeatherCloud()
#2 /var/lib/symcon/scripts/__generated.inc.php(3487): WeatherStation->Update_AmbientWeatherCloud()
#3 /-(1): WeatherStation_Update_AmbientWeatherCloud(11946)
#4 {main}
  thrown in <b>/var/lib/symcon/modules/.store/fonzo.ipsymconweatherstation/WeatherStation/module.php</b> on line <b>1029</b><br />



Nein nichts löschen lediglich auf Beta stellen und aktualisieren. Eine Zeile war wohl noch falsch, sollte mit einem Update jetzt weg sein.

Hallo Fonzo,

Daten kommen wieder an. Danke!

eine Fehlermeldung ist noch da:

04.08.2019, 16:29:11 | TimerPool | WeatherStation (Sainlogic) (AmbientWeatherTimerUpdate): <br /><b>Fatal error</b>:  Uncaught TypeError: trim() expects parameter 1 to be string, bool given in /var/lib/symcon/modules/.store/fonzo.ipsymconweatherstation/WeatherStation/module.php:1013
Stack trace:
#0 /var/lib/symcon/modules/.store/fonzo.ipsymconweatherstation/WeatherStation/module.php(1013): trim(false, '
')
#1 /var/lib/symcon/scripts/__generated.inc.php(3515): WeatherStation->Update_AmbientWeatherCloud()
#2 /-(1): WeatherStation_Update_AmbientWeatherCloud(11946)
#3 {main}
  thrown in <b>/var/lib/symcon/modules/.store/fonzo.ipsymconweatherstation/WeatherStation/module.php</b> on line <b>1013</b><br />

VG

Andreas

Ist jetzt hoffentlich weg.

Hallo Fonzo,

sind weg.

Danke

Andreas

Hallo …
ich habe mir die ELV Wetterstation WS980WiFi geholt und das Modul von Fonzo installiert. Die Daten kommen an, sind zum Teil aber falsch. Besonders Temp und Luftdruck liegt stark daneben.Ich habe sowohl die stable als auch die Beta versucht.
Firmware ist laut WSTool 1.2.2 (es gibt wohl eine neue und ich versuche gerade herauszubekommen wie ich die installiert bekomme)
Hat jemand noch eine Idee woran es liegen könnte ?

LG Dirk

…also ich habe unter „Einheiten Auswählen“ mal bei Temp auf Fahrenheit und bei Luftdruck auf Bar gestellt.
Dann stimmen die Werte (Temp wird jetzt mit dem richtigen Wert angezeigt -allerdings mit der Bezeichnung grad Fahrenheit) der Luftdruck stimmt, die Luftfeuchte nicht.
Bei der Aussentemp und einigen Anderen kommt leider kein Wert an.

Hallo nochmal.
Also ich habe das Skript von Heiko installiert. Dort werden alle Daten richtig importiert und auch die Einheiten stimmen. Beim Modul leider nicht. Für mich ist es nicht mehr so wichtig, da ja das Skript gut läuft. Trotzdem komisch…

LG Dirk

Ich schaue mir das bei Gelegenheit mal näher an dann kannst Du dann ja noch mal Rückmeldung geben.

Ich habe das Problem, dass ich die Station im Wlan habe, aber die Variablen bleiben leer.
Ich habe mal die Scripte die hier andere als Hilfe bekommen haben ausgeführt.


Senddata HEX : [255][255][80][3][83]
Getdata HEX : [255][255][80][21][17][69][97][115][121][87][101][97][116][104][101][114][86][49][46][52][46][52] Getdata ASCII : [ÿÿPEasyWeatherV1.4.4]


array(4) {
  ["name"]=>
  string(20) "EasyWeather-WIFI110F"
  ["mac"]=>
  string(15) "b4:e6:2d:b:11:f"
  ["address"]=>
  string(13) "192.168.6.206"
  ["port"]=>
  int(45000)
}

unter Debug sehe ich auch daten der Station

14.11.2019, 23:12:54 | Weatherstation payload: | ID=Sainlogic&PASSWORD=Symcon&indoortempf=70.7&tempf=36.3&dewptf=34.3&windchillf=36.3&indoorhumidity=58&humidity=93&windspeedmph=0.0&windgustmph=0.0&winddir=196&absbaromin=29.888&baromin=29.941&rainin=0.000&dailyrainin=0.012&weeklyrainin=0.012&monthlyrainin=0.012&solarradiation=0.00&UV=0&dateutc=2019-11-14%2022:12:52&softwaretype=EasyWeatherV1.4.4&action=updateraw&realtime=1&rtfreq=5 HTTP/1.0<CR><LF>Host: 192.168.6.30<CR><LF>Accept:/<CR><LF>Connection: Close<CR><LF><CR><LF>

Ich habe sie auch schon bei Wunderground angemeldet und eingetragen aber ohne Ergebnis. Wobei es eigentlich Lokal laufen soll später. Ich habe das Modul aus dem Store auf Beta. Einrichtung lief eigentlich alles gut, keine Meldungen, Gerät bei suche gefunden, Mac eingetragen.

Wo kann ich noch schauen bzw den Fehler suchen?

Gruß Daniel

Anscheinend kommen die Daten anders in IP-Symcon an als bei anderen Modellen. Ich habe mal eine Anpassung vorgenommen, Du kannst mal in der Beta ausprobieren ob die ankommenden Daten jetzt bei Dir auch in Variablen gespeichert werden.

Hallo Fonzo,

hattest du schon Zeit einen Blick darauf zu werfen? Ich habe das gleiche Verhalten, mit dem Skript bzw. dem Upload von der Wetterstation stimmen die Werte, allerdings stimmt die Temperatur nicht wenn das Modul die Werte abholt.

Gruß Bernd

Ich habe mal eine Frage zum Luftdruck, bei mir stimmt der nämlich leider überhaupt nicht.

Hatte auf irgendeiner Seite etwas zur Berechnung gelesen, wie gesagt stimmt das bei mir aber nicht.

Der Relative Luftrdruck auf dem Display der Station ist z.B. 991,9 hpa.
Daraus wird dann in IP Symcon anscheinend durch die Berechnung:

Unbenannt.JPG

Die 1049,7 sind aber nicht korrekt.

Laut WU ca. 1012,19 hPa sein.

Wie kommt es denn eigentlich zu dem „schlechten“ Wert den die Sainlogic von Haus aus liefert? Die momentan hinterlegte Formel korrigiert das aber leider nicht :(.

Was kann ich hier tun, evtl. muss ich beobachten wie weit die Werte abweichen, ob ein System erkennbar ist und dann den Wert eben selbst nochmal umrechnen.

Stimmt der Wert sonst bei allen anderen und ich bin der Einzige mit dem Problem?

Danke und Grüße
Stephan