Skip to content

JavaScript

2.5k Topics 49.9k Posts

Hilfe für Skripterstellung mit JavaScript

NEWS

  • Datenpunkte in JSON aufbereiten [gelöst]

    26
    2
    0 Votes
    26 Posts
    4k Views
    MoppedmanM
    @liv-in-sky Deine Erklärung das du in der JS Funktion ein Objekt benötigst zusammen mit dem Hinweis von @paul53 das ich aus Blockly ein solches Objekt nicht direkt erzeugen kann hat "den Groschen Fallen lassen". Du hast auch richtig verstanden, dass ich die Werte monatlich schreiben möchte und daher ist dein Vorschlag direkt umsetztbar. Ich möchte nur einmalig die vorhandenen Datenpunkte der letzten 1,5 Jahre auslesen und diese ebenfalls in JSON übertragen. Danke für die Hilfe an alle. Mache mich jetzt and die Umsetzung.
  • (gelöst) clearSchedule Frage

    javascript
    16
    0 Votes
    16 Posts
    1k Views
    ice987I
    @ticaki diese Lösung funktioniert perfekt! Vielen Dank für deine Hilfe!
  • Probleme mit Regex basiertem Trigger (gelöst)

    3
    0 Votes
    3 Posts
    305 Views
    F
    @olixatiobroker kann ich nicht nachvollziehen, obj enthält die zu erwartenden Werte: 0:30:51.281 info javascript.1 (489) script.js.testjs: {'id':'0_userdata.0.Test','newState':{'val':'4','ts':1637883051279,'ack':false,'lc':1637883051279,'from':'system.adapter.admin.0','q':0},'oldState':{'val':'3','ts':1637883033133,'ack':false,'lc':1637883033133,'from':'system.adapter.admin.0','q':0},'state':{'val':'4','ts':1637883051279,'ack':false,'lc':1637883051279,'from':'system.adapter.admin.0','q':0}}
  • Javascript zum umrechnen watt in kw/h täglich auf 0 setzten

    7
    0 Votes
    7 Posts
    1k Views
    AsgothianA
    @mmoeller53 sagte in Javascript zum umrechnen watt in kw/h täglich auf 0 setzten: @asgothian Verstehe die antwort nicht so ganz, also nach dem was ich von der quelle ablesen kann stimmt die berechnung (ausgerechnete kwh vom wechelrichter im vergleich zum skript) nun möchte ich aber das der errechnete wert im script täglich zurück auf 0 gesetzt wird und weiß nicht so recht wie. Der trick ist nicht um 0 Uhr auf 0 zurück zu setzen sondern bei der ersten Änderung nach 0 Uhr den Wert seit 0 Uhr zu berechnen. Dann sparst Du dir den ganzen Zeit-Krams mit cron job und Überscheidungen von Skripten um Mitternacht. A.
  • cron / schedule Zeitpunkte

    21
    0 Votes
    21 Posts
    2k Views
    mickymM
    @fastfoot sagte in cron / schedule Zeitpunkte: @mickym was bitte hat Oracle mit iobroker zu tun? und was der unix-cron? iobroker verwendet node-schedule welches nur angelehnt an den original cron ist. Und selbst beim 'Original' gibt es verschiedene Derivate OK - dann sind das halt andere Derivate und dann sind es eben 6 Felder im iobroker. Habe damit kein Problem. Wusste nicht, dass es da unterschiedliche Implementierungen gibt, sorry. :(
  • Problem mit schalten eines 2. Ereignisses mit Telegrammenü

    3
    3
    0 Votes
    3 Posts
    449 Views
    N
    @elsmarto Leider bisher nicht. Tut mir leid
  • Vereinfachung Anfäger Script - Variable [gelöst]

    javascript
    3
    0 Votes
    3 Posts
    333 Views
    Johannes BauerstatterJ
    @paul53 Vielen Dank!!
  • Tuya Doorbell Script

    communication javascript multimedia
    4
    0 Votes
    4 Posts
    447 Views
    GlasfaserG
    @ilovegym Hast du mal mein Script genutzt !?
  • Javascript neuer Ordner und Datei erstellen

    10
    0 Votes
    10 Posts
    1k Views
    HomoranH
    @rene75 sagte in Javascript neuer Ordner und Datei erstellen: Also kann ich nur unter vorhandene Ordner einen neuen Ordner anlegen. wo sonst? Aber dein Problem liegt im Verständnis der Struktur. Das ist nicht einfach eine "Ordner" Struktur, das sind festgelegte Objekte (zumindest in den ersten beiden Hierarcheiebenen). Dann kann man natürlich auch keine Datenpunkte in Datenpunkten anlegen usw.
  • [Gelöst] Astro-Zeiten unterschiedlich

    22
    0 Votes
    22 Posts
    3k Views
    F
    @mickym, @diwoma zur Ergänzung: getAstroDate() akzeptiert als 2ten Parameter entweder ein Datum oder einen timestamp, also die millisekunden seit 1.1.1970. Das Datum wird unterkringelt weil es in der Funktionsdefinition nicht angegeben ist. Just gestern habe ich einen PR erstellt welcher u.a. diesen 'Fehler' behebt, welcher aber eher kosmetisch ist. Fehlt der 2te Parameter, so nimmt getAstroDate() den laufenden Tag. Die o.g. Astro Settings in der Instanz wirken sich nicht auf die Berechnung aus, die Koordinaten aber natürlich schon. Es empfiehlt sich im Datum die Mittagszeit mit anzugeben sonst erhält man u.U. die Daten des Vortages. let tomorrow = new Date(); tomorrow.setDate(tomorrow.getDate() + 1); tomorrow.setHours(12, 0, 0, 0); log(tomorrow) let sunrise = getAstroDate('sunrise', tomorrow) log(sunrise)
  • Anzahl Datenpunkte geändert - wie Trigger anpassen?

    8
    0 Votes
    8 Posts
    327 Views
    T
    @bananajoe Hallo, war gestern etwas zu müde. Ich hatte zuerst vorgeschlagen das du mit einem schedule überprüft ob sich $(dp_myplaces + ".*.*.isPresent") verändert und wenn ja, das Skript neu startest. var oldDps = $(dp_myplaces + ".*.*.isPresent"); schedule('*/5 * * * *', function() { if (JSON.stringify(oldDps) != JSON.stringify($(dp_myplaces + ".*.*.isPresent"))) restartScript(); }) Dann gesehen das RegEx neue Datenpunkt erfasst, und weil du mit dem /\ durcheinanderkommst. dir meine Funktion hier rein kopiert die jeden Punkt in einem Datenpunkt gegen \. tauscht. RegEx findet keine gelöschten Datenpunkte soweit mir bekannt, sondern nur neue.
  • Javascript: Multischalter / Datenpunkt

    5
    0 Votes
    5 Posts
    710 Views
    K
    @asgothian Vielen Danke. Bei state.val.from ist immer undefiniert, aber in state.from steht system.web.0 beim vis drin. So funktioniert es jetzt: //Weihnachtsbeleuchtung Gruppe var Weihnachten = ['hm-rpc.0.000B9BE98C3FC5.4.STATE', 'shelly.0.SHSW-25#C45BBE5F9833#1.Relay0.Switch','shelly.0.SHSW-25#C45BBE5F9833#1.Relay1.Switch']; on('javascript.0.Weihnachtsbeleuchtung', function(obj) { if (obj.state.from != "system.adapter.javascript.0") { Weihnachten.forEach(function(wobj){ setState(wobj, obj.state.val); }); } }); on(Weihnachten, function(obj) { var lightson = false; setTimeout(function() { Weihnachten.forEach(function(wobj) { if (getState(wobj).val == true) { lightson = true; } }); if (getState('javascript.0.Weihnachtsbeleuchtung').val != lightson) { } }, 2000); });
  • Remote Raspberry herunterfahren

    16
    0 Votes
    16 Posts
    2k Views
    ChaotC
    @mickym Er muss ja eigentlich nur die Zeile 7 ändern. Aber deine Methode funktioniert auch recht interessant.
  • Variablen Beständigkeit

    7
    0 Votes
    7 Posts
    304 Views
    D
    Fehler gefunden und läuft wie gewünscht. Bei einer Funktion war noch die Variable "state" vorhanden, welche wohl das ganze Script durcheinander gebracht hat. Namen geändert und fertig wie @arteck vermutet hat. Sorry und Vielen dank schon mal!
  • Alle Objekte mit einer Rolle

    javascript
    12
    0 Votes
    12 Posts
    1k Views
    M
    @paul53 said in Alle Objekte mit einer Rolle: iert, dann funktioniert DAnke. Es klappt mit : var reedContacts = $('state[id=*.SENSOR][role=sensor.window]');
  • MaterialDesign Table Fritzbox Missed calls best. Nummer

    template
    29
    2
    3 Votes
    29 Posts
    4k Views
    svenomattS
    @liv-in-sky Vielen Dank, jetzt hat es geklappt, ich traue mich nicht mal zu sagen woran es lag. Scheinbar war durch ein Fritzbox-update der Port für den Call monitor gesperrt. Vielen Dank für deine anhaltend Hilfe, ist mehr als selten. Gruss
  • [gelöst] schedule bringt Fehler

    javascript
    3
    0 Votes
    3 Posts
    263 Views
    falke69F
    @asgothian Danke! Das hatte ich leider bei meiner Suche nicht gefunden.
  • Skript, JSON und mein Problem

    javascript
    6
    2
    0 Votes
    6 Posts
    515 Views
    T
    @langer Das ist falsch. Ich versuche mal eine Erklärung in deinem ursprünglichen Skript gibts du der DB 31 mal den Auftrag Werte zu ermitteln und in einem Array zu sichern. Jedoch bearbeitest du das Array lange bevor die DB Zeit hatte das Array überhaupt zu beschreiben. Im 2. Versuch sicherst du die Werte erst nach 3 Sekunden was falsch ist. Da nachfolgenden Durchläufen den Timer beenden und dann keine Werte gesichert werden. Nimm das Skript vom Anfang und füge meine Code dort ein, wo ich beschrieben haben. die Lösung ist: Du beschreibst das Tage Array wie in deinem ersten Versuch. Jedoch nutzt du den Timeout wie ich in dir gezeigt habe um das komplette Tage Array als Json zu sichern. Wenn das nicht vollständig ist, erhöhst du die 3000 (das steht für 3 Sekunden)
  • [solved] BlueIris Livestream in iobroker

    2
    0 Votes
    2 Posts
    351 Views
    M
    Hier die Lösung: "sichere sessions deaktivieren" Blue Iris Options > Web server > Advanced. "Use secure session keys and login page" hacken raus. habe ich einen user angelegt ohne admin privileg und diesen user könnt ihr auch noch auf eine kamera oder eine gruppe beschränken. unter webserver -> advanced kann zum einen iframe aktiviert werden und zum andern auch der zugriff nur von bestimmten ips erlaubt werden. nun ist es möglich den stream abzugreifen via: Index über alle CAMS, spart traffic und ist performanter: http://192.xxx.xxx.xxx:81/mjpg/Index?user=xxxx&pw=xxxx Einzelne Cams, ua. auch bessere auflösung http://192.xxx.xxx.xxx:81/mjpg/kameraname?user=xxxx&pw=xxxx statt mjpg könnt ihr auch image nutzen um einen snapshot zu bekommen und diesen ggfl via autorefresh zu aktualisieren. evtl hilft es ja jemanden. grüsse
  • [gelöst] Frage zu Chokidar

    7
    0 Votes
    7 Posts
    197 Views
    jmeister79J
    @fastfoot PERFEKT!!!! Das hat geholfen. Hätte ich auch lesen können. Danke dir!!

524

Online

33.0k

Users

83.7k

Topics

1.3m

Posts