Weiter zum Inhalt

JavaScript

2.5k Themen 49.7k Beiträge

Hilfe für Skripterstellung mit JavaScript

NEWS

  • widgets mit einem Word belegen / Bit Aufschlüsselung

    10
    0 Stimmen
    10 Beiträge
    1k Aufrufe
    paul53P
    @captainchaos666 sagte: Meine Fragen zu dem Code: Wieso hast du hier "ack:true" verwendet Weil in einen eigenen Datenpunkt unter "0_userdata.0" geschrieben wird Wann werden bzw. wie werden die Bits wieder auf false gesetzt Wenn das Wort an der Bitposition eine 0 enthält Was machen die zwei !! Wandeln die Zahlen 0 und 1 in false und true. Was macht fromNe Verhindert ein Triggern, wenn die Quelle der Wertänderung ein Skript ist: Dient zur Vermeidung von Endlos-Trigger-Schleifen. Bit 1: Maske 2; Bit 2: Maske 4; bit 5: Maske 32
  • Zigbee2MQTT Gruppen

    10
    0 Stimmen
    10 Beiträge
    2k Aufrufe
    I
    @arteck Es geht ja genau um die Weihnachtsbeleuchtung. Also gibt es keine schöne Möglichkeit das zu machen. Mal schauen was mir einfällt um das irgendwie anderes hinzubekommen. Danke für die mühe.
  • Probleme mit IF Boolean Abfragen

    3
    0 Stimmen
    3 Beiträge
    269 Aufrufe
    N
    @paul53 Danke, hat geklappt! o mann... da kann man sich anstellen...
  • [Gelöst]-Ergebnis einer Excel Abfrage auf Zahl reduzieren

    8
    0 Stimmen
    8 Beiträge
    616 Aufrufe
    mickymM
    @ps1304 na das ist doppelt gemoppelt - das ist Unsinn. setState("0_userdata.0.Test.excel",Math.round(euro.result * 100)/100)
  • [Gelöst] externer Editor

    5
    0 Stimmen
    5 Beiträge
    374 Aufrufe
    CodierknechtC
    @roga sagte in [Gelöst] externer Editor: mit dessen Hilfe ich direkt auf den IOB (Script-Mirroring) zugreifen kann Da dürfte Dein Problem herkommen. Das Notepad++ arbeitet mit den Scripten im Spiegelverzeichnis? Würde mich dann jedenfalls nicht wundern, wenn der ioBroker bei Änderungen daran die Arbeit verweigert. Edit: Das ist jedenfalls problemlos reproduzierbar. Ändere ich ein Script im Spiegelverzeichnis auf der Konsole, wird es im ioBroker sofort gestoppt. [image: 1697523287928-b056b15f-f232-41d2-8e38-92c9f1508bca-image.png]
  • [Gelöst] Was tut die Funktion jsonataExpression

    13
    0 Stimmen
    13 Beiträge
    496 Aufrufe
    R
    @mickym sagte "Intervall":"2023-10-13T22:00:00.000Z" ist auch korrekt - da in allen Datenbanken die UTC gespeichert wird. Sprich diese Zeit entspricht 0:00 Ihr am 14.10.2023 - da UTC ja 2 Std. nachhängt. Die Konvertierung liegt ggf. daran, dass daraus die lokale Zeit gemacht wurde. Ach so! Jetzt verstehe ich das auch, ja macht durchaus Sinn und so gesehen ist es dann tatsächlich der 14.10.2023. Wieder etwas wichtiges dazugelernt, vielen Dank!
  • Gotify "const axios" unable to verify the first certificate

    3
    0 Stimmen
    3 Beiträge
    896 Aufrufe
    T
    @benjamincz import https from 'https' // oder const https = require('https') import axios from 'axios' const httpsAgent = new https.Agent({ rejectUnauthorized: false, }) axios.defaults.httpsAgent = httpsAgent //hier rest vom Script So in der Art. https muß wohl im Javascript-Adapter in die npm module, kannst aber mal ohne versuchen, wenn dann ein Fehler kommt mit Modul nicht gefunden, muß er rein.
  • hm-rpc doppelt ausgeführt via iot adapter [log]

    2
    0 Stimmen
    2 Beiträge
    232 Aufrufe
    paul53P
    @mariva sagte: unterschiedliche aktionen machen. also ob via taster, alexa oder bewegungsmelder sich das licht angeschaltet hat. Triggere auf Wertänderung und prüfe die Quelle der Änderung: on('hm-rpc.2.xxx.2.LEVEL', function (obj) { log(obj.state.from); });
  • Update auf Bookworm (Container) curl Befehl noch aktuell?

    69
    0 Stimmen
    69 Beiträge
    5k Aufrufe
    F
    @glasfaser sagte in Update auf Bookworm (Container) curl Befehl noch aktuell?: teste doch mit meiner Vorlage meinen Beitrag nicht gelesen? Bei ftp://user:passwort@.......... können die Sonderzeichen nicht escaped werden, speziell ein Ausrufezeichen. Einfach mal mit meinem Testpasswort testen und du siehst was ich meine
  • [Gelöst] Scheduler-Trigger löst mehrere Male aus

    15
    0 Stimmen
    15 Beiträge
    604 Aufrufe
    liv-in-skyL
    @arteck ne - von mir nicht - ist schon sehr lange so - kann bei meinem programmierstil öfter auftreten :-( ziemlich häufig kommt es vor, wenn man bei promises einen fehler macht - dann bleibt sehr oft ein teil eines scriptes aktiv und läuft doppelt "kann dich bei fehlersuche um den verstand bringen"
  • Raum eines States herausfinden

    7
    0 Stimmen
    7 Beiträge
    374 Aufrufe
    T
    @ben1983 sagte in Raum eines States herausfinden: @ticaki sagte in Raum eines States herausfinden: @paul53 Ah so greift man wohl direkt auf den Namen zu? Ich mache das meinst so: var rooms = getObject(obj.replace('.available', ''), 'rooms').enumIds; if (rooms === undefined) return; if (rooms.indexOf('enum.rooms.Haus.second_floor.schlafzimmer') != -1... Wobei ich aber keine Ahnung habe wieso da das obj.replace() drin ist. Was sollte denn ".abailable" sein? gab es das früher mal? Weiß ich nicht mehr, hab den Code vor hm 4 Jahren??? eingebaut/kopiert/keine Ahnung und seit dem kopiere ich ihn nur dahin wo ich ihn brauche.
  • [Vorlage] UniFi WLAN Anwesenheitskontrolle

    javascript template
    18
    1 Stimmen
    18 Beiträge
    3k Aufrufe
    A
    @TobStar @CruziX Ich will hier nocheinmal die Frage stellen. Ich es möglich die OnlineZeit (last_seen) bzw Abwesend_seit (last_seen - uptime) noch als Datenpunkt hinzuzufügen?
  • Deye Solar Sun600 Auslese-JavaScript

    24
    5 Stimmen
    24 Beiträge
    14k Aufrufe
    O
    @ACHIM-BAECKER , auch ich nutze Dein Script gerne und erfolgreich, um von der Cloud unabhängig zu sein. Leider gibt es da noch den kleinen Schönheitsfehler, dass in dem Moment, wenn sich abends der Inverter mangels Energie abschaltet, die zuletzt gemeldete Leistung weiterhin ansteht. Der Inverter setzt die Leistung nicht als "Letzte Amtshandlung" vor dem schlafen gehen auf "0". Letztlich macht das den Kohl nicht fett, mich stört es aber, wenn nachts eine Leistung von 2 W - 5W angezeigt wird. Daher habe ich mir erlaubt, Dein Script wie folgt zu modifizieren: schedule('*/5 5-22 * * *', GetData); // zwischen 5-22Uhr alle 5min ausführen // Anfang Original // function GetData(){ // zyklisches abholen der Daten, falls Solaranlage online ist // var SolarIsOnline = getState(SolarOnlineVar).val; // if (SolarIsOnline) { // getWebsite(); // } //} // Ende Original // Anfang Erweiterung, um "0" auszugeben, wenn der Inverter nicht erreichbar ist function GetData(){ // zyklisches abholen der Daten, falls Solaranlage online ist var SolarIsOnline = getState(SolarOnlineVar).val; if (SolarIsOnline) { getWebsite(); } else { setState("0_userdata.0.Solar.webdata_now_p", 0); } Die "setState" Anweisung setzt die Leistung auf "0", wenn der Inverter nicht erreichbar ist. Es gibt sicher elegantere Lösungen um das zu realisieren, aber für mich funktioniert es. Gruß
  • Auf einmal viele Fehler in den Skripten

    23
    0 Stimmen
    23 Beiträge
    2k Aufrufe
    OliverIOO
    @pk68 said in Auf einmal viele Fehler in den Skripten: Zusätzliche NPM-Module: color-convert ok, da ist auch kein Problem. Da gibt es keine dependencies. Also dann kommen die Meldungen alle aus dem iobroker heraus und können ignoriert werden. Sind ja glaube ich auch alles nur warnungen
  • [Vorlage] Automatischer View-Wechsel u. Slideshow

    143
    17 Stimmen
    143 Beiträge
    32k Aufrufe
    S
    Ich habe ein Skript in Blockly was nicht richtig laufen will. Wenn ich es so lasse wie auf dem Screenshot dann funktioniert es zumindest das auf dem Wandtablet das Display angeht und auch das View eingestellt wird. Wenn ich allerdings statt "FFFFFFF" die Instanz-ID vom Tablet eintrage dann wechslet auf dem Wand-Tablet das View gar nicht mehr. Zweites Problem ist wenn innerhalb kurzer Zeit wieder eine Bewegung erkannt wird speichert er unter "last_screen" nicht die Seite die man vor der Bewegung händisch bedient hat am Tablet sondern zeigt wieder die Cam_View_Bewegung. Jemand eine Idee wie ich die Probleme lösen kann? Wäre für jeden Vorschlag dankbar :) [image: 1696846069196-cams-bewegung.png]
  • Openliga DP Adapter Frage

    14
    0 Stimmen
    14 Beiträge
    1k Aufrufe
    OliverIOO
    @matze55 ja das passiert immer wieder mal. down oder überlastet daher immer mit fehlermeldung, sonst ist raten angesagt
  • Array nach Preisen sortiert mit Startzeit aus Tibberconnect

    5
    1 Stimmen
    5 Beiträge
    789 Aufrufe
    paul53P
    @arteck sagte: das kannst du auch so schreiben Richtig.
  • Script per Script erzeugen

    7
    0 Stimmen
    7 Beiträge
    431 Aufrufe
    T
    @wolfgangfb sagte in Script per Script erzeugen: @bananajoe Supert, danke, habs probiert, funktioniert. Bei mir wurden geänderte Skripte gelegentlich doppelt gestartet, daher Skript erst stoppen, Sekunde warten, dann ändern, Sekunde warten, dann starten.
  • einfacher Matrix Chat Client

    3
    1 Stimmen
    3 Beiträge
    978 Aufrufe
    D
    Hallo, da ich diesen Artikel merhmals bei Google gefunden habe, wollte ich an dieser Stelle fragen. Gibt es einen ausgereiften MatrixChat Adapter? Weil dann würde ich auf Telegram verzichten und mir Nachrichten vom SmartHome selber darüber senden. Ich frage hier, weil dann vermutlich viele andere das ebenfalls über Google finden werden und noch besser weiterwissen. PS: Naja, wer Matrix im Adapter Fenster reingibt, findet sofort: =D [image: 1696535049656-bildschirmfoto-2023-10-05-um-21.43.23.png]
  • Funktion bei Trigger und zeitgesteuert ausführen

    7
    0 Stimmen
    7 Beiträge
    423 Aufrufe
    haus-automatisierungH
    Ich würde aber die Reihenfolge der Parameter ändern und die Callback-Funktion nach hinten packen. So ist es ja bei on und schedule z.B. auch. Dann kann man das schöner formatieren. z.B. function FunctionSubscrAndPeriodic(id2Subscribe, minutesVar, callback, changeVar = 'any') { on ({ id: id2Subscribe, change: changeVar }, callback); schedule(`*/${minutesVar} * * * *`, callback); } function Addition(a, b) { setState('0_userdata.0.example_state', a + b); } FunctionSubscrAndPeriodic('0_userdata.0.kPreCtrl', 1, () => { Addition(1, 2); });

445

Online

33.0k

Benutzer

83.4k

Themen

1.3m

Beiträge