Autor Thema: Netatmo Modul - 38_netatmo.pm (Support)  (Gelesen 59846 mal)

Offline Markus M.

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1954
Netatmo Modul - 38_netatmo.pm (Support)
« am: 17 Mai 2016, 12:37:34 »
Das neue Modul ist ab sofort im Update
Zwischenversionen frisch aus der Entwicklung gibt es hier im Thread

38_netatmo - 2017-03-26

Unterstützung für:
- Alle Wetter-Module (incl. Regen, Wind)
- Public Stationen mit allen Werten
- Dashboard Readings der eigenen Geräte (Temp min/max, abs. Pressure, Trends, Wind max)
- Wettervorhersage der eigenen Station (7 Tage)
- Welcome (Homes, Kameras samt Tags und Personen mit Events, Snapshots und Video Playlists, Webhook)
- Presence (Licht und Settings, Events, Snapshots und Video Playlists, Timelapse, Webhook)
- Thermostat (Readings Thermostat und Relay, Setzen von Programmen, Modi und Temperaturpunkten)
- Healthy Home Coach

Zusätzliche Features:
- Erweiterte Werte wie Battery, RF/WiFi Status
- Durchschnittsberechnung der Umgebungswerte über Koordinaten
- Less-blocking bei DNS Ausfall, Rate limit
- Dynamische Updateintervalle

Hinweise:
- Um das dewpoint Modul nutzen zu können, muss dort das Attribut max_timediff auf 660 gesetzt werden.





Viele Grüsse,
Markus

Anhang:
Beta 30 - Fixed crash on error response
Beta 29 - Fixed crash on invalid login
Beta 28 - New offline handling (DNS blocking)
Beta 27 - Offline camera ping prevention, bugfixes
Beta 26 - Update timing, Homecoach Temperature
Beta 25 - Webhook, API rate limit
Beta 24 - Presence Events
Beta 23 - Presence Camera
Beta 22 - Healthy Home Coach
Beta 21 - Presence test
Beta 20 - Account encryption fixed
Beta 19 - Welcome Tags
Beta 18 - Account Encryption, Reconnect/Update Fix
Beta 17 - database units fix, dewpoint workaround entfernt
Beta 16 - dewpoint workaround
Beta 15 - Readings umbenannt, Alias utf8
Beta 14 - Bugfix für Token Update und globale Werte
Beta 13 - Token Änderungen
Beta 12 - battery_percent als Reading
Beta 11 - Thermostat Daten erweitert, battery ok/low für alle Geräte
Beta 10 - Air Quality als air_.*, Camera Events verbessert
Beta 09 - Fix für Temp/Hum bei Windmesser, max_wind_str aus Dashboard
Beta 08 - Forecast, Fix für Invalid Readings, Battery
Beta 07 - Person Updates, Camera Settings, Ignored Devices (Autocreate), Bugfixing
Beta 06 - Thermostat & Relay
Beta 05 - PUBLIC berechnet Durchschnittswerte der Netatmo Weathermap
Beta 04 - Set Person away / Home empty, Camera on/off mit PIN, Public Station Define Screen
Beta 03 - UTF8, autocreate Fixes
Beta 02 - weniger Logging, keine unbekannten Personen im Autocreate
Beta 01 - initiale Version
« Letzte Änderung: 26 März 2017, 10:54:10 von Markus M. »
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7490 + FRITZ!Powerline 546E

HM Aktoren/Sensoren/Winmatic/Keymatic/Thermostate, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony
https://paypal.me/mm0
Gefällt mir Gefällt mir x 2 Liste anzeigen

Offline Markus M.

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1954
Antw:Netatmo Modul - 38_netatmo.pm (Support)
« Antwort #1 am: 17 Mai 2016, 12:37:51 »
FHEM module for netatmo weatherstations and cameras.

  Notes:
   JSON has to be installed on the FHEM host.
   You need to create an app here to get your client_id / client_secret.
   Request the full access scope including cameras and thermostats.


Define

    define <name> netatmo ACCOUNT <username> <password> <client_id> <client_secret>
    define <name> netatmo FORECAST <your_station_id>
    define <name> netatmo PUBLIC <latitude>,<longitude> [<rad>]

    Defines a netatmo account or weathermap area.

    A netatmo device of the account type has to be created first so FHEM devices for the netatmo devices can be automatically created
    (if autocreate is not disabled).

    Examples:
        define netatmo netatmo ACCOUNT abc@test.com myPassword 2134123412399119d4123134 AkqcOIHqrasfdaLKcYgZasd987123asd
        define netatmo_forecast netatmo FORECAST 2f:13:2b:93:12:31
        define netatmo_weathermap netatmo PUBLIC 49.452787,11.077967 0.05
        define netatmo_station netatmo 2f:13:2b:93:12:31                      <= These devices have to be defined through autocreate from he ACCOUNT device!
        define netatmo_module netatmo MODULE 2f:13:2b:93:12:31 f1:32:b9:31:23:11
        define netatmo_home netatmo HOME 1234567890abcdef12345678
        define netatmo_welcome netatmo CAMERA 1234567890abcdef12345678 70:ee:12:34:56:78
        define netatmo_person netatmo PERSON 1234567890abcdef12345678 01234567-89ab-cdef-0123-456789abcdef
        define netatmo_relay netatmo RELAY 2f:13:2b:93:12:31
        define netatmo_thermostat netatmo THERMOSTAT 2f:13:2b:93:12:31 f1:32:b9:31:23:11


