Skip to content

JavaScript

2.5k Topics 49.2k Posts

Hilfe für Skripterstellung mit JavaScript

NEWS

  • Antwort von blueprint/Routine erscheint nicht in summary

    1
    0 Votes
    1 Posts
    78 Views
    No one has replied
  • [gelöst] on{... , change: "any"} läuft immer 2x mal

    javascript
    19
    0 Votes
    19 Posts
    2k Views
    T
    Würde gerne noch etwas einbringen. Soweit ich sehe verwendest du obj.state.val nicht. Dann könntest du val:true benutzen. Ob das mit dem timer[obj.id] Sinn macht. Ja ist doch kaum Arbeit. Ich würde es dann aber eher so lösen: var devices = {}; on(...(obj)=> { devices[obj.id] = true; //hier entprellen setTimeout(meineFunktion,100); }) function meineFunktion() { for (let dev in devices){...} devices = {}; } Kann Syntaxfehler enthalten. :)
  • komme mit schedule nicht klar...

    javascript
    5
    0 Votes
    5 Posts
    736 Views
    Z
    @ELK Moin, ich stand vor der gleichen Herausforderung: Ich lasse mir im Script Einmalausführungstermine errechen und erstelle dann einen schedule. Beispiel: var scheduleEin = schedule(Minuten + " " + Stunde + " * * *", Funktion); Mit clearschedule(scheduleEin) lösche ich den schedule wieder (letzte Zeile der aufgerufenen Funktion).
  • Kamera-Snapshot: Verzögerung einbauen im Skript

    1
    0 Votes
    1 Posts
    293 Views
    No one has replied
  • [gelöst] Rechnen mit Datenpunkt --> NaN

    javascript
    7
    0 Votes
    7 Posts
    476 Views
    Lenny.CBL
    @paul53 Edit: Doch nicht. 1 - 1.8998/0.93 ist kleiner als -1 und kann mit Math.acos() nicht berechnet werden (Ergebnis: NaN). genau der entscheidende Punkt! Ich hatte mir Math.acos() und den Bereich von -1 bis 1 auch schon angesehen, da ich aber in den "manuellen DP" immer 180cm eingetragen hatte, passte die Rechnung. Zwischenzeitlich regnete es aber und die Zisterne füllte sich bin in den Dome rein. Daher ging es mit dem javascript-DP und mit dem mqtt-DP nicht. Was ist nun passiert: die Messung ergab 189cm Füllhöhe die von mqtt-DP abgebildet wurden. Der Durchmesser meines berechneten Zylinders (ohne Dome) beträgt 93cm. 93cm * 2 = 186cm. Wenn ich nun ein Volumen berechen will, welches mehr als den doppelten Radius als Füllhöhe hat, wird es immer mit NaN enden. @paul53 nochmal vielen Dank, das war wieder der richtig Tipp!
  • Gembird PM2 Lan Steckdose über Iobroker ansteuern

    1
    0 Votes
    1 Posts
    89 Views
    No one has replied
  • [gelöst] History Adapter - Werte löschen?

    javascript
    16
    0 Votes
    16 Posts
    2k Views
    HomoranH
    @HomeNet sagte in [gelöst] History Adapter - Werte löschen?: Ich vermute das es der "ts" Wert ist, ich verstehe den Wert aber nicht. korrekt. Der TimeStamp wird in Unixzeit allerdings in Millisekunden angegeben. Also bei Unixtime.de deinen gewünschten Wert berechnen lassen und 3 Nullen anhängen
  • [gelöst] Vis ChangeView funktioniert nicht mehr (bei mir)

    javascript
    8
    0 Votes
    8 Posts
    582 Views
    bahnuhrB
    @JohGre sagte in [gelöst] Vis ChangeView funktioniert nicht mehr (bei mir): Das wars, mein Trigger funktioniert nicht. Ich dachte, das hättest du schon gecheckt. Hast ja auch ein log eingebaut. Dieses muss dann ja auch nicht gekommen sein.
  • Javascript wird nicht mehr getriggert

    javascript
    1
    1
    0 Votes
    1 Posts
    172 Views
    No one has replied
  • setState() ohne auslösen von Ereignissen

    5
    0 Votes
    5 Posts
    188 Views
    N
    @paul53 said in setState() ohne auslösen von Ereignissen: @nr001 Wozu soll das gut sein ? Es gibt gewisse Situationen wo man das braucht :) @htrecksler said in setState() ohne auslösen von Ereignissen: @nr001 Link Text dort wird das behandelt Vielen Dank!!!!
  • Frage, was ist besser viele Kleine ein Großes Script?

    9
    0 Votes
    9 Posts
    681 Views
    A
    Danke für die Zahlreichen Antworten, Ich denke von jedem kann ich etwas mitnehmen. Bin auch angefangen ein bisschen in Ordner zu sortieren. OK, dann scheint es zumindest seitens ioBroker egal zu sein ob ein großes oder viele kleine, halt mit den Vor und Nachteilen... Ich glaube dann bin ich auf einen guten Weg, einige habe ich zusammengefasst in etwas größeren, und habe aber auch einiges einzeln gehalten. Das mit den mehreren Instanzen muss ich mal schauen ob es bei mir sinn macht. Danke Euch
  • Batterieabfrage mit Mailversand und VIS

    2
    2
    0 Votes
    2 Posts
    2k Views
    Dominik F.D
    @fastsonic Es gibt schon so ein Script. Vielleicht ist es ja genau das was du suchst, wenn du überhaupt noch suchst :D https://forum.iobroker.net/topic/31676/vorlage-generische-batteriestandsüberwachung-vis-ausgabe
  • Script läuft nach Auslösung 2x...

    javascript
    3
    0 Votes
    3 Posts
    230 Views
    etvE
    @paul53 ...Scham über mich und meine Nachkommen
  • Post JSON an Yamaha AV Receiver

    Moved javascript
    12
    1
    0 Votes
    12 Posts
    894 Views
    S
    Das wäre sehr hilfreich. Danke für Deine Mühe. Gruß.
  • Aufzählung - ein Teil funktioniert iwie nicht

    15
    0 Votes
    15 Posts
    955 Views
    Mrs-BM
    Huhu... Ich hab endlich wieder etwas Zeit gefunden um an meinem Script (siehe oben) weiter zu basteln... Hab da noch folgende Frage: Mit folgenden Zeilen lege ich ja fest wonach gesucht werden soll: var cacheSelectorSwitchNord = $('stateid=*.1'); var cacheSelectorSwitchOst = $('stateid=*.1'); Also hier für mein Beispiel nach Datenpunkten mit der ID "1" mit der jeweils zugewiesenen function... Nun hab ich aber noch ne Steckdosenleiste die mitgezählt werden soll ... Hier heißen die ID`s leider nicht "1" ... Kann man auch einfach nur nach den Datenpunkten suchen die die function zugewiesen haben? Also ohne Angabe der ID? Würde dann natürlich die entsprechende function auch nur den passenden Datenpunkten zuordnen... Geht das? Und wie müsste ich das anstellen?
  • [gelöst]Skript als Alternative zum Scenenadapter

    javascript
    17
    0 Votes
    17 Posts
    639 Views
    Dominik F.D
    Super, jetzt funktioniert wirklich alles :) Ich vermute das liegt daran, dass die states den Befehl mit leichter Verzögerung untereinander erhalten?
  • Sprachausgabe

    6
    0 Votes
    6 Posts
    324 Views
    T
    @Caveman2020 Ich schlage da vor das du eine Variable benutzt die du als erstes mit var mode = -1 initialisiert. Die enthält dann erstmal -1. Wenn jetzt der erstes Illuminance Fall zutrifft überprüfst du ob die Variable 0 enthält tut sie das nicht setzt du sie auf 0 und gibst innerhalb der Abfrage die Sprachausgabe aus. Diese Sprachausgabe wird dann solange nicht wiederholt wie nicht einer der anderen Fälle eingetreten ist. Das machst du in jedem "Fall" mit einem anderen Wert für Mode.
  • Auslesen von Systemeinstellungen

    9
    0 Votes
    9 Posts
    725 Views
    BluefoxB
    adapter.getForeignObject("system.config", (error, obj) => { adapter.log.debug(Unit: ${obj.common.tempUnit}); })
  • [gelöst] $-Selektor: Triggern bei enum-Änderungen

    3
    2
    0 Votes
    3 Posts
    472 Views
    FoodFighterF
    @paul53 said in $-Selektor: Triggern bei enum-Änderungen: Die ID lautet "enum.functions.TEST" (TEST groß geschrieben) ? Oh...wow...Danke :man-facepalming: Der Name war "TEST", die id natürlich "enum.functions.test" ... manchmal ist es dann doch so einfach. [image: 1587816966869-screenshot-2020-04-25-14.13.06.png] Der untere Teil des Scripts funktioniert jetzt. Wenn ich aber das Licht "WZ_Couch_Licht" einschalte und damit der Datenpunkt "POWER" von false auf true wechselt, sollte doch der obere Script eine Log-Ausgabe mit "####Dieser test wurde geändert: " + obj.id machen. Das funktioniert noch nicht. Dabei wäre genau das der Trigger, den ich bräuchte. Ich vermute hier noch einen ähnlichen Schusselfehler. [Edit:] So funktioniert es: $('state[id=*](functions=test)').on(function(obj) { console.log("####3###Dieser test wurde geändert: " + obj.id); });; Vielen Dank für deine Hilfe!
  • Alle Mitglieder einer Aufzählung schalten (gelöst)

    Solved
    30
    0 Votes
    30 Posts
    3k Views
    smartboartS
    @smartboart sagte in Alle Mitglieder einer Aufzählung schalten (gelöst): Danke für deine Tests ....Das ist bei mir definitv leider nicht so... Also nach dem js-controller update und den latest updates der letzten Tage ist alles tutti. Nur der Vollständigkeithalber. In der Sache gab es laut changelog auch änderungen..Super!!!

592

Online

32.8k

Users

82.7k

Topics

1.3m

Posts