Weiter zum Inhalt

JavaScript

2.5k Themen 49.6k Beiträge

Hilfe für Skripterstellung mit JavaScript

NEWS

  • console etc. unbekannt

    4
    0 Stimmen
    4 Beiträge
    626 Aufrufe
    BBTownB
    @ErazorVIP schon mal auf GitHub geschaut ob es hierzu bereits ein issue gibt auf das Du vorten könntest, oder ansonsten ein entsprechendes angelegt?
  • VIS Bindung - HTML Escapen?

    javascript
    1
    0 Stimmen
    1 Beiträge
    314 Aufrufe
    Niemand hat geantwortet
  • Syntax Check im Editor markiert korrekte Syntax

    javascript
    1
    0 Stimmen
    1 Beiträge
    152 Aufrufe
    Niemand hat geantwortet
  • Skript tatsächlicher Wert

    javascript
    7
    0 Stimmen
    7 Beiträge
    583 Aufrufe
    Jey CeeJ
    Ich hab hier mal aufgeräumt, war ganz schön Unordentlich hier
  • Wert eines Objekts aus html schreiben

    8
    0 Stimmen
    8 Beiträge
    1k Aufrufe
    M
    Dieser Eintrag wurde gelöscht
  • Hilfe bei Javaskript Device Counter

    javascript
    24
    0 Stimmen
    24 Beiträge
    4k Aufrufe
    Lenny.CBL
    @Adnim, ich denke das wird noch eine andere Baustelle sein.
  • Gelöst: Script Fehler

    javascript
    19
    2
    0 Stimmen
    19 Beiträge
    803 Aufrufe
    M
    Danke klappt toll :-)
  • Telegram - Ausgabe als Ergebnispopup

    4
    2
    0 Stimmen
    4 Beiträge
    478 Aufrufe
    dslraserD
    @mirK ich weiß es nicht mehr genau, entweder war es was mit dem inline keyboard oder answer calbackquery. hier steht auch noch was https://forum.iobroker.net/topic/12042/telegram-inline-keyboard-gelöst ansonsten suchen und lesen. Hier die api https://core.telegram.org/api
  • Json aus Rest Api URL von Solaranalge

    10
    0 Stimmen
    10 Beiträge
    2k Aufrufe
    L
    Könntest du mir bitte helfen wo ich die Schleife einbauen muss? Ich denke ich habe es gefunden. Aber wenn du noch mal drüber schauen würdest wär ich dankbar. Hier der aktuelle Code: //...Teil der Funktion readJson(urlDevices, function(err,json) { if(!err) { myJson = json; var arr = myJson.result.items; for(let i = 0; i < arr.length; i++) { if(arr[i].tagValues) { let tags = arr[i].tagValues; if(tags.PowerIn) { log(tags.PowerIn.value); setState(idDPowerIn ,tags.PowerIn.value); } if(tags.PowerSelfSupplied) { log(tags.PowerSelfSupplied.value); setState(idDPowerSelfSupplied ,tags.PowerSelfSupplied.value); } //...usw //der alte Code var urlValues = 'http://192.168.xxx.xxx/rest/kiwigrid/eps/powerValues'; var urlDevices = 'http://192.168.xxx.xxx/rest/kiwigrid/wizard/devices'; var path = "solarwatt."; var request = require("request"); var myJson = {}; //Values var idpowerACOut = path + "powerACOut"; var idpowerConsumed = path + "powerConsumed"; var idpowerProduced = path + "powerProduced"; var idpowerIn = path + "powerIn"; var idpowerOut = path + "powerOut"; createState(idpowerACOut, 0, { name: 'powerACOut aus', desc: 'xxxx', type: 'number', role: 'value'}); createState(idpowerConsumed, 0, { name: 'Gesamtverbrauch', desc: 'xxxx', type: 'number', role: 'value'}); createState(idpowerProduced, 0, { name: 'powerProduced', desc: 'xxxx', type: 'number', role: 'value'}); createState(idpowerIn, 0, { name: 'powerIn', desc: 'xxxx', type: 'number', role: 'value'}); createState(idpowerOut, 0, { name: 'powerOut', desc: 'xxxx', type: 'number', role: 'value'}); //Devices var idDPowerIn = path + "PowerInD"; var idDPowerSelfSupplied = path + "PowerSelfSupplied"; var idDPowerConsumedFromStorage = path + "PowerConsumedFromStorage"; var idDStateOfCharge = path + "StateOfCharge"; var idDPowerConsumedFromGrid = path + "PowerConsumedFromGrid"; var idDPowerBuffered = path + "PowerBuffered"; var idDPowerConsumedFromProducers = path + "PowerConsumedFromProducers"; createState(idDPowerSelfSupplied, 0, { name: 'Eigenverbrauch', desc: 'xxxx', type: 'number', role: 'value' }); createState(idDPowerIn, 0, { name: 'Stromzukauf', desc: 'xxxx', type: 'number', role: 'value' }); createState(idDPowerConsumedFromStorage, 0, { name: 'Batterieversorgung', desc: 'xxxx', type: 'number', role: 'value' }); createState(idDStateOfCharge, 0, { name: 'Ladestand', desc: 'xxxx', type: 'number', role: 'value' }); createState(idDPowerConsumedFromGrid, 0, { name: 'Netzbezug', desc: 'xxxx', type: 'number', role: 'value' }); createState(idDPowerBuffered, 0, { name: 'Batterieaufladung', desc: 'xxxx', type: 'number', role: 'value' }); createState(idDPowerConsumedFromProducers, 0, { name: 'Eigenverbrauch', desc: 'xxxx', type: 'number', role: 'value' }); function parseJson(text) { if (text === "") return {}; try { json = JSON.parse(text); } catch (ex) { json = {};} if(!json) json = {}; return json; } function readJson(url, callback) { request(url, function (err, state, body){ if (body) { var json = parseJson(body); callback(null, json); } else { var error = "(" + err + ") ERROR bei Abfrage von: " + url; log(error, "warn"); callback(error, null);} });} function main() { readJson(urlValues, function(err,json) { if(!err) { myJson = json; log("powerACOut: " + myJson[0].powerACOut,"info"); log("powerConsumed: " + myJson[1].powerConsumed,"info"); log("powerProduced: " + myJson[1].powerProduced,"info"); log("powerIn: " + myJson[1].powerIn,"info"); log("powerOut: " + myJson[1].powerOut,"info"); setState(idpowerACOut ,parseInt(myJson[0].powerACOut)); setState(idpowerConsumed ,parseInt(myJson[1].powerConsumed)); setState(idpowerProduced ,parseInt(myJson[1].powerProduced)); setState(idpowerIn ,parseInt(myJson[1].powerIn)); setState(idpowerOut ,parseInt(myJson[1].powerOut)); } else { log("Error reading JSON from solarwatt. No data!","warn"); myJson = {}; } }); readJson(urlDevices, function(err,json) { if(!err) { myJson = json; log("PowerIn: " + myJson.result.items[2].tagValues.PowerIn.value,"info"); setState(idDPowerIn ,myJson.result.items[2].tagValues.PowerIn.value); log("PowerSelfSupplied: " + myJson.result.items[5].tagValues.PowerSelfSupplied.value,"info"); setState(idDPowerSelfSupplied ,myJson.result.items[5].tagValues.PowerSelfSupplied.value); log("PowerConsumedFromStorage: " + myJson.result.items[5].tagValues.PowerConsumedFromStorage.value,"info"); setState(idDPowerConsumedFromStorage ,myJson.result.items[5].tagValues.PowerConsumedFromStorage.value); log("StateOfCharge: " + myJson.result.items[10].tagValues.StateOfCharge.value,"info"); setState(idDStateOfCharge ,myJson.result.items[10].tagValues.StateOfCharge.value); log("PowerConsumedFromGrid: " + myJson.result.items[5].tagValues.PowerConsumedFromGrid.value,"info"); setState(idDPowerConsumedFromGrid ,myJson.result.items[5].tagValues.PowerConsumedFromGrid.value); log("PowerBuffered: " + myJson.result.items[5].tagValues.PowerBuffered.value,"info"); setState(idDPowerBuffered ,myJson.result.items[5].tagValues.PowerBuffered.value); log("PowerConsumedFromProducers: " + myJson.result.items[5].tagValues.PowerConsumedFromProducers.value,"info"); setState(idDPowerConsumedFromProducers ,myJson.result.items[5].tagValues.PowerConsumedFromProducers.value); } else { log("Error reading JSON from solarwatt. No data!","warn"); myJson = {}; } }); }
  • Unifi WLAN Script

    Gesperrt
    380
    4
    0 Stimmen
    380 Beiträge
    77k Aufrufe
    DutchmanD
    ich schließen diesen post jetzt mal sonst kommt alles noch durcheinander, bitte hier weitermachen : https://forum.iobroker.net/topic/25066/unifi-wlan-script-2-mit-anwesenheitskontrolle
  • Playlist in Alexa2-Adapter wird nur angespielt

    3
    2
    0 Stimmen
    3 Beiträge
    302 Aufrufe
    CKMartensC
    @paul53 sagte in Playlist in Alexa2-Adapter wird nur angespielt: Damit funktioniert es nicht, da kein neues setStateDelayed() erzeugt wird, sondern nur die Übergabeparameter in der Schleife geändert werden. Tatsächlich funktioniert der Part schon bei mir. Habe es für die Erhöhung der Laustärke und um die Nachttischlampen heller werden zu lassen. let ii = 8000; for (let i = 10; i <= 20; i += 5) { ii = ii + 5000; setStateDelayed('alexa2.0.Echo-Devices.'+EchoDevice+'.Player.volume', i, ii, false); if (DEBUG) log('Wecker: Wecker für '+WeckerName+' Lautstärkenerhöhung für Delay in '+ii+' MSek und Lautstärke '+i); } [...] let ii = 8000; for (var i = 10; i <= 40; i += 5) { ii = ii + 2000; setStateDelayed(tmp_lichtDev, i, ii, false); if (DEBUG) log('Wecker: Wecker für '+WeckerName+' Helligkeitserhöhung für Delay in '+ii+' MSek und Helligkeit '+i); } Warum aber die Playlisten nicht immer gespielt werden, sondern manchmal nur ein paar Sekunden angespielt werden verwirrt mich. Und wie es aussieht ist meist der erste Weck-Cron betroffen.
  • node-hue-api nicht mehr lauffähig

    12
    0 Stimmen
    12 Beiträge
    1k Aufrufe
    J
    So wie bei Aleks liefen bei mir vor einigen Tagen die Skripte wieder. Aber das war leider nur kurzfristig. Jetzt geht wieder nichts Auf jeden Fall habe ich keine Lust mehr und werde auch auf den neuen Adapter von Zerfau umstellen und die Skripte löschen. Aber Danke für die Unterstützung hier im Forum.
  • ALEXA Szene einschalten

    6
    0 Stimmen
    6 Beiträge
    650 Aufrufe
    BENNI32154B
    @paul53 Wahrscheinlich funktioniert es jetzt. Werde es heute abend sehen.
  • Objektordner in Adapter zählen

    javascript
    1
    0 Stimmen
    1 Beiträge
    259 Aufrufe
    Niemand hat geantwortet
  • Problem mit einem Cronjob

    1
    0 Stimmen
    1 Beiträge
    107 Aufrufe
    Niemand hat geantwortet
  • Nello Telegram

    33
    0 Stimmen
    33 Beiträge
    2k Aufrufe
    ZefauZ
    @Marek Nimm den neuen Code?
  • Gelöst: JS: Wie erst nach File-Erstellung weiter?

    javascript
    6
    1 Stimmen
    6 Beiträge
    960 Aufrufe
    AlCalzoneA
    @Mic sagte in Gelöst: JS: Wie erst nach File-Erstellung weiter?: einfach mal 2 Sekunden mittels setTimeout() setzen, um zu "hoffen", dass dann die vorherige Funktion durchlaufen ist.
  • Mac adressen in true und false umwandeln

    3
    0 Stimmen
    3 Beiträge
    381 Aufrufe
    R
    Hallo sigi 234 Hier ist das Blockly [image: 1569866033910-blockly.png] Danke LG Roland1000
  • [Gelöst] Probleme mit Script für Tageserträge

    4
    1
    0 Stimmen
    4 Beiträge
    497 Aufrufe
    C
    Ich habe das Script nun vom Aufbau her umgebaut. So funktioniert es jetzt: schedule('* * * * *', function() { // sendTo('sql.0', 'query', 'SELECT (from_unixtime((ts / 1000))) AS Datum, MAX(val) AS Tageswert FROM iobroker.ts_number WHERE (iobroker.ts_number.id = 8) GROUP BY DAY((from_unixtime((ts / 1000)))) ORDER BY Datum desc LIMIT 7', function (result) { if (result.error) { console.error(result.error); } else { console.log(result.result[0].Tageswert); console.log(result.result[1].Tageswert); console.log(result.result[2].Tageswert); console.log(result.result[3].Tageswert); console.log(result.result[4].Tageswert); console.log(result.result[5].Tageswert); console.log(result.result[6].Tageswert); var Energie_Heute = (result.result[0].Tageswert); var Energie_Gestern = (result.result[1].Tageswert); var Energie_Differenz_Heute = (result.result[0].Tageswert) - (result.result[1].Tageswert); var Energie_Differenz_1 = (result.result[1].Tageswert) - (result.result[2].Tageswert); setState("javascript.0.Zählerstand_Jetzt", Energie_Heute.toFixed(2)); setState ("javascript.0.Zählerstand_Gestern", Energie_Gestern.toFixed(2)); setState("javascript.0.Energie_Differenz_Heute", Energie_Differenz_Heute.toFixed(2)); setState("javascript.0.Energie_Differenz_1", Energie_Differenz_1.toFixed(2)); } }); // });
  • Pushover Callback nutzen

    1
    1 Stimmen
    1 Beiträge
    157 Aufrufe
    Niemand hat geantwortet

329

Online

33.0k

Benutzer

83.3k

Themen

1.3m

Beiträge