Skip to content

JavaScript

2.5k Topics 49.5k Posts

Hilfe für Skripterstellung mit JavaScript

NEWS

  • Skript tatsächlicher Wert

    javascript
    7
    0 Votes
    7 Posts
    568 Views
    Jey CeeJ
    Ich hab hier mal aufgeräumt, war ganz schön Unordentlich hier
  • Wert eines Objekts aus html schreiben

    8
    0 Votes
    8 Posts
    1k Views
    M
    Dieser Eintrag wurde gelöscht
  • Hilfe bei Javaskript Device Counter

    javascript
    24
    0 Votes
    24 Posts
    3k Views
    Lenny.CBL
    @Adnim, ich denke das wird noch eine andere Baustelle sein.
  • Gelöst: Script Fehler

    javascript
    19
    2
    0 Votes
    19 Posts
    748 Views
    M
    Danke klappt toll :-)
  • Telegram - Ausgabe als Ergebnispopup

    4
    2
    0 Votes
    4 Posts
    471 Views
    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 Votes
    10 Posts
    2k Views
    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

    Locked
    380
    4
    0 Votes
    380 Posts
    75k Views
    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 Votes
    3 Posts
    290 Views
    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 Votes
    12 Posts
    1k Views
    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 Votes
    6 Posts
    640 Views
    BENNI32154B
    @paul53 Wahrscheinlich funktioniert es jetzt. Werde es heute abend sehen.
  • Objektordner in Adapter zählen

    javascript
    1
    0 Votes
    1 Posts
    241 Views
    No one has replied
  • Problem mit einem Cronjob

    1
    0 Votes
    1 Posts
    104 Views
    No one has replied
  • Nello Telegram

    33
    0 Votes
    33 Posts
    2k Views
    ZefauZ
    @Marek Nimm den neuen Code?
  • Gelöst: JS: Wie erst nach File-Erstellung weiter?

    javascript
    6
    1 Votes
    6 Posts
    937 Views
    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 Votes
    3 Posts
    354 Views
    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 Votes
    4 Posts
    481 Views
    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 Votes
    1 Posts
    155 Views
    No one has replied
  • Eintastensteuerung für AN/AUS/Dimmen möglich?

    3
    0 Votes
    3 Posts
    364 Views
    S
    @Jey-Cee jepp, das sollte mir weiter helfen als Ansatz. Ich meine mich zu erinnern, das die Hue Bridge nicht on the fly auf Änderungen reagiert. Aber das kann man ja testen... danke soweit erst mal
  • Zugriff auf USB Schnittstelle

    node-red communication javascript blockly
    13
    1
    0 Votes
    13 Posts
    4k Views
    AlCalzoneA
    Folgendes dürfte auch gehen: npx @serialport/list Dauert dann etwas, dann sollte eine Liste der derzeit erreichbaren Serial ports kommen.
  • [Gelöst] Änderung von Statusberichten

    14
    0 Votes
    14 Posts
    1k Views
    paul53P
    @DocGame sagte: Funktioniert Prima. Dann markiere bitte das Thema in der Überschrift als [gelöst]. Ich denke, das ich das ganze auch auf Temperatur ändern kann. Ja, sicher. @DocGame sagte in Änderung von Statusberichten: Nur mir den Fenstern (Boolsche Werte) wird es so vermutlich nicht hinhauen. Es unterscheidet sich nur in der Abfrage: if(value) { // Fenster offen (push() natürlich ohne %) und im Trigger.

504

Online

32.9k

Users

83.2k

Topics

1.3m

Posts