+ Antworten
Seite 1 von 14 1 2 3 11 ... LetzteLetzte
Ergebnis 1 bis 10 von 131
  1. #1
    Registriert seit
    Feb 2018
    Ort
    Bochum
    Beiträge
    607

    Standard NetatmoWeather

    Hallo,

    ich habe ein neues Modul erstellt.

    Zu finden ist es hier: https://github.com/demel42/NetatmoWeather.

    Was macht das Modul?

    Es werden die Daten von einer Netatmo-Wetterstation ausgelesen und gespeichert. Es werden alle Module unterstützt in der maximalen Ausbaustufe: Basis-, Außen- und 3 Innenmodule sowie WInd- und Regenmesser.

    Zusätzlich werden einige Status-Information ermittelt und als Variablen zur Verfügung gestellt, unter anderen
    • Status der Kommunikation mit Netatmo
    • Batterie- und Modul-Alarme als Zusammenfassung der Station der einzelnen Module als auch optional für jedes Modul separat
    • weitere (im wesentlichen modulbezogene) Status-Informationen werden in einer HTML-Box aufbereitet, hier hat man dann einen Überblick über alle Module (Zeitpunkte der letzten Kommunikation, Batterie und Signalstärken) sowie der Basisstation.
    • die Informationen werden auch als JSON-Struktur in einer Variable zur Verfügung gestellt
    • es können zusätzliche Wetter-Kenndaten berechnet werden: absoluter Luftdruck, Taupunkt, absolute Feuchte, Windchill, Heatindex


    Die geographіsche Position sowie die Höhe der Wetterstation werden von Netatmo übernommen und in die Instanz-Konfiguration als Property eingetragen
    Es steht ein WebHook zur Verfügung, bei dem mit /hook/NetatmoWeathcer/status die Status-Information (analog zur HTML-Box) als Webseite abgerufen werden können.

    Die Angabe der Netatmo-Zugangsdaten ist obligatorisch damit die Instanz aktiviert werden kann.

    Weiterhin können die relevanten Wetterdaten in eine persönliche Wetterstation von Wunderground übertragen werden. Übertragen wird:
    • Innenmodul: Luftdruck
    • Aussenmodul: Temperatur, Luftfeuchtigkeit und der daraus berechnete Taupunkt
    • Regenmodul: 1h und 24h-Wert
    • Windmesser: Windgeschwindigkeit und -richtung sowie Geschwindigkeit und Richtung von Böen


    Über den Upload gibt es natürlich auch einen Status-Information.

    Voraussetzung ist IPS 4.x und natürlich eine Netatmo-Wetterstation.

    Es ist mein erstes Modul, also bitte ich um Nachsicht.

    Mein besonderer Dank an dieser Stelle geht an fonzo, der mir mit viel Geduld auf die Sprünge geholfen hat.

    demel

  2. #2
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    8,771

    Gibt es doch schon, oder?
    Modul: Netatmo
    Michael
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC

  3. #3
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    6,205

    Zitat Zitat von Nall-chan Beitrag anzeigen
    Gibt es doch schon, oder?
    Ich besitze kein Netatmo, würde aber mal schätzen das dies Modul umfangreicher ist bzw. mehr abbildet, kann aber kein Vergleich anstellen. Gibt ja auch zwei Wunderground Module mit unterschiedlichem Funktionsumfang .

  4. #4
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    8,771

    Und beide entsprechend nicht dem Best Practice
    Wieder ein Modul welches einen ApplyChanges auf sich selbst ausführt und die Namen der Variablen eigenmächtig ändert.
    Wenn die Umsetzung endlich mal sinnvoll wäre. Also jede Station ist eine eigene Instanz...
    Michael
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC

  5. #5
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    6,205

    Zitat Zitat von Nall-chan Beitrag anzeigen
    Und beide entsprechend nicht dem Best Practice
    Wieder ein Modul welches einen ApplyChanges auf sich selbst ausführt und die Namen der Variablen eigenmächtig ändert.
    Ich habe es noch nicht im Detail angeschaut, aber ist doch zunächst prima das es überhaupt was gibt . Und wie oben steht Nachsicht üben, ist ja denke ich nicht in Stein gemeißelt sondern der aller erste Versuch und Module entwickeln sich ja weiter. Ja selbst ich lasse mich von Dir eines besseren überzeugen , hast ja meist Recht mit Deinen Einwänden .

    Zitat Zitat von Nall-chan Beitrag anzeigen
    Also jede Station ist eine eigene Instanz...
    Das wäre in der Tat sinnvoll, heisst ja aber nicht das dies der letzte Stand ist.

  6. #6
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    6,205

    Zitat Zitat von demel42 Beitrag anzeigen
    Es ist mein erstes Modul, also bitte ich um Nachsicht.
    Erst mal vielen Dank für das Teilen des Modul und das nach sehr kurzer Zeit überhaupt mit IP-Symcon.

    Ich selber habe keine Möglichkeit das näher zu testen, da ich kein Netatmo nutzte mir sind aber folgende Dinge aufgefallen:

    • es gibt unterschiedliche Gerätetypen bei Netatmo, diese erheben je nach Typ auch unterschiedliche Werte
    • das Modul nutzt in der jetzigen Form ein starres Konfigurationsformular


    Ich würde vorschlagen:

    • falls die Geräte grundsätzlich unterschiedlich kommunizieren bei unterschiedlichen Geräten dann auch eine eigene Instanz pro Gerätetyp zur Verfügung zu stellen, also mit eigener GUID
    • Wenn die Geräte sehr ähnlich sind und sich z.B. in den Variablen unterschieden, dann macht es Sinn eine Auswahl des Gerätetyps durch den Nutzer vornehmen zu lassen mit einem dynamischen Konfiguationsformular und GetConfigurationForm, dadurch besteht dann die Möglichkeit pro Gerät eine Instanz anzulegen und bei der Instanz dann aber auch nur die Variablen und Variablenprofile anlegen zu lassen die von dem Nutzer für den Gerätetyp verwendet werden.
    • so was wie Modulbezogende Zusatzdaten würde ich dann auch nur zur Auswahl stellen wenn der passende Gerätetyp gewählt worden ist

  7. #7
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    6,205

    Wenn es eine Möglichkeit gibt über den Netatmo Account sämtliche unter dem Account angemeldeten Geräte auszulesen kann es auch Sinn machen eine Konfigurator Instanz zu bauen. Diese würde die Daten Auslesen und in eine Liste schreiben. Dann kann der Benutzer auswählen welches der Geräte er in IP-Symcon nutzten will und eine solche Instanz würde dann angelegt werden.

    Wenn ein dynamisches Formular benutzt wird kann man auch Inhalte die eventuell nicht benötigt werden ausblenden. So könnte man z.B. einen Haken setzten für Wunderground Upload nutzten. Und nur wenn dieser Haken gesetzt wird dann werden auch die Eingabefelder für Wunderground Station ID und Wunderground Station Key angezeigt.

  8. #8
    Registriert seit
    Feb 2018
    Ort
    Bochum
    Beiträge
    607

    hallo,
    danke für die Anregung. aber vielleicht eine Anmerkung: die Variablen werden nicht eigenständig geändert sondern einmalig bei der ersten Anlage gesetzt.
    Denn der erste Kommunikation ist ja nicht bekannt, wie die Module heissen, von daher dachte ich mir, bevor der Benutzer das am Anfang eingeben numm, kann ich ihm die Arbeit auch ersparen.

    das mit den Instanzen hat sicherlich bei mir auch daran gescheitert, das ich das noch nicht so ganz verstanden habe.
    Das ist ja an sich eine Wetterstation mit diversen Sensoren.
    Warum sollte man die aufteilen in mehrere Instanzen? So ganz erschlisst sich mir das noch nicht.

    Ein HM WDS-10 unterteilt man doch auch nicht in zeinInstanzen, einer mit Temperatur und einen mit Luftfeuchtigkeit. Lige ich da ganz falsch?

  9. #9
    Registriert seit
    Feb 2018
    Ort
    Bochum
    Beiträge
    607

    Zitat Zitat von Nall-chan Beitrag anzeigen
    Gibt es doch schon, oder?
    Modul: Netatmo
    Michael
    ich hatte das Modul gesehen und auch, das es dort schon längere Zeit kein Weiterentwicklung gab. In das ich das als Script schon lange Zeit laufen hatte (erst nativ als Webservice, dann auf Mediola und seit einigen Wochen auf IPS) hatte ich gedacht, ich teile, das was ich habe.

  10. #10
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    6,205

    Zitat Zitat von demel42 Beitrag anzeigen
    die Variablen werden nicht eigenständig geändert sondern einmalig bei der ersten Anlage gesetzt.
    Grundsätzliche Anmerkung zu Variablen einer Instanz in IP-Symcon. Eine normale Instanz Variable einer nativen IP-Symcon Instanz hat Read Only Status, da die Variable nicht direkt beschrieben werden soll, sondern nur über einen Funktionsaufruf, der an die Instanz gerichtet ist. Das ist der Unterschied zu einer Variablen, die man selber in IP-Symcon erstellt, diese kann man auch beschreiben. Damit sich das einheitlich verhält, werden zukünftig auch Variablen von PHP Modulen Read Only Status haben. Daher kannst Du eigentlich jetzt schon, um für die Zukunft gerüstet zu sein, Variablen anders setzten.

    Zur Zeit machst Du das so:
    PHP-Code:
    SetValue($this->GetIDForIdent('OUT_Windchill'), $windchill); 
    Dies kannst Du im Prinzip schon jetzt austauschen gegen:
    PHP-Code:
    $this->SetValue("OUT_Windchill"$windchill); 

    Dazu muss dann diese Methode ergänzt werden damit dies auch mit allen IP-Symcon Versionen funktioniert.
    PHP-Code:
    //Add this Polyfill for IP-Symcon 4.4 and older
        
    protected function SetValue($Ident$Value)
        {
            if (
    IPS_GetKernelVersion() >= 5) {
                
    parent::SetValue($Ident$Value);
            } else {
                
    SetValue($this->GetIDForIdent($Ident), $Value);
            }
        } 
    Zitat Zitat von demel42 Beitrag anzeigen
    das mit den Instanzen hat sicherlich bei mir auch daran gescheitert, das ich das noch nicht so ganz verstanden habe.
    Das ist ja an sich eine Wetterstation mit diversen Sensoren.
    Warum sollte man die aufteilen in mehrere Instanzen? So ganz erschlisst sich mir das noch nicht.
    Im Prinzip ist in IP-Symcon eine Instanz ein Gerät, da es ja unterschiedliche Netatmo Geräte gibt mit unterschiedlichen Messwerten macht es Sinn das von der Logik beizubehalten, das dies auch für einen Nutzer nachvollziehbar ist. Wenn Du das mit Homematic vergleichen willst gibt es da auch viele Dinge, alles zusammen kann man viele Werte erfassen um Außendaten bzw. das Wetter zu messen. Dennoch ist ein hm-wds10 ein eigener Sensor und eine OC3 eine eigene Wetterstation, beides zusammen liefert Werte. So ist das ja im Prinzip bei Netatmo auch, das sind lauter einzelne Geräte die einzelne Messwerte liefern.

    Das man als Nutzer in einer Visualisierung solche Werte dann alle gesammelt darstellt ist was anderes, das macht ja auch Sinn. Ich will ja das Wetter wissen, dabei ist mir egal welcher Sensor welchen Wert liefert. Solche Dinge werden aber von jedem Nutzer individuell zur Visualisierung aufbereitet, in IP-Symcon arbeitet man da dann am Besten mit Links auf die Original Variable in den Visualisierungsordner. Um alle Werte zusammen zu fassen kann man dann eine Dummy Instanz in der Visualisierung nutzten. Die Werte kommen aber von lauter einzelnen Sensoren und diese sollten nach Möglichkeit auch als solche für einen Nutzer in IP-Symcon erkenntlich sein. Wenn ein Sensor z.B. kaputt ist und ausgetauscht wird, dann lösche ich die entsprechende Instanz, wenn das nur eine Instanz ist in der alles steht geht das nicht, das Gerät habe ich also ausgetauscht oder weggeschmissen, aber in IP-Symcon ist alles in einer Instanz. Daher macht es schon Sinn physikalische Geräte, auch wenn diese zusammen eine Einheit bilden, auch so in IP-Symcon darzustellen.
    Geändert von Fonzo (13.03.18 um 21:25 Uhr)