Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Wetterdaten an wetterarchiv.de schicken

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Wetterdaten an wetterarchiv.de schicken

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      Farmer-cb last edited by

      Hallo

      habe per php bereits ein script am laufen, welches die Daten meiner Wetterstation an wetter.com (wetterarchiv.de) schickt.

      würde dies nun durch iobroker erledigen lassen.

      php Script:

      ! ````
      $pwd_wetter='xxxxxxxx';
      $id_wetter='yyyyyy';
      ! $error[100]='ID not found';
      $error[101]='Password not found';
      $error[102]='ID or Password not found';
      $error[103]='Date not found or date syntax error';
      $error[110]='Software-ID not found';
      $error[111]='ID locked';
      $error[200]='Method Not Allowed';
      $error[201]='Syntax error';
      $error[202]='No parameter received';
      $error[203]='Less than 5 weather parameter';
      $error[500]='Database error';
      $error[501]='Request cannot be completed';
      $error[502]='Request cannot be processed';
      ! $utc = gmdate("YmdHi", time());
      $date = date("YmdHi", time());
      ! echo 'utc: '.$utc.'
      ';
      echo 'local: '.$date.'
      ';

      $curl = curl_init();
      curl_setopt_array($curl, array(
      CURLOPT_RETURNTRANSFER => 1,
      CURLOPT_URL => "http://interface.wetterarchiv.de/weather?test=true&id=$id_wetter&pwd=$pwd_wetter&dtutc=$utc&dt=$date&te=$aussentemp&ws=$windsensor",
      CURLOPT_USERAGENT => 'Codular Sample cURL Request'
      ));

      ! $resp = curl_exec($curl);
      ! curl_close($curl);
      ! $abfrage=json_decode($resp);
      echo '
      Status:'.$abfrage->status;
      echo '
      Version:'.$abfrage->version;
      if ($abfrage->info!='')
      {
      echo '
      Info';
      echo '
      '.$abfrage->info.'';
      echo '
      '.$abfrage->log.'';
      }
      if ($abfrage->status=='error')
      {
      echo '
      Error';
      echo '
      '.$abfrage->errormessage.'';
      echo '
      '.$abfrage->errorcode.'';
      }

      
      habe es in iobroker so umgesetzt:
      
      >! ````
      function uebermitteln()
      {
              var error = new Array();
              error[100]='ID not found';
              error[101]='Password not found';
              error[102]='ID or Password not found';
              error[103]='Date not found or date syntax error';
              error[110]='Software-ID not found';
              error[111]='ID locked';
              error[200]='Method Not Allowed';
              error[201]='Syntax error';
              error[202]='No parameter received';
              error[203]='Less than 5 weather parameter';
              error[500]='Database error';
              error[501]='Request cannot be completed';
              error[502]='Request cannot be processed';
      >!         var pwd_wetter  ='xxxxxxxx';
              var id_wetter   ='yyyyyy';
              var date        = new Date();
              var std_2       =date.getHours()-2;
              var monat       =date.getMonth()+1;
              var zeit_lokal  = date.getFullYear()+'.'+monat+'.'+date.getDate()+' '+date.getHours()+':'+date.getMinutes()+':'+date.getSeconds();
              var zeit_utc    = date.getFullYear()+'.'+monat+'.'+date.getDate()+' '+std_2+':'+date.getMinutes()+':'+date.getSeconds();
              var aussentemp  =getState("javascript.0.Daten.Status.Aussentemp").val;
              var wind        =getState("javascript.0.Daten.Status.Wind").val;
      >!         var request = require('request');
              log ('http://interface.wetterarchiv.de/weather?test=true&id='+id_wetter+'&pwd='+pwd_wetter+'&dtutc='+zeit_utc+'&dt='+zeit_lokal+'&te='+aussentemp+'&ws='+wind+'');
              var options = {
              url: 'http://interface.wetterarchiv.de/weather?test=true&id='+id_wetter+'&pwd='+pwd_wetter+'&dtutc='+zeit_utc+'&dt='+zeit_lokal+'&te='+aussentemp+'&ws='+wind+'',
              headers: {
                  'Authorization': 'Basic YWRtaW46OHAABBCCYQG8=',
                  'Returntransfer': '1',
                  'Accept-Language': 'en-US,en;q=0.8,de;q=0.6',
                  'User-Agent': 'Codular Sample cURL Request',
                  'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
              },
              body: ' <xs:nml xmlns:xs="http://www.netgear.com/protocol/transaction/NMLSchema-0.9" xmlns="urn:netgear:nas:readynasd" src="dpv_1490124698000" dst="nas"><xs:transaction id="njl_id_12134"> <xs:custom id="njl_id_12133" name="Halt" resource-id="Shutdown" resource-type="System"> <shutdown halt="true" fsck="false"></shutdown> </xs:custom> </xs:transaction></xs:nml> '
              };
      >!         request.post(options, function(error, response, body) {
              if (error) {
                  // auf Fehler reagieren
                  log ('error: '+error);
                  log ('response: '+response);
                  log ('body: '+body);
      
              } else {
                  // mit der Antwort was machen
                  log ('kein fehler');
                  log ('error: '+error);
                  log ('response: '+response);
                  log ('body: '+body);
              }
      >!         });
      }
      >! uebermitteln(); //wird später per schedul angestossen
      

      bekomme aber leider es nicht hin, das ich den response ausgeben kann, im log steht immer nur [object object].

      Passt der Code so einigermassen???????

      1 Reply Last reply Reply Quote 0
      • First post
        Last post

      Support us

      ioBroker
      Community Adapters
      Donate

      554
      Online

      31.9k
      Users

      80.2k
      Topics

      1.3m
      Posts

      1
      1
      1222
      Loading More Posts
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
      The ioBroker Community 2014-2023
      logo