Modul Meteobridge / Meteohub (z.B. für Davis Vantage, Vue, ...)

Moin, ist es „normal“, dass das meteobridge Modul so schimpft oder liegt das an meiner Konfig ?

22.05.2020, 18:14:09 | TimerPool | Meteobridge (UpdateTimer): <br />
<b>Warning</b>:  simplexml_load_file(): Detected recursion in catalog -//GlobalTransCorp//DTD XML Catalogs V1.0-Based Extension V1.0//EN in <b>/var/lib/symcon/modules/Symcon_Meteobridge_Meteohub/SymconMeteobridgeMeteohub/module.php</b> on line <b>244</b><br />
<br />
<b>Warning</b>:  simplexml_load_file(): Detected recursion in catalog -//GlobalTransCorp//DTD XML Catalogs V1.0-Based Extension V1.0//EN in <b>/var/lib/symcon/modules/Symcon_Meteobridge_Meteohub/SymconMeteobridgeMeteohub/module.php</b> on line <b>244</b><br />

und ich hätte noch einen Erweiterungswunsch/vorschlag: Es wäre cool, wenn das Modul so wie wswin auch die Sonnenscheindauer berechnet. Anhand der Globalstrahlung und der Elevation ist das vom Algorithmus übersichtlich:

Man berechnet mit 1368*sin(elevation) einen theoretischen Wert der Globalstrahlung unter der aktuellen Sonnenhöhe und vergleicht mit einem Schwellwert, den man im Modul einstellen könnte. Wenn man dann noch eine boolesche var angehen lässt (für Beschattungssteuerungen) und in einer Var die Tagessumme berechnet (für die tägliche Berechnung der Sonnenscheindauer), wäre es perfekt.

Aber natürlich kann man das auch ans Modul dranbasteln.

Hi,
also die Fehler kenne ich so nicht. Funktioniert sonst alles - hast Du einen Hinweis wo oder wann die Fehler auftreten. Das einzige, wo ich bei mir ab und an Fehler bekomme, ist wenn das WLAN mal zickt und ich zu oft abfrage. Ist aber selten und gibt andere Fehler.

Das mit der Tagesstrahlung muss ich mir ansehen - wobei ich glaube es noch nicht wirklich verstanden zu haben. Wenn Du eine Formal schickst (sowas war in dem Post - verstehe es aber noch nicht wirklich) dann kann ich gerne sowas einbauen. Ich muss es an das Modul, da ich den Archivtimer ins Modul bauen will und Werte für Regen in x Stunden abfragen/berechnen will.

Wenn Du auch Bodensensoren hast oder haben willst, dann schau mal hier - das ist mein aktuelles Projekt für die Bewässerungssteuerung. Ist aber noch nicht fertig. GitHub - elueckel/irrigation-control: Module to control irrigation within Symcon

Hi Enno,

die Warnings kommen bei jedem Aufruf, immer doppelt und alle 10s (das ist das Intervall). Auf der Configform habe ich auch bei jedem Bodensensor „Akteller Wert 0 ist nicht verfügbar“ - rechts neben den 4 Bodensensoren. Ich habe gar keine, die stehen alle auf „Aus“. Keine Ahnung, ob es damit zusammenhängt.

Die Erkennung des Sonnenscheins mache ich gerade so:

<?php
include("tools.php");
const KORREKTUR=0.5;

SetValueBoolean($id=CreateVariable("Sunshine", 0, $_IPS['SELF'], 0,''),(GetValueFloat(12433)>KORREKTUR*1368*sin(GetValueFloat(44731)*pi()/180)));

if ($_IPS['SENDER']=='Execute'){
    echo round(GetValueFloat(12433)/(1368*sin(GetValueFloat(44731)*pi()/180)),2);
    $buffer=AC_GetAggregatedValues (IPS_GetInstanceListByModuleID('{43192F0B-135B-4CE7-A0A7-1475603F3060}')[0],$id,1,time()-24*3600,time(),0);
    echo "
".round($buffer[0]['Duration']*$buffer[0]['Avg']/60,0)." Minuten Sonnenschein heute";
} 
?>

die id 44731 ist bei mir die altitude aus dem locator modul.

