Skip to content

JavaScript

Hilfe für Skripterstellung mit JavaScript

2.5k Themen 48.3k Beiträge

NEWS

  • [gelöst] Xiaomi Vacuum schedule Skript um Sauglevel erweitern

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    cvidalC
    @Jey-Cee Danke
  • [Gelöst] RegEx - Parser - Wetter ZAMG

    Verschoben javascript
    15
    0 Stimmen
    15 Beiträge
    2k Aufrufe
    HomoranH
    @MyzerAT Nö, die geht nicht. da ist ein Skript drin: <script> var updateServiceWorker = function (callback) { return callback(); }; if ('serviceWorker' in navigator) { // Use the window load event to keep the page load performant window.addEventListener('load', function() { updateServiceWorker = function(callback) { navigator.serviceWorker.getRegistrations().then(function(registrations) { registrations.forEach(function(registration) { registration.update().then( setTimeout(function() { callback() }, 30000) ); }); }); }; navigator.serviceWorker.register('sw.js?'+window.__version).then(function(registration) { }); }); } </script> Die Daten stehen NICHT auf der eigentlichen Seite.
  • [Gelöst] Unterbinden von Skriptausführung nach Neustart des HM-Rega Adapters

    Verschoben javascript
    6
    0 Stimmen
    6 Beiträge
    501 Aufrufe
    paul53P
    @robson sagte in [Frage] Unterbinden von Skriptausführung nach Neustart des HM-Rega Adapters: Ich habe übrigens viele Boolsche Systemvariablen, die true oder false als Zustand haben ...die sicherlich auch ihren Zustand zwischen true und false ändern und nicht nur den Zeitstempel aktualisierern. @robson sagte in [Frage] Unterbinden von Skriptausführung nach Neustart des HM-Rega Adapters: Jetzt funktioniert es, wie es soll. Dann ersetze bitte [Frage] durch [gelöst] im Betreff des ersten Beitrags.
  • eqiva Bluetooth-Türschloss per Skript steuern (exec-Befehl)

    2
    0 Stimmen
    2 Beiträge
    737 Aufrufe
    B
    Kommando zurück: Ich habe soeben mal versucht, was denn passiert, wenn ich den Befehl über den Terminal-Adapter eintippe. Dabei habe ich festgestellt, dass die vom ioBroker erreichbare Instanz von keyble nicht in der Lage war, auf das Modul "bluetooth-hci-socket" zuzugreifen, da es unter "/home/pi/npm/lib/node_modules/" lag. Also fix rüberkopiert nach "/usr/lib/node_modules/", noch einmal getestet, festgestellt, dass "sudo" notwendig zu sein scheint, angepasst, und Erfolg gehabt! Ich bin mir ziemlich sicher, dass ich hier mit meiner Bastelei gegen diverse Regeln einer geordneten Installation verstoße, aber die Hauptsache für mich: Es funktioniert nun! Ich kann per Datenpunkt meine Tür sowohl abschließen (false) als auch öffnen (true).
  • Chromecast mit Inaktivismodus starten

    Verschoben javascript
    1
    0 Stimmen
    1 Beiträge
    330 Aufrufe
    Niemand hat geantwortet
  • Script im Vis scrollto()

    Verschoben javascript
    2
    0 Stimmen
    2 Beiträge
    298 Aufrufe
    Schuko80S
    Keiner eine Idee oder einen Ansatz? Es scheitert im Vis schon daran, das ich keinen Plan habe, wie ich z.B. auf den Druck eines Buttons reagiere. Per Datenpunkt ist das kein Problem, aber mir fehlt der Ansatz diekt im Vis :white_frowning_face:
  • Script Schedule/clearSchedule läuft nicht

    Verschoben javascript
    8
    0 Stimmen
    8 Beiträge
    495 Aufrufe
    apollon77A
    Ok, dann ja wenn Du TimerEin zurück gibst und dann immer wieder als input hast dann sollte es tun
  • Javascript Adapter stellt für einen kurzen Moment den Dienst ein

    javascript
    3
    0 Stimmen
    3 Beiträge
    479 Aufrufe
    D
    Guten Morgen Ingo, vielen Dank!! Das deckt sich mit meiner Erkenntnis von heute Morgen - aktuell ist das Verhalten nicht im Log zu finden --> Morgen, kleines Logfile. Ich gebe die Info mal an den Entwickler des Skripts weiter, ggf. kann da ja optimiert werden. Grüße und ein schönes WE, Thorsten
  • YAHKA mit Homematic IP (hmip) den AUTO_MODE ändern

    Verschoben javascript climate heating
    1
    3
    0 Stimmen
    1 Beiträge
    264 Aufrufe
    Niemand hat geantwortet
  • Farbwert setzen bei Betätigung des Tasters

    Verschoben javascript
    1
    3
    0 Stimmen
    1 Beiträge
    283 Aufrufe
    Niemand hat geantwortet
  • JSON als Datenpunkt/mqtt

    Verschoben javascript
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    Z
    So, der Hinweis von BuZZy konnte mein Problem lösen! Nochmals herzlichen Dank! lg
  • [gelöst]timer und countdown

    Verschoben javascript
    4
    0 Stimmen
    4 Beiträge
    821 Aufrufe
    M
    danke - funktioniert
  • Wärmepumpe Siemens / Novelan oder Alpha Innotec mit Luxtronik 2 Steuerung

    Verschoben javascript
    1
    0 Stimmen
    1 Beiträge
    596 Aufrufe
    Niemand hat geantwortet
  • Variable in request-Aufruf

    Verschoben javascript
    11
    0 Stimmen
    11 Beiträge
    589 Aufrufe
    a200A
    @paul53 sagte in Variable in request-Aufruf: @a200 sagte in Variable in request-Aufruf: und b) die jeweiligen urls der Dateien. url2 ist also nicht konstant, sondern bei jedem neuen Aufruf anders ? Dann versuche es etwa so: Super, Danke. Jetzt geht es. Das Ergebnis kann hier: https://forum.iobroker.net/post/228883 gesehen werden.
  • [gelöst] Datenpunkt ändert selbständig seinen Wert

    Verschoben javascript
    6
    0 Stimmen
    6 Beiträge
    543 Aufrufe
    J
    @Jukabroker Die Sonoff's Status sind nach einem Update öfter von "true" auf "false" gegangen, obwohl sie eingeschaltet geblieben sind. Habe ich endlich in den logs gefunden. Sonoff's zurückgegradet und schon ist alles wie es soll. Danke Jukabroker
  • Text2Command true/false auf eigene Antworten umbauen + Verzögerung

    Verschoben javascript
    1
    0 Stimmen
    1 Beiträge
    302 Aufrufe
    Niemand hat geantwortet
  • Benzin - / Kraftstoffpreise - habe da was auf Github gefunden (mehr Sorten)

    Verschoben javascript
    12
    0 Stimmen
    12 Beiträge
    2k Aufrufe
    SegwayS
    @Schweiz Naja, ich schreib mal hin ob die mehr zulassen als diese drei. Ansonsten beschreite ich den anderen Weg.
  • [gelöst]Script funktioniert nicht mehr auf neuem System

    Verschoben javascript
    5
    0 Stimmen
    5 Beiträge
    396 Aufrufe
    T
    OK, der Fehler liegt woanders. Habe gerade festgestellt, dass meine Objekte von iCal leer sind. Nur weiss ich nicht warum? Dann kann hier geschlossen werden und ich stelle mein Problem in einem anderen Teil.
  • Heizung Winter/Sommer Betrieb

    Verschoben javascript
    10
    0 Stimmen
    10 Beiträge
    1k Aufrufe
    N
    Wenn ich das so ändere, dann geht die Pumpe nicht aus //createState('javascript.0.Heizen Wintergarten.Sommerbutton', false); const idSommer = 'javascript.0.Heizen Wintergarten.Sommerbutton'; // ID eintragen const idPumpe = 'hm-rpc.0.xxxx.1.STATE'; const idsAuto = $('*.AUTO_MODE'); const idsManu = $('*.MANU_MODE'); const idsManuIP = $('hm-rpc.2*.CONTROL_MODE'); const idsAutoIP = $('hm-rpc.2*.CONTROL_MODE'); var sommer = getState(idSommer).val; function setManu() { idsManu.each(function(id, i) { setState(id, 15); // 15 °C }); } function setManuIP() { idsManuIP.each(function(id, i) { setState(id, 1); // Control_Mode auf 1 }); } function setAuto() { idsAuto.each(function(id,i) { setState(id, true); // Auto }); } function setAutoIP() { idsManuIP.each(function(id, i) { setState(id, 0); // Control_Mode auf 0 }); } on(idSommer, function(dp) { sommer = dp.state.val; if(sommer){ setManu(); setManuIP(); } else { setAuto(); setAutoIP(); } }); schedule('0 8 * * *', function() { // täglich 8:00 Uhr if(sommer) { setState(idPumpe, true); setState(idPumpe, false, 600000); // 10 Minuten } }); // 2-Punkt-Regler Raumheizung // halbe Hysterese in K var hh = 0.1; var xid = ("hm-rpc.0.xxxx.2.ACTUAL_TEMPERATURE"); var wid = ("hm-rpc.0.xxxx.2.SET_TEMPERATURE"); var yid = ("hm-rpc.0.xxxx.1.STATE"); var x = getState(xid).val; // Istwert in °C var w = getState(wid).val; // Sollwert in °C SET_POINT /*function hys() { if (x <= w - hh) setState(yid, true); else if (x >= w + hh) setState(yid, false); } if(sommer) // ; else{ hys(); // Script start on(xid, function(dp) { x = dp.state.val; hys(); }); on(wid, function(dp) { w = dp.state.val; hys(); }); }*/ var ventil = getState(yid).val; function hys() { if(sommer) { if(ventil) setState(yid, false); } else { if (x <= w - hh && !ventil) setState(yid, true); else if (x >= w + hh && ventil) setState(yid, false); } } on(yid, function(dp) { ventil = dp.state.val; });
  • [gelöst]js-skript zeitspanne Objekt-State "true" erfassen

    Verschoben
    13
    0 Stimmen
    13 Beiträge
    2k Aufrufe
    J
    @sveni_lee sagte in [gelöst]js-skript zeitspanne Objekt-State "true" erfassen: okay… das starten des Intervals funktioniert: on({id: 'hm-rpc.0.OEQ0207710.5.STATE', change: "ne"}, function (obj) { if (obj.state.val) { //wenn Gerät EIN setState("javascript.0.Bewässerung.Ventil1.Timestamp_ON"/*Timestamp_ON*/, formatDate(new Date(), "TT.MM.JJJJ SS:mm"), true); setInterval(function(){ setState("javascript.0.Bewässerung.Ventil1.Laufzeit_last_ON"/*Laufzeit_last_ON*/, Math.round((Date.now() - obj.state.lc)/60000) + " Minuten", true); }, 10000); } else if (!obj.state.val) { // wenn Gerät AUS clearInterval(timer); setState("javascript.0.Bewässerung.Ventil1.Laufzeit_last_ON"/*Laufzeit_last_ON*/, Math.round((obj.state.lc - obj.oldState.lc)/60000) + " Minuten", true); setState("javascript.0.Bewässerung.Ventil1.Menge_last_ON"/*Laufzeit_last_ON*/, Math.round((obj.state.lc - obj.oldState.lc)/60000/60*4000) + " Liter", true); } }); aber das mit cearInterval(timer) habe ich noch nicht ganz verstanden EDIT: ich denke ich habs herausgefunden: var intervalId = null; on({id: 'hm-rpc.0.OEQ0207710.5.STATE', change: "ne"}, function (obj) { if (obj.state.val) { //wenn Gerät EIN setState("javascript.0.Bewässerung.Ventil1.Timestamp_ON"/*Timestamp_ON*/, formatDate(new Date(), "TT.MM.JJJJ SS:mm"), true); intervalId = setInterval(function(){ setState("javascript.0.Bewässerung.Ventil1.Laufzeit_last_ON"/*Laufzeit_last_ON*/, Math.round((Date.now() - obj.state.lc)/60000) + " Minuten", true); }, 10000); } else if (!obj.state.val) { // wenn Gerät AUS clearInterval(intervalId); setState("javascript.0.Bewässerung.Ventil1.Laufzeit_last_ON"/*Laufzeit_last_ON*/, Math.round((obj.state.lc - obj.oldState.lc)/60000) + " Minuten", true); setState("javascript.0.Bewässerung.Ventil1.Menge_last_ON"/*Laufzeit_last_ON*/, Math.round((obj.state.lc - obj.oldState.lc)/60000/60*4000) + " Liter", true); } }); Hallo sveni_lee ich habe das Script zufällig gefunden und mal nachgebaut, es funktioniert auch, aber nach einiger Zeit ändert sich ohne zutun der Timestamp_ON ??? dann fängt der Timer auch wieder neu an zu zählen. Kannst du da ev. helfen? Jukabroker

707

Online

32.4k

Benutzer

81.4k

Themen

1.3m

Beiträge