Skip to content

JavaScript

Hilfe für Skripterstellung mit JavaScript

2.5k Topics 48.6k Posts

NEWS

  • [gelöst]Abfrage für Relais Status

    3
    0 Votes
    3 Posts
    178 Views
    M
    Hi Paul, nach dem Edit klappte es :-) Ich musste nur die states noch vorher anlegen weil es nichts zum reinschreiben gab und habe dabei den Namen noch angepasst. createState('javascript.0.Controme.hkv.out-1', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-2', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-3', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-4', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-5', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-6', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-7', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-8', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-9', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-10', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-11', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-12', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-13', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-14', 0, {type: 'boolean', unit: ''}); createState('javascript.0.Controme.hkv.out-15', 0, {type: 'boolean', unit: ''}); const url = 'http://192.168.xx.xx/get/xx-xx-xx-01-1d-20/all/'; const dpPath = 'javascript.0.Controme.hkv.out-'; // 15 Datenpunkte Z1 ... Z15, Typ "boolean" schedule('* * * * *', function() { // jede Minute request(url, function(error, response, result) { result = result.substring(1, result.indexOf('>')); // < und > entfernen let arr = result.split(';'); for(let i = 0; i < arr.length; i++) { setState(dpPath + (i + 1), !!parseInt(arr[i]), true); } }); }); Jetzt versuche ich als nächstes mit der Abfrage von den States in drei Räumen die Klimaanlage zum heizen einzuschalten wenn ein state länger als 20 Minuten true ist. Bin mal gespannt ob ich das mit Blocky schaffe :-) Dir schon mal - wie immer - ganz lieben Dank für die schnelle Hilfe !!! vg Marc
  • Garmin LiveTrack per Telegram

    1
    2
    0 Votes
    1 Posts
    649 Views
    No one has replied
  • JSON aus diesem Link - Ist das machbar ? MELCLOUD

    17
    0 Votes
    17 Posts
    1k Views
    M
    @Lenny-CB ich bin gar nicht so weit das ich bei euch mitreden könnte :-) Ich könnte aus einer fast funktionierenden Lösung was umbauen aber selber bekomme ich das leider nicht hin. Für Melcloud bin ich jetzt einen anderen Weg gegangen und habe mit die Daten über Openhab reingeholt. Schöner wäre es natürlich wenn man das mit Java hinbekommen würde und richtig schick wäre ein Adapter. Aber ich kann da, außer das ich die Hardware habe zum testen, nicht weiter helfen ... :-( Leider ... Ich würde es so gerne können ... vg Marc
  • [gelöst] Homematic: Namen auslesen

    3
    0 Votes
    3 Posts
    274 Views
    D
    @paul53 Vielen, vielen Dank! Das ist genau das, was ich brauche. :) Ich hatte es mit getState versucht... Besten Dank nochmal :)
  • 0 Votes
    2 Posts
    816 Views
    GlasfaserG
    So ... alle 320 Scriptleichen sind gelöscht . Es gibt bestimmt einen anderen Weg ... aber es hat geklappt. Habe mit dem Google-Chrom Plugin " JSON Editor" mir mal die Struktur angeschaut wo eine Leiche hinterlegt ist, dann ist mir aufgefallen das die Leichen in den Datenpunkten scriptEnable / scriptProblem hinterlegt sind : [image: 1583417821253-zig3.jpg] [image: 1583418556044-zig2.jpg] Nach löschen des kompletten Ordners javascript.1.(Testumgebung) , dann waren nur noch 9 Leichen da , in javascript.0 Ordnern Datenpunkten scriptEnabled / scriptProblem [image: 1583418315673-zig4.jpg] Die Restlichen 9 wurden dann in den javascript.0 Ordnern Datenpunkten scriptEnabled / scriptProblem gelöscht . Ein Test wurde trotzdem jetzt nochmal durchgeführt ,sie werden auch in den Ordnern scriptEnabled / scriptProblem jeweils auch gelöscht . Muß wohl irgendwann ein Synchronisationsfehler längere Zeit gewesen sein ... zumindest sind jetzt alle Leichen gelöscht .
  • sitze seit gestern im dunkeln Hue Szenen script ausgefallen

    14
    1
    0 Votes
    14 Posts
    1k Views
    G
    echt, das wusste ich nicht. in den Objekten den der normale Hue Adapter erzeugt sind jedenfalls keine Szenen zu sehen. hab jetzt mal den Hue Extended genommen, da ist alle dabei, toll! Vielen Dank für den tipp. So ist das eben, man richtet irgendwann mal was ein und das funktioniert dann auch, weiter kümmert man sich meist nicht. es war immer etwas umständlich mit dem extra script. aber der extendet adapter hat alles was man sich wünscht. hatte den schon mal gesehen, dachte aber er ist für eine neue Generation von Hue-Bridges. Also sorry leute, bin aus einem Datendorf gerade in die grosse stadt gekommen XDD Vielen Dank
  • Vorstellung: TestIo - ioBroker JavaScript Test Framework

    javascript
    1
    2 Votes
    1 Posts
    452 Views
    No one has replied
  • Kann nicht mehr auf Objekte zugreifen

    20
    0 Votes
    20 Posts
    2k Views
    apollon77A
    @Chaot Ist vllt ne Idee
  • Verbrauchszaehler Fehler Tag 8 / Woche 5

    16
    1
    0 Votes
    16 Posts
    754 Views
    T
    @XBiT Dann leg die Datenpunkte an ist die einfachste Version, funktioniert sicher und stört ja niemanden :grin: EDIT: Ich denke nicht das die Werte relevant für die Berechnungen sind. Es gibt kumulierte Werte für den Zeitraum für den Preisberechnungen durchgeführt werden
  • [Vorlage] Alexa History Befehle in VIS anzeigen

    12
    1
    4 Votes
    12 Posts
    2k Views
    NegaleinN
    @Mic sagte in [Vorlage] Alexa History Befehle in VIS anzeigen: Das kannst du nun alles mit dem neuen Log-Script Version 4.10 lösen. Cool, danke! Schau ich mir gleich an.
  • Telegram - Alexa Routine Triggern via Button

    javascript
    6
    0 Votes
    6 Posts
    458 Views
    T
    @LJSven dann muß command = command[1] // so sein command = command[2] war aber dicht dran :grin:
  • 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
    191 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
    537 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
    272 Views
    T
    @ticaki Jupp, das ist es. Vielen Lieben Dank für die Wahnsinnig schnelle Antwort :-)
  • Google Einkaufsliste anzeigen

    4
    0 Votes
    4 Posts
    456 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
    6k 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

723

Online

32.5k

Users

81.7k

Topics

1.3m

Posts