Netatmo Modul - 38_netatmo.pm (Support)

Begonnen von Markus M., 17 Mai 2016, 12:37:34

Vorheriges Thema - Nächstes Thema

aski71

Leider nein.

Danke für das battery_percent Reading! Läuft.  :D

aski71

Hallo Markus,

was mir auffällt ist, dass ich nun ständig "Jemand hat sich in Ihr Netatmo-Konto eingeloggt" Emails bekomme.
Scheinbar mindestens bei jedem Neustart von fhem.
Manchmal aber auch unerklärlich zwischendurch. Woher kommt das?

VG Alex

Markus M.

#32
Zitat von: aski71 am 26 Mai 2016, 22:26:20was mir auffällt ist, dass ich nun ständig "Jemand hat sich in Ihr Netatmo-Konto eingeloggt" Emails bekomme.
Scheinbar mindestens bei jedem Neustart von fhem.
Manchmal aber auch unerklärlich zwischendurch. Woher kommt das?

Du benutzt die Wettervorhersage oder die home/away Funktion der Kamera. Dafür simuliere ich eine Netatmo App.
(Oder auch nicht, in diesem Fall bitte Beta 13 laden)
Jedes mal?! Ich hatte noch keine dieser Mails.

Du kannst das in den Email Settings deines Accounts abstellen wenn du die Funktionen benutzen möchtest.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

aski71

Über Nacht habe ich gesehen, dass die Email genau alle 60 Minuten kommt.
Ich probiere mal die Beta 13.

Markus M.

Zitat von: aski71 am 27 Mai 2016, 08:30:23
Über Nacht habe ich gesehen, dass die Email genau alle 60 Minuten kommt.
Ich probiere mal die Beta 13.

Hast du FORECAST mit 60 Minuten interval eingerichtet?
Wenn ja, probier's auch erst mal ohne.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

aski71

Zitat von: Markus M. am 27 Mai 2016, 08:32:43
Hast du FORECAST mit 60 Minuten interval eingerichtet?
Wenn ja, probier's auch erst mal ohne.

Ja, hab ich. Aber mit der neuen Beta scheint sich das zu erledigen. Ich beobachte noch.

Da ich gerade mit den readings der Vorhersage rumspiele:

fc2_wind_direction 247.5
fc2_windangle 112.5

Bin gerade davon etwas verwirrt:
Was ist der Unterschied zwischen wind_direction und windangle? Weiß das jemand?

aski71

Zitat von: the ratman am 27 Mai 2016, 09:46:40
wenns wie bei hm is, dann ist der angle die "schwankungsbreite" in der der wind daher kommt.
kannst dir so vorstellen: wenn der wind jetzt aus ner bestimmten richtung kommt, dann ja nicht zu 100% aus z.b. genau 247.5°, sondern er schwankt eben ein wenig herum. bei dir also um die 56.25" nach links und rechts ab.
mal gucken, ob ich dieses wetterfritzen-zeugs selber richtig kapiert hab *g*

Ah! Das ist eine sinnvolle Erklärung. So wird es sein. Danke.

aski71

#37
Zitat von: Markus M. am 24 Mai 2016, 23:54:46
Die Wettervorhersage ist jetzt auch mit drin, ebenso die Aussenluftqualität.

define netatmo_forecast netatmo FORECAST <station_id>

Bonuspunkte für denjenigen der die "Symbole" sinnvoll auf Yahoo Conditions mappt ;)

Ihre Bedeutung nach Stelle:
1: Sonne, 2: Mond, 3: Nix
0-2: klar bis stark bewölkt
0-3: kein Regen bis starker Regen
0-3: kein Schnee bis starker Schnee
0-3: kein Hagel bis starker Hagel
0: Normal, 1: Gewitter, 2: Warnung, 3: Nebel, 4: Wind, 5: Flutwarnung
zB: https://my.netatmo.com/images/my/app/weather_symbol/for300006@2x.png (Das ist als einziges nicht in der App, daher unbekannt)


Ich habe mich heute trotz meiner limitierten Perl-Skills mal dieser Sache angenommen. :)

Mein Skript ist für valueIcon einer Readingsgroup gedacht und wertet den Inhalt von _symbol_day und _symbol_night aus, lädt bei Bedarf das Icon von Netatmo herunter, speichert es lokal unter fhem/www/icons/default ab und löst einen rereadicons in den Web-Instanzen aus.
Sicher nicht 100% fehlertolerant, aber es funktioniert bei mir.

Ich stelle das mal hier mit einer kleinen Bastelanleitung zur Verfügung:

Bastelanleitung Wetterbericht Readingsgroup für heute inkl. Netatmo-Icon:


1) Auf dem FHEM Server Perl-Modul Image::Grab nachinstallieren:

# cpan Image::Grab

2) Script in 99_myUtils.pm einbauen

In fhem->Edit Files->99_myUtils.pm unter allen "use" Deklarationen diese hinzufügen:

use Image::Grab;

Vor der Zeile "1;" folgenden Code hinzufügen und mit "Save 99_myUtils.pm" abspeichern:

