Skip to content

JavaScript

Hilfe für Skripterstellung mit JavaScript

2.5k Themen 48.3k Beiträge

NEWS

  • [gelöst] Übergabe einer Variable an Schedule

    11
    0 Stimmen
    11 Beiträge
    783 Aufrufe
    R
    Sooo, nu hats geklappt (Titel gleich noch geändert). Hier ist die Version, die funktioniert -- ohne Hilfsvariable. Der Trick war dann das let var temp = []; var einStd = []; var einMin = []; var zeitplan = []; for (let i=1; i<=5; i++){ zeit[i] = getState("javascript.0.thermostat.daniel."+profil+".Zeit"+i).val; temp[i] = getState("javascript.0.thermostat.daniel."+profil+".Temp"+i).val; einStd[i] = zeit[i].slice(0, 2); einMin[i] = zeit[i].slice(3, 5); console.log("vor schedule: "+temperatur); zeitplan[i] = schedule(einMin[i].trim() + ' ' + einStd[i].trim() + ' ' + '*'.trim() + ' ' + '*'.trim() + ' ' + Wochentag_1.trim(), function tempEinstellen() { console.log("in schedule: "+temp[i]); console.log(i); setState("hmip.0.devices.30150377DC0012999393BDE7.channels.1.setPointTemperature"/*setPointTemperature*/, parseFloat(temperatur)); } ); } Vielen Dank an @AlCalzone und alle anderen Beteiligten! Lieben Gruß Daniel
  • Websites parsen und bedienen mit puppetteer

    4
    1 Stimmen
    4 Beiträge
    2k Aufrufe
    M
    @OliverW Danke für den Hinweis. Ja hatte ich wohl. Aber irgendein Wert, ich glaube Niederschlagsmenge, hat gefehlt. Mein Test ist aber schon länger her.
  • [gelöst] über json parse Hilfsvariable setzen

    javascript
    2
    0 Stimmen
    2 Beiträge
    249 Aufrufe
    F
    Mein Fehler. Im Script Editor war "debug" eingeschaltet und ich wusste nicht, dass das dann zu einer "Simulation" führt, dachte es währe für das logging.
  • [Gelöst] Änderungen an HM IP Wandtaster 6-fach kommen in iobroker nicht an

    4
    0 Stimmen
    4 Beiträge
    604 Aufrufe
    S
    @Homoran Danke, hatte ich mit der Suche nicht gefunden, klappt so :)
  • JavaScript WebSocket - Post und Get

    1
    0 Stimmen
    1 Beiträge
    279 Aufrufe
    Niemand hat geantwortet
  • Funktionen unter Global werden nicht gefunden

    6
    2
    0 Stimmen
    6 Beiträge
    509 Aufrufe
    D
    @AlCalzone Ah Ok. Also im Prinzip so?: createState(timer, { name: 'timer Array', SmartName: 'timer Array', desc: 'timer Array für say it', type: 'array', unit: '', role: 'value' }); Und wie greift man darauf zu bzw. beschreibt die Variable? Sowas getState(timer[0]).val) oder setState(timer[0]), "test"), geht nicht Gruss Ralf
  • Ein script für x buttons. Welcher Button hat das Script aufgerufen?

    5
    0 Stimmen
    5 Beiträge
    443 Aufrufe
    bahnuhrB
    @AlCalzone sagte in Ein script für x buttons. Welcher Button hat das Script aufgerufen?: Oder man nimmt das Konstrukt, das es in der Programmierung dafür gibt: Schleifen. Ja, so gehts einfacher.
  • Datenpunkt von ioBroker nach Variable in CCU schreiben

    21
    1
    0 Stimmen
    21 Beiträge
    2k Aufrufe
    hananH
    Hallo paul53 Hat supi geklappt. Besten Dank nochmals für Deine Hilfe..
  • Fritzbox 7490 Anruf sofort an Mailbox wenn niemand zu hause

    4
    0 Stimmen
    4 Beiträge
    561 Aufrufe
    umbmU
    So könnte es klappen: Einen zweiten AB auf der fritzbox anlegen, der sofort rangeht. Rufumleitung für sofort einrichten auf den neuen AB und über Script bei Abwesenheit aktivieren. Nur müsstest du dafür wieder zusätzlich deine node-red Programmierung auf den zusätzlichen AB erweitern. Bei mir werden in callForwarding alle eingerichteten RU der Fritzbox angezeigt.
  • Kein Scripte-Reiter / keine Javascript Adapter

    29
    0 Stimmen
    29 Beiträge
    2k Aufrufe
    Björn BoschB
    Problem gelöst: System neu aufegsetzt, jetzt läuft alles wie es soll :-) Aber vielen Dank für Eure Hilfe!!!
  • [gelöst] Rollosteuerung und automatische Schattierung

    javascript
    5
    0 Stimmen
    5 Beiträge
    422 Aufrufe
    M
    @paul53 danke dir, auf dass mit den 2 timern hätte ich auch selber kommen können. Ich habs mal umgesetzt - mal sehen, wie es morgen funktioniert. danke - wie immer...
  • MVG München Abfahrtszeiten

    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    M
    @fxlupo Hi, kannst Du die Änderungen genau sagen? Oder Dein Script, so wie es jetzt läuft, posten? Ich habe noch einen Wurm in der Variablendeklaration drinnen, den ich nicht rausbekomme (ich habe alles per Copy Paste versucht zusammenzubasteln...). Das wäre klasse. Danke, Markus
  • [gelöst] Exec Befehl im Multihost

    16
    0 Stimmen
    16 Beiträge
    1k Aufrufe
    paul53P
    @bonafide sagte: schon schalten die Stecker Bitte noch [gelöst] in der Überschrift eintragen.
  • Lightmanager, (v9.x) json Datei auslesen und DP erzeugen

    3
    0 Stimmen
    3 Beiträge
    374 Aufrufe
    D
    Danke Arteck, ich habe etwas weiter "auskommentiert und via copy/ paste :-) auch die Änderungen eingefügt... das Script funktioniert mit dem LightManager Air Version 9.1 var logOn = false; // Skript Logausgabe ein- (true) / ausschalten (false). Fehler werden immer ausgegeben. var forecreation = true; // Default: false. true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden) var http = require('http'); // Node Module http verwenden var RQoptions = { // URL, die abgefragt, bzw. gesendet werden soll host: '192.168.10.71', path: '/weather.json', method: 'GET', headers: { 'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36', 'content-Type': 'text/plain', 'Accept' : 'application/json, text/javascript' } }; // Datenpunkte anlegen: // ----------------------------------------------------------------------------- // Datenpunkt-Variablen: // ------------------------------------------------------------------------- var idVariablenDP; var dpGruppe; var dpPunkt; // ------------------------------------------------------------------------- // --- GRUPPE "channel0" var dpGruppe = "channel0"; var dpPunkt = "temperature"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); var dpPunkt = "humidity"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); // --- GRUPPE "channel1" var dpGruppe = "channel1"; var dpPunkt = "temperature"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); var dpPunkt = "humidity"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); // --- GRUPPE "channel2" var dpGruppe = "channel2-bad"; var dpPunkt = "temperature"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); var dpPunkt = "humidity"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); // --- GRUPPE "channel3" var dpGruppe = "channel3"; var dpPunkt = "temperature"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); var dpPunkt = "humidity"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); // --- GRUPPE "channel4" var dpGruppe = "channel4"; var dpPunkt = "temperature"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); var dpPunkt = "humidity"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); // --- GRUPPE "channel5" var dpGruppe = "channel5"; var dpPunkt = "temperature"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); var dpPunkt = "humidity"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); // --- GRUPPE "channel6" var dpGruppe = "channel6-daniel"; var dpPunkt = "temperature"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); var dpPunkt = "humidity"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); // --- GRUPPE "channel7" var dpGruppe = "channel7-jessica"; var dpPunkt = "temperature"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); var dpPunkt = "humidity"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); // --- GRUPPE "channel8" var dpGruppe = "channel8-schlafzimmer"; var dpPunkt = "temperature"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); var dpPunkt = "humidity"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); // --- GRUPPE "channel9" var dpGruppe = "channel9-kueche"; var dpPunkt = "temperature"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); var dpPunkt = "humidity"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); // --- GRUPPE "channel10" var dpGruppe = "channel10-wohnzimmer"; var dpPunkt = "temperature"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); var dpPunkt = "humidity"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); // --- GRUPPE "channel11" var dpGruppe = "channel11"; var dpPunkt = "temperature"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); var dpPunkt = "humidity"; var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt name: dpPunkt, // <-- !!!!! desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!! type: 'number', def: 0.0, role: 'value' }); // Funktionen: // ----------------------------------------------------------------------------- function DatenAuslesen() { var req = http.get(RQoptions, function(res) { if(logOn) log('STATUS: ' + res.statusCode); // Statuscode if(logOn) log('HEADERS: ' + JSON.stringify(res.headers)); // Header (Rückmeldung vom Webserver) // Buffer the body entirely for processing as a whole. var bodyChunks = []; var chunkLine = 0; res.on('data', function(chunk) { chunkLine = chunkLine + 1; if(logOn) log("Zeilennummer: " + chunkLine+ " ,Inhalt: " + chunk); // Hier können die einzelnen Zeilen verarbeitet werden... bodyChunks.push(chunk); }).on('end', function() { if(logOn) log("ARRAY mit den einzelnen Zeilen: " + bodyChunks); if(logOn) log("ARRAY Länge: " + bodyChunks.length); var body = Buffer.concat(bodyChunks);// erhaltene Daten if(logOn) log('BODY: ' + body); // ...und/oder das Gesamtergebnis. DatenVerarbeiten(body); // Abrufen der Bearbeitungs-Funktion }); }); req.on('error', function(e) { // Fehler abfangen log('ERROR: ' + e.message,"warn"); return("error"); }); } // ----------------------------------------------------------------------------- function DatenVerarbeiten(result) { var json = JSON.parse(result); if (json !== null) { // GRUPPE "channel0" setState("javascript.0.lmair.temp-sensoren.channel0.temperature", parseFloat(json.channel0.temperature)); setState("javascript.0.lmair.temp-sensoren.channel0.humidity", parseFloat(json.channel0.humidity)); // GRUPPE "channel1" setState("javascript.0.lmair.temp-sensoren.channel1.temperature", parseFloat(json.channel1.temperature)); setState("javascript.0.lmair.temp-sensoren.channel1.humidity", parseFloat(json.channel1.humidity)); // GRUPPE "channel2" setState("javascript.0.lmair.temp-sensoren.channel2-bad.temperature", parseFloat(json.channel2.temperature)); setState("javascript.0.lmair.temp-sensoren.channel2-bad.humidity", parseFloat(json.channel2.humidity)); // GRUPPE "channel3" setState("javascript.0.lmair.temp-sensoren.channel3.temperature", parseFloat(json.channel3.temperature)); setState("javascript.0.lmair.temp-sensoren.channel3.humidity", parseFloat(json.channel3.humidity)); // GRUPPE "channel4" setState("javascript.0.lmair.temp-sensoren.channel4.temperature", parseFloat(json.channel4.temperature)); setState("javascript.0.lmair.temp-sensoren.channel4.humidity", parseFloat(json.channel4.humidity)); // GRUPPE "channel5" setState("javascript.0.lmair.temp-sensoren.channel5.temperature", parseFloat(json.channel5.temperature)); setState("javascript.0.lmair.temp-sensoren.channel5.humidity", parseFloat(json.channel5.humidity)); // GRUPPE "channel6" setState("javascript.0.lmair.temp-sensoren.channel6-daniel.temperature", parseFloat(json.channel6.temperature)); setState("javascript.0.lmair.temp-sensoren.channel6-daniel.humidity", parseFloat(json.channel6.humidity)); // GRUPPE "channel7" setState("javascript.0.lmair.temp-sensoren.channel7-jessica.temperature", parseFloat(json.channel7.temperature)); setState("javascript.0.lmair.temp-sensoren.channel7-jessica.humidity", parseFloat(json.channel7.humidity)); // GRUPPE "channel8" setState("javascript.0.lmair.temp-sensoren.channel8-schlafzimmer.temperature", parseFloat(json.channel8.temperature)); setState("javascript.0.lmair.temp-sensoren.channel8-schlafzimmer.humidity", parseFloat(json.channel8.humidity)); // GRUPPE "channel9" setState("javascript.0.lmair.temp-sensoren.channel9-kueche.temperature", parseFloat(json.channel9.temperature)); setState("javascript.0.lmair.temp-sensoren.channel9-kueche.humidity", parseFloat(json.channel9.humidity)); // GRUPPE "channel10" setState("javascript.0.lmair.temp-sensoren.channel10-wohnzimmer.temperature", parseFloat(json.channel10.temperature)); setState("javascript.0.lmair.temp-sensoren.channel10-wohnzimmer.humidity", parseFloat(json.channel10.humidity)); // GRUPPE "channel11" setState("javascript.0.lmair.temp-sensoren.channel11.temperature", parseFloat(json.channel11.temperature)); setState("javascript.0.lmair.temp-sensoren.channel11.humidity", parseFloat(json.channel11.humidity)); } else { log ("Fehler beim Einlesen der Daten."); } } // Beim Skriptstart die Werte auslesen: // -------------------------------------------------------------------------- setTimeout(DatenAuslesen, 1000); // Werte automatisch aktualisieren: // -------------------------------------------------------------------------- schedule('*/30 * * * * *', DatenAuslesen); // alle 30 sekunden //
  • Script Hilfe - per Telegram ein pyton script starten und zurück geben

    3
    0 Stimmen
    3 Beiträge
    428 Aufrufe
    J
    @arteck wirklich so einfach? Ich bin da einscheint ziemlich blöd. In zwei Stunden recherchieren habe ich es nicht geschafft ein simples Python Skript durch Javascript / Blockly zu starten. Eigentlich habe ich ein paar post auf English gefunden und die meinten dass es wäre kompliziert weil JS nicht "lokal" arbeitet und Schwierigkeiten hat die Dateien/Pfade zu finden. Bei mir hat trotz komplettes Pfad nicht funktioniert... Habt ihr ein kurzes funktionierendes Beispiel?
  • 0 Stimmen
    6 Beiträge
    718 Aufrufe
    D
    @haiperf Danke dafür, denke das kann ich auch gebrauchen :)
  • Benötige Hilfe bei KlingelScript

    6
    0 Stimmen
    6 Beiträge
    495 Aufrufe
    B
    Danke für die Hilfe !!!! Hatte in einem anderen Script den selben Datenpunkt und dort das kurze Timeout... Nach deaktivieren des anderen Scriptes funktioniert es nun
  • [gelöst]Licht einschalten, wenn TV an ist (ab Sonnenuntergang bis Sonnenaufgang)

    Verschoben
    37
    0 Stimmen
    37 Beiträge
    3k Aufrufe
    BENNI32154B
    @paul53 said in [gelöst]Licht einschalten, wenn TV an ist (ab Sonnenuntergang bis Sonnenaufgang): Mit Alexa habe ich nichts am Hut, bin also der falsche Ansprechpartner. Hmm okay, aber an irgendetwas muss es ja liegen, weil es ja nicht klappt
  • Automatisch COMET DECT auf Temperatur X, wenn draußen die Temperatur sinkt

    1
    0 Stimmen
    1 Beiträge
    159 Aufrufe
    Niemand hat geantwortet
  • Hydrawise Bewässerung JSON in Datenpunkte speichern

    4
    1
    0 Stimmen
    4 Beiträge
    507 Aufrufe
    A
    Hallo paul53, danke für Deine Antwort. Das hatte leider nicht geklappt, sondern brachte auch nur [image: 1556381281991-216b24fd-f7bf-4c9e-88ed-6b158a4be830-grafik.png] Ich hab das jetzt so gelöst (nach etlichem Trial-and-Error): var apiurl = "https://app.hydrawise.com/api/v1/statusschedule.php?api_key=" + apikey + "&#038;tag=hydrawise_all"; function logHydraData() { var request = require('request'); request(apiurl, function (error, response, body) { if (!error && response.statusCode == 200) { var obj = JSON.parse(body); // Objekte in root-Ebene var rkeynames = ["watering_time", "name", "status"]; for (var rkey of rkeynames) { console.log('2:' + rkey + ': ' + obj[rkey]); // bringt nur bei relays.0.name "undefined" } // Nested Objects, unterhalb relays var nkeynames = ["name", "lastwater", "time", "run_seconds", "nicetime"]; for (var i = 0; i < 5; i++) { // Index für Zone (Relays) bilden var nkey = {}; // Var für Objekt var idx = i; for (nkey of nkeynames) { // console.log(idx); console.log(nkey + ': ' + obj.relays[idx][nkey]); } } } }); } logHydraData(); Der Schlüssel lag darin, die Var "nkey" (Zeile 20) als Objekt zu definieren. Viele Grüße, Andreas

384

Online

32.4k

Benutzer

81.4k

Themen

1.3m

Beiträge