Skip to content

JavaScript

Hilfe für Skripterstellung mit JavaScript

2.5k Topics 49.1k Posts

NEWS

  • httpGet entfernt "?" am Ende der Url

    11
    0 Votes
    11 Posts
    872 Views
    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 Votes
    15 Posts
    1k Views
    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 Votes
    6 Posts
    499 Views
    T
    @haus-automatisierung :ok_woman: danke!
  • Javascript E-Mail Anhang abrufen und Speichern

    4
    1
    0 Votes
    4 Posts
    369 Views
    Sebastian MöllerS
    Ich danke euch beiden. Hat Funktioniert.
  • Schedule - Spezial Frage

    javascript
    4
    0 Votes
    4 Posts
    347 Views
    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 Votes
    18 Posts
    1k Views
    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 Votes
    4 Posts
    1k Views
    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 Votes
    9 Posts
    2k Views
    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 Votes
    13 Posts
    972 Views
    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 Votes
    18 Posts
    1k Views
    HomoranH
    @thomas-braun sagte in request package is deprecated - please use httpGet ...: Ohne @... Danke! Hab's verbessert
  • Ordnerstruktur im Javascript Adapter

    7
    1
    0 Votes
    7 Posts
    549 Views
    D
    @homoran okay, danke für deine Hilfe
  • Hilfe bei Skripte von request auf httpGet umbauen

    132
    0 Votes
    132 Posts
    19k Views
    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 Votes
    3 Posts
    267 Views
    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 Votes
    4 Posts
    369 Views
    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 Votes
    4 Posts
    457 Views
    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 Votes
    5 Posts
    226 Views
    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 Votes
    4 Posts
    398 Views
    M
    Ich dachte es gäbe eine andere Möglichkeit... Danke für die Info.
  • [SOLVED] Warnmeldung bei mooncalc

    3
    0 Votes
    3 Posts
    299 Views
    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 Votes
    16 Posts
    2k Views
    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 Votes
    1 Posts
    179 Views
    No one has replied

358

Online

32.7k

Users

82.5k

Topics

1.3m

Posts