Readings

    self-explanatory (hopefully)


Set

ACCOUNT

    autocreate
      Create fhem devices for all netatmo weather devices.
    autocreate_homes
      Create fhem devices for all netatmo homes, cameras and persons.
    autocreate_thermostats
      Create fhem devices for all netatmo relays and thermostats.


CAMERA

    enable/disable [<pin>]
      turns camera on/off, pin defaults to 0000

    audio/irmode/led_on_live/mirror <value>
      settings from app (without feedback/state)

HOME

    empty
      sets all persons to away state


PERSON

    away
      sets away state

    home
      sets home state


THERMOSTAT

    program <program_name>
      switches the heating program

    setpoint_mode <mode> [<setpoint_duration>]
      switches the heating mode

    setpoint_temp <temperature> [<setpoint_duration>]
      sets a manual temperature point


Get

ACCOUNT

    devices
      list the netatmo weather devices for this account
    homes
      list the netatmo home devices for this account
    thermostats
      list the netatmo thermostat devices for this account
    update
      trigger a global update for dashboard data
    public [<address>] <args>
      no arguments -> get all public stations in a radius of 0.025° around global fhem latitude/longitude
      <rad> -> get all public stations in a radius of <rad>° around global fhem latitude/longitude
      <lat>,<lon> [<rad>] -> get all public stations in a radius of 0.025° or <rad>° around <lat>/<lon>
      <lat1> <lon1> <lat2> <lon2> -> get all public stations in the area of <lat1> <lon2> <lat2> <lon2>
      if <address> is given then list stations in the area of this address. can be given as 5 digit german postal code or a: followed by a textual address. all spaces have to be replaced by a +.
    <lat> <lon> values can also be entered as a single coordinates parameter <lat>,<lon>


DEVICE/MODULE/FORECAST/PUBLIC/HOME/PERSON/RELAY/THERMOSTAT


    update
      update the device readings / events
    updateAll
      update the device readings after deleting all current readings


CAMERA

    ping
      ping the camera and get the local command url
    live/_local
      get the playlist for live video (internet or local network)
    video/_local <video_id>
      get the playlist for a video id (internet or local network)
    snapshot
      get the url for a live still image



Attributes

    interval (all)
      the interval in seconds used to check for new values. (ALL)
    disable
      1 -> stop polling (ALL)
    addresslimit
      maximum number of addresses to resolve in public station searches (ACCOUNT - default: 10)
    videoquality
      video quality for playlists (HOME - default: medium)
    ignored_device_ids
      ids of devices to ignore during autocreate (ACCOUNT)
    setpoint_duration
      default duration for temperature setpoints in minutes (THERMOSTAT)

« Letzte Änderung: 19 Juni 2016, 22:12:48 von Markus M. »
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7490 + FRITZ!Powerline 546E

HM Aktoren/Sensoren/Winmatic/Keymatic/Thermostate, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony
https://paypal.me/mm0
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Markus M.

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1954
Netatmo Modul - 38_netatmo.pm (Support)
« Antwort #2 am: 17 Mai 2016, 12:38:02 »
Bekannte Bugs:
 - Pressure Werte landen in Noise (wird abgefangen, Logeintrag)
   Liegt an fehlerhaften dataTypes Einträgen, nicht reproduzierbar

Todo:
 - ?

Streichliste:
 - Wochenprogramme für Thermostate


Icons im Anhang
« Letzte Änderung: 23 Juni 2016, 15:41:13 von Markus M. »
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7490 + FRITZ!Powerline 546E

HM Aktoren/Sensoren/Winmatic/Keymatic/Thermostate, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony
https://paypal.me/mm0

Offline domschl

  • New Member
  • *
  • Beiträge: 37
Antw:Netatmo Modul - 38_netatmo.pm (Support)
« Antwort #3 am: 17 Mai 2016, 16:37:03 »
Das Modul laeuft bei mir prima mit drei Wetterstationen (2x innen, 1x aussen) und der Welcome-Kamera.

Es hat einiger Restarts bedurft, bis ein Autocreate tatsaechlich die Kamera angelegt hat. Als der Autocreate dann funktioniert hat, war er gleich etwas uebereifrig und hat 38 User "Unknown" angelegt. (Ich hatte 38 verschiedene noch nicht identifizierte Aufnahmen).

Nach kurzem Aufraeumen scheint jetzt alles bestens!

Dom.

Offline Markus M.

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1954
Antw:Netatmo Modul - 38_netatmo.pm (Support)
« Antwort #4 am: 17 Mai 2016, 17:16:10 »
Unknown sollten theoretisch nicht angelegt werden.
Ich werde das nochmal überarbeiten so dass generell nur ein Unknown Device angelegt wird in das dann alle Snapshots und Video IDs aus Events mit unbekannten Gesichtern abgelegt werden.


-> Erledigt
« Letzte Änderung: 17 Mai 2016, 21:35:06 von Markus M. »
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7490 + FRITZ!Powerline 546E

HM Aktoren/Sensoren/Winmatic/Keymatic/Thermostate, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony
https://paypal.me/mm0

Offline Ludozine

  • New Member
  • *
  • Beiträge: 44
Antw:Netatmo Modul - 38_netatmo.pm (Support)
« Antwort #5 am: 18 Mai 2016, 08:10:26 »
Hi,
danke für die Datei, jetzt funktioniert alles super.
eine Frage noch, wie sage ich FHEM das für diese Moduldatei kein update gemacht wird.

Viele Grüße
Detlef

Offline Eisix

  • Full Member
  • ***
  • Beiträge: 421
Antw:Netatmo Modul - 38_netatmo.pm (Support)
« Antwort #6 am: 18 Mai 2016, 18:06:37 »
Hallo,

Welcome (Beta 02) Sachen die mir aufgefallen sind:
Das device mit dem Account wurde nicht in den Room netatmo geschoben (Vielleicht so gewollt?)

set netatmo autocreate legt 0 devices an

get netatmo home wobei alles anlegt und in den netatmo Room schiebt (1 Alias mußte ich wegen Sonderzeichen updaten)

get netatmo_xxxx updateall hat dann den status von allen korrekt angezeigt (würde wahrscheinlich nach Ablauf des Intervall auch passieren)

Soweit ich das beurteilen kann scheint alles zu funktionieren. Super Arbeit!

Zwei Fragen habe ich noch:
Kann man die Account info Login/PW rausnehmen? Sollte doch auch mit den Tokens funktionieren.
Kann ich das update Intervall für den Anwesenheitsstatus ändern.

Gruß
Eisix

Offline joshi04

  • Full Member
  • ***
  • Beiträge: 284
Antw:Netatmo Modul - 38_netatmo.pm (Support)
« Antwort #7 am: 18 Mai 2016, 18:29:14 »
wie sage ich FHEM das für diese Moduldatei kein update gemacht wird.
attr global exclude_from_update netatmo
Bei "meiner" Public Station sieht soweit alles gut aus. Hatte leider noch event-on-change-reading drin, daher noch keinen Verlauf und mein System ist gerade umgezogen. Ich lasse das aber jetzt schon mal produktiv mitlaufen.

Zur Info, ich habe im Wiki mal einen Hinweis auf diesen Beitrag hinterlassen, damit ganz langsam die Testcommunity größer wird, ich hoffe, das war in Deinem Sinne.

Vielen Dank, Markus!
NUC: 2xJeeLink, PCA301/TX35DTH; HueBridge, LivingColors; vair-monitor (CO2); HMLan, Winmatic, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-ES-TX-WM, HM-WDS10-TH-O, HM-ES-PMSw1-Pl, HM-SEC-SC-2, HM-SEC-SCo; AVM DECT 200; panStamp; smartVISU

Offline Markus M.

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1954
Antw:Netatmo Modul - 38_netatmo.pm (Support)
« Antwort #8 am: 18 Mai 2016, 21:04:37 »
eine Frage noch, wie sage ich FHEM das für diese Moduldatei kein update gemacht wird.

Siehe oben :)

Welcome (Beta 02) Sachen die mir aufgefallen sind:
Das device mit dem Account wurde nicht in den Room netatmo geschoben (Vielleicht so gewollt?)
set netatmo autocreate legt 0 devices an
get netatmo home wobei alles anlegt und in den netatmo Room schiebt (1 Alias mußte ich wegen Sonderzeichen updaten)
get netatmo_xxxx updateall hat dann den status von allen korrekt angezeigt (würde wahrscheinlich nach Ablauf des Intervall auch passieren)

Account Device room wird zugewiesen
autocreate legt jetzt immer alles an (und gibt Feedback), get devices/home legt nie Devices an
UTF8 Fix für alle selbst vergebenen Namen
Das initiale Update passiert bewusst erst 60sec nach dem Define

Kann man die Account info Login/PW rausnehmen? Sollte doch auch mit den Tokens funktionieren.
Kann ich das update Intervall für den Anwesenheitsstatus ändern.

Aktuell wird das Passwort benötigt
Der Anwesenheitsstatus wird im Home Device abgefragt, dort kannst du das Attribut interval ändern
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7490 + FRITZ!Powerline 546E

HM Aktoren/Sensoren/Winmatic/Keymatic/Thermostate, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony
https://paypal.me/mm0

Offline ftobi

  • New Member
  • *
  • Beiträge: 16
Antw:Netatmo Modul - 38_netatmo.pm (Support)
« Antwort #9 am: 19 Mai 2016, 18:59:22 »
Hallo,

ich habe in 38_netatmo.pm bei mir hier
                } elsif( $type eq "rain" ) {
                  $ret .= "\t" if( !$got_temp );
                  $ret .= "\t\t" if( !$got_press );
                  $ret .= sprintf( "\t%i mm", $value );
                }

und hier
              $ext .= "$module ";
              $ext .= "rain";
              $ext .= " ";

              if( defined($value) )
              {
                $ret .= "\t\t\t" if( !$got_press );
                $ret .= sprintf( "\t\t%i mm", $value );
              }

im sprintf jeweils aus dem %i ein %.1f gemacht.

Jetzt werden die Regenmengen auch bei 0.1 mm Menge und nicht erst bei ganzen Millimeter angezeigt.
Hoffe das war die richtige Stelle.

Grüße
ftobi
Cubietruck / FS20 / Homematic / ZWave

Offline Markus M.

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1954
Antw:Netatmo Modul - 38_netatmo.pm (Support)
« Antwort #10 am: 19 Mai 2016, 20:35:06 »
Jetzt werden die Regenmengen auch bei 0.1 mm Menge und nicht erst bei ganzen Millimeter angezeigt.
Hoffe das war die richtige Stelle.

Gute Idee!
Ich habe die Liste zusätzlich auf die Niederschlagsmenge der letzten 24h und die Spitzenwerte für Wind geändert.
Das sollte die Auswahl etwas erleichtern.
Die ID ist sinnlos und somit aus der Liste geflogen, dafür öffnet ein Klick auf die Koordinaten jetzt Google Maps.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7490 + FRITZ!Powerline 546E

HM Aktoren/Sensoren/Winmatic/Keymatic/Thermostate, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony
https://paypal.me/mm0

Offline Markus M.

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1954
Antw:Netatmo Modul - 38_netatmo.pm (Support)
« Antwort #11 am: 20 Mai 2016, 01:38:07 »
Hab mal PUBLIC umgebaut, was dem Code nach sowieso noch nie wirklich funktioniert hat.

Die neue Definition sieht so aus:
define <name> netatmo PUBLIC <latitude,longitude> <radius>Also zum Beispiel define weathermap_public netatmo PUBLIC 49.452787,11.077967 0.05
Dabei werden alle Public Stationen im definierten Bereich abgefragt und die Mittelwerte und Extremwerte werden als Readings abgelegt.

FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7490 + FRITZ!Powerline 546E

HM Aktoren/Sensoren/Winmatic/Keymatic/Thermostate, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony
https://paypal.me/mm0

Offline Markus M.

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1954
Antw:Netatmo Modul - 38_netatmo.pm (Support)
« Antwort #12 am: 24 Mai 2016, 13:31:25 »
Gibt es Interesse an der Wettervorhersage aus der App?


Sent from my iPhone using Tapatalk
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7490 + FRITZ!Powerline 546E

HM Aktoren/Sensoren/Winmatic/Keymatic/Thermostate, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony
https://paypal.me/mm0

Offline rtv

  • Jr. Member
  • **
  • Beiträge: 86
Antw:Netatmo Modul - 38_netatmo.pm (Support)
« Antwort #13 am: 24 Mai 2016, 13:44:19 »
Interesse? Na klar!
Sind da vielleicht auch die Luftqualitätswerte für draußen drin?

Vielen Dank erstmal für das neue Modul, die Umstellung lief einwandfrei und auch das Abfangen der Pressure-Noise-Vertauschung (habe immer noch den Verdacht, es tritt häufig auf, wenn man manuell den Sensor berührt) ist hoch willkommen  8)

Offline Markus M.

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1954
Antw:Netatmo Modul - 38_netatmo.pm (Support)
« Antwort #14 am: 24 Mai 2016, 15:06:19 »
Ja, die sind da mit drin.
Und auch alles andere aus der App das noch nicht verfügbar ist.
Das mit den falschen Werten liegt an nicht initialisieren Readings. Das versuche ich noch besser hinzubekommen.


Sent from my iPhone using Tapatalk
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7490 + FRITZ!Powerline 546E

HM Aktoren/Sensoren/Winmatic/Keymatic/Thermostate, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony
https://paypal.me/mm0

 

decade-submarginal