Skip to content

JavaScript

Hilfe für Skripterstellung mit JavaScript

2.5k Topics 48.6k Posts

NEWS

  • auf Funktionen anderer Scripte zugreifen

    2
    0 Votes
    2 Posts
    451 Views
    paul53P
    @boklu sagte: von einen Script auf die Funktionen eines anderen Scriptes zugreifen. Das ist nicht möglich. Entweder man packt die gemeinsamen Funktionen in (ein) globale(s) Script(e), wobei diese in jedes andere Skript kopiert werden, oder man nutzt eigene Module, die man gezielt mittels require(Pfad/Modulname) einbinden kann.
  • Lüftungsempfehlung JavaScript Problem

    Moved javascript
    3
    1
    0 Votes
    3 Posts
    374 Views
    O
    Super Dankeschön, dass war es.
  • Alexa "Standard-Antworten" blockieren?

    4
    0 Votes
    4 Posts
    552 Views
    T
    Ja, @arteck hat recht. Es gibt Sätze und Kommandos, da fühlt es sich natürlicher an, sie zu sagen. Hat denn jemand vielleicht Erfahrung damit, wie es aussieht, wenn man den Kurzantwortmodus aktiviert?
  • on ID nur im bestimmten Zeitraum aktivieren

    6
    0 Votes
    6 Posts
    450 Views
    0
    OK, dann kann ich die Sache ja ruhig so laufen lassen :blush:
  • [gelöst] heute.getMonth() liefert falschen Wert

    2
    1
    0 Votes
    2 Posts
    556 Views
    CKMartensC
    Ok... Meinen Fehler gefunden... getMonth() fängt ja mit 0 an zu zählen...
  • Auf 2 Echos Nachricht abspielen

    8
    0 Votes
    8 Posts
    596 Views
    R
    @padrino Ja genau, ist das Gerät leise gestellt (z.B. wegen Einschlafen am Vorabend) dann wird der Rundruf auch nur in dieser leisen Lautstärke abgespielt.
  • Kamera PTZ Steuerung von Vis

    11
    0 Votes
    11 Posts
    1k Views
    K
    @paul53 sauber stimmt mal wieder. Mal wieder vielen DANK und großes Lob an dich !!
  • Ordner erstellen in JavaScript

    javascript
    17
    0 Votes
    17 Posts
    2k Views
    S
    ja, hab ich. das gif is vollkommen in Ordnung... eventuell muß ich in Telegram noch einen anderen parameter wählen...?
  • Serienbildaufnahme, alle 2 Sekunden ein Bild

    9
    0 Votes
    9 Posts
    520 Views
    S
    so, ich habe es gelöst bekommen... mein Fehler war die Annahme das die Schleife erst nach dem timeout weiter abgearbeitet wird. Die Schleife wird weiter abgearbeitet und die Funktion inner halb des Timeout nach ablauf des Timeout. Also muß sich der Timeout bei jedem Durchlauf der Schleife erhöhen. var screenon = "fullybrowser.0.xxx_xxx_xxx_xxx.Info.isScreenOn"/*isScreenOn*/; var timestamp; on(screenon, function(dp) { if(dp.state.val) { timestamp = formatDate(new Date(), "JJJJ.MM.TT SS:mm:ss"); for(let i=1;i <= 10; ++i) { setTimeout(function() { snapshot(timestamp, i); },i*2000); } var info_text = 'neue Bilder im Archive'; console.log('Snapshot sent'); sendTo('telegram.0', {text: info_text }); } }); function snapshot(timestamp, prefix){ // log(timestamp + "_" + prefix); var request = require('request'); var fs = require('fs'); request.get({url: 'http://192.xxx.xxx.xxx:2323/?cmd=getCamshot&password=xxx, encoding: 'binary'}, function (err, response, body) { fs.writeFile("/home/iobroker/" + timestamp + "_" + prefix + ".jpg", body, 'binary', function(err) { if (err) { console.error(err); } }); }); }
  • Script um JSON in states zu schreiben

    blockly javascript
    5
    1
    0 Votes
    5 Posts
    972 Views
    W
    @madjack84 Hab ich auch mal nach gesucht. Leider ist das bewusst blockiert. Du kannst einen Adapter in Javascript erstellen. Der kann sowas ;-) Für Deine Zwecke sollte aber doch auch so ok sein, oder? Auslesen kannst du den Wert ja überall. Geht Dir nur um Kosmetik oder?
  • Import Java Script

    5
    0 Votes
    5 Posts
    437 Views
    StabilostickS
    @stephan1827 Was hast Du denn eigentlich vor? Den Neato-Adapter https://forum.iobroker.net/post/3040 kennst Du ja schon. Ich gehe davon aus, dass Du an der Cleaning Map interessiert bis? https://github.com/Pmant/ioBroker.botvac/issues/11 Dann solltest Du berücksichtigen, dass der Adapter auf das folgende Modul aufsetzt: https://github.com/Pmant/node-botvac/issues/9 Und da gibt es seit kurzem die Funktion Robot.prototype.getPersistentMaps. Es tut sich also etwas. Vielleicht solltest Du den Entwickler etwas unterstützen?
  • Telegramm Buttons Farbig

    Moved
    5
    0 Votes
    5 Posts
    781 Views
    H
    @Xyolyp ok schau mal
  • [gelöst]Pushover Nachricht offene FensterAlarm

    7
    2
    0 Votes
    7 Posts
    508 Views
    B
    @paul53 Funktioniert!!!!, super :+1:
  • Fehler bei Telegram "Snapshot" sent

    6
    0 Votes
    6 Posts
    526 Views
    N
    @ReverZ der Befehl hat den Fehler gelöscht :) Danke dir . @UMBM und danke dir für die Info, es klappt jetzt .
  • Bild speichern Datum+Zeit Variable

    6
    0 Votes
    6 Posts
    1k Views
    L
    @Glasfaser danke schau ich mir an, ist nur für mich mit try&error aufwendig alles umzubasteln.😬 @paul53 Danke wenn ich die Variablen für die Zeit mit runter in die Funktion nehme klappt es so wie ich es wollte. Jetzt schaue ich mir das mit der Zeit noch mal an. Wenn ich jetzt ein Bild einer andern Kamera mit versenden möchte. Ist dieser Aufbau gut oder muss man da im Skript ganz anders ran gehen?
  • Kamera Steuerung (PTZ) mit Bewegungsmelder htp

    45
    0 Votes
    45 Posts
    3k Views
    K
    @paul53 ja logisch Sorry mein Fehler. Jetzt passt es. Noch mal vielen vielen DANK...….
  • Script aus altem Tread benutzen

    5
    0 Votes
    5 Posts
    424 Views
    T
    @Baerny Ich suche es dir gerne heute raus. Etwas Geduld bitten
  • [Solved] Globale Scripts referenzierten

    4
    0 Votes
    4 Posts
    308 Views
    T
    @paul53 OK...mit this geht es aber. Danke.
  • Nutzung Hue dimmer Switch

    1
    0 Votes
    1 Posts
    164 Views
    No one has replied
  • USB Sendkey auslesen im Script

    communication javascript
    3
    0 Votes
    3 Posts
    768 Views
    P
    Also, serial port klingt schon mal gut. Bisher hatte ich folgende Lösung, aber die ist umständlich. Es gibt das Node-Hid npm, dieses wir auch mitinstalliert mit dem Community-HID-Adapter. Der alte von SOEF scheint nicht mehr zu funktionieren, ist aber noch in der Repo. Könnte man bei Gelegenheit mal ändern. Also, der HID installiert Node-HID mit. Jetzt gibt es die npm Module Node-HID-Stream sowie usb-barcode-transform. Die hochen auf der Vendor ID und wandeln den Buffer dann in Integer. Aber die Lösung ist nicht so dolle, da der User iobroker erst noch Rechte braucht. Also alles sehr umständlich. Serial Port klingt da einfacher und besser. Hast du zufällig ein Beispiel parat? Per Sendkey kommen HEX blöcke rein, die wandeln wir jetzt auch schon in Integer um mit einer Schleife, wollte das aber mal mit dem Readbuffer machen. Scheint wohl so ne Funktion zu sein von Node. sonst, ich könnte dir auch 2 Geräte mal zukommen lassen, wenn du gerade Langeweile hast :-) Könnte mir vorstellen, dass es für einige User interessant sein könnte, da die über USB angeschlossen werden können und kosten nur 6€. Die anderen Varianten kenne ich nur mit Wemos und mqtt z.B. , Aber das auch wieder frickellei. Gruß und Danke Update: So es gibt anscheinend noch einen einfacheren Weg, der auch unter Node 10 usw. läuft. Da der RFID als HID erkannt wird, geht Serialport soweit auch nicht, zumindest was ich gelesen habe. Die Vollständige Anleitung mache ich morgen fertig. Auf die schnelle: usb-barcode-scanner im Javascript mit eintragen, wird soweit auch alles mitinstalliert auch Node-HID. udev Regel anlegen, da der User Iobroker keine Rechte hat, das HID Device zu lesen. Es ist ein Hidraw Devices. sudo nano /etc/udev/rules.d/90-hidraw-permission.rules KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", GROUP="plugdev" User iobroker mit in die Gruppe plugdev. sudo usermod -aG plugdev iobroker Script für USB Device erkennen var hid = require('node-hid'); console.log(JSON.stringify(hid.devices())); Script für ID der RFIDReader auszulesen. let UsbScanner = require('usb-barcode-scanner').UsbScanner; let scanner = new UsbScanner({ vendorId: 65535, productId: 53 }); scanner.on('data', (data) => { console.log(decimalToHex(data)); }); scanner.startScanning(); function decimalToHex(d, padding) { var hex = Number(d).toString(16); padding = typeof (padding) === "undefined" || padding === null ? padding = 2 : padding; while (hex.length < padding) { hex = "0" + hex; } var s = ""; var i = hex.length; while (i>0) { s += hex.substring(i-2,i); i=i-2; } return s; } Gruß

769

Online

32.5k

Users

81.7k

Topics

1.3m

Posts