NEWS
Problem mit JS, neuste Version: axios.get is not a function
-
Ich habe heute den js controller und auch den Javascript Adapter auf die neuste Version geupdatet.
Nun bekomme ich den Fehler:TypeError: axios.get is not a function
axios ist als zusätzliches NPM Modul im Adapter geladen und hat bislang auch immer funktioniert.
Dies ist der JS Code
var inhalt = 'xx'; var link_solarlog ="http://solarlog.lan/min_cur.js?nocache"; var axios = require('axios'); var loggen=false; schedule('* 6-22 * * *',function () { solarlog_pollen(link_solarlog);}); //schedule('{"time":{"start":"sunrise","end":"sunset","mode":"minutes","interval":1},"period":{"days":1}}',function () { solarlog_pollen(link_solarlog);}); solarlog_pollen(link_solarlog) ; async function solarlog_pollen(link) { if (loggen) { console.log("Solarlog abrufen"); } try { const response = await axios.get(link); // asynchrone Anfrage const inhalt = response.data; // Daten aus der Antwort extrahieren wert_schreiben(inhalt); // Funktion aufrufen, um die Werte zu verarbeiten } catch (error) { console.error('Fehler aufgetreten:', error); // Fehlerbehandlung } } function wert_schreiben(temp) { //var String = json.toString('utf8'); //var String=json; //log("In Function: "+temp); var PositionA = temp.search("var Pac="); var PositionE = temp.search("var aPdc=new"); var ID = temp.substr(PositionA+8,PositionE-PositionA-10); //log(PositionA); //log(PositionE); ID = parseInt(ID); if (loggen) { log("Leistung Solarlog: "+ID+" W");} setState("knx.0.Zähler.Photovoltaik.Leistung_PV1",ID); }
Kann mir jemand bei der Suche helfen oder gibt es eine Alternative um eine html Seite aufzurufen?
-
Bitte IMMER die exakten Versionen angeben. Was jetzt bei dir "neueste" ist, ist morgen schon was anderes. Also was läuft bei dir (bzw. läuft nicht)?
adapter (javascript)
js-controller
node
O/S -
@fuchs1978 sagte: gibt es eine Alternative um eine html Seite aufzurufen?
Versuche es mal mit httpGet().
async function solarlog_pollen(link) { if (loggen) { console.log("Solarlog abrufen"); } httpGet(link, (error, response) => { if(error) console.error('Fehler aufgetreten:' + error); // Fehlerbehandlung else wert_schreiben(response.data); // Funktion aufrufen, um die Werte zu verarbeiten }); }
-
@paul53 danke, dass funktioniert erstmal bis zum fix
-
@fuchs1978 egal ob fix oder nicht. kannst es doch auf httpget lassen.
Ro75
-
@fuchs1978 sagte: funktioniert erstmal bis zum fix
httpGet() ist eine Funktion des Javascript-Adapters und sollte künftig bevorzugt werden.
-
@paul53 gibt es auch eine Variante mit https?
-
@fuchs1978 httpGet() kann auch in Verbindung mit "https" eingesetzt werden. Läuft bei mir ohne Probleme.
Ro75.
-
TypeError: axios.get is not a function
Kam der Fehler in der Konsole, oder hast du den Fehler nur durch die rote gestrichelte Linie gesehen?
Wenn das zweite, dann ist es nur die Syntaxprüfung des Editors der die richtigen Typ Definitionen zu axios nicht findet
Der Code sollte trotzdem laufen. -
@oliverio in der Komsole, Problem wurde aber im Github bereits behoben