Skip to content

JavaScript

2.5k Topics 49.9k Posts

Hilfe für Skripterstellung mit JavaScript

NEWS

  • Skript EXEC geht nicht

    Moved
    19
    0 Votes
    19 Posts
    2k Views
    NamrennerN
    @bananajoe ja, Danke
  • werte von url im json format

    4
    0 Votes
    4 Posts
    390 Views
    mickymM
    @fischi87 Was ist denn Deine präferierte Logikmaschine? Du kannst das mit allem machen: Javascript, Blockly oder NodeRed?
  • Name eine Verzeichnisses/Kanals eines Datenpunktes auslesen

    2
    1
    0 Votes
    2 Posts
    284 Views
    paul53P
    @sesamstrasse sagte: Namen eins Kanals von einem Datenpunkt per JavaScript zu ermitteln. function parentName(id) { // Datenpunkt-ID id = id.substring(0, id.lastIndexOf('.')); if(existsObject(id)) return getObject(id).common.name; }
  • Debuggen von JavaScript über VSCode per Definitionsdatei

    8
    0 Votes
    8 Posts
    961 Views
    S
    @oliverio @AlCalzone OK Danke. Dann scheint das debuggen eines Adapters über VBCode tatsächlicher einfacher zu sein als das einzelne Script im Java Adapter. Ist irgendwie auch logisch. Also der einzige Weg das über VSCode zu machen: (Scripte werden wohl in /opt/iobroker/iobroker-data/objects.json gespeichert, also die direkt zu editieren geht wohl nicht.) IOBroker: iobroker stop javascript node --inspect-brk=0.0.0.0:9229 node_modules/iobroker.javascript/main.js --force –logs VSCode: Scripte herunterladen mit z.B. der Extension IOBroker.javascript VSCode: Script bearbeiten VSCode: Script wieder hochladen VSCode: launch.json starten Habe mir zwei Fenster in VBCode geöffnet. Im ersten ioBroker Extension geöffnet und hier editiere ich dann die Java Datei aus dem IOBroker Sobald diese geändert wurden ist (Einstellungen -Auto Save auf after delay oder einfach nur speichern) erscheint sie unter Changed Scripts und kann dann wieder hochgeladen werden. In der zweiten Sitzung den Debugger geöffnet und auf Weiter gedrückt. Änderungen sind da und man kann jede einzelne Variable debuggen. Damit kann ich dann eventuell doch alles mit VBCode machen. [image: 1645197944215-vscode_debuggen.png]
  • Thinkspeak, Datenexport, Json --Aktuellster Wert...Gelöst

    3
    0 Votes
    3 Posts
    205 Views
    M
    @paul53 Danke , genau so hat es wunderbar geklappt!
  • gelöst Name im Datenpunkt ändern mit Variable als Name

    9
    1 Votes
    9 Posts
    781 Views
    paul53P
    @flehmann1234 sagte: diese neu anlegen lassen. Dann kann man die Tatsache verwenden, dass "Ordner" die "device-id" enthält. createState("0_userdata.0."+ Ordner +".ALARM", 0, {name: Ordner.split('.')[3] + " ALARM", unit: "", read: true, write: true, desc: "ALARM", type: "number", role: 'indicator.alarm'});
  • enums Abfrage

    javascript
    1
    0 Votes
    1 Posts
    193 Views
    No one has replied
  • Script Hilfe (Array)

    6
    0 Votes
    6 Posts
    539 Views
    fischi87F
    GELÖST: if (this.config.total) { var cPrice_btc = apiResult[0].price.replace("€", ""); var cPrice_btc = cPrice_btc.replace(".","").replace(",", "."); var btc_euro = (this.config.wallet[0] * cPrice_btc || 0)//.toFixed(2); var cPrice_eth = apiResult[1].price.replace("€", ""); var cPrice_eth = cPrice_eth.replace(".","").replace(",", "."); var eth_euro = (this.config.wallet[1] * cPrice_eth || 0)//.toFixed(2); var gesamt = (btc_euro + eth_euro).toFixed(2); var euroWrapper = document.createElement('td'); euroWrapper.className = "totalpreis"; euroWrapper.style.fontSize = 'medium'; euroWrapper.innerHTML = 'Total: ' + gesamt + '€'; total_euroWrapper.appendChild(euroWrapper); }
  • Javascript Hausverbrauch berechnen und anzeigen

    Moved
    6
    0 Votes
    6 Posts
    823 Views
    T
    @paul53 Oh man ... sorry ... habs bei einem geändert und bei diesem hier noch nicht ... VIELEN DANK!!!
  • Script.js - undefined

    7
    0 Votes
    7 Posts
    634 Views
    R
    Danke euch beiden, das war der Schlüssel, und natürlich ein klassischer Namensfehler( ich werde heute noch Asche auf mein haupt tun). Klar kommt da sum(val) hin!!!! Also wieder was gelernt und nicht nur Sport gekuckt. Dann kann ich ja jetzt meine Solartabellen über die Monate und Jahre aufbauen. Gruß Reinald
  • Anfänger: const vs var; übergreifend möglich [solved]

    Moved javascript
    6
    1
    0 Votes
    6 Posts
    762 Views
    T
    @paul53 sagte in Anfänger: const vs var; übergreifend möglich [solved]: @ticaki sagte: dass die Deklaration nicht beim ersten Aufruf erfolgen muß: Das gilt nur für var, nicht aber für const/let. Und wieder was gelernt.
  • Datenpunkte aus enum löschen und hinzufügen

    3
    0 Votes
    3 Posts
    320 Views
    Alexander PeterA
    @paul53 danke! funktioniert perfekt
  • python script starten und wieder stoppen

    15
    0 Votes
    15 Posts
    3k Views
    I
    So, nach etwas längerem Rumprobieren habe ich jetzt eine Lösung gefunden, die bisher zu funktionieren scheint. So ganz gefällt mir das nicht, dass ich auf die child_proc.pid immer 1 draufaddieren muss, aber besser bekomme ich es jetzt erstmal nicht hin: // Python-Skript auf Systemebene ausführen const child_proc = exec("python3 Skriptpfad.py", function(err, stdout, stderr) { if(err) log('Exec-Fehler: '+ stderr, 'error'); }); var child_pid = child_proc.pid + 1; // die PID des Python Skripts ist eine größer als die Shell console.log(`Die PID ist ${child_pid}`); // PID in Konsole ausgeben // Wenn das js-Skript beendet wird, soll das Python-Skript ebenfalls beendet werden (entspricht Strg+C) onStop(() => { exec(`kill -2 ${child_pid}`); // Child Prozess beenden mit Signal -2 (entspricht SIGINT) console.log("Skript beendet!"); }); Vielen Dank allen Helfern!
  • last change timestamp javascript (für node-red)

    8
    0 Votes
    8 Posts
    1k Views
    F
    @marc-berg Hi Marc Thank you for quick response. it works this is my code thank you for helping: (two different formats for testing) // --- sensor.neulcT = (new Date(msg.payload[i].lc)).toLocaleTimeString(); sensor.neulc = (new Date(msg.payload[i].lc)).toLocaleString();
  • HomematicIP Gerätenamen auslesen [gelöst]

    6
    1
    0 Votes
    6 Posts
    515 Views
    S
    @paul53 ja!!! jetzt hab ichs! super, vielen lieben Dank!
  • Jeden ersten Samstag des Monats

    javascript
    15
    0 Votes
    15 Posts
    1k Views
    amg_666A
    @homoran ich habe ja nicht gesagt, dass der Ausdruck Sinn macht (macht er ja auch nicht wenn ich einmal sage "Tage 1-7" und dann noch sage "jeden Donnerstag"
  • Fehlermeldung 490 in alle Scripten

    7
    0 Votes
    7 Posts
    918 Views
    HomoranH
    @sokomoto Ach so! Das Verzeichnis hatte ich natürlich nicht auf dem Schirm.
  • Scheduled Loop with setIntervall (gelöst)

    3
    0 Votes
    3 Posts
    180 Views
    U
    @sborg boah.. vielen dank für die schnelle Hilfe. wieder etwas gelernt. Vielen vielen Dank!
  • Ochsner Web2Com Adapter

    Moved
    3
    1 Votes
    3 Posts
    875 Views
    M
    @jarek Hi, Ja läuft schon bei mir. Habs irgendwie nicht hinbekommen mich am Ochsner Terminal anzumelden mit selbst geschriebenen Script. Jetzt läuft halt auf dem ioBroker Rechner zusätzlich a nginx Server wo besagtes Script aufgerufen wird. Den eigentlich aufruf mache ich dann per ioBroker JS Script zum abrufen aller Daten. Ein 2. kleines Blockly hab ich auch probiert, zum Aussentemperatur lesen und auf den KNX Bus schreiben. Läuft eigentlich sehr stabil... Maxx
  • JS XML Enigma Timers import

    Moved
    4
    0 Votes
    4 Posts
    520 Views
    R
    @paul53 hast du eine Kaffee Adresse? Den hast du dir verdient Das geht 😊 Danke für die Hilfe

461

Online

33.1k

Users

83.7k

Topics

1.3m

Posts