Netatmo Modul - 38_netatmo.pm (Support)

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

Vorheriges Thema - Nächstes Thema

geforce28

Danke für die schnelle Antwort :)
Das wäre mir glaube ich zu lange...

Sorry, falls es jetzt ein bisschen Offtopic wird, aber:
Wie sieht es denn mit Konkurrenzprodukten aus ?
ELV hat ja da z.B. in der "SmartAlerts" Serie auch einen Regensensor.. Ist dieser schneller ?

Markus M.

Zitat von: geforce28 am 20 November 2018, 13:58:36
Wie sieht es denn mit Konkurrenzprodukten aus ?
ELV hat ja da z.B. in der "SmartAlerts" Serie auch einen Regensensor.. Ist dieser schneller ?
Ja, ist aber auch noch eine Wippe.
Was du möchtest ist wahrscheinlich ein Regensensor, kein Regenmesser.
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

Newbee

Hallo,

habe aktuell kein Zugriff mehr auf Netatmo. Weder FHEM noch die über die APP selbst ist ein Zugriff möglich, der Browser Zugriff schlägt auch fehl.

Hat einer von euch die selben Probleme?

Danke und Gruß Newbee
Intel-NUC mit ubuntu server 20.04; FHEM 6.0
HM, Dect, Netatmo, Hue

Eisix


Newbee

Nach drei Std. stille lief alles wieder.

Dennoch habe ich jetzt folgende Meldungen im LOG

2018.11.23 06:04:16 2: netatmo_XXX_XX_XX_XX_XX_XX: dataTypes missing, re-initializing device

Bekomme diese Meldung für jedes Devices

Grüße Newbee
Intel-NUC mit ubuntu server 20.04; FHEM 6.0
HM, Dect, Netatmo, Hue

gerhardg

Serverausfall => die KOmmentare bei Twitter dazu sind köstlich  ;D

Markus M.

Zitat von: Newbee am 23 November 2018, 16:33:23
2018.11.23 06:04:16 2: netatmo_XXX_XX_XX_XX_XX_XX: dataTypes missing, re-initializing device
Bekomme diese Meldung für jedes Devices
Sind die dataTypes Internals denn jetzt wieder vorhanden, d.h. diese Meldung kam für jedes Device nur einmal?
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

Newbee

Zitat von: Markus M. am 23 November 2018, 21:01:38
Sind die dataTypes Internals denn jetzt wieder vorhanden, d.h. diese Meldung kam für jedes Device nur einmal?

Ich habe mir das jetzt nochmal angeschaut! Die Meldung kam im Abfrage Rhythmus für die Werte, für alle Devices.
Gehe jetzt davon aus das dies mit dem Serverausfall bei Netatmo zu tun hatte. Seit die Daten wieder abgerufen werden können ist die Meldung weg.
Intel-NUC mit ubuntu server 20.04; FHEM 6.0
HM, Dect, Netatmo, Hue

Helmi55

Hall Markus,

habe mir nun auch eine Wetterstation (2x innen, 1x außen, Wind und Regen) für unser Haus.
Funktioniert im Moment alles Besten.
Frage von einem Laien wie mir, wie kann ich den Wetterforecast z.B. analog Yahoo Wetter einbinden?
geht das? wenn ja wie bitte. Oder kann ich es anders darstellen?

danke und schönen 2. Advent
LG
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Markus M.

Zitat von: Helmi55 am 09 Dezember 2018, 17:56:31
wie kann ich den Wetterforecast z.B. analog Yahoo Wetter einbinden?
Ungefähr so (nur mit der ID deiner eigenen Station):
define netatmo_forecast netatmo FORECAST 70:ee:01:23:45:67
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

Helmi55

Hallo
Sorry da hab ich mich schlecht ausgedrückt.
Ja das habe ich eh gemacht. Aber ich hätte das gerne optisch aufbereitet.
Spalten pro Tag mit Symbolen für Wetter usw.
Danke Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Helmi55

Hallo docfred
Danke für deine Windumrechnung - funktioniert tadellos.

