Skip to content

JavaScript

Hilfe für Skripterstellung mit JavaScript

2.5k Themen 49.1k Beiträge

NEWS

  • httpGet entfernt "?" am Ende der Url

    11
    0 Stimmen
    11 Beiträge
    872 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
    1k 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
    499 Aufrufe
    T
    @haus-automatisierung :ok_woman: danke!
  • Javascript E-Mail Anhang abrufen und Speichern

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

    javascript
    4
    0 Stimmen
    4 Beiträge
    347 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
    1k 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) => { }); });
  • Klingelbild via Telegram versenden klappt nicht mehr

    13
    1
    0 Stimmen
    13 Beiträge
    967 Aufrufe
    HomoranH
    @bahnuhr sagte in Klingelbild via Telegram versenden klappt nicht mehr: Wieso ist er jetzt wieder drin ? weil ich ihn wiederhergestellt habe, da sonst der Zusammenhang zerstört wäre. @bahnuhr sagte in Klingelbild via Telegram versenden klappt nicht mehr: Ich hatte oben meinen Beitrag gelöscht. ... Das ist nicht ok.
  • request package is deprecated - please use httpGet ...

    18
    0 Stimmen
    18 Beiträge
    1k Aufrufe
    HomoranH
    @thomas-braun sagte in request package is deprecated - please use httpGet ...: Ohne @... Danke! Hab's verbessert
  • Ordnerstruktur im Javascript Adapter

    7
    1
    0 Stimmen
    7 Beiträge
    549 Aufrufe
    D
    @homoran okay, danke für deine Hilfe
  • Hilfe bei Skripte von request auf httpGet umbauen

    132
    0 Stimmen
    132 Beiträge
    19k Aufrufe
    Ro75R
    @pefau Öffentliche IP, also dein Server oder irgendwo im Internet? Was sagt den der "response.statusCode"? Ro75.
  • JS Script Shelly3EM Pro MQTT Fehlermeldung

    3
    2
    0 Stimmen
    3 Beiträge
    267 Aufrufe
    H
    @mickym Danke für den Anstoß.... Habe schon die letzten Tage schauen wollen, was ich damals für einen Datentyp eingestellt habe. Bin immer daran hängen geblieben, daß ich nichts ändern konnte bzw. die Einstellungen nicht öffnen konnte. Habe gerade bemerkt, daß ich nicht im Expertenmodus war. So geht's wenn man nicht wirklich im Thema ist bzw. die Bedienung nicht intus hat. Scheint jetzt zu funktionieren ohne Fehlermeldung... Danke
  • [gelöst] Jetzt 2 Objecte, JavaScript (gelb) und scripte?

    4
    0 Stimmen
    4 Beiträge
    369 Aufrufe
    S
    @haus-automatisierung @paul53 dankeschön. Mir ist das heute zum ersten Mal aufgefallen.
  • Javascript v8.3.1 "on" Funktion immer mit "change: 'ne'"?

    4
    0 Stimmen
    4 Beiträge
    457 Aufrufe
    O
    @paul53 Vielen Dank, also hatte ich ja doch etwas falsch verstanden. Habe es nun ohne "id:{..}" eingebaut, wie du geschrieben hast und die Funktion wird auch ohne "change: 'ne'" nicht immer wieder ausgeführt. Vielen Dank für die schnelle Hilfe! Grüße, Olli
  • http post tagkeys und fieldkeys

    javascript communication
    5
    0 Stimmen
    5 Beiträge
    226 Aufrufe
    D
    @haus-automatisierung Ja, es funktioniert für meine Bedürfnisse hervorragend, da es große Flexibiliät beinhaltet. Es müssen nur im loggingTemplate die benötigten tags und fields eingetragen werden. Vielen Dank für Deine Unterstützung. Gruß DET
  • [SOLVED]Log wird von JS Script mit Meldungen geflutet

    4
    0 Stimmen
    4 Beiträge
    397 Aufrufe
    M
    Ich dachte es gäbe eine andere Möglichkeit... Danke für die Info.
  • [SOLVED] Warnmeldung bei mooncalc

    3
    0 Stimmen
    3 Beiträge
    299 Aufrufe
    M
    Mit der Änderung kommt keine Fehlermeldung mehr. var moontime = mooncalc.getMoonTimes(now, 50, 7); var tr = moontime.rise.getHours() + ':' + moontime.rise.getMinutes(); var ts = moontime.set.getHours() + ':' + moontime.set.getMinutes(); var state = "0"; if(p > 0.05) state = "1"; if(p > 0.2) state = "2"; if(p > 0.3) state = "3"; if(p > 0.45) state = "4"; if(p > 0.55) state = "5"; if(p > 0.7) state = "6"; if(p > 0.8) state = "7"; if(p > 0.95) state = "0"; setState("0_userdata.0.Astro.Mondstand.MondPhasenText",state); Danke.
  • [SOLVED] require request ersetzen durch httpPost in JS

    16
    0 Stimmen
    16 Beiträge
    2k Aufrufe
    D
    @paul53 Mit deiner Idee und dem Attribute "form" bekomme ich zwar keinen Timeout mehr, eine Sprachausgabe erfolgt aber nicht. Timeout Variable habe ich wieder rausgenommen, da 2000ms mehr als ausreichend sein sollte. httpPost('http://192.168.178.51:8765', { form: {sayit: 'Sprachausgabe' }}, (error, response) => { if (!error) { console.log(response.statusCode); console.log(response.data); console.log(response.headers); } else { console.error(error); } }); javascript.0 12:09:24.356 info script.js.common.Sayit: 200 javascript.0 12:09:24.356 info script.js.common.Sayit: <html><head><head><body><h1>Hello, World</h1></body>Header<br/>content-length : 29 remote-addr : 192.168.178.252 http-client-ip : 192.168.178.252 host : 192.168.178.51:8765 content-type : application/json connection : keep-alive accept-encoding : gzip, compress, deflate, br accept : application/json, text/plain, */* user-agent : Mozilla/5.0 (X11; Linux i686; rv:109.0) Gecko/20100101 Firefox/121.0 <br/>----<br/>method = POST<br/>uri = /<br/>Params<br/>NanoHttpd.QUERY_STRING : null<br/></html> javascript.0 12:09:24.356 info script.js.common.Sayit: Object [AxiosHeaders] { 'content-type': 'text/html', date: 'Sun, 23 Jun 2024 10:09:24 GMT', connection: 'keep-alive', 'content-length': '496' }
  • ifan (tasmota) mit Alexa über iot-adapter steuern

    1
    0 Stimmen
    1 Beiträge
    179 Aufrufe
    Niemand hat geantwortet

598

Online

32.7k

Benutzer

82.5k

Themen

1.3m

Beiträge