[Modul] AirVisual / Luftverschmutzung

IPSymconAirVisual

Dokumentation auf Github

Kurzanleitung:

Mit dem Modul ist es möglich Werte von AirVisual auszulesen und in IP-Symcon abzuspeichern.

Anzeige von:

[ul]
[li]AirVisual Earth 3D
[/li][li]Luftgüte
[/li][li]Temperatur
[/li][li]Windgeschwindigkeit
[/li][li]Windrichtung
[/li][/ul]

Vorraussetzungen:

[ul]
[li]IP-Symcon 4.3
[/li][li]API Key von AirVisual
[/li][/ul]

Installation
Die IP-Symcon (min Ver. 4.3) Konsole öffnen. Im Objektbaum unter Kerninstanzen die Instanz Modules durch einen doppelten Mausklick öffnen.

In der Modules Instanz rechts oben auf den Button Hinzufügen drücken.

In dem sich öffnenden Fenster folgende URL hinzufügen:


https://github.com/Wolbolar/IPSymconAirVisual

und mit OK bestätigen.

Anschließend erscheint ein Eintrag für das Modul in der Liste der Instanz Modules.

Webfrontansicht:
AirVisual_webfront.png

In Deutschland ist meist alles grün. Betrifft eher Indien, China, aber auch die Nachbarländer im Osten wo durchaus mal sehr ungesunde Luftverschmutzungswerte erreicht werden.

Danke für das Modul läuft auch unter 5

Wichtig ist nur das Abfrage Intervall nicht zu gering einzustellen. Wie oft letztendlich abgefragt werden darf, hängt vom API Modell ab. Wenn man die kostenfreie Community API nutzt sind das 10,000 calls/month, das kann man dann ja ausrechnen, ansonsten braucht man ein anders API Modell. Es gibt wohl aber auch ein Tageslimit an Calls, ich habe das Intervall bei mir auf 5000 Sekunden stehen, so oft ändert sich da ja auch nix. Falls man ins Limit läuft, steht das dann aber auch in der Antwort, zu finden im Debug Fenster der Instanz.

Hallo Fonzo,
für NRW erhalte ich folgenden Fehler.

Hast du dafür eine Erklärung?

Gruß
Kai

Ich schätze das liegt irgendwie an Leerzeichen im Ländernamen. Ich habe mal eine einzelne Zeile ergänzt, kannst Du mal ein Update machen und schauen ob der Fehler dann weg ist?

Hi Fonzo,

scheint zu funktionieren.
Wenn ich auf Aktualisieren klicke, erhalte ich jetzt diese Information

2018-03-08 20_26_10-IP-Symcon Management Console [IP Symcon].png

Gruß
Kai

Was ist denn im Modul als Ort eingestellt, welche IP-Symcon Version wird denn benutzt, damit ich das mal versuchen kann nachzustellen.
Ich habe nochmal ein Update gemacht, ist der Fehler jetzt dann weg?

Hallo Fonzo,

nach dem zweiten Update scheint der Fehler behoben zu sein.

Ich nutze IPS 4.4
Der Fehler trat bei Düsseldorf, Neuss und Mönchengladbach auf.

Gruß
Kai

Hallo Fonzo,

Sieht sehr gut aus.

Ich logge bei mir seit einiger Zeit die Daten meiner AirVisual Nodes in IPS und bin wie immer nicht dazu gekommen, ein Modul daraus zu machen :smiley:

Vielleicht könntest Du auch die Möglichkeit hinzufügen, die Daten bestimmter Nodes abzufragen? Der beste Ansatz wäre hier nach dem Account Login zu fragen. Dann ist es möglich die Daten der Nodes, die im Account registriert sind, über die API abzufragen. Falls es helfen könnte, kann ich gerne meine Skripte hier posten oder Dir senden.

Zum Abfrage Intervall. Bei Outdoor Daten ändert es sich in der Tat nicht viel. Bei Indoor jedoch sehr schnell. Ich frage die Daten bei mir alle 10 mn ab, was auch ungefähr der kleinste mögliche Wert für das kostenlose API Modell ist.

Gruß,

Zapp

Meinst Du mit Node eine Station?

Dazu gibt es drei Methoden

Get nearest station data (IP geolocation)


AirVisual_GetNearestStationData(int $airvisual_object_id)

Get nearest station data (GPS coodinates)


AirVisual_GetNearestStationGPSData(int $airvisual_object_id, float $latitude, float $longitude)

Get specified station data


AirVisual_GetStationData(int $airvisual_object_id, string $station, string $city, string $state, string $country)

Ja mach mal gerne, falls da was fehlt kann ich es dann ja noch ergänzen.

Hallo Fonzo

ich bekommen immer eine Fehlermeldung:


13.05.2018 19:05:10 | TimerPool | AirVisual (AirVisualDataUpdate): <br />
<b>Notice</b>:  Undefined property: stdClass::$wd in <b>/var/lib/symcon/modules/IPSymconAirVisual/AirVisual/module.php</b> on line <b>791</b><br />

Grund: in der erhalten JSON-Struktur sind anscheinend nicht (immer) alle Elemente enthalten. Bei mir (ich verwendet Essen), fehlt wd (Windrichtung).

Ich habe eine Anpassung gemacht, das das Vorhandensein von den Elementen in „weather“ abprüft. Habe dir ein PR erstellt.

gruß
demel

Danke, habe ich übernommen.

Hallo Fonzo,

ich habe das Modul installiert. Es läuft einwandfrei, besten Dank! :wink:

Gruß
Thomas

Hat jemand das Modul noch erfolgreich in IPS eingebunden? Bei mir läuft es unter der neusten Version nicht. Er schreibt mir das mein API Key nicht mehr gültig sei und habe einen neuen angelegt aber ohne Erfolg.

Lg
Stefan

Bei mir läuft es noch, nur die Weltkugel ist weg. Die Werte bekomme ich noch.

Ok, ich bekomme aktuell diese Fehlermeldung:

03.12.2021, 05:20:53 | PHP                  | Error: Notice: Trying to access array offset on value of type bool
   Error in Script C:\ProgramData\Symcon\modules\.store\fonzo.ipsymconairvisual\AirVisual\module.php on Line 415
  137 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)
   44 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
  415 in modules\.store\fonzo.ipsymconairvisual\AirVisual\module.php (call IPSLogger_PhpErrorHandler)
  188 in modules\.store\fonzo.ipsymconairvisual\AirVisual\module.php (call CitiesList)
  8987 in scripts\__generated.inc.php (call DataUpdate)
    1 in C:\Windows\System32\- (call AirVisual_DataUpdate)

Das mit der Weltkugel ist mir auch aufgefallen. Die Verbindung wird bei mir von IQAir abgelehnt. Bekomme in meinem Bundesland auch nur zwei Städte angezeigt.