LG
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Helmi55

Hallo ich hab nochmals eine Frage bezüglich Wetterforecast Das ForecastModul funktioniert wunderbar und liefert auch die Werte fc0-6
Wie kann ich das in FHEM übernehmen dass es so ähnlich aussieht wie im NetatmoKonto
Im Moment stehe ich hier etwas auf der Leitung  - Danke


System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Helmi55

Hallo liebe Gemeinde
ich habe wieder ein Problem: ich habe versucht nach dieser Vorlage Icons zu generieren https://forum.fhem.de/index.php/topic,53500.msg455075.html#msg455075
Das ist meine 99_myUtils.pm
##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.

package main;

use strict;
use warnings;
use POSIX;
use JSON;
use Image::Grab;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

# Enter you functions below _this_ line.

sub
replaceJSON ($$) {
   my ($valToReplace, $value) = @_;
   $value = InternalVal("Ofen", "value", $value);
   Log3 ("Ofen", 3, "replaceJSON Internalvalue: $value");
   fhem ("get Ofen revision");
   my $json = ReadingsVal("Ofen", "controlsJSON","");
   Log3 ("Ofen", 3, "replaceJSON configsJSON: $json");
   return if ($json eq "");
   my $decoded = decode_json($json);
   my $result;
   for my $key ( keys %$decoded ) {
      $result .= "$key=";
      if ($key eq $valToReplace) {
         $result .= $value."&";
      } else {
         $result .= $decoded->{$key}."&";
      }
   }
   chop($result);
   Log3("Ofen", 3, "replaceJSON Result: $result");
   return $result;
}
sub Twilight_CompassPoint_T($) {
  my ($azimuth) = @_;

  my $compassPoint = "unknown";

  if ($azimuth      < 22.5) {
     $compassPoint = "N";
  } elsif ($azimuth < 45)   {
     $compassPoint = "N-NO";
  } elsif ($azimuth < 67.5) {
     $compassPoint = "NO";
  } elsif ($azimuth < 90)   {
     $compassPoint = "O-NO";
  } elsif ($azimuth < 112.5){
     $compassPoint = "O";
  } elsif ($azimuth < 135)  {
     $compassPoint = "O-SO";
  } elsif ($azimuth < 157.5){
    $compassPoint = "SO";
  } elsif ($azimuth < 180)  {
    $compassPoint = "S-SO";
  } elsif ($azimuth < 202.5){
    $compassPoint = "S";
  } elsif ($azimuth < 225)  {
    $compassPoint = "S-SW";
  } elsif ($azimuth < 247.5){
    $compassPoint = "SW";
  } elsif ($azimuth < 270)  {
    $compassPoint = "W-SW";
  } elsif ($azimuth < 292.5){
    $compassPoint = "W";
  } elsif ($azimuth < 315)  {
    $compassPoint = "W-NW";
  } elsif ($azimuth < 337.5){
    $compassPoint = "NW";
  } elsif ($azimuth <= 361)  {
    $compassPoint = "N-NW";
  }
  return $compassPoint;
}

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

1;


Was ich herausgefunden habe. es werden unter /opt/fhem/www. keine Icons angelegt?

und meine Userreadings für den Windmesser sind zerschossen:

