Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Wetterdaten an wetterarchiv.de schicken

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Wetterdaten an wetterarchiv.de schicken

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
1 Beiträge 1 Kommentatoren 1.2k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • F Offline
    F Offline
    Farmer-cb
    schrieb am zuletzt editiert von
    #1

    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???????

    smartes Haus durch Digitalstrom, enocean, SPS S7-1215, Homematik, Shelly, Alexa, iobroker auf einem HP-mini mit Proxmox

    1 Antwort Letzte Antwort
    0
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen


    Support us

    ioBroker
    Community Adapters
    Donate

    453

    Online

    32.7k

    Benutzer

    82.4k

    Themen

    1.3m

    Beiträge
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
    ioBroker Community 2014-2025
    logo
    • Anmelden

    • Du hast noch kein Konto? Registrieren

    • Anmelden oder registrieren, um zu suchen
    • Erster Beitrag
      Letzter Beitrag
    0
    • Home
    • Aktuell
    • Tags
    • Ungelesen 0
    • Kategorien
    • Unreplied
    • Beliebt
    • GitHub
    • Docu
    • Hilfe