Weiter zum Inhalt

JavaScript

2.5k Themen 49.9k Beiträge

Hilfe für Skripterstellung mit JavaScript

NEWS

  • Script PV Alage eigenverbrauch

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    462 Aufrufe
    HomoranH
    @klaus333 dann Produktion - (Ladung + Einspeisung) wenn entladung der gleiche DP wie Ladung nur mit negativem Vorzeichen ist.
  • Tasmota Taster und NSPanel Relais

    10
    0 Stimmen
    10 Beiträge
    1k Aufrufe
    V
    @marc-berg Irgendwie hätte ich da auch selber drauf kommen können. Es funktioniert. Vielen lieben Dank und schönen Wochenanfang an dich! Gruß Andy
  • Errormeldungen abfangen

    13
    0 Stimmen
    13 Beiträge
    1k Aufrufe
    liv-in-skyL
    @homoran hatte ich schon mal woanders erwähnt: es könnte sein, dass nach einem error eines scriptes und sogar nach dem stoppen des scriptes teile davon noch aktiv bleiben - sowas, wie ein zombie-script - startet man das script dann nochmal, läuft das parallel(doppelt/evtl. dreifach...) . passiert das öfters, kann es schlimmer werden BIS man den javascript adapter oder den iob neustartet - das könnte erklären, warum es jetzt erstmal keine fehler mehr gibt is nur so eine vermutung und ein versuch zur erklärung
  • Probleme mit JS Script nach JS-Adapter Update > 7.9.0

    31
    0 Stimmen
    31 Beiträge
    3k Aufrufe
    Z
    @mcm57 Nein nehme ich nicht persönlich. Ich lerne dadurch ja dazu. Ich habe nur zwei reine JS Scripte. Der Rest ist mit Blockly erstellt worden und da kann ich Änderungen leichter vornehmen. Ihr habt mir sehr weitergeholfen. Vielen Dank dafür. Es läuft wieder
  • Cron Job alle 140 sek

    28
    0 Stimmen
    28 Beiträge
    3k Aufrufe
    F
    @felsdrache Manchmal ist man ja blind wenn die Lösung auf der Hand liegt. Meine Lösung ich lasse mein Hauptskript durchlaufen und beende es am Ende. Mit einem zweiten Skript überwache ich das erste und starte es eine Sekunde nach Beendigung. Das müsste doch funktionieren
  • Guntamatic Biostar Pelletheizung auslesen

    2
    0 Stimmen
    2 Beiträge
    473 Aufrufe
    E
    @goerdy Hi :) Das ist wirklich interessant Hast du deinen Code in der Zwischenzeit geändert? Oder hast du einen Adapter gefunden? Bist du mit deiner Heizung zufrieden? :) Danke!!!
  • echart - Zeit über Script einstellen

    2
    2
    0 Stimmen
    2 Beiträge
    253 Aufrufe
    M
    @spassbremse https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/system-effektprog./echartschange https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/system-effektprog./echartschangeselect
  • SMA Wechselrichter in ioBroker einbinden

    7
    0 Stimmen
    7 Beiträge
    997 Aufrufe
    D
    @arteck sagte in SMA Wechselrichter in ioBroker einbinden: kannst du dir die Parameter sparen.. haben ehh keine wirkung Danke Dir - hab die ehrlich gesagt auch nie näher angeschaut / überprüft ;) @arteck sagte in SMA Wechselrichter in ioBroker einbinden: ich hätte da noch prognosebasiertes Laden und tibber Steuerung https://github.com/arteck/SMA_forecast_charging/tree/master/SUNNY_TRIPOWER _10.0_SE Interessantes Projekt - Haben zwar kein Tibber und Co., werde mir die Skripte aber mal die Tage anschauen.
  • Grafana Heatmap für Autofahrten

    javascript
    6
    0 Stimmen
    6 Beiträge
    827 Aufrufe
    M
    @haus-automatisierung Ich hab es mal versucht. mit der neusten Version gibt es keine Fehlermeldung mehr, aber es wird nichts in die Influxdb geschrieben. Ich vermute, dass der Parameter "--data-binary" von dem curl Kommando nicht richtig "übersetzt" wurde.
  • Klassen Import mit jQuery möglich?

    9
    0 Stimmen
    9 Beiträge
    735 Aufrufe
    haus-automatisierungH
    @wolfgangfb sagte in Klassen Import mit jQuery möglich?: Besonders nervend ist, dass bei jeder Änderung einer zu importierenden Datei der JS Adapter neu gestartet werden muss weil sonst die Änderungen nicht übernommen werde, gibt es da eine Abhilfe? Naja - das Vorgehen ist ja so auch irgendwo dokumentiert oder empfohlen. Eigentlich müsste es aber reichen, das entsprechende Script neuzustarten (dann wird ja das require() erneut ausgeführt). Seit Version v7.11.1 gibt es defaultDataDir in der Sandbox. Das zeigt auf /opt/iobroker/iobroker-data/ (oder wo auch immer der ioBroker läuft). Damit könnte man den Pfad leichter zusammenbauen. Aber wie gesagt: Alles, was Du da versuchst, ist nicht empfohlen oder offiziell unterstützt. Warum die Klassen nicht als eigenes Script in global ablegen und dann verwenden?
  • Wie kann ich in TypeScript "Variablen zusammenfassen"

    9
    0 Stimmen
    9 Beiträge
    938 Aufrufe
    M
    @haus-automatisierung ja da hab ich wohl noch viel zu lernen :)
  • Sonnenwinkel berechnen

    17
    0 Stimmen
    17 Beiträge
    2k Aufrufe
    P
    @bahnuhr Die Leistung je Strang bekomme ich schon jetzt mittels Modbus vom Wechselrichter und kann in den Objekten abgeholt werden. Wie bekommt man die Daten von Azimuth in VIS und kann diese dann im Halbkreis darstellen.
  • Regenbogen Script

    12
    0 Stimmen
    12 Beiträge
    1k Aufrufe
    leovandavartL
    @asgothian okay weiß ich erst mal bescheid
  • Scheduling / Timing in Java Script

    7
    0 Stimmen
    7 Beiträge
    742 Aufrufe
    O
    @paul53 , hat geklappt. Danke. Ich musste noch ein paar Variablen umbauen und mit Denkfehlern kämpfen, aber jetzt funktioniert alles so wie es soll. Gruß
  • Husqvarna - Entfernung zur Ladestation

    1
    0 Stimmen
    1 Beiträge
    185 Aufrufe
    Niemand hat geantwortet
  • Zerlegen eines JSON mit bestätigen Werten?

    4
    0 Stimmen
    4 Beiträge
    370 Aufrufe
    hg6806H
    Danke euch. Hier funktioniert es: //Datenpunkt mit MQTT-Informationen im json-Format auslesen json = (function () { try {return JSON.parse(getState("mqtt.0.home.OpenMQTTGateway_ESP32_BLE.BTtoMQTT.A4C1381BD71A").val);} catch(e) {return {};}})(); //json auslesen und Datenpunkte für Temperatur, Luftfeuchte und Batterie setState("0_userdata.0.OpenMQTTGateway_BLE.A4C1381BD71A.Temperature", getAttr(json, 'tempc'),true); setState("0_userdata.0.OpenMQTTGateway_BLE.A4C1381BD71A.Humidity", getAttr(json, 'hum'),true); setState("0_userdata.0.OpenMQTTGateway_BLE.A4C1381BD71A.Battery", getAttr(json, 'batt')); setState("0_userdata.0.OpenMQTTGateway_BLE.A4C1381BD71A.RSSI", getAttr(json, 'rssi')); setState("0_userdata.0.OpenMQTTGateway_BLE.A4C1381BD71A.Volt", getAttr(json, 'volt')); //Log Ausgabe als return der Funktion return "MQTT MI_A4C1381BD71A aktualisiert"; Aber hier leider nicht: //Datenpunkt mit MQTT-Informationen im json-Format auslesen json = (function () { try {return JSON.parse(getState("mqtt.0.home.OpenMQTTGateway_ESP32_BLE.BTtoMQTT.3F59C86390D1").val);} catch(e) {return {};}})(); //json auslesen und Datenpunkte für Temperatur, Luftfeuchte und Batterie setState("0_userdata.0.OpenMQTTGateway_BLE.3F59C86390D1.Temperature", getAttr(json, 'tempc'),true); setState("0_userdata.0.OpenMQTTGateway_BLE.3F59C86390D1.Humidity", getAttr(json, 'hum'),true); setState("0_userdata.0.OpenMQTTGateway_BLE.3F59C86390D1.Battery", getAttr(json, 'batt')); setState("0_userdata.0.OpenMQTTGateway_BLE.3F59C86390D1.RSSI", getAttr(json, 'rssi')); //Log Ausgabe als return der Funktion return "MQTT MI_3F59C86390D1 aktualisiert"; da kommt dann jeweils ein {"ack":true} EDIT: Manchmal kommt beim letzteren ein Wert, manchmal das "{"ack":true}"
  • Modbus <-> ioBr <-> Homematic

    2
    0 Stimmen
    2 Beiträge
    179 Aufrufe
    paul53P
    @stef76fd Bau eine Sperre ein: on(id, function(dp) { if(dp.state.c != scriptName) { // Wert weiter geben } }); Mit der Variablen scriptName funktioniert es nur, wenn die Trigger alle im gleichen Skript sind.
  • Regex Vereinfachung gesucht

    9
    0 Stimmen
    9 Beiträge
    627 Aufrufe
    W
    @fastfoot sagte in Regex Vereinfachung gesucht: @wolfgangfb sagte in Regex Vereinfachung gesucht: Ich möchte die führeden Nullen aber nur ganz vorne wegbekommen, 20 Uhr und 5 Sekunden sieht meiner Meinung nach als "20:0:5" nicht wie eine Zeit aus, während 5 Minuten 7 Sekunden meiner Meinung nach durchaus wie 5:07 aussehen können. sieht für mich aus wie 5Std 7Min. :-) In dem Fall werden die Sekunden runtergezählt, da sieht man dann schon, dass es keine 5 Stunden sind. ich formatiere grundsätzlich ss:mm:ss ich nehme an Du meinst hh:mm:ss dann sieht das auch iuntereinander geschrieben richtig aus. Aber sei's drum: log(formatDate(sec,'hh:mm:ss').replace(/^(0+:|0)+/,'')) Super, das ist die Lösung, die ich gesucht habe.
  • On event/trigger in JavaScript Klasse verwenden

    Verschoben
    4
    1
    0 Stimmen
    4 Beiträge
    854 Aufrufe
    W
    @csuser Das Thema ist zwar schon ziemlich alt, weil ich aber selbst vor diesem Problem stand hier die Lösung wie man Trigger in einer Klasse realisiert: Man muss das in eine Methode auslagern (die man aber im constructor ausführen kann) class MyClass{ constructor(){ this.SetUpTrigger(); } SetUpTrigger(){ on("javascript.0.Bla.Blub", function(obj){ console.log(obj.id)}); } } let Class = new MyClass();
  • XLSX-Daten als Datenpunkt im ioBroker

    18
    2
    0 Stimmen
    18 Beiträge
    868 Aufrufe
    OliverIOO
    @miniturtle75 Das hört sich nach einem berechtigungsprpblem an. Die Datei muss für den Benutzer iobroker lesbar sein. Prüfen kannst du das am besten in dem du auf der Konsole mit Sudo auf den Benutzer iobroker wechselst und schaust ob die Datei sichtbar ist Wenn nicht musst du im Mount die Berechtigungen anzupassen https://wiki.ubuntuusers.de/mount/

449

Online

33.1k

Benutzende

83.7k

Themen

1.3m

Beiträge