[Modul] NetatmoWeather

Ja, keine Problem.

LG Tom

Änderungen gemacht, bitte updaten

Vielen Dank! Die angepassten Variablen passen.

Tom

Hallo demel24,

nur so zur Info.

Habe dein Modul unter Version 5 installiert da kommt unter Station einlesen eine Fehlermeldung
die mit der Umstellung auf Version 5 zusammenhängt.

Komme heute nicht dazu ein Sreen zu machen.

Hallo,#
#danke für die Info. Was meinst du mit „Station einlesen“? Im NetatmoWeather-Konfigurator „Importieren der Station“?

Ich habe gerade in meiner IPS-5-Testsystem Netatmo gelöscht und neu angelegt, ging ohne Meldung. Wäre prima, wenn Du gelegentlich ein Screenshot oder genauere Beschreibung schicken kannst.

Nur eine Idee: hast Du das IO-Modul direkt vorher angelegt? der Konfigurator benutzt das I/O-Modul um an die Namen der Station zu kommen.

danke
demel

Reihenfolge weis ich nicht mehr.

Lösche mal das Modul und lege neue an berichte

Funktioniert hier leider auch nicht.
„Importieren der Station“ schlägt im Konfigurator fehl.

Fehlermeldung:

11.08.2018 11:36:42*| PHP*| Error: Error: Uncaught TypeError: Argument 1 passed to NetatmoWeatherConfig::Doit() must be of the type string, null given, called in /var/lib/symcon/scripts/__generated.inc.php on line 991 and defined in /var/lib/symcon/modules/NetatmoWeather/NetatmoWeatherConfig/module.php:93
Stack trace:
#0 /var/lib/symcon/scripts/__generated.inc.php(991): NetatmoWeatherConfig->Doit(NULL)
#1 /-(4): NetatmoWeatherConfig_Doit(33872, NULL)
#2 {main}
thrown
Error in Script /var/lib/symcon/modules/NetatmoWeather/NetatmoWeatherConfig/module.php on Line 93
134 in IPSLibrary/app/core/IPSLogger/IPSLogger.inc.php (call IPSLogger_Out)
33 in IPSLibrary/app/core/IPSLogger/IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
121 in IPSLibrary/app/core/IPSLogger/IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_PhpErrorHandler)
in IPSLogger_PhpFatalErrorHandler

Das Feld „Stationsname“ bleibt leer.

Das „NetatmoWeather“ Devices zeigt die Meldung „unsupported Module“ im Objektbaum.

Hallo, die fehlermeldung sehe ich jetzt, allerdings nur, wenn ich keine Station in der Combo auswähle.
Die Fehlermeldung ist natürlich nicht ok, aber noch weis ich nicht wie ich die unterdrücken kann - das Verhalten hat sich von IPS 4.4 zu IPS 5 an der Stelle verändert.

Aber ohne ausgewählte Station geht es so oder so nicht weiter.

Hast Du versucht die Combo mal zu öffnen?
Ggfs geht doch mal in das Netatmo-IO-Modul und ruf ein „aktualisieren“ auf und dann erneut in dem Konfiguration schauen, ob in der Combo etwas steht.
Wenn das nicht funktioniert, bitte mir Debug-Protokoll sowohl vom IO- als auch vom Konfigurator-Modul mailen.

Das sagt mir nix. Bitte mal ein Screenshot.

danke
demel

Das I/O habe ich vorher angelegt und es ist auch korrekt mit den Konfiguratir verlinkt. Alles OK/grün dort. Konfig gespeichter, usw. Ich werden hier die gleichen Zugangsdaten die 1:1 beim „Konkurenz“-Modul so funktionieren.

Bei mir bleibt die Combo-Box aber leer.

Die Fehlermeldung „unsupported Module“ steht unter der Spalte „Wert“ im Objektbaum der Legacy Konsole.

Kannst Du mir bitte die Debugs schicken?

Kannst DU bitte mal folgendes machen:

  • IO-Modul öffnen, Debug einschalten, auf „Daten aktualisieren“ drücken
  • Konfigurator-Modul neu öffnen, Debug einschalten und die Combo öffnen? Ist die dann immer noch leer?

gruß
demel

Hallo demel42,

Danke für das Modul.

