Ankündigung

Einklappen
Keine Ankündigung bisher.

Netatmo | Edomi

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #31
    Zitat von gaert Beitrag anzeigen
    Messen die Teile nur "Lärm" - oder auch "Ton"?! Ein Cloud-Mikrofon im Wohnzimmer wäre mir nämlich irgendwie unheimlich...
    Hmmm, lt. App misst er „nur“ den „Lärm in dB ...
    Danke und LG, Dariusz
    GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

    Kommentar


      #32
      Zitat von gaert Beitrag anzeigen
      Messen die Teile nur "Lärm" - oder auch "Ton"?! Ein Cloud-Mikrofon im Wohnzimmer wäre mir nämlich irgendwie unheimlich...
      Sonometer...im Fall von Netatmo...(zumindest lt. Herstellerangabe)
      Trotzdem kann einem manchmal etwas gruseln, was da in den Wohnzimmern so rumliegt/steht. Denken wir mal an unsere Smartphones (die auf Sprachbefehle lauschen), Fernseher (z.B. solche mit Sprachsteuerung und Internetanschluss), Amazon Echo, Google Home ...

      Kommentar


        #33
        Zitat von Fisch Beitrag anzeigen
        Hallo,

        Ich habe mir vom Basis Indoor/Outdoormodul-baustein von Timberland einen Zusatzmodulbaustein gebastelt.

        PHP-Code:
        ###[DEF]###
        [name =Netatmo Zusatzmodul (v1.0) ]

        [e#1 = Starten #init=1]
        [e#2 = CLIENT_ID ]
        [e#3 = CLIENT_SECRET ]
        [e#4 = USERNAME ]
        [e#5 = PASSWORD ]
        [e#6 = debug #init=0]
        [e#7 = Modulindex #init=4]



        [a#1 =Name Modul ]
        [a#2 =Temperature ]
        [a#3 =min temp ]
        [a#4 =min time ]
        [a#5 =max temp ]
        [a#6 =max time ]
        [a#7 =temp trend ]
        [a#8 =Humidity ]
        [a#9 =CO2 ]
        [a#10 =Battery ]
        [a#11 =WiFi ]

        [v#1 = 0 ]
        [v#2 = 1.0 ] //Version
        ###[/DEF]###


        ###[HELP]###
        NETATMO Zusatzmodul Baustein für zusaetzliches indoor modul


        Diese Dateien mussen im Ordner /usr/local/edomi/main/include/php liegen.
        -> Ordner /Netatmo/...
        -> Utils.php


        Der NETATMO Baustein wird automatisch gestartet, sobald EDOMI gestartet wird (E1 hat den Initialwert 1).
        E1: Signal 1 = Startet Baustein (Dämon)
        E2: CLIENT ID
        E3: CLIENT SECRET
        E4: Username
        E5: Passwort
        E6: Debug
        E7: Modulindex


        A1: Name Modul
        A2: Temperatur
        A3: min Temperatur
        A4: min Temperarur Uhrzeit
        A5: max Temperatur
        A6: max Temperarur Uhrzeit
        A7: Temperatur trend (stable / up / down)
        A8: Humidity
        A9: CO2
        A10: Battery (full, high, medium, low, very low)
        A11: WiFi

        V1: Dämon
        V2: Version

        Changelog:
        ==========
        v1.0: Initial version


        ###[/HELP]###


        ###[LBS]###
        <?
        function LB_LBSID($id) {
        if ($E=getLogicEingangDataAll($id)) {

        if ($E[1]['value']!=0 && $E[1]['refresh']==1) {

        if (getLogicElementVar($id,1)!=1) {
        setLogicElementVar($id,1,1);
        callLogicFunctionExec(LBSID,$id);
        }

        }

        }
        }
        ?>
        ###[/LBS]###


        ###[EXEC]###
        <?
        require(dirname(__FILE__)."/../../../../main/include/php/incl_lbsexec.php");
        define('__ROOT__', dirname(dirname(__FILE__)));
        require_once(dirname(__FILE__)."/../../../../main/include/php/Netatmo/src/Netatmo/autoload.php");
        require_once (dirname(__FILE__)."/../../../../main/include/php/Utils.php");

        set_time_limit(0);
        sql_connect();

        if ($E=getLogicEingangDataAll($id)) {
        if($E[6]['value']==1){debug($id, "Netatmo - LBS : -> Netatmo EXEC started.");}

        $client_id = $E[2]['value'];
        $client_secret = $E[3]['value'];
        $test_username = $E[4]['value'];
        $test_password = $E[5]['value'];
        }

        while(getSysInfo(1)>=1) {

        $scope = Netatmo\Common\NAScopes::SCOPE_READ_STATION;
        $config = array("client_id" => $client_id,
        "client_secret" => $client_secret,
        "username" => $test_username,
        "password" => $test_password);

        $client = new Netatmo\Clients\NAWSApiClient($config);

        $data = $client->getData(NULL, TRUE);


        foreach($data['devices'] as $device)
        {

        foreach($device['modules'] as $module){

        if ( isset( $module['type'] ) && $module['type'] == 'NAModule4' ) {
        setLogicLinkAusgang($id,1,@$module['module_name']);
        setLogicLinkAusgang($id,2,@$module['dashboard_data']["Temperature"]);
        setLogicLinkAusgang($id,3,@$module['dashboard_data']["min_temp"]);
        $date_min_out = @$device['dashboard_data']['date_min_temp'];
        $date_min_out = date('H:i', $date_min_out);
        setLogicLinkAusgang($id,4,@$date_min_out);
        setLogicLinkAusgang($id,5,@$module['dashboard_data']["max_temp"]);
        $date_max_out = @$device['dashboard_data']['date_max_temp'];
        $date_max_out = date('H:i', $date_max_out);
        setLogicLinkAusgang($id,6,@$date_max_out);
        setLogicLinkAusgang($id,7,@$module['dashboard_data']["temp_trend"]);
        setLogicLinkAusgang($id,8,@$module['dashboard_data']["Humidity"]);
        setLogicLinkAusgang($id,9,@$module['dashboard_data']["CO2"]);
        if ( $module['battery_vp'] ){
        $b=$module['battery_vp'];
        switch ($b)
        {
        case ($b >= 5500):
        $c= 'full';
        break;
        case ($b>= 5000):
        $c= 'high';
        break;
        case ($b>= 4500):
        $c= 'medium';
        break;
        case ($b>= 4000):
        $c= 'low';
        break;
        case ($b< 4000):
        $c= 'very low';
        break;
        default:
        $c= 'Error';
        }
        }
        setLogicLinkAusgang($id,10,@$c);
        setLogicLinkAusgang($id,11,@$module['rf_status']);
        }
        }

        }

        usleep(1000000*50);
        }


        sql_disconnect();
        function debug($id,$msg)
        {
        $E=getLogicEingangDataAll($id);
        $version = getLogicElementVar($id,2);
        writeToTraceLog(0,true,"LBSLBSID($id): ".$msg.' [v'.$version.']');
        }

        ?>
        ###[/EXEC]###
        habe den Modulindex jedoch direkt im Code hinterlegt. (habe nur 1 Zusatzmodul).

        Mit einem eigenen Eingang für den Modulindex habe ich schon herumexperimentiert.
        Habe es jedoch noch nicht hinbekommen. Bin auch kein Programmierer. Für einen, der sich auskennt, sollte das ein leichtes sein.

        Grüsse
        Franz
        Könnte vielleicht bitte jemand auf Basis von Fischs Vorschlag eine Netatmo Modulerweiterung für die max 3 Zusatzmodule machen. Ich bekomme es leider nicht wirklich zum laufen :-(

        Kommentar


          #34
          Ohne das jetzt testen zu können, aber versuch das damit. Auf E7 gibst dann das Modul an. NAModule4, NAModule5 oder NAModule6

          PHP-Code:
          ###[DEF]###
          [name =Netatmo Zusatzmodul (v1.0) ]

          [e#1 = Starten #init=1]
          [e#2 = CLIENT_ID ]
          [e#3 = CLIENT_SECRET ]
          [e#4 = USERNAME ]
          [e#5 = PASSWORD ]
          [e#6 = debug #init=0]
          [e#7 = Modulindex #init=NAModule4]



          [a#1 =Name Modul ]
          [a#2 =Temperature ]
          [a#3 =min temp ]
          [a#4 =min time ]
          [a#5 =max temp ]
          [a#6 =max time ]
          [a#7 =temp trend ]
          [a#8 =Humidity ]
          [a#9 =CO2 ]
          [a#10 =Battery ]
          [a#11 =WiFi ]

          [v#1 = 0 ]
          [v#2 = 1.0 ] //Version
          ###[/DEF]###


          ###[HELP]###
          NETATMO Zusatzmodul Baustein für zusaetzliches indoor modul


          Diese Dateien mussen im Ordner /usr/local/edomi/main/include/php liegen.
          -> Ordner /Netatmo/...
          -> Utils.php


          Der NETATMO Baustein wird automatisch gestartet, sobald EDOMI gestartet wird (E1 hat den Initialwert 1).
          E1: Signal 1 = Startet Baustein (Dämon)
          E2: CLIENT ID
          E3: CLIENT SECRET
          E4: Username
          E5: Passwort
          E6: Debug
          E7: Modulindex


          A1: Name Modul
          A2: Temperatur
          A3: min Temperatur
          A4: min Temperarur Uhrzeit
          A5: max Temperatur
          A6: max Temperarur Uhrzeit
          A7: Temperatur trend (stable / up / down)
          A8: Humidity
          A9: CO2
          A10: Battery (full, high, medium, low, very low)
          A11: WiFi

          V1: Dämon
          V2: Version

          Changelog:
          ==========
          v1.0: Initial version


          ###[/HELP]###


          ###[LBS]###
          <?
          function LB_LBSID($id) {
          if ($E=getLogicEingangDataAll($id)) {

          if ($E[1]['value']!=0 && $E[1]['refresh']==1) {

          if (getLogicElementVar($id,1)!=1) {
          setLogicElementVar($id,1,1);
          callLogicFunctionExec(LBSID,$id);
          }

          }

          }
          }
          ?>
          ###[/LBS]###


          ###[EXEC]###
          <?
          require(dirname(__FILE__)."/../../../../main/include/php/incl_lbsexec.php");
          define('__ROOT__', dirname(dirname(__FILE__)));
          require_once(dirname(__FILE__)."/../../../../main/include/php/Netatmo/src/Netatmo/autoload.php");
          require_once (dirname(__FILE__)."/../../../../main/include/php/Utils.php");

          set_time_limit(0);
          sql_connect();

          if ($E=getLogicEingangDataAll($id)) {
          if($E[6]['value']==1){debug($id, "Netatmo - LBS : -> Netatmo EXEC started.");}

          $client_id = $E[2]['value'];
          $client_secret = $E[3]['value'];
          $test_username = $E[4]['value'];
          $test_password = $E[5]['value'];
          $modulindex = $E[7]['value'];
          }

          while(getSysInfo(1)>=1) {

          $scope = Netatmo\Common\NAScopes::SCOPE_READ_STATION;
          $config = array("client_id" => $client_id,
          "client_secret" => $client_secret,
          "username" => $test_username,
          "password" => $test_password);

          $client = new Netatmo\Clients\NAWSApiClient($config);

          $data = $client->getData(NULL, TRUE);


          foreach($data['devices'] as $device)
          {

          foreach($device['modules'] as $module){

          if ( isset( $module['type'] ) && $module['type'] == $modulindex ) {
          setLogicLinkAusgang($id,1,@$module['module_name']);
          setLogicLinkAusgang($id,2,@$module['dashboard_data']["Temperature"]);
          setLogicLinkAusgang($id,3,@$module['dashboard_data']["min_temp"]);
          $date_min_out = @$device['dashboard_data']['date_min_temp'];
          $date_min_out = date('H:i', $date_min_out);
          setLogicLinkAusgang($id,4,@$date_min_out);
          setLogicLinkAusgang($id,5,@$module['dashboard_data']["max_temp"]);
          $date_max_out = @$device['dashboard_data']['date_max_temp'];
          $date_max_out = date('H:i', $date_max_out);
          setLogicLinkAusgang($id,6,@$date_max_out);
          setLogicLinkAusgang($id,7,@$module['dashboard_data']["temp_trend"]);
          setLogicLinkAusgang($id,8,@$module['dashboard_data']["Humidity"]);
          setLogicLinkAusgang($id,9,@$module['dashboard_data']["CO2"]);
          if ( $module['battery_vp'] ){
          $b=$module['battery_vp'];
          switch ($b)
          {
          case ($b >= 5500):
          $c= 'full';
          break;
          case ($b>= 5000):
          $c= 'high';
          break;
          case ($b>= 4500):
          $c= 'medium';
          break;
          case ($b>= 4000):
          $c= 'low';
          break;
          case ($b< 4000):
          $c= 'very low';
          break;
          default:
          $c= 'Error';
          }
          }
          setLogicLinkAusgang($id,10,@$c);
          setLogicLinkAusgang($id,11,@$module['rf_status']);
          }
          }

          }

          usleep(1000000*50);
          }


          sql_disconnect();
          function debug($id,$msg)
          {
          $E=getLogicEingangDataAll($id);
          $version = getLogicElementVar($id,2);
          writeToTraceLog(0,true,"LBSLBSID($id): ".$msg.' [v'.$version.']');
          }

          ?>
          ###[/EXEC]###

          Kommentar


            #35
            Zitat von BabylonYa Beitrag anzeigen

            Könnte vielleicht bitte jemand auf Basis von Fischs Vorschlag eine Netatmo Modulerweiterung für die max 3 Zusatzmodule machen. Ich bekomme es leider nicht wirklich zum laufen :-(
            coliflower testet meinen Netatmo LBS gerade ausgiebig. Danach werde ich den LBS zur Verfügung stellen. Dauert noch 2-3 Tage... bin momentan zeitlich sehr eingeschränkt.

            Kommentar


              #36
              Könnt möglicherweise Interessant werden:
              https://www.netatmo.com/product/security/presence

              Hat jemand schon mit der Welcome Erfahrungen gemacht?

              Kommentar


                #37
                Sieht recht chic aus (mal was anderes) - mich würde rein optisch allerdings stören, dass die "Lampe" irgendwie schief hängen wird... Daher bevorzuge ich Dome-Kameras.
                EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                Kommentar


                  #38
                  Moin,

                  ich bekomme vom dem Baustein 19000291 täglich von 0.00 - ca. 0.05 Uhr täglich ein paar Meldungen im Fehler-Log:

                  Code:
                   [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
                  [TR]
                  [TD]2016-09-27 00:00:55[/TD]
                   			[TD]328142[/TD]
                   			[TD]?[/TD]
                   			[TD]5534[/TD]
                   			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000291.php | Fehlercode: 8 | Zeile: 171 | Undefined index: sum_rain_24[/TD]
                   			[TD]ERROR[/TD]
                   		[/TR]
                  [TR]
                  [TD]2016-09-27 00:02:05[/TD]
                   			[TD]692859[/TD]
                   			[TD]?[/TD]
                   			[TD]5534[/TD]
                   			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000291.php | Fehlercode: 8 | Zeile: 171 | Undefined index: sum_rain_24[/TD]
                   			[TD]ERROR[/TD]
                   		[/TR]
                  [TR]
                  [TD]2016-09-27 00:03:16[/TD]
                   			[TD]014918[/TD]
                   			[TD]?[/TD]
                   			[TD]5534[/TD]
                   			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000291.php | Fehlercode: 8 | Zeile: 171 | Undefined index: sum_rain_24[/TD]
                   			[TD]ERROR[/TD]
                   		[/TR]
                  [TR]
                  [TD]2016-09-27 00:04:26[/TD]
                   			[TD]350852[/TD]
                   			[TD]?[/TD]
                   			[TD]5534[/TD]
                   			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000291.php | Fehlercode: 8 | Zeile: 171 | Undefined index: sum_rain_24[/TD]
                   			[TD]ERROR[/TD]
                   		[/TR]
                  [TR]
                  [TD]2016-09-27 00:05:36[/TD]
                   			[TD]671960[/TD]
                   			[TD]?[/TD]
                   			[TD]5534[/TD]
                   			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000291.php | Fehlercode: 8 | Zeile: 171 | Undefined index: sum_rain_24[/TD]
                   			[TD]ERROR[/TD]
                   		[/TR]
                  [/TABLE]
                  Vermutlich liegen für den Zeitraum einfach keine gültigen Werte vor?!?

                  Aber wie kann ich die Einträge im Fehler-Log vermeiden?

                  Viele Grüße,
                  Mucki

                  Kommentar


                    #39
                    Zitat von MuckiLegden Beitrag anzeigen
                    Moin,

                    ich bekomme vom dem Baustein 19000291 täglich von 0.00 - ca. 0.05 Uhr täglich ein paar Meldungen im Fehler-Log:


                    Vermutlich liegen für den Zeitraum einfach keine gültigen Werte vor?!?

                    Aber wie kann ich die Einträge im Fehler-Log vermeiden?

                    Viele Grüße,
                    Mucki
                    Das gleiche Problem habe ich auch mit dem 19000290 und 19000291. Da fehlen wohl Werte von der Netatmo Webseite.
                    Vermeiden lassen sich die Fehler scheinbar nur wenn die LBS vom Code geändert würden. Leider fehlen mir die PHP Kenntnisse um genaueres sagen zu können. Vielleicht schaut sich Timberland (Ersteller) oder die anderen PHP Spezialisten mal an. Hatte die letzten 2 Tage mal so 800 Fehlermeldungen im Log.

                    Kommentar


                      #40
                      Zitat von Robby Beitrag anzeigen

                      Das gleiche Problem habe ich auch mit dem 19000290 und 19000291. Da fehlen wohl Werte von der Netatmo Webseite.
                      Vermeiden lassen sich die Fehler scheinbar nur wenn die LBS vom Code geändert würden. Leider fehlen mir die PHP Kenntnisse um genaueres sagen zu können. Vielleicht schaut sich Timberland (Ersteller) oder die anderen PHP Spezialisten mal an. Hatte die letzten 2 Tage mal so 800 Fehlermeldungen im Log.
                      Abhilfe könnte ein Prüfen des Array-Index auf Existenz bringen.

                      D.h. jedes

                      PHP-Code:
                      setLogicLinkAusgang($id,15,@$module['dashboard_data']['XXXXXX']); 

                      sollte ersetzt werden durch:

                      PHP-Code:
                      if (array_key_exists('xxxxxx'$module['dashboard_data']) ($setLogicLinkAusgang($id,###,@$module['dashboard_data']['XXXXXX']);
                      else $setLogicLinkAusgang($id,###,'n/a'); 

                      Wobei XXXXXX der enstprechende Index ist und ### die Nummer des Ausgangs. Also z.B. "sum_rain_24" und "16".

                      Im "else" Teil des if Statements kann man natürlich auch etwas anderes ausgeben als "n/a". Fall das nichtvorhandensein des Index "sum_rain_24" bedeutet, dass dieser Wert 0 ist, dann ersetzt man das 'n/a' durch 0. Das müsste dann in der API Doku von Netatmo stehen.

                      Das "else" Statement kann man natürlich auch ganz weglassen, dann wird der entsprechende Ausgang nicht neu gesetzt und der letzte Wert bleibt erhalten.

                      Vielleicht hilft das ja ....


                      VG
                      André
                      Zuletzt geändert von jonofe; 28.09.2016, 13:41.

                      Kommentar


                        #41
                        Zitat von Robby Beitrag anzeigen

                        Das gleiche Problem habe ich auch mit dem 19000290 und 19000291. Da fehlen wohl Werte von der Netatmo Webseite.
                        Vermeiden lassen sich die Fehler scheinbar nur wenn die LBS vom Code geändert würden. Leider fehlen mir die PHP Kenntnisse um genaueres sagen zu können. Vielleicht schaut sich Timberland (Ersteller) oder die anderen PHP Spezialisten mal an. Hatte die letzten 2 Tage mal so 800 Fehlermeldungen im Log.
                        Bis jemand den Baustein überarbeitet hat hilft vielleicht auch dieser hier
                        http://service.knx-user-forum.de/?co...ad&id=19000530
                        weiter.

                        Kommentar


                          #42
                          MuckiLegden , @Robby, ich habe den Baustein mal angepasst. Danke jonofe !

                          Kommentar


                            #43
                            Zitat von timberland Beitrag anzeigen
                            MuckiLegden , @Robby, ich habe den Baustein mal angepasst. Danke jonofe !
                            ....sind aber noch nicht im Downloadbereich? Da sehe ich noch vom 19000290 die Version 1.2.
                            Passt Du auch den 19000291 an? Bräuchte ich für Wind und Regen.

                            Vielen Dank im Vorraus

                            Kommentar


                              #44
                              Welcher Ausgang macht beim 19000290 die Probleme? Dachte das ist nur der 19000291 mit dem sum_rain_24 Ausgang.

                              Kommentar


                                #45
                                Zitat von timberland Beitrag anzeigen
                                Welcher Ausgang macht beim 19000290 die Probleme? Dachte das ist nur der 19000291 mit dem sum_rain_24 Ausgang.
                                Müsste ich heute abend mal wenn ich wieder zu Hause bin mal schauen. Habe aber auch öfters die Fehlerlogs gelöscht. Es waren aber Fehlermeldungen wie Wettertendenz darunter. Die haben scheinbar an ihrer Webseite gearbeitet. Also kann es jede Variabel treffen.

                                Kommentar

                                Lädt...
                                X