#########
# Netatmo Icons
#
sub
myNetatmoIcons($)
{
   my $pic = new Image::Grab;
   my $url = 'https://my.netatmo.com/images/my/app/weather_symbol/for';
   my ($value) = @_;
   my $icon = "unknown\@red";
   my $file = "/opt/fhem/www/images/default/netatmo-";

   # Wenn der übergebene Wert nicht 6 Stellen hat oder diese 6 Stellen nicht nummerisch sind,
   # Default-Icon unknown in rot zurück geben
   if ((length($value) != 6) || !($value =~ /^\d+$/)) {
      Log3 $value, 2, "not numeric and 6 digits long";
      return $icon;
   }

   # Prüfen, ob die Bilddatei existiert. Wenn nicht, holen und abspeichern
   $file = $file . $value . ".png";
   if (! -e $file ) {
      $url = $url . $value . "\@2x.png";
      $pic->url($url);
      if ( ! $pic->grab ) {
         Log3 undef, 2, "image could not be retreived: $!";
         return $icon;
      }
      if (! open(IMAGE, ">".$file) ) {
         Log3 undef, 2, "file could not be opened for saving: $!";
         return $icon;
      }
      #binmode IMAGE;  # for MSDOS derivations.
      print IMAGE $pic->image;
      close IMAGE;
      fhem("set WEB rereadicons");
      fhem("set WEBphone rereadicons");
      fhem("set WEBtablet rereadicons");
   }

   # Wenn wir bis hierher gekommen sind, sollte das image existieren
   $icon = "netatmo-" . "$value";
   return $icon;
}


3) Readingsgroup definieren

In fhem->Edit Files->fhem.cfg die Readingsgroup definieren:
(Achtung! Vorher muss natürlich mit dem netatmo Modul ein FORECAST namens wForecast angelegt worden sein. Heißt der bei Euch nicht wForecast, dann einfach wForecast in der ersten define-Zeile durch Euren Namen ersetzen.)

define WetterHeute readingsGroup wForecast:fc0\w+
attr WetterHeute group Wetterbericht
attr WetterHeute mapping { 'fc0_day' => 'Tag', \
  'fc0_max_temp' => 'Höchsttemperatur', \
  'fc0_min_temp' => 'Tiefsttemperatur', \
  'fc0_rain' => 'Niederschlagsprognose', \
  'fc0_sun' => 'Sonnenstunden',\
  'fc0_sunrise' => 'Sonnenaufgang',\
  'fc0_sunset' => 'Sonnenuntergang',\
  'fc0_symbol_day' => 'Tagesprognose',\
  'fc0_symbol_night' => 'Nachtprognose',\
  'fc0_uv' => 'UV-Belastung',\
  'fc0_wind_direction' => 'Windrichtung',\
  'fc0_windangle' => 'Windrichtungsschwankung',\
  'fc0_windgust' => 'Windstärke',\
}
attr WetterHeute notime 1
attr WetterHeute room Zentral
attr WetterHeute valueFormat { 'fc0_max_temp' => "%.0f ºC",\
   'fc0_min_temp' => "%.0f ºC",\
   'fc0_rain' => "%d mm",\
   'fc0_sun' => "%d h",\
   'fc0_wind_direction' => "%d º",\
   'fc0_windangle' => "%d º",\
   'fc0_windgust' => "%d km/h"\
}
attr WetterHeute valueIcon { 'fc0_symbol_day' => '{ myNetatmoIcons($VALUE) }',\
   'fc0_symbol_night' => '{ myNetatmoIcons($VALUE) }' \
}
attr WetterHeute valueStyle style="text-align:right;;"


Das ganze geht natürlich auch für "WetterMorgen" usw., wenn man überall fc0 durch fc1 usw. ersetzt.

Und wenn mir jetzt noch jemand sagt, wie man die Icons von linksbündig auf rechtsbündig und vertikal zentriert bekommt, dann bin ich ganz glücklich.  :D
Und vielleicht gibt es auch noch eine Möglichkeit eines Universalscripts, das die fc0 ... fc<n> Arie unnötig macht, weil da komme ich ans Ende meines Lateins. :D

Hoffe, dass ich bei der Bastelanleitung nix vergessen habe und freu mich, wenn das bei Euch auch klappt. Alles, wie gesagt, ohne Gewähr.

aski71

Zitat von: aski71 am 27 Mai 2016, 09:38:54
Ja, hab ich. Aber mit der neuen Beta scheint sich das zu erledigen. Ich beobachte noch.

Ich hatte jetzt das Interval des Forecasts nicht heraus genommen, und die stündlichen Emails waren trotzdem weg.

Ganz gelöst ist das Problem aber nicht, denn sporadisch kommt immer noch eine. Über Nacht war es jetzt alle drei Stunden.

rubbertail

Hola,

also, Thermostatansteuerung getestet - sieht supergut aus, danke viel tausendmal, Markus.

Hab die jetzt kombiniert mit HCS und den MAX!-Ventilen und schaffe damit eine Heizungssteuerung, die den Brenner meiner Gas-Etagentherme dann einschaltet, wenn irgendeiner der MAX!-Räume Heizbedarf meldet.

