Skip to content

JavaScript

Hilfe für Skripterstellung mit JavaScript

2.5k Themen 48.8k Beiträge

NEWS

  • protobufjs

    8
    0 Stimmen
    8 Beiträge
    512 Aufrufe
    M
    @homoran Du bist ein Schatz und ich bin blöd. Danke :-)
  • Erbitte Hilfe: Request - 9 Zeilen Code

    9
    0 Stimmen
    9 Beiträge
    806 Aufrufe
    R
    Es darf nicht catch (error), sondern muss catch (exMsg) heissen. Problem gelöst.
  • setStateDelayed - Fragen zur Funktion

    16
    0 Stimmen
    16 Beiträge
    539 Aufrufe
    paul53P
    @laser sagte: Unterbrechen von JS- Abarbeitung für die timeout-Zeit? Nein, setTimeout() wird asynchron ausgeführt.
  • JS Adapter 8.7.0 und suncalc

    6
    1
    0 Stimmen
    6 Beiträge
    471 Aufrufe
    Thomas MaulT
    Das mit dem require habe ich wohl auch nicht ganz verstanden und deswegen nicht im Code gehabt. Amateur halt ;-)
  • [Gelöst] Was wird bei einem .on alles zurückgeliefert?

    3
    0 Stimmen
    3 Beiträge
    150 Aufrufe
    Ben1983B
    @paul53 sagte in Was wird bei einem Selector.on alles zurückgeliefert?: @ben1983 sagte: Wo erkenne ich denn, was wirklich alles geliefert wird? obj.name gibt es nicht, sondern obj.common.name. Das gilt nicht nur für ein Selektor.on(), sondern generell für on(). Kann wohl sein, aber es wird mir 1. hier angeboten: [image: 1721037212494-87d81e88-a5e3-4d5b-80e2-3d146d808bad-image.png] kommt bei der Verwendung auch dort der Name aus obj.common.name raus Aber danke für die Info. Hätte ich mir ja denken können :-)
  • scripte analyse - welches script sendet viele änderungen

    9
    0 Stimmen
    9 Beiträge
    571 Aufrufe
    haus-automatisierungH
    @paul53 sagte in scripte analyse - welches script sendet viele änderungen: Anscheinend werden diese dann per if(script) ausgefiltert. Ja genau, weil state.c dann undefined ist.
  • (erledigt)Runden in Js

    12
    0 Stimmen
    12 Beiträge
    695 Aufrufe
    OliverIOO
    @ubecker geht mit prepend und append auch dort auch
  • Übergabe von Werten von Smartmeter an cFos Wallbox

    42
    0 Stimmen
    42 Beiträge
    10k Aufrufe
    S
    @berlinerbolle Das läuft seit jahren hier schon in einer Modbus, HTTP kombination.... für MQTT müsste ich mal alles zurücksetzen und neu machen.... (damals gab es noch kein MQTT in der Wallbox).... Vielleicht wird es mal zeit dafür.....
  • getSchedules() liefert keine Astro-Schedules?

    javascript
    2
    0 Stimmen
    2 Beiträge
    265 Aufrufe
    M
    @mcu Schon gefunden Returns the list of all CRON jobs and schedules (except astro). Argument must be true if you want to get the list for every running script.
  • JavaScript funktioniert nicht wie gewünscht! Bitte Hilfe.

    95
    0 Stimmen
    95 Beiträge
    11k Aufrufe
    S
    @paul53 ich habe jetzt ausführlich getestet. Das ging gut, weil linux bei mir unter einer VM (Orcacle Virtualbox) läuft. So konnte ich auch auf "alte" Zustände zurückgreifen. Ich habe das upgrade von nodejs einmal via "iob nodejs-update 20" und einmal manuel über apt, wie hier beschrieben "Diskussion zum HowTo nodejs-Installation und upgrade" auf die 20 durchgeführt. Ergebnisse: Im Verhalten führen beide upgrade Varianten zu gleichen Ergebnissen (was schon mal gut ist) unter der Version 18 laufen meine Scripte komplett fehlerfrei durch unter der 20er Version entsteht der Fehler "socket hang up" es ist bemerkenswert, dass das Script fehlerfrei, also ohne "socket hang up", durchläuft, wenn ich es nach ca. 20 Sekunden erneut auslöse (wir sprechen noch immer von den Scripten, die ich am 1.Juni umd 10:23 hier gepostet habe). Dieses Verhalten ist reproduzierbar, ebenso die Tatsache, daß es beim ersten Auslösen stets die Fehlermeldung bringt. Hat irgendwer eine Idee, was ich testen, wo ich ansetzen könnte, um den bug (falls es überhaupt einer ist) zu finden, einzugrenzen oder zu eliminieren? Oder mit wem ich dieses Problem diskutieren resp. in welchem threat ich es melden sollte?
  • fs.appendFileSync in Pi-Folder geht nicht mehr

    3
    0 Stimmen
    3 Beiträge
    292 Aufrufe
    S
    @thomas-braun Habe ich jetzt auch so gemacht und per crontab einen Kopierjob eingerichtet, der mir die Dateien dann ins richtige Verzeichnis und aufs NAS schiebt. Danke! :blush:
  • Wann async/await?

    7
    0 Stimmen
    7 Beiträge
    649 Aufrufe
    S
    @paul53 danke, Paul, also: synchron!
  • httpGet entfernt "?" am Ende der Url

    11
    0 Stimmen
    11 Beiträge
    827 Aufrufe
    N
    @peterfido Ich hatte 2 Fragezeichen zuvor schon mal direkt bei der Ökofen Peletronic probiert - und dann zeigt die wieder die Dokumentation an. Immer wenn ein ungültiger Request kommt, dann wird die Dokumentation angezeigt. Ich habe es jetzt nochmals mit httpGet probiert: es scheint, dass Axios dann nix wegschneidet. D.h. die beiden Fragezeichen weiterleitet, weil die Peletronic dann auch die Dokumentation liefert. Frustrierend :cry:
  • [gelöst] Beste Vorgehensweise???

    15
    0 Stimmen
    15 Beiträge
    994 Aufrufe
    amg_666A
    @codierknecht Mein Post oben war auch etwas komprimiert :-) Ich frage auch ab ob z.B. Schulferien sind, dann gehen Rolläde in den Kinderzimmern später hoch. Gleitzeit/Schicht etc kann man ja in einem (google) Kalender eintragen und den dann abfragen
  • Fehler: Bild via Telegram verschicken

    6
    0 Stimmen
    6 Beiträge
    474 Aufrufe
    T
    @haus-automatisierung :ok_woman: danke!
  • Javascript E-Mail Anhang abrufen und Speichern

    4
    1
    0 Stimmen
    4 Beiträge
    341 Aufrufe
    Sebastian MöllerS
    Ich danke euch beiden. Hat Funktioniert.
  • Schedule - Spezial Frage

    javascript
    4
    0 Stimmen
    4 Beiträge
    328 Aufrufe
    OliverIOO
    @bahnuhr das funktioniert grundsätzlich. allerdings, wenn während der an-phase der javascript adapter neugestartet wird oder iobroker neu gestartet wird, dann gibt es den timout nicht mehr. da du aber sehr kleinteilig schaltets, wird ja beim nächsten mal an, der timer wieder gestartet
  • Fehler im Script

    18
    0 Stimmen
    18 Beiträge
    1k Aufrufe
    paul53P
    @chaot sagte: Kann ich das dann einfach ersetzen? Keine Ahnung. Ich habe die Funktion writeFile() noch nicht benutzt.
  • (erledigt!) More than 100 subscriptions registered

    4
    0 Stimmen
    4 Beiträge
    964 Aufrufe
    U
    @oliverio Danke schön!! Ja, ich mache es bewusst und sind ca. 150 subscriptions. Der Rechner ist performant.
  • API-Zugriff (hier: Reolink API)

    9
    2
    0 Stimmen
    9 Beiträge
    2k Aufrufe
    P
    @oliverio danke für den Tipp, habs so umgesetzt. Hier mal für alle die ähnliches vorhaben zusätzlich der Code mit dem dann auf Grundlage des ermittelten Tokens die Steuerbefehle abgesetzt werden. Auch in dem Code gibt es sicher Optimierungsmöglichkeiten, aber er funktioniert :) 'use strict' // Token für Kamera 3 ermitteln aund speichern schedule("*/30 * * * *", async () => { httpPost('http://192.168.22.42/api.cgi?cmd=Login', '[{ "cmd":"Login", "param":{ "User":{ "Version": 0, "userName":"XXX", "password":"YYY"}}}]', { timeout: 3000, responseType: 'arraybuffer' }, async (err, response) => { let ergebnis = JSON.parse(response.data); let Token = ergebnis.find(el=>el.cmd=="Login").value.Token.name setState('0_userdata.0.Token_Kamera3', Token, true); }); }); // Kamara Links on({id: '0_userdata.0.Kamera3_Links', change: 'gt'}, function(obj) { let Adresse= 'http://192.168.22.42/api.cgi?cmd=PtzCtrl&token=' + getState("0_userdata.0.Token_Kamera3").val; httpPost(Adresse, '[{ "cmd":"PtzCtrl", "param":{ "channel":0, "op":"Left", "speed":16}}]', { timeout: 3000, responseType: 'arraybuffer' }, async (err, response) => { }); }); on({id: '0_userdata.0.Kamera3_Links', change: 'lt'}, function(obj) { let Adresse= 'http://192.168.22.42/api.cgi?cmd=PtzCtrl&token=' + getState("0_userdata.0.Token_Kamera3").val; httpPost(Adresse, '[{ "cmd":"PtzCtrl", "param":{ "channel":0, "op":"Stop"}}]', { timeout: 3000, responseType: 'arraybuffer' }, async (err, response) => { }); }); // Kamara Rechts on({id: '0_userdata.0.Kamera3_Rechts', change: 'gt'}, function(obj) { let Adresse= 'http://192.168.22.42/api.cgi?cmd=PtzCtrl&token=' + getState("0_userdata.0.Token_Kamera3").val; httpPost(Adresse, '[{ "cmd":"PtzCtrl", "param":{ "channel":0, "op":"Right", "speed":16}}]', { timeout: 3000, responseType: 'arraybuffer' }, async (err, response) => { }); }); on({id: '0_userdata.0.Kamera3_Rechts', change: 'lt'}, function(obj) { let Adresse= 'http://192.168.22.42/api.cgi?cmd=PtzCtrl&token=' + getState("0_userdata.0.Token_Kamera3").val; httpPost(Adresse, '[{ "cmd":"PtzCtrl", "param":{ "channel":0, "op":"Stop"}}]', { timeout: 3000, responseType: 'arraybuffer' }, async (err, response) => { }); }); // Kamara Auf on({id: '0_userdata.0.Kamera3_Auf', change: 'gt'}, function(obj) { let Adresse= 'http://192.168.22.42/api.cgi?cmd=PtzCtrl&token=' + getState("0_userdata.0.Token_Kamera3").val; httpPost(Adresse, '[{ "cmd":"PtzCtrl", "param":{ "channel":0, "op":"Up", "speed":16}}]', { timeout: 3000, responseType: 'arraybuffer' }, async (err, response) => { }); }); on({id: '0_userdata.0.Kamera3_Auf', change: 'lt'}, function(obj) { let Adresse= 'http://192.168.22.42/api.cgi?cmd=PtzCtrl&token=' + getState("0_userdata.0.Token_Kamera3").val; httpPost(Adresse, '[{ "cmd":"PtzCtrl", "param":{ "channel":0, "op":"Stop"}}]', { timeout: 3000, responseType: 'arraybuffer' }, async (err, response) => { }); }); // Kamara Ab on({id: '0_userdata.0.Kamera3_Ab', change: 'gt'}, function(obj) { let Adresse= 'http://192.168.22.42/api.cgi?cmd=PtzCtrl&token=' + getState("0_userdata.0.Token_Kamera3").val; httpPost(Adresse, '[{ "cmd":"PtzCtrl", "param":{ "channel":0, "op":"Down", "speed":16}}]', { timeout: 3000, responseType: 'arraybuffer' }, async (err, response) => { }); }); on({id: '0_userdata.0.Kamera3_Ab', change: 'lt'}, function(obj) { let Adresse= 'http://192.168.22.42/api.cgi?cmd=PtzCtrl&token=' + getState("0_userdata.0.Token_Kamera3").val; httpPost(Adresse, '[{ "cmd":"PtzCtrl", "param":{ "channel":0, "op":"Stop"}}]', { timeout: 3000, responseType: 'arraybuffer' }, async (err, response) => { }); });

743

Online

32.6k

Benutzer

82.1k

Themen

1.3m

Beiträge