Weiter zum Inhalt

JavaScript

2.5k Themen 49.5k Beiträge

Hilfe für Skripterstellung mit JavaScript

NEWS

  • [gelöst] Zeitlich verzögertes Einschalten eines "Slave"

    javascript
    6
    0 Stimmen
    6 Beiträge
    471 Aufrufe
    K
    @paul53 : Hab's natürlich nicht bis am Abend ausgehalten :-) FUNKTIONIERT PERFEKT!! DANKE vielmals für eure Hilfe. Falls jemand ein ähnliches Problem hat hier das endgültige Script: /* ----------------------------------- zeitlich verzögertes einschalten des Büros Veröffentlichungsdatum: 26.10.2021 Änderungen: ------------------------------------*/ /*Setzen des State im VIS, falls noch nicht vorhanden*/ var Beschreibung = new Array(); var Name = new Array(); var Art = new Array(); var Def = new Array(); Beschreibung[0] = "0_userdata.0.VIS.Buero1OG.Power"; Name[0] = "Buero 1OG Power"; Art[0] = "boolean"; Def[0] = "false"; for (var x = 0; x < Beschreibung.length; x++) { if (!existsState(Beschreibung[x])) { createState(Beschreibung[x], { type: Art[x], name: Name[x], read: true, write: true, def: Def[x] }); } } var objBuero_Master = 'sonoff.0.SonOffBuero1OG.POWER'; var objBuero_Slave = 'sonoff.0.SonOffS20_2.POWER'; var objBuero_Slaveconnected = 'sonoff.0.SonOffS20_2.alive'; on({id:Beschreibung[0], change: 'any'}, function(dp) { if(dp.state.val) setState(objBuero_Master, true); else { setState(objBuero_Slave, false); setTimeout(function() { setState(objBuero_Master, false); }, 10000); } }); /* Change bei Änderung die größer ist als der alte Wert --> also bei true */ on({id: objBuero_Slaveconnected, change: 'gt'}, function() { if(getState(objBuero_Master).val) setState(objBuero_Slave, true); }); lg Klaus
  • [SCRIPT] Alle States in InfluxDB speichern

    5
    0 Stimmen
    5 Beiträge
    493 Aufrufe
    Z
    @crunchip Na das ist ja auch sehr gut! Danke für deine Hilfe!
  • Gelöst: Script triggert nicht

    javascript
    3
    2
    0 Stimmen
    3 Beiträge
    131 Aufrufe
    D
    @paul53 Raaaaahhh!!!!!! Danke! Danke! Ich hätte noch Stunden weitergesucht. Welcher Honk, hat denn den Punkt weg gemacht? Das ging nämlich mal ;-) Du hast echt meinen Tag gerettet. Nochmal Danke! Gruss Ralf
  • Siro-Funkmotoren für Rollos ohne Cloud ansteuern

    Verschoben javascript
    1
    0 Stimmen
    1 Beiträge
    183 Aufrufe
    Niemand hat geantwortet
  • REST API auf schon laufendem Webserver

    1
    0 Stimmen
    1 Beiträge
    98 Aufrufe
    Niemand hat geantwortet
  • Tabellen Erstellung für JavaSkript Operationen

    3
    1
    0 Stimmen
    3 Beiträge
    336 Aufrufe
    JB_SullivanJ
    @oliverio Perfekt, vielen Dank für deine Hilfe. Jetzt beginnt die Fleißarbeit um die Zellen mit den Datenpunkten aus SourceAnalytix zu füllen [image: 1634926305042-0302258b-34a3-40b6-a254-c0cff60f6fef-image.png]
  • [Vorlage] Hilfreiche JavaScript-Funktionen

    javascript
    23
    31 Stimmen
    23 Beiträge
    14k Aufrufe
    AlCalzoneA
    @christoph1337 sagte in [Vorlage] Hilfreiche JavaScript-Funktionen: Das Script geht garnicht bis Zeile 256... Hast du globale Skripte?
  • Adapter Monitor mit Restart wenn Rot

    1
    0 Stimmen
    1 Beiträge
    169 Aufrufe
    Niemand hat geantwortet
  • Probleme beim loggen der Dachs BHKW Zustände

    1
    0 Stimmen
    1 Beiträge
    138 Aufrufe
    Niemand hat geantwortet
  • Sonnenstände

    24
    0 Stimmen
    24 Beiträge
    2k Aufrufe
    W
    @fastfoot Verstehe ich gut, irgendwas programmieren mit Uhrzeiten ist immer ein kleiner Alptraum. Für mich eilt es auch nicht, da ich ja jetzt eine Lösung habe.
  • Dieses Thema wurde gelöscht!

    1
    1
    0 Stimmen
    1 Beiträge
    17 Aufrufe
    Niemand hat geantwortet
  • Eine Frage zur Performens bei Datenpunkt Überwachung

    14
    0 Stimmen
    14 Beiträge
    404 Aufrufe
    paul53P
    @langer sagte: Ist dieser Befehl richtig: Nein, vor den * gehört ein Punkt. on(/^bshb\.0\.roomClimateControl_hz_.*\.RoomClimateControl\.setpointTemperatureForLevel.*/, function(dp) { // Auswertung von dp });
  • [Vorlage] Verwendung von HmIP Jalousien mit ShutterControl

    javascript template
    16
    0 Stimmen
    16 Beiträge
    3k Aufrufe
    J
    @schmakus Ich habe den State über IOT Adapter an Alexa gemappt und mit Alexa runterfahren lassen->State wechselt auf 0. dann habe ich per lokalen Taster hochgefahren->State steht natürlich immernoch auf 0, da das Skript den Status von Aktor ja nicht kennen kann. Nun geht sie Sonne unter und er sollte wieder runter fahren, es passiert aber nichts. Kann es sein, wenn der State z.B. schon auf 0 steht ein nochmaliges schalten auf 0 über Shuttercontrol automatik nicht funktioniert?
  • anonymous object

    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    AlCalzoneA
    @andrease112 sagte in anonymous object: was mach ich falsch ? Schau mal ins vollständige ioBroker-Log, da steht jeweils mehr zur Warnung drin. createState müsste eigentlich nur einmal benötigt werden - schadet aber auch nicht es immer auszuführen. Tut dann halt nix.
  • Javascript Adapter hängt sich auf nach updates

    2
    0 Stimmen
    2 Beiträge
    182 Aufrufe
    paul53P
    @andrease112 sagte: Hinweis gelesen dass jetzt alles irgenwie Strings sind und das JSON.parse nicht mehr verwendet werden sollen. Das mit den Strings betrifft Datenpunkte vom Typ "object" und "array". Die Umwandlung nach JSON und zurück nimmt der Javascript-Adapter automatisch vor. Für den Anwender ändert sich nichts.
  • Regex Ergebnis Problem

    16
    0 Stimmen
    16 Beiträge
    942 Aufrufe
    A
    @liv-in-sky Danke .... es war natütlich der Typo... besser nicht mit Erkältung programmieren....
  • HELP! Sämtliche Scripte laufen nicht mehr ???

    6
    0 Stimmen
    6 Beiträge
    576 Aufrufe
    R
    @paul53 Du bist "mein Held" !!! Das hat geholfen. Alle Scripte laufen wieder wie geschmiert. TAUSEND DANK und einen schönen Sonntag!!! VG Jörg
  • Wert aus Matrix auslesen

    javascript
    4
    0 Stimmen
    4 Beiträge
    224 Aufrufe
    OliverIOO
    @michihorn var key=100; var arr = [ {a:100,b:"Oben",c:1}, {a:0,b:"Unten",c:0} ]; console.log(arr.find(el=>el.a=key).b); console.log(arr.find(el=>el.a=key).c); var result = arr.find(el=>el.a=key); console.log(result.b); console.log(result.c); Am Ende verschiedene Möglichkeiten, wie du an das Ergebnis kommst.
  • ack in Skripten setzen?

    5
    0 Stimmen
    5 Beiträge
    822 Aufrufe
    S
    @asgothian said in ack in Skripten setzen?: Du solltest aber in deinem trigger dann auch sicherstellen das ack false ist und ansonsten nix tun. Stimmt, das müsste also so aussehen, damit da keine Schleife entsteht: const dpMyUserState: string = '0_userdata.0.testState'; subscribe ({id: dpMyUserState, ack: false}, function (obj) { /* do the stuff*/ /* set the ack */ setState (obj.id, obj.state.val, true); }); Danke :)
  • Objekt ID durch Namen ermitteln

    5
    0 Stimmen
    5 Beiträge
    574 Aufrufe
    I
    @paul53 OK, danke, dann Versuche ich mein mal mein Glück.

523

Online

32.9k

Benutzer

83.0k

Themen

1.3m

Beiträge