Dafür:
1. netatmo-App definiert unter https://dev.netatmo.com
2. netatmo-Account-Device definiert:
define netatmoAccount netatmo ACCOUNT <account-email> <account-Password> <netatmo-app-clientID> <netatmo-app-clientSecret>
3. Devices anlegen lassen:
set netatmoAccount autocreate
4. Netatmo-Thermostat kontrolliert (wurde über autocreate aber angelegt):
define netatmoThermostat netatmo THERMOSTAT <Relay-MAC> <Thermostat-MAC>
5. HCS definiert:
define ThermenCtrl HCS netatmoThermostat
attr ThermenCtrl deviceCmdOn setpoint_mode max
attr ThermenCtrl deviceCmdOff setpoint_mode away


Sobald nun HCS an irgendeinem der MAX-Ventile Bedarf feststellt, wird der netatmo-Thermostat auf MAX geschaltet (und damit die Therme auf jeden Fall eingeschaltet); sobald kein Bedarf mehr besteht, wird der netatmo-Thermostat auf "away" geschaltet (und damit die Therme abgeschaltet - mit Frostsicherung durch die Untergrenze "away"-Temperatur).

Das hätte man zwar auch mit einem simplen Funk-Relay an der Therme auch geschafft - aber so bin ich von FHEM unabhängig. Wenn FHEM weg ist, läuft Thermostat wie MAX-Komponenten in deren normalen Programmen.

I am beghosted! Supergut und danke vielmals nochmal! :) Ich beobachte mal, ob das alles so klappt (grade siehts super aus), aber wegen mir: Rein ins Repository! :)))

Eine Frage noch: Der Wert "hg" bei den möglichen Setpoint-Modes - wofür steht denn der? Ist das dort der "Frostschutz", den ich in der Netatmo-Thermostat-App schalten kann?

Liebe Grüße
Martin
FHEM auf Raspi, CUL433, CUL868, RFXTRX433e, CULCuBE
FRITZ: Fritzbox7590AX, 6xFritzDECT301, 10xFritzDECT200, FritzRepeater 6000
MAX!: Fensterkontakte
netatmo: Wetterstation & Thermostat
Milights, IT, Withings, HUE

Markus M.

Zitat von: aski71 am 28 Mai 2016, 09:15:07Ich hatte jetzt das Interval des Forecasts nicht heraus genommen, und die stündlichen Emails waren trotzdem weg.
Ganz gelöst ist das Problem aber nicht, denn sporadisch kommt immer noch eine. Über Nacht war es jetzt alle drei Stunden.

Alle 3h wird das Token erneuert. Du kannst die Mails in den Settings unter my.netatmo.com abstellen. Ich weiss trotzdem nicht warum du sie bekommst - evtl. gehen sie weg wenn du dich mal mit einer richtigen iOS App anmeldest.


Zitat von: rubbertail am 28 Mai 2016, 11:41:06Eine Frage noch: Der Wert "hg" bei den möglichen Setpoint-Modes - wofür steht denn der? Ist das dort der "Frostschutz", den ich in der Netatmo-Thermostat-App schalten kann?

Genau der. Schön dass es funktioniert :)
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

aski71

Zitat von: Markus M. am 28 Mai 2016, 11:46:54
Alle 3h wird das Token erneuert. Du kannst die Mails in den Settings unter my.netatmo.com abstellen. Ich weiss trotzdem nicht warum du sie bekommst - evtl. gehen sie weg wenn du dich mal mit einer richtigen iOS App anmeldest.


Hm. Seltsam. Ich meld mich eigentlich regelmäßig mit der offiziellen iOS App an.
Habe auch ein Netatmo Script auf der CCU direkt laufen. Von dem kam bisher nie so eine Email.
Wo genau kann man das by my.netatmo.com abstellen? Ich finde da nix.

aski71

Noch 'ne Verständnisfrage: Beim Forecast kann man einen Radius angeben. Im Beispiel 0.05.
Was ist die Maßeinheit?  :D
Finde dazu nix.

Danke für all die Mühe!

P.S.: Die Email-Einstellung bei Netatmo hab ich inzwischen gefunden und abgestellt. Aber irgendwie solltest Du der Sache auf der Spur bleiben. Ich habe auch ein CCU2-Script, das ständig Abfragen macht und keine solchen Emails auslöst, obwohl das Token ebenfalls regelmäßig aktualisiert werden muss.

Markus M.

Zitat von: aski71 am 29 Mai 2016, 15:56:30
Noch 'ne Verständnisfrage: Beim Forecast kann man einen Radius angeben. Im Beispiel 0.05.
Was ist die Maßeinheit?  :D
Finde dazu nix.

Grad, wie Lat/Lon
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

satempfaenger

Hallo Markus noch eine Frage zu den Battery-Readings,
nach Update auf dem Account bzw fhem-Neustart werden die Readings ausgelesen und dann nach einer Stunde noch einmal, danach wohl nicht mehr.
Hast Du da eine Idee warum nicht?