Modul neu installiert funkt auf Anhieb.
Jedoch verschwindet der Stationsname ständig aus dem Konfigurator
Dann ist die Instanz rot gekennzeichnet und sagt Station unbekannt.
Neu eingetragen dann funkt es für eine kurze Zeit

Noch folgende Fuktionswünsche:

  • Batteriestand
  • Zeit des letzten Abgleich
  • Absoluter Luftdruck

eventuell weitere wie in der APP

prima, freut mich

das ist merkwürdig, habe ich bisher nicht beobachtet. Kannst Du mir Mitte sagen, welche IPS-Version Du benutzt?

Ich habe das seit Schrieben des Moduls unter 4.4 (raspi) und im Laufen der IPS-5-Betaphase parallel auf IPS 5 (raspi) laufen.

Produktiv bin ich auf PIPS 5 erst vor ein paar Tagen umgestiegen (Ubuntu).

Wenn IPS 5, welche Konsole - Web oder Legacy (die alte Windows-Konsole).

Steht irgend was im Symcon-Log (raspi/linux = /var/log/symcon/logfile.log …)

Ich habe heute noch einen kleine IPS-5-Fix angebracht, bitte aktualisieren.

Das sind alle Optionen, die Du in dem jeweiligen Modul einstellen kannst. Ich habe alle Optionen auch in dem hier im README.md des Moduls beschrieben.

Für die Batterie kann man das in jedem Modul (ausser im Hauptmodul, weil ja per Netzstrom versorgt) aktivieren, den abs. Luftdruck im Basismodul (weil ja nur hierin ein Barometer enthalten ist).

Die letzte Kommunikation gibt es in jedem Modul (ausser Basis) für die Kommunikation der Module zur Basis und in dem Basismodul die Kommunikation mit dem Netatmo-Server.
Es gibt auch eine kleine fertige Tabelle (HTML-Box) zum Basismodul mit der Übersicht über den komplette Status (inclusive. Wifi-/RF-Signal).

Gruß
demel

Hmm, mit der aktualisierten Version geht es.
Kann es sein, dass es nur mit aktivem Debug geht?

nein, das geht auch ohne Debug. :cool:

Der Fix, den ich angebracht habe ist der: wenn das I/O-Modul erstmalig installiert wurde, kann es anscheinend sein, das er nicht zyklisch Updates macht (Daher meine Bitte, das „Aktualisieren Daten“ einmalig auszulösen).

Den Debug hatte ich nur gebeten zu aktivieren, damit man im Zweifelsfall die Daten hat.

Der Konfigurator verwendet Daten des I/O-Moduls um alle verfügbaren Stationen von Netatmo auszulesen. Und wenn da keine Daten im I/O-Modul vorliegen, gibt es auch keine Stationen.

gruß
demel

Erstmal danke, dass du dich der Netatmo-Anbindung annimmst!

Aber, so ganz sauber läuft das doch noch nicht.

Er „vergisst“ den Stationsnamen nach jeder Abfrage wieder:


Wenn ich sie wieder auswähle ist aber „übernehmen“ trotzdem noch ausgegraut.

Unabhängig kommt immernoch die Meldung „unsupported module“. Kann es sein, dass du keinen Rückgabewert übergibst?

Habe noch 2 Fragen:
Warum brauchst du überhaupt eine I/O Instanz? Du öffnets ja keinen Port, sondern kominuzierst nur mit dem Internet. Das machen viele andere Module auch, ohne eine /O Instanz anzulegen. Ich kann mich irren, aber ich glaube dafür sind die nicht gedacht…

Wozu einen extra Konfigurator? Das kann doch alles in einer Instanz zusammen gefasst werden, oder?

Blasphemie! :smiley:
Er hat es genau richtig gemacht.
Alles andere wäre Quark. Das kannst du gerne als Script in IPS umsetzen. Aber als Modul ist es schon korrekt das man dies trennt.
Michael

PS: Gibt schon genügend andere Module mit eigenen IO, welche auch ‚nur‘ mit dem Inet reden :wink:

Da habe ich wohl Jehova gesagt :slight_smile:

Gut, dann lasst uns weietr an den Bugs arbeiten…

Er „vergisst“ den Stationsnamen nach jeder Abfrage wieder:

Die Meldung mit dem „unsupported Module“ verstehe ich jetzt, das kommt immer dann, wenn es mehr andere Module gäbe als die Innen-, Aussen-, Wind- und Regen Module.