den Korrekturwert muss man nach seinem Geschmack einstellen. Aber 0.5 scheint bei mir ganz gut zu passen, heute Morgen schien die Sonne früh und er hat es sofort erkannt. Der Teil im execute ist derzeit nur dafür da, um die Sonnenscheindauer zu bestimmen und in IPS anzuzeigen. Weiß aber noch nicht, ob ich das brauchen werde …

Ah, ich hatte bisher nur in den php tuts geschaut, aber der Fehler wird hier erwähnt:

https://www.symcon.de/forum/threads/42853-simplexml_load_file-wirft-Warnung?p=418176

wahrscheinlich hast du eine andere IPS Version. Ich muss wohl mal wieder updaten :smiley:

kurze Frage: Lässt sich eine Erweiterung reinbasteln, mit der die Beleuchtung ein- und ausgeschaltet werden kann ?

Technisch muss es irgendwie gehen, per weews schaffe ich das und per wswin scheint es auch möglich. Ich vermute, dass das irgendwie über den weatherlinkip port 22222 machbar ist, zumindest verbindet sich weewx darüber mit der meteobridge.

Ich suche mal weiter nach Infos…

Moin,
da habe ich noch nichts gesehen (fände es auch gut). Also in der API der Meteobridge habe ich nichts gesehen. Ich frage mal bei denen an.

Ein kleiner Schritt weiter:

telnet meteobridge 22222
LAMP 1

schaltet die Lampen. Das geht direkt an der meteobridge, sofern der WLIP service läuft. Wenn du kein weewx nutzt, ist das schon eine Lösung. Für mich noch nicht, der weewx verhindert die Einwahl, und das Aus- und Einschalten des Dienstes dauert mir für den BMI einfach zu lange.

hmm … also bei mir kommt bei einem Telnet Aufruf nur Müll? Ich habe es mit Windows Telnet und Putty probiert - beides geht nicht. Wie kommst du da ran, dass du auch was eingeben kannst?

Nix besonderes, statt meteobridge eben den Host oder die IP, habe es aber aus Ubuntu probiert. Einfach telnet <ip> 22222 eingeben, dann müsste ein eingabeprompt kommen. Darin dann das lamp Kommando wie oben. Was kommt denn für ein Müll? Läuft bei dir irgendeine andere Software auf 22222 wie weewx oder wswin? Firewall?

Also ich komme auf die Bridge, aber es wird nichts sinnvolle angezeigt - also nur Chaos. Deswegen kann ich auch sonst nichts eingeben. Allerdings verwende ich Windows 10 und PuTTY.

Hab mich versehen, habe das nicht von Ubuntu gemacht, sondern einfach von der Konsole eines RasPi. Bei putty und ubuntu baut er bei mir auch eine Verbindung auf, zeigt aber ebenfalls nur Müll. Beim Raspi geht es, wenn du vorher mit apt-get install telnet das installierst. Es muss im telnet dann alles GROSS geschrieben werden. Bei Win10 muss irgendeine Codepage oder so etwas falsch sein.

Ich hab mal den Entwickler bei smartbedded angemailt, ob die das Schalten des Konsolenlichts nicht mit in die meteobridge aufnehmen,wäre ja schon ein sinnvolles Gimmick, Über den Port 22222 nützt mir nichts, da der eben von weewx belegt ist.

Aber: Es geht.

Geil, Ich habs hinbekommen, auch ohne WLIP.

Mach einfach einen normalen ssh zur meteobridge auf, also die Konsole mit Authentifizierung. Darin lassen sich die Lampen schalten, z.B. mit:

echo „LAMPS 0“ > /dev/ttyS0

zum Ausschalten und die 1 eben für an. Geht Ruckizucki.

Hier eine kleine Anleitung, wie es per php script geht.

es greift zurück auf die phpseclib, ist hier ja überall beschrieben, wie man es installiert.

dann:

<?php
//echo "LAMPS 0" > /dev/ttyS0
include('Net/SSH2.php');
$ssh = new Net_SSH2('host');
if (!$ssh->login('user', 'passw')) {
    exit('Could not logged in');
}
echo $ssh->exec('echo "LAMPS 1" > /dev/ttyS0');
?>

die 1 bei LAMPS dann für an, die 0 für aus.

Hi, schaue ich mir die Tage an … aktuell muss ich noch ein anderes Projekt abschließen.

Frage: Weist Du on die ssh2 auch auf der Symbox tut?