Hier ein list vom Windmesser
Internals:
   DEF        MODULE 70:ee:50:36:f1:c2 06:00:00:03:1c:b0
   Device     70:ee:50:36:f1:c2
   IODev      netatmo
   LAST_POLL  2018-12-29 15:05:05
   Module     06:00:00:03:1c:b0
   NAME       netatmo_M06_00_00_03_1c_b0
   NOTIFYDEV  global
   NR         486
   NTFY_ORDER 50-netatmo_M06_00_00_03_1c_b0
   STATE      Wind: 7 km/h (2 bft, Error evaluating netatmo_M06_00_00_03_1c_b0 userReading winddirection: Undefined subroutine &main::Twilight_CompassPoint_T called at (eval 479) line 1.
), Böen: 22 km/h (4 bft, Error evaluating netatmo_M06_00_00_03_1c_b0 userReading gustdirection: Undefined subroutine &main::Twilight_CompassPoint_T called at (eval 480) line 1.
), Max: 43 km/h (6 bft, Error evaluating netatmo_M06_00_00_03_1c_b0 userReading winddirection_max: Undefined subroutine &main::Twilight_CompassPoint_T called at (eval 481) line 1.
)
   SUBTYPE    MODULE
   TYPE       netatmo
   dataTypes  WindStrength,WindAngle,GustStrength,GustAngle
   firmware   19
   last_message 2018-12-29 14:53:59
   last_seen  2018-12-29 14:53:59
   last_setup 2018-12-07 14:41:30
   model      NAModule2
   moduleName Windmesser
   openRequests 0
   rf_status  73
   status     ok
   READINGS:
     2018-12-29 15:05:05   active          ok
     2018-12-29 15:00:06   batteryPercent  99
     2018-12-29 15:00:06   batteryState    ok
     2018-12-29 15:00:06   batteryVoltage  5.978
     2018-12-29 15:03:42   gustangle       265
     2018-12-29 15:05:05   gustdirection   Error evaluating netatmo_M06_00_00_03_1c_b0 userReading gustdirection: Undefined subroutine &main::Twilight_CompassPoint_T called at (eval 480) line 1.

     2018-12-29 15:03:42   guststrength    22
     2018-12-29 15:05:05   guststrength_bft 4
     2018-12-29 15:03:42   windangle       270
     2018-12-29 13:13:14   windangle_max   250
     2018-12-29 15:05:05   winddirection   Error evaluating netatmo_M06_00_00_03_1c_b0 userReading winddirection: Undefined subroutine &main::Twilight_CompassPoint_T called at (eval 479) line 1.

     2018-12-29 15:05:05   winddirection_max Error evaluating netatmo_M06_00_00_03_1c_b0 userReading winddirection_max: Undefined subroutine &main::Twilight_CompassPoint_T called at (eval 481) line 1.

     2018-12-29 15:03:42   windstrength    7
     2018-12-29 15:05:05   windstrength_bft 2
     2018-12-29 13:13:14   windstrength_max 43
     2018-12-29 15:05:05   windstrength_max_bft 6
   helper:
     INTERVAL   300
     NEXT_POLL  1546092605
     last_status_store 1546092222
     readingNames:
       windstrength,windangle,guststrength,gustangle
Attributes:
   IODev      netatmo
   alias      Windmesser
   devStateIcon .*:no-icon
   interval   300
   room       netatmo
   stateFormat Wind: windstrength km/h (windstrength_bft bft, winddirection), Böen: guststrength km/h (guststrength_bft bft, gustdirection), Max: windstrength_max km/h (windstrength_max_bft bft, winddirection_max)
   userReadings guststrength_bft { int((ReadingsVal("netatmo_M06_00_00_03_1c_b0","guststrength",0)*0.33227)**0.666666667+0.5);; }, windstrength_max_bft { int((ReadingsVal("netatmo_M06_00_00_03_1c_b0","windstrength_max",0)*0.33227)**0.666666667+0.5);; }, windstrength_bft { int((ReadingsVal("netatmo_M06_00_00_03_1c_b0","windstrength",0)*0.33227)**0.666666667+0.5);; }, winddirection {Twilight_CompassPoint_T(ReadingsVal("netatmo_M06_00_00_03_1c_b0","windangle",0));; }, gustdirection {Twilight_CompassPoint_T(ReadingsVal("netatmo_M06_00_00_03_1c_b0","gustangle",0));; },  winddirection_max {Twilight_CompassPoint_T(ReadingsVal("netatmo_M06_00_00_03_1c_b0","windangle_max",0));; }



nach der installation von cpan Image::Grab. hab ich einen Neustart des Rpi's gemacht

Ich sehe da leider nicht mehr durch und würde eure Unterstützung benötigen

Danke
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Helmi55

Hallo sorry - gefunden - Grab war nicht ordentlich installiert.
Nice weekend
LG Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/