Weiter zum Inhalt

JavaScript

2.5k Themen 49.2k Beiträge

Hilfe für Skripterstellung mit JavaScript

NEWS

  • Javascript: Multischalter / Datenpunkt

    5
    0 Stimmen
    5 Beiträge
    498 Aufrufe
    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 Stimmen
    16 Beiträge
    1k Aufrufe
    ChaotC
    @mickym Er muss ja eigentlich nur die Zeile 7 ändern. Aber deine Methode funktioniert auch recht interessant.
  • Variablen Beständigkeit

    7
    0 Stimmen
    7 Beiträge
    231 Aufrufe
    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 Stimmen
    12 Beiträge
    962 Aufrufe
    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 Stimmen
    29 Beiträge
    3k Aufrufe
    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 Stimmen
    3 Beiträge
    210 Aufrufe
    falke69F
    @asgothian Danke! Das hatte ich leider bei meiner Suche nicht gefunden.
  • Skript, JSON und mein Problem

    javascript
    6
    2
    0 Stimmen
    6 Beiträge
    451 Aufrufe
    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 Stimmen
    2 Beiträge
    251 Aufrufe
    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 Stimmen
    7 Beiträge
    136 Aufrufe
    jmeister79J
    @fastfoot PERFEKT!!!! Das hat geholfen. Hätte ich auch lesen können. Danke dir!!
  • [gelöst] Wo auf dem Server werden die Scripts gespeichert

    javascript
    13
    0 Stimmen
    13 Beiträge
    2k Aufrufe
    liv-in-skyL
    @thomas-braun sorry /home/iobroker hatte ich überlesen - dachte du meintest den home des users, der für putty genutzt wird
  • [gelöst]Probleme beim rekursiven löschen von Ordnern

    7
    0 Stimmen
    7 Beiträge
    236 Aufrufe
    jmeister79J
    Hallo, ich habe es jetzt anders gemacht. Ich hatte zunächst die Ordner der Fritzbox im Pi gemountet aber der FritzNAS ist auch sehr unzuverlässig. Nun betreibe ich auf dem ioBroker Pi einen FTP und lasse die Kamera dort hochladen, dort komme ich dann einfacher mit dem Dateisystem zurecht. Wichtig ist es, dem FTP zu erklären wer lese und schreibrechte auf den FTP Ordner hat. Ich lade nun bei jedem event eine Datei hoch und ein script schaut im Takt darauf und sendet mir dann eine Telegram Nachricht mit dem Bild der höchsten Bewegung. Täglich wird um 0 Uhr der vorgestrige Ordner gelöscht.
  • Wallbox Ladungen Excel / PDF Export

    13
    1
    0 Stimmen
    13 Beiträge
    2k Aufrufe
    L
    @anthony-stark Bei mir sieht es etwas anders aus, hab es aber grundsätzlich geschafft die Wallbox einzubinden. Auch das Starten des Ladens geht nun über ioBroker. [image: 1636536622250-8585d21d-a140-45c4-ba8f-ba861a663126-image.png]
  • Licht zählen Script verzählt sich nach Host Update (gelöst)

    2
    1
    0 Stimmen
    2 Beiträge
    216 Aufrufe
    R
    Sorry, habe den Fehler selber noch gefunden: eine Leuchte war doppelt vergeben: an dem Schaltaktor und bei Hue. Scheint sich dadurch irgendwie gegenseitig aufgehoben zu haben bei den Räumen. Kann also gelöscht werden.
  • Welches Buch für Javascript

    9
    0 Stimmen
    9 Beiträge
    919 Aufrufe
    liv-in-skyL
    @herr_kuschel ich lerne gerne mit youtube videos - die kann man auch stoppen - für javascript gibt es auch deutsche anleitungen gute übung ist auch ein blockly zu erstellen und dann mal die javascript view dazu anzuschauen - da lernt man auch einiges, was speziell für iobrocker wichtig ist - da findest du ja kein buch
  • String oder Objeckt

    4
    2
    0 Stimmen
    4 Beiträge
    399 Aufrufe
    T
    Super danke jetzt kapiere ich es und die Meldungen sind weg
  • Javasript Adapter nicht in Instanzen und Menue

    13
    0 Stimmen
    13 Beiträge
    761 Aufrufe
    Thomas BraunT
    @netfritz Dir ist bewusst, das die Pi Zeros 'etwas eigen sind' und die Standardanleitungen da nicht unbedingt zu verwenden sind?
  • Script Formulierung

    14
    0 Stimmen
    14 Beiträge
    1k Aufrufe
    T
    @bananajoe Das weiß ich nicht. bei mir sieht das so aus: ein kleiner ausschnitt if (!await existsStateAsync(currentDir + endOfState)) { await createStateAsync(currentDir + endOfState, {read:true, write:true, def:18, name:"Soll-Temperatur niedrig H/K", type:"number", }, ); } endOfState = tTargetHeatingCoolingState; if (!await existsStateAsync(currentDir + endOfState)) { await createStateAsync(currentDir + endOfState, {read:true, write:true, def:0, name:"Zielstatus der Heizung/Kühlung", type:"number", }, ); } on({id:currentDir + tHeatingThresholdTemperature, change:'ne'}, setAckSetStell); on({id:currentDir + tCoolingThresholdTemperature, change:'ne'}, setAckSetStell); // hier fehlt viel function setAckSetStell(obj){ setStell(); setState(obj.id, obj.state.val, true); } Ich versuche das alles zusammen zu halten damit ich die on() besser finde.
  • extendObject - Problem bzw funktioniert nicht

    10
    3
    0 Stimmen
    10 Beiträge
    986 Aufrufe
    A
    @alcalzone said in extendObject - Problem bzw funktioniert nicht: extendObject('...id...', { Super, super und nocheimal Super!!!! So funktioniert es bestens! Vielen Dank !!!!!
  • ENUM (Aufzählung) auf einen Datenpunkt setzen bzw. löschen

    5
    0 Stimmen
    5 Beiträge
    474 Aufrufe
    F
    @paul53 vielen Dank werde es morgen implementieren. Das hilft mir echt weiter Herzlichen Dank. Yuhuu! Funktioniert genau so wie ich mir das vorgestellt habe Endlich kann ich die Raumclean Funktion gut umsetzen. Falls jemand anders das gleiche sucht, so habe ich es umgesetzt: var enumname; async function setenum(enumname) { const room = getObject(enumname); room.common.members.push("0_userdata.0.roborock.raumtest"); setObject(enumname, room); } async function delenum(enumname) { const room = getObject(enumname); let pos = room.common.members.indexOf("0_userdata.0.roborock.raumtest"); if(pos != -1) { room.common.members.splice(pos, 1); setObject(enumname, room); } } on({id: '0_userdata.0.roborock.zimmer.flo', val: true}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; await setenum('enum.rooms.Flo'); }); on({id: '0_userdata.0.roborock.zimmer.flo', val: false}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; await delenum('enum.rooms.Flo'); }); ... => und das gleiche für alle weiteren Räume ....
  • HTML Tabelle Linux-Control Adapter

    template javascript
    201
    14
    5 Stimmen
    201 Beiträge
    33k Aufrufe
    D
    Hallo @liv-in-sky!!!!! Vielen Dank für die Info's!!! So langsam komme ich hinter des "Pudels Kern"! Ich werde mich da mal reinfuchsen, aber ich glaube die Grundidee habe ich verstanden :-) Auf jeden Fall bis dahin vielen Dank! Wünsche Dir noch einen schönen Tag!!!! Gruß Jörg

426

Online

32.8k

Benutzer

82.7k

Themen

1.3m

Beiträge