Also ich brauche auf jeden Fall den Debug vom I/O-Modul, kannst Du mir das bitte schicken? Ich muss schauen, was da in deinem Daten so an Modulen kommt.

Ich werde morgen mal in meinem Test-IPS das komplette Netamo löschen und neu aufbauen. Mal schauen, was passiert.

Noch zwei weitere Fragen:
a) welche IPS-Version auf welcher Platform?
b) welche Konsole (Web- oder Legacy)?

Ja, im Prinzip schon, aber dann müsste jedes Modul selbst die Kommunikation machen, ich habe die Vollausbaustufe, bedeutet 7 Module, die kommunizieren müssten. Man bekommt ja von Netatmo immer alle Daten zu allen Modulen in einem Rutsch.

nun ja, das ist eine Grundsatzfrage. Der Konfigurator sorgt dafür, das alle Module angelegt werden, die der Benutzer bei Netwatmo hat. Und alles in einem Modul zusammen … geht natürlich, hatte ich ganz zu Anfang auch, da gab es die Variable für dien Temperatur in dem Großen Modul halt 5x (Basismodul_Temperatur, Innenmodul1_Temperatur, Innenmodul2_Temperatur usw.) Ist natürlich nicht wirklich schick.
Das in einzelnen Modulen zu haben entspricht auch eher der Philosophie von Symcon.

Gruß
demel

Ist ein ganz einfaches Netatmot-Set out of the Box (Innenmodul + 1 Aussenmodul).

Das kommt, wenn man „Aktualisiere Wetterdaten“ drückt

http-get: url=https://api.netatmo.net/api/devicelist?access_token=58628ad5f7585XXXXXXXX502f|131e52cc243c4411425977XXXXXXXXXXXXXXX

=> httpcode=200, duration=0,41s

data={„body“:{„modules“:[{"_id":„02:00:00:28:ef:dc“,„main_device“:„70:ee:50:28:f4:b0“,„type“:„NAModule1“,„data_type“:[„Temperature“,„Humidity“],„module_name“:„Garten“,„firmware“:46,„last_message“:1534008484,„last_seen“:1534008445,„rf_status“:62,„battery_vp“:5582,„dashboard_data“:{„time_utc“:1534008445,„Temperature“:24.6,„Humidity“:35,„min_temp“:15.7,„max_temp“:28.6,„date_min_temp“:1533961944,„date_max_temp“:1533998807,„temp_trend“:„down“},„date_setup“:{„sec“:1506169997,„usec“:0}}],„devices“:[{"_id":„70:ee:50:28:f4:b0“,„cipher_id“:„enc:16:nmNfMxxxxxRW+E5qnCA+xxxxxx+s7zcGJV+xxxxxxxxxxxxxxxp5IAGkTl0Lob3YGXD“,„type“:„NAMain“,„co2_calibrating“:false,„date_setup“:{„sec“:1506169996,„usec“:0},„firmware“:134,„last_status_store“:1534008486,„last_upgrade“:1506169999,„module_name“:„Wohnzimmer“,„station_name“:„xxxxxxxweg“,„place“:{„altitude“:111,„city“:„xxxxxxxx“,„country“:„DE“,„timezone“:„Europe/Berlin“,„location“:[x.xx8869,xx.xx014]},„wifi_status“:24,„data_type“:[„Temperature“,„CO2“,„Humidity“,„Noise“,„Pressure“],„dashboard_data“:{„time_utc“:1534008477,„Temperature“:25.5,„CO2“:533,„Humidity“:41,„Noise“:64,„Pressure“:1017.4,„AbsolutePressure“:1004.4,„min_temp“:23.7,„max_temp“:25.5,„date_min_temp“:1533938435,„date_max_temp“:1533991269,„temp_trend“:„stable“,„pressure_trend“:„down“},„modules“:[„02:00:00:28:ef:dc“]}]},„status“:„ok“,„time_exec“:0.087208032608032,„time_server“:1534008558}

Habe das Dubug etwas annonymisiert (Überall wo xxxx steht). Der Stationsname wird aber korrekt übermittelt.

Noch zwei weitere Fragen:
a) welche IPS-Version auf welcher Platform?
A: Version 5.0 unter Ubuntu 18.04.1 LTE

b) welche Konsole (Web- oder Legacy)?
A: Na lagcy, dass sieht man doch an den Screens :slight_smile: