Posts by Ryker

    a-tom:
    Ich hab letztens nochmal mein Python-Script überarbeitet, was die Netatmo-Werte direkt holt. Ich wollte darauf dann nämlich mir KDE Plasma Widgets bauen. Komme aber gerade auch nicht dazu :frowning_face:

    Wenn ich dran denke, kann ich dir demnächst mal den Python-Code schicken. Das führst du einfach per Commandline aus. Es liefert dir die Werte. Damit kannste das recht einfach weiterverarbeiten bzw. an deine Anzeige schicken.

    Hallo,

    So, jetzt ist es Zeit mich langsam hier aus dem Board zu verabschieden.
    Es war viele Jahre eine schöne Zeit hier. Gab ja auch viele Gelegenheiten an der Dreambox zu basteln und viel dabei zu lernen.
    Bin ja nach der Dbox2 mit Enigma recht spät bei der Dreambox damals gelandet, weil es erst keine DVB-C Tuner gab. Deswegen hatte ich dann den Ausflug zur Reelbox gemacht. Das war auch ganz interessant dort den Linux-VDR kennen zu lernen. Erst als Reel-Multimedia in die Insolvenz ging bin ich dann auf die DM7080 umgeschwenkt und dann paar Jahre später auf die DM920.

    Nun ist es aber wegen dem Ende des Nebenkostenprivilegs so, dass ich fürs Kabel-TV extra Vertrag abschließen müsste. Da ich aber nicht in der Vodafone-Hölle landen will, habe ich mir nun waipu.tv zugelegt um hin und wieder mal Linear TV zu schauen. Ansonsten ist bei mir eh alles über Streaming-Portale abgedeckt. Das läuft alles schön auf der FireTV. Als Mediacenter dient nun Kodi dort z.b. für Internet-Radio hören und Fotos vom NAS anschauen
    Meine alten Dreambox-Aufnahmen, die ich noch aufheben will liegen eh auf dem NAS und sind dort in Plex-Server eingebunden.
    Von daher kann ich nun wirklich auf die Dreambox verzichten. Ich tue das zwar iwie schweren Herzens, aber ich brauch die tatsächlich nicht mehr.
    Jetzt muss ich mal schauen wo ich meine DM920 mit div. Tunern (DVB-C/T2/S2, DVB-C FCB und DVB-C/T2 ) loswerden kann. Hab ja auch noch div. Fernbedienungen dazu gefunden 2x Standard + 1x BT-FB.
    Habt ihr eine Idee, wo man das recht günstig verkaufen kann ?

    Also wie gesagt, war schön mit euch. Vielleicht schaue ich aber hin und wieder mal hier rein, nur um zu sehen, was sich so tut.

    Vielen dank noch an die vielen Freiwilligen die viel Zeit in Plugins und Skins und Picons und Support und vieles mehr gesteckt haben. Nur das hat die Ganze Sache so interessant und spannend gemacht. :thumbs_up:

    Gruß
    Ryker

    Bei mir hält der Zugang für exakt 24 Stunden.

    Hm, seltsam. Bei mir hält der Zugang auf dem 2. Gerät schon seit Monaten, ohne dass ich neuen RefreshToken erstellen muss. Nur letztens hatte es mich bei dem anderen Gerät erwischt, wo scheinbar bei netatmo einige refreshtoken über alle Kunden ungültig worden.
    Allerdings habe ich auch für jedes Gerät eine eigene App bei dev.netatmo.de erstellt. Falls ihr mehrere Dreamboxen habt und die alle auf der gleichen App hängen, dann weiß ich nicht, ob das irgendeinen negativen Einfluss hat.

    Carbonide
    Über das "authorization required" bin ich am Anfang auch immer drübergestolpert.
    Das liegt doch an den Altlasten in dem Plugin.
    Ich musste dann zusätzlich auch erst noch die beiden Parameter festlegen
    config.Netatmo.user=xxx@yyy.zz

    config.Netatmo.password=asdf1234

    Die Werte werden zwar dann vom Plugin wieder entfernt, aber beim ersten Start des Plugins will er das so haben.
    Also zumindest war das bei mir der Grund für den Fehler.

    Da ist irgendwas bei Netatmo passiert, dass die Tokens dann nicht mehr gültig waren.
    Das betrifft auch andere Applikation und wird auch dort gerade diskutiert. z.b. im FHEM-Forum.

    Aber nach neuem RefreshToken generieren und in den Configs eintragen ging es dann wieder überall. Hat aber nichts damit zu tun, wenn die Dream mal offline war. Bei mir hier läuft der FHEM-Server 24/7 durch und den hat es auch erwischt.

    Das habe ich jetzt jeden Tag, so ist es eigendlich nicht zu gebrauchen.

    Ich möchte nicht jeden Tag an der Box rumschrauben, schade eigentlich.

    ...

    Aber nachdem der Refreshtoken jetzt wohl nach 3h ungültig wird, ist die jetzige Lösung leider auch keine mehr...

    Da läuft nichts ab. Hier habe ich für 2 Applikation (Dream, FHEM) immernoch den RefreshToken den er mir vor Monaten generiert hatte. Nur der AccessToken ist nur begrenzt nutzbar, aber den holt das Plugin ja immer wieder neu von netatmo ab.
    Das Problem muss woanders sein.

    Also, es ist eigentlich gar nicht so schwer, das Plugin ans Laufen zu bekommen.
    Hier nochmal die Anleitung, die ich jemand per PM zuschickt hatte und danach hat er das problemlos hinbekommen.
    -------

    1) du meldest dich mit deinem Netatmo-Account an dev.netatmo.com an.


    2) dann klickst du rechts oben in der Ecke auf dein Profile. Dort öffnet sich ein Drop-Down-Menu und du wählst "my apps"


    3) Auf der Apps-Seite wählst du "create":

    AppName: der Name dieser App - also z.b. "Dreambox-xyz"

    Description: irgendeinen Beschreibung z.b. "Netatmo Plugin auf Dreambox"

    data protection officer name: Dein Name

    data protection officer email: deine email-adresse

    --> dann "I agree..." anhaken und "save" klicken.


    4) nach dem speichern bekommst du schonmal eine "client_id und ein "client_secret" -> die Werte brauchst du für das Plugin nachher.


    5) in der App beim "Token generator" wählst du als scope "read_station" und "read_thermostat" aus. und klickst auf "generate token"

    Dann sieht es kurz aus, als ob nichts passiert, aber nach ein paar sekunden wird man auf eine Seite weitergeleitet, wo man die scopes bestätigt.


    6) nun sollte man Werte für "access_token" und "refresh_token" angezeigt bekommen


    7) refresh_token, client_id und client_secret dann wie von cmikula beschrieben in die netatmo.txt eintragen

    8 ) Enigma2 restarten

    ...

    zudem wir das Bottleneck der CPU sein, dass du nicht wirklich schneller bist... daher lohnt es hier nicht wirklich.

    Ja, die CPU-Auslastung geht ziemlich hoch, wenn ich irgendwas per NFS auf die QNAP kopiere. Ich bekomme nur max. 520MBit/s übers Netz von der DM920 aus.
    Ich denke auch der 2.5GBit/s Adapter wird nichts bringen.


    Ich werde demnächst mich noch damit beschäftigen, wie man clientid und clientsecret in die E2-config oder textfile auslagern kann. Dauert nur etwas, weil python ist für mich völlig neu, aber es wird immer besser.

    Ach sorry - hatte das verkehrt aufgefasst. :upside_down_face:

    Also ImPrinzip ist alles schon im Plugin soweit funktionsfähig drin.
    Man muss nur wie im vorhergehenden Post beschrieben

    1) min die 4 Parameter in der E2-settings drin haben
    2) in der netatmoAPI.py in der Function "checkTokenExpired" statisch seine eigene client_id und client_secret eintragen.
    Dann E2 restarten und alles geht wunderbar.

    cmikula Falls du doch nochmal Zeit und Lust haben solltest, dann könntest du die client_id und client_secret auch in die E2-Settings verlagern und das in der checkTokenExpired von dort wieder laden. Da würde alles wieder per Standard funktionieren. :)

    Ach ja, genau. Da hätte ich ja auch selber drauf kommen können ins crashlog zu schauen. :fearful_face:
    Es fehlte noch "enigma2-plugin-systemplugins-weathercomponenthandler" und evtl auch "enigma2-plugin-skincomponents-weathercomponent".
    Hab nun beides installiert und nun klappt es wunderbar.
    Danke für den Tipp :thumbs_up:

    Jogi29 Ich hab bei mir gerade an der Dm920 das netatmo-plugin in betrieb genommen und wollte nun im DisplaySkin für den Idle-Screen den StandbySummary_Netatmo.xml benutzen. Aber der sorgt dafür dass das E2 einen Grünen bringt und restartet, sobald die DM920 in den StandbyMode geschickt wird.
    Da schein irgendwo was nicht zu stimmen in dem screen.
    Nur falls du mal Zeit und Lust hast das anzuschauen.

    Gruß
    Ryker

    Dre
    Was hast du geändert ? - Weil ich sehe aktuell keine Änderung im Code.
    Denn es müsste folgendes geändert werden, damit es im Plugin funktioniert.
    client_id und client_secret müsste in die E2-Settings ausgelagert werden.
    Dann müsste in NetatmoAPI.py in "checkTokenExpired" dafür gesorgt werden, dass "client_id" und "client_secret" die entsprechenden Werte aus den E2-Settings bekommen.

    Bis das drin ist, muss man sich auf jeden schon mal fall folgendes in die E2-Settings aufnehmen:
    config.Netatmo.user=

    config.Netatmo.password=

    config.Netatmo.refresh_token=<refresh Token aus der entsprechenden App von dev.netatmo.com>

    config.Netatmo.access_token=<access Token aus der entsprechenden App von dev.netatmo.com>

    Die client_id und client_secret aus seiner eigenen App von dev.netatmo.com derweil statisch in die NetatmoAPI.py eintragen



    Damit habe ich nun geschafft das netatmo-plugin in Betrieb zu nehmen.

    Das mit dem ablaufenden Access-Token nach 3h schein doch nicht so schlimm zu sein, wie erst vermutet.
    Hab heue nochmal mit meinem Code von gestern probiert und das funktiomiert nach wie vor, auch nach einem Tag.
    Es ist ja so, dass man sich mit dem Token aus der definieren App authentifiziert. Die Authentifiziereung liefert einen neuen Token, der dann 3h gültig ist und mit dem frägt man dann die Daten ab. D.h. man kann 3h lang Daten abfragen und muss sich erst nach 3h wieder neu authentifizieren, aber mit den alten Tokens.
    Gibts irgendwo den Code vom netatmo-plugin in irgendeinem Git, dass man sich das mal genaue anschauen kann - um zu sehen welchen Aufwand das bedeutet?

    ...

    Das einzige wo ich mich evtl. mal ran setze, ist die netatmo-daten übers API in Python mit der neuen Auth auszulesen.
    Wollte schon lange mal Python lernen und das wäre halt ein sehr kleines überschaubares Projekt. Muss halt nur Zeit finden dafür.

    So, ich bin jetzt mal dazu gekommen ein Python-script zu schreiben, was die Daten der Wetterstation über die API ausließt und in der Shell anzeigt. Dabei wird die neue Auth benutzt.
    Also man muss unter dev.netatmo.com sich für die Dreambox eine eigene App anlegen. Dann den scope auf "read_station" setzen, dann hat man alle daten die man braucht, um das in das script open einzutragen.
    Für diese Token-Auth wird auch kein Username oder Passwort benötigt.
    Ich denke mal das Plugin entsprechend anzupassen dürfte nicht so schwierig sein. Man muss nur die alte Auth gegen die neue austauschen und dann die Werte, die für access_token und refresh_token zurückkommen, dann immer wieder in die e2-settings zurückschreiben.
    Die Dreambox muss dann natürlich immer laufen, damit der refresh funktionieren kann. Nach Urlaub oder sonstiger längerer Downtime muss man dann einmal wieder die werte für access_token und refresh_token von dev.netatmo.com holen und wieder in der dream eintragen.