Skip to content

JavaScript

Hilfe für Skripterstellung mit JavaScript

2.5k Topics 48.4k Posts

NEWS

  • POE am Unifi Switch 24 POE-250W ein- bzw. ausschalten

    5
    0 Votes
    5 Posts
    3k Views
    liv-in-skyL
    @Hans-K das script schaltet auch das wlan ab - z.b kann man das gast wlan steuern aber auch das "haupt"wlan wenn du voucher und clients nicht benötigst, kann man das abschalten - das script schaltet dann nur das wlan - ich glaube , dass habe ich schon mal bei jmd so installiert falls interesse - ich kann auch über teamviewer - oder lieber ansydesk - mithelfen
  • Fehler im script nach Update Adapter

    62
    0 Votes
    62 Posts
    3k Views
    T
    Hier gehts weiter
  • suche Script NUC sauber runterfahren oder booten

    2
    0 Votes
    2 Posts
    186 Views
    Dr. BakteriusD
    @skokarl Sieh mal hier: https://forum.iobroker.net/topic/12565/neuer-adapter-proxmox-vm/158
  • Prüfung auf Heizperiode?

    javascript blockly heating
    9
    0 Votes
    9 Posts
    532 Views
    P
    @jhuebner1 sagte in Prüfung auf Heizperiode?: ich weiß das es ein Script gibt, aber ein Adapter ist mir neu.... Das Script wird nicht mehr gepflegt. Der Adapter is noch im latest aber kann schon recht unproblematisch verwendet werden. Hier gehts zum Thread dazu.
  • Array erstellen mit Prüfung für Json Tabelle

    10
    0 Votes
    10 Posts
    1k Views
    T
    @ple sagte in Array erstellen mit Prüfung für Json Tabelle: mit .findIndex kannst du eine Funktion aufrufen, in der du prüfen kannst ob das übergebene Object(oder was auch immer) deiner Suche entspricht. Ich suche hier den Eintrag in dem from und msg == den übergebenen Werten ist und geben über return true zurück, wenn dem so ist. messageArray.findIndex(function(a) { return (a.from == f && a.msg == msg) }) Ich hab nen Display der 3 Zeilen anzeigen kann und dieses Script verwaltet das. var messageArray = [{},{},{}]; messageArray[0] = {"from":"","msg":"-1"}; messageArray[1] = {"from":"","msg":"-1"}; messageArray[2] = {"from":"","msg":"-1"}; onMessage("DisplayMessage", function(data,result){ var msgfrom = data[2]; var mode = data[1]; var msg = data[0].toString(); if (msg.length == 0 && mode !=0) return; var done = false; switch (mode) { case 0: done = deleteAllMsg(msgfrom); break; case 1: done = sendMsg(msgfrom,msg); break; case 2: done = deleteMsg(msgfrom,msg); break; } if (done) { var check=true; while(check) { check=false; var first=-1; for (var i=0; i<3;i++){ if (messageArray[i].msg != '-1' && first != -1) { messageArray[first] = messageArray[i]; log(messageArray[i].msg+' swap int:'+ i +' '+first); check = true; break; } if (messageArray[i].msg=='-1') { first = i; } } } for (var i=0; i<messageArray.length;i++){ if (typeof messageArray[i].msg == 'number') { setState('mqtt.1.display.show.Nachricht.msg'+(i+1), '-1'); } else { setState('mqtt.1.display.show.Nachricht.msg'+(i+1), messageArray[i].msg); } } } }); function sendMsg(f, msg) { if (messageArray.findIndex(function(a){ return (a.from == f && a.msg == msg)}) != -1) return; // keine doppelten Einträge var a = 2; while (a--) { messageArray[a] = messageArray[a-1]; } messageArray[0]={"from":f,"msg":msg}; return true; } function deleteAllMsg(f) { for (var a=0;a<3;a++){ if (messageArray[a].from == f) messageArray[a]={"from":"","msg":"-1"}; } return true; } function deleteMsg(f,msg) { for (var a=0;a<3;a++){ if (messageArray[a].msg==msg && messageArray[a].from == f ) { messageArray[a]={"from":"","msg":"-1"}; return true; } } return false; }
  • Javascript Multiplikator kW in W

    3
    0 Votes
    3 Posts
    258 Views
    T
    @ticaki Jupp, das ist es. Vielen Lieben Dank für die Wahnsinnig schnelle Antwort :-)
  • Google Einkaufsliste anzeigen

    4
    0 Votes
    4 Posts
    446 Views
    Stephan SchleichS
    @OSSILAMPE Das war nur als Tipp, ich hab es selber nicht getestet - sorry.
  • Aufzählungen säubern

    16
    0 Votes
    16 Posts
    1k Views
    paul53P
    @sigi234 sagte: @CruziX sagte in Aufzählungen säubern: Also Objekte, die nirgendswo mehr verwendet werden? Jupp Wie soll man so etwas automatisch feststellen ? Ein Automatismus kann sehr leicht unerwünschte Auswirkungen (fehlende Objekte) haben. @CruziX sagte in Aufzählungen säubern: Doppelte Objekte kann es ja eig. nicht geben, weil die ID eindeutig ist, oder? So ist es.
  • socket io - state lesen und setzen

    javascript
    36
    0 Votes
    36 Posts
    5k Views
    MicM
    Danke für die Infos hier. Hier ein Anwendungsbeispiel: https://forum.iobroker.net/topic/30552/tipp-in-vis-in-html-widget-getstate-nutzen-zur-anzeige
  • [gelöst]: Bei Scrip-Start alle Sensoren abfragen

    6
    0 Votes
    6 Posts
    257 Views
    paul53P
    @hanss sagte: vor 40 Jahren mit Z80 Assembler Dito, vor ca. 35 Jahren.
  • [gelöst] Raum/Funktion werden nicht gefunden

    javascript
    6
    1
    0 Votes
    6 Posts
    265 Views
    dslraserD
    @hanss sagte in Raum/Funktion werden nicht gefunden: aber erst nachdem ich JS neu gestartet habe. manchmal reicht auch das nicht. Admin und JS Adapter neu starten (nicht stoppen !) hilft bei mir dann eigentlich immer.
  • Java Script scripte nach Neustart NICHT ausführen

    4
    2
    0 Votes
    4 Posts
    597 Views
    T
    Bis zu dem Tag wo etwas schief läuft und der Adapter alle paar Sekunden neugestartet wird. :) Aber das merkst du dann ja recht schnell. Du könntest auch etwas mehr an Skripten posten, so das man die Funktionsweise erkennt und vielleicht einen Vorschlag hat.
  • [gelöst]Mit Verzögerung Wert schreiben

    javascript
    11
    1
    0 Votes
    11 Posts
    377 Views
    M
    @paul53 danke - verflucht nochmal...
  • For-Schleife mit 1s Verzögerung

    19
    0 Votes
    19 Posts
    2k Views
    GarfonsoG
    @wye said in For-Schleife mit 1s Verzögerung: Z.B. hier das... einfach ausgedrückt, wenn interval1 true ist wird interval1 per ClearInterval() auf was genau gecleart? False? Lass dich nicht so sehr vom "clear" beindrucken. clearInterval bricht das Interval ab, also die Funktion innerhalb von setInterval wird danach nicht mehr aufgerufen. Damit clearInterval weiß, welches von ggf. mehreren Intervallen es abbrechen soll, gibst du ihm in interval1 die ID des Intervals mit. Im Grunde kannst du dir auch sparen interval1 selber auf null/false zu setzen. Dann rufst du nur am Anfang immer clearInterval für ein Interval auf, das es nicht mehr gibt (was aber m.E. keine Probleme erzeugt). So wie @ticaki geschrieben hat ist es am saubersten.
  • [Vorlage] Script zum Aufräumen in Aufzählungen

    javascript
    4
    1 Votes
    4 Posts
    610 Views
    sigi234S
    @paul53 sagte in [Vorlage] Script zum Aufräumen in Aufzählungen: Genügt das Log nicht ? Wenn ich das Log lösche kann ich es nicht mehr nachvollziehen. Ist aber nicht so Wichtig.
  • GPS Daten aus Haupteinstellungen lesen / schreiben

    7
    0 Votes
    7 Posts
    677 Views
    G
    Erstmal vielen Dank für die Vorschläge ! Ist es dann auch möglich, in dieses Objekt zu schreiben und ändert das dann die Haupteinstellungen bezüglich der GPS-Daten des Standortes ??
  • TCP-Server für Netzwerk I/O Modul

    9
    0 Votes
    9 Posts
    710 Views
    OliverIOO
    Zum Thema Server oder client Wenn du auf Anfragen von aussen wartest ohne das du etwas initiierst, dann ist es ein Server. Deswegen schreibst du server.listen(6000) das heißt dein Server wartet auf Anfragen auf Port 6000. Wenn du selbst die Kommunikation immer initiierst, dann bist du ein client und der andere Server (der wartet ja auf Anfragen von dir) Aufräumen In IOBroker sagt dir das die Adapterschnittstelle (Funktion unload) ob der adapter beendet wird, den rest musst du tun, da iobroker ja nicht weiß was dein adapter alles machtn Wenn du ein node skript standalone laufen hast und mit ctrl C stoppst, dann schau hier https://stackoverflow.com/questions/20165605/detecting-ctrlc-in-node-js Zu deiner neuesten Erkenntnis zu deinem konkreten Protokoll kann ich dir nicht helfen, da ich das Gerät nicht kenne. Wenn du kein ordentliches datasheet hast, dann darfst du rumprobieren beachte bei aliexpress wird automatisch übersetzt. sei dir sicher dass nicht auch ein teil der befehle unter umständen übersetzt wurden, was natürlich falsch ist, da der chip das nicht versteht. wenn du die sprache auf englisch umstellst, dann sehen die befehle besser aus dann musst du das senden. Das AT kommt mir bekannt vor, so musste man früher Modems ansteuern um ins Internet zu kommen AT+OCCH1=?
  • update CSS variable

    9
    0 Votes
    9 Posts
    770 Views
    I
    @OliverIO ah ... jetzt hab ich noch mal reingeschaut. Da stehts eh wie es geht: 2.1.Farben variabel verwenden 3.In den betroffenden Widgets in der CSS Eigenschaft "mdui-{javascript.0.mybackground}-bg" eintragen Die var kann ich mir ersparen. Danke für den Anstoß.
  • getState - warning log / JS Dokumentation

    Moved
    17
    0 Votes
    17 Posts
    2k Views
    T
    @AlCalzone Danke
  • (gelöst) Verständnisfrage

    4
    1
    0 Votes
    4 Posts
    386 Views
    M
    Hi, war das Wochenende nicht zu Hause. Die Datenpunkte habe ich per script angelegt. Spoiler createState('steckdosen.steckdose_1', 0, { type: 'number' }); createState('steckdosen.steckdose_2', 0, { type: 'number' }); createState('steckdosen.steckdose_3', 0, { type: 'number' }); createState('steckdosen.steckdose_4', 0, { type: 'number' }); createState('steckdosen.steckdose_5', 0, { type: 'number' }); Geändert hab ich die auch schon, Zahl oder Logikwert. Sind jedenfalls immer identisch. Bisher keine Änderung. Jetzt sämtliche steckdosen-DP in den Objekten gelöscht und per script, wie oben, neu angelegt. Alle DP zeigen jetzt 0/1! Warum das vorher anders war, wird mir aber dennoch ein Rätsel bleiben. Das Passwort wird noch geändert. Stammt noch vom setup und ist einfacher einzugeben. Danke

523

Online

32.4k

Users

81.5k

Topics

1.3m

Posts