Genau weiß ich es nicht, aber warum nicht ? Allerdings muss diese lib natürlich da sein. Einfach die aktuelle phpseclib laden, in einen Pfad entpacken, in deinem IPS-Script includen, fertig. Kann man sicherlich auch für andere Gemeinheiten benutzen.

Daher wird es aber auch nicht so richtig praktisch sein, das in dein schönes Modul zu integrieren. Ich habe die Entwickler angeschrieben, ob man das nicht direkt in die Software von meteobridge so integrieren kann, dass es per http request geht. Das wäre natürlich viel eleganter und einfacher.

ich habe mir jetzt in IPS einfach eine Bool-Var gemacht und trigger dieses Script über ein ausgelöstes Ereignis:

<?php
include('Net/SSH2.php');

$ssh = new Net_SSH2('meteobridge');
if (!$ssh->login('meteobridge', 'meteobridge')) {
    exit('Could not logged in');
}
echo $ssh->exec('echo "LAMPS '.($_IPS['VALUE']?"1":"0").'" > /dev/ttyS0');
?>

Dann schaltet die Beleuchtung eben synchron zur Bool-Var. Mal schauen, ob das negative Auswrikungen hat, ich bin ein bisschen skeptisch, was IPS oder meteobridge dazu sagt, wenn die ssh-Verbindung ständig aufgebaut wird.

Hi Tim, hattedt du schon mit dem Menschen von Meteobridge gesprochen?

Hallo Enno

ich bin nun auch stolzer Besitzer einer 6163EU und einer Meteobridge-pro und bin natürlich noch am sammeln von Erfahrungen, da ja der Umstieg von der OREGON WMRS-200 schon gewaltig ist.

Das Wetter bei mir war die Tage auch recht langweilig und so weiss ich noch gar nicht ob auch alle Sensoren korrekt arbeiten…

Aber bei der Station Temperatur zeigt es mir Werte zwische 45 und 55 'C an welches vermutlich eher die Temperatur des internen Prozessors ist, als die RaumTemp der Station welche gerade gemütliche 25 'C anzeigt.

Weiter zeigt es mir bei Vorhersage auch noch nichts an.


Hast Du eine Idee wie ich das korrigieren kann?

Herzlichen Dank für die Unterstützung und herzliche Grüsse
Patrick

Hi Patrick,
sorry für die späte Rückmeldung - also die Station Temp scheint hier wirklich die Metebridge zu sein.

Bei mir kommt eine Vorhersage - kommt bei Dir jetzt was? Ansonsten kannst Du ja mal im Browser die URL unten aufrufen und schauen ob was kommt (natürlich UserName, Password und IP der Bridge passend eintragen :slight_smile:

http://’.$User_Name.’:’.$Password.’@’.$Server_Address.’/cgi-bin/template.cgi?template=[forecast-textdehtml]

Hallo Enno

nee, die Vorhersage kommt noch nicht und bei der Eingabe von http://’.$User_Name.’:’.$Password.’@’.$Server_Address.’/cgi-bin/template.cgi?template=[forecast-textdehtml] erscheint lediglich [forecast-textdehtml]

Ich habe die Meteobridge so eingestellt, dass diese die Daten via Funk direkt von der ISS erhält.
Bei dieser Einstellung erhalte ich alle Daten von der ISS. Aber eben nicht jene welche die Konsole noch zusätzlich zur Verfügung stellt oder welche die Konsole noch aufbereitet.

Wenn ich auf der Konsole „Retransmit“ einschalte, auf Kanal 2, (die ISS ist auf Kanal 1) so dass die Konsole die Daten auf Kanal 2 weitersendet und ich die Meteobridge umschalte, dass sie die Daten von der Konsole empfängt, springt der „Station Error“ kurz auf true, aber dann wieder auf false.
Aber es kommen dann praktisch gar keine Daten mehr im IPS an…

Denkst Du dass dies die Lösung sein könnte, die Daten von der Konsole, anstelle von der ISS zu empfangen?

Ich mache mich mal noch schlau wie genau ich die Meteobridge einstelle, damit diese die Daten von der Konsole empfangen kann…
Wenn jemand die Settings kennt bin ich natürlich auch hierfür dankbar :slight_smile:

Herzliche Grüsse
Patrick

Hier scheint sich Deine Bridge von meinem Nano zu unterscheiden. Schreibe die mal an - wenn die eine Idee haben welchen Datenpunkt ich abfragen kann, dann einfach melden und ich baue es ein.