Skip to content

JavaScript

2.5k Topics 49.2k Posts

Hilfe für Skripterstellung mit JavaScript

NEWS

  • Javascript: Multischalter / Datenpunkt

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

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

    javascript
    6
    2
    0 Votes
    6 Posts
    452 Views
    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 Votes
    2 Posts
    251 Views
    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 Votes
    7 Posts
    136 Views
    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 Votes
    13 Posts
    2k Views
    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 Votes
    7 Posts
    236 Views
    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 Votes
    13 Posts
    2k Views
    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 Votes
    2 Posts
    216 Views
    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 Votes
    9 Posts
    919 Views
    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 Votes
    4 Posts
    399 Views
    T
    Super danke jetzt kapiere ich es und die Meldungen sind weg
  • Javasript Adapter nicht in Instanzen und Menue

    13
    0 Votes
    13 Posts
    761 Views
    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 Votes
    14 Posts
    1k Views
    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 Votes
    10 Posts
    987 Views
    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 Votes
    5 Posts
    475 Views
    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 Votes
    201 Posts
    33k Views
    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

546

Online

32.8k

Users

82.7k

Topics

1.3m

Posts