Weiter zum Inhalt

Skripten / Logik

16.7k Themen 215.7k Beiträge

Hilfe zu JavaScript, Blockly, TypeScript, Node-RED, Scenes und text2command

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    3k 50k
    3k Themen
    50k Beiträge
    maxclaudiM
    Hier ist der zweite Teil des Archivs zum Download. Bitte denkt daran, diese Datei (zendure_Info.z01) zusammen mit der Hauptdatei aus dem ersten Beitrag in denselben Ordner zu legen, bevor ihr den Entpackvorgang startet. download part 2v2: zendure_Info.z01
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    OliverIOO
    @matze55 Also, ich schau es mir jetzt nicht mehr an, ohne die Datengrundlage zu kennen Sonst raten wir hier munter weiter
  • Hilfe für Skripterstellung mit Node-RED

    962 13k
    962 Themen
    13k Beiträge
    Marc BergM
    @Thomas-Braun sagte: In der Konfigurationsdatei von Node Red, also in der settings.js, kann durch hinzufügen der Zeitzone das Problem behoben werden. Wenn man den Adapter nutzt, werden Änderungen in der settings.js immer wieder überschrieben. Das bringt nichts. @taddy81 Was konkret ist denn das Problem? Lösen die inject Nodes falsch aus? Oder geht es nur um diese Meldung, bei der niemand weiß, woher sie kommt? @Taddy81 sagte: Auszug: 7/26/2026, 11:15:23 AMnode: debug 3msg.payload : string[24]
  • Minimale fritz dect zykluszeit

    1
    0 Stimmen
    1 Beiträge
    94 Aufrufe
    Niemand hat geantwortet
  • Lampen in Gruppe

    3
    0 Stimmen
    3 Beiträge
    153 Aufrufe
    L
    @thomas-braun Noch nicht. 😃 Oh man, manchmal ist die Lösung so nah.
  • Bild aus Datenpunkt der sich ändert

    11
    0 Stimmen
    11 Beiträge
    1k Aufrufe
    L
    @andygr42 Habe es hingekommen , musste nur bei meinen Blockly den Datei Pfad/ Variable entfernen, jetzt bekomme ich einen Link im Telegram mit Vorschau Bild. Musste noch einen Timeout hinzufügen weil der Datenpunkt ca. 4 sek braucht um bei Erkennung der Bewegung zu aktualisieren. Danke für deine Tipps @Homoran Danke für das entfernen
  • Screenshot aus DAFANG (hack) speichern

    blockly javascript
    22
    0 Stimmen
    22 Beiträge
    3k Aufrufe
    B
    Hallo zusammen, hier wurde mir ja vor einiger Zeit gut geholfen und das Skript hat seine Arbeit gut erledigt. Bis vor kurzem. Mir ist nach einiger Zeit aufgefallen, dass die Screenshots immer die gleichen sind. Nun habe ich mal nachgeschaut und festgestellt, dass der wget Befehl aus iobroker/Blockly heraus nicht mehr funktioniert. Via ssh klappt alles wunderbar. Weiß hier jemand, ob in der Hinsicht in letzter Zeit etwas geändert wurde? javascript Adapter v 5.2.8 Kommando "exec" erlauben aktiviert
  • Sonos Lautstärke um je „1“ anheben od. absenken

    12
    0 Stimmen
    12 Beiträge
    1k Aufrufe
    W
    @homoran Ja, so dachte ich es mir fast. Wie gesagt, bislang problemlos. Vielleicht bin ich beim Drücken auch einfach zu langsam. Aber Danke für den Hinweis und die Erklärung. Das behalte ich im Hinterkopf. Gruß, Jürgen
  • [Frage] ioBroker - iLO Server Daten auslesen

    Verschoben
    44
    1
    0 Stimmen
    44 Beiträge
    8k Aufrufe
    kmxakK
    Ich benutze das Script selber nicht mehr. Siehe https://github.com/SebastianSchultz/ioBroker.hp-ilo
  • State Unifi Protect

    7
    0 Stimmen
    7 Beiträge
    554 Aufrufe
    5
    @paul53 Vielen Dank, ob ich mir sowas je merken kann....
  • [Vorlage]-Zeit herunterzählen bis GoogleTermin Eintritt

    blockly javascript
    58
    3
    8 Stimmen
    58 Beiträge
    12k Aufrufe
    hananH
    @liv-in-sky Hallo liv-in-sky Habe das Skript importiert und die Datenpunkte angepasst. super Arbeit, funz auf anhieb. Besten Dank nochmals für Deine Hilfe.
  • setStateAsync-Änderungen landen in Endlosschleife

    13
    0 Stimmen
    13 Beiträge
    952 Aufrufe
    paul53P
    @sir0drake sagte: a) Wird dieses Attribut c ausschließlich von ioBroker gesetzt ? Gerade getestet: Das Attribut c enthält den Skriptnamen, wenn der Wert mit setState() aus einem Skript gesetzt wurde. log(getState('0_userdata.0.Test.neueZahl')); setState('0_userdata.0.Test.neueZahl'/*neueZahl*/, {val:11, ack:true, c: 'Kommentar'}); Log: script.js.common.Neuer_Test: {'val':11,'ack':true,'ts':1630442081839,'q':0,'c':'script.js.common.Neuer_Test','from':'system.adapter.javascript.0','user':'system.user.admin','lc':1630441922443} @sir0drake sagte in setStateAsync-Änderungen landen in Endlosschleife: b) Darf ich das Attribut from mit einem String meiner Wahl besetzen, ohne im Hintergrund Chaos anzurichten ? from wird vom js-controller gesetzt, genauso wie ts, lc, und q. Die Attribute c und user werden an getState() übergeben, aber nicht an on().
  • Skript für Remote Sunricher SR-ZG9001K12-DIM-Z4

    3
    0 Stimmen
    3 Beiträge
    334 Aufrufe
    M
    @hsteinme Hi, ioBroker und Phoscon laufen via Proxmox auf einem Intel NUC. Linux Phoscon 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 (2020-11-28) x86_64 Dresden ConBeeII Stick, Version 2.07.01 / 8.12.2020, Firmware 26680700 IoBroker mit NodeJS V12.22.5, NPM V6.14.14 mit deConz ZigBee Adapter Version 1.3.19 Läuft flüssig und ohne Probleme. Gruß
  • Bilder von Webseiten als Telegram verwenden

    2
    2 Stimmen
    2 Beiträge
    360 Aufrufe
    liv-in-skyL
    @christoph1337 super - danke dir
  • Javascript Adapter läßt sich nicht updaten

    12
    0 Stimmen
    12 Beiträge
    363 Aufrufe
    W
    @guergen erstmal vielen Dank. Meine Pause ist nun vorbei. Gucke hier später nochmal rein
  • Falls x ist wahr, mache yz funktioniert nicht

    5
    1
    0 Stimmen
    5 Beiträge
    517 Aufrufe
    David G.D
    @chris929 Sehr gut. Falls du planst die Anlage zu erweitern und irgendwann mehrere Sensoren hast würde ich allerdings was anders vorgehen. Auf dem Weg hat man sonst bald sehr viele dopplungen im Blockly. Immer wieder das selbe für jeden Sensor. EDIT: Glaube nicht, dass dein Skript gut klappt. So bekommst du NUR eine Meldung beim aktivieren der Anlage ob die Türen offen sind. Aber nicht wenn sich nach dem aktivieren eine Türe öffnet. Musst auf die Türe triggern, damit dadurch die Nachricht ausgelöst wird. Das dann 2 mal (1 mal für jeden Sensor).
  • suche script homematic wandtaster bedient Tradefri Dimbare

    19
    0 Stimmen
    19 Beiträge
    2k Aufrufe
    paul53P
    @adriaanb sagte: dieser pro schalter Offenbar kann man nur die Betätigungsdauer einstellen, ab der langer Tastendruck gesendet wird.
  • suche Batterie-Alexa-Alarm-Script/Blockly

    13
    0 Stimmen
    13 Beiträge
    602 Aufrufe
    crunchipC
    @dslraser damit nur einmal täglich, wie in dem Beispiel um 15:00 geprüft wird
  • ioBroker Signal Nachrichten

    8
    0 Stimmen
    8 Beiträge
    2k Aufrufe
    K
    @saschame da ich jetzt einige Stunden darauf verwendet habe, eine Variable in den zu sendenden Text einzubauen, will ich mein Ergebnis hier teilen; vielleicht hilft's ja jemandem. Ich habe zunächst das Blockly-Beispiel von Elzershark aus seinem Forum genommen, wo immerhin schon neben fixem Text ein Variablenwert ergänzt wurde. Ich habe das Beispiel auf einen Variablenwert reduziert - also die festen Texte entfernt- , mir den JS-Code kopiert und diesen dann in einem JS-Skript laufen lassen. Ging auch. Dann wollte ich eine globale Funktion definieren, an die ein zuvor konstruierter String zum Senden übergeben wird. Dann wurd's erwas kompliziert mit 2 Sorten Anführungszeichen und Kommata. Verstanden hab ich es nicht 100%ig - auch weiß nicht nicht was .join('') am Ende bewirkt - , aber so funktioniert es immerhin: Globale Funktion: function SignalSend (SignalText) { exec((['signal-cli -u +49172xxxxxxx send -m ', SignalText ,' +49172xxxxxxx'].join(''))); return; } let DAX = "'Der DAX steht bei " + getState('0_userdata.0.DAX30').val + " Punkten.'"; SignalSend (DAX); Es geht auch ohne Text in der simplen Form let DAX = getState('0_userdata.0.DAX30').val; Doch wenn man Text vor den Wert stellt, muss man m.E. den String mit einem Hochkomma vorne beginnen lassen und hinter dem Wert ein Hochkomma in Anführungsstrichen folgen lassen, also: let DAX = "'Der DAX liegt jetzt etwa bei " + getState('0_userdata.0.DAX30').val + "'"; Nachtrag: Damit man sich keine Gedanken machen muss und einfach grundsätzlich einen "normalen" String an die globale Funktion übergeben kann, würde ich in der Globalfunktion zwei Hochkommata zwischen Anführungsstrichen ergänzen. Selbst wenn sie nicht gebraucht werden , stören sie wohl nicht: exec((['signal-cli -u +49172xxxxxxx send -m ',"'"+ SignalText +"'",' +49172xxxxxxx'].join('')));
  • Blockly: Wert auf NULL abfragen

    blockly
    14
    1
    0 Stimmen
    14 Beiträge
    3k Aufrufe
    G
    @heinrichb DANKE! Genau das habe ich gesucht. Selbstverständlich macht dieser Check Sinn. So kann sich ein DP "selbst" reparieren.
  • [Gelöst] Mit Datum Rechnen

    5
    2
    0 Stimmen
    5 Beiträge
    238 Aufrufe
    paul53P
    Anmerkung: Die Berechnung oben liefert die ms für 00:00 Uhr UTC. Möchte man 00:00 Uhr Ortszeit haben, muss an den String " 00:00" angehängt werden.
  • Proxmox Backup darstellen

    5
    0 Stimmen
    5 Beiträge
    707 Aufrufe
    FredFF
    @DarkDevil @thaverland es gibt schon länger dafür einen feature request: https://github.com/iobroker-community-adapters/ioBroker.proxmox/issues/11
  • Gelöst: Update HTML Widget

    javascript
    7
    0 Stimmen
    7 Beiträge
    3k Aufrufe
    M
    @oliverio sagte in Update HTML Widget: Also den Namen des Datenpunktes in geschweiften Klammern da reinschreiben wo die Url auftauchen soll. Hallo Oliver, ich habe Deinen Tip umgesetzt. In dem vom RING Adapter angelegten Datenpunkt ist die URL mit Angabe des Hostes abgelegt, dass war nicht so gut, ich habe den Hostnamen gegen die Host IP per Script getauscht. on({id: 'ring.0.doorbell_21502358.livestream_url', change: "ne"}, async function (obj) { var string = getState("ring.0.doorbell_21502358.livestream_url").val; var newstring newstring=string.replace("http://DESKTOP-RQ1PD76(SmartHome)","http://192.168.178.xxx"); log(newstring); setState("ring.0.doorbell_21502358.livestream_url",newstring) }); Aus "http://DESKTOP-RQ1PD76(SmartHome):8082/ring.0/doorbell_21502358/livestream21502358_1629730800258.mp4" ist nun http://192.168.178.xxx:8082/ring.0/doorbell_21502358/livestream21502358_1629730800258.mp4 geworden. Der Eintrag im HTML-Widget sieht jetzt so aus: <video height="448px" width="800" autoplay muted loop="true"> <source src="{ring.0.doorbell_21502358.livestream_url}" type="video/mp4"> </video> Das klappt. War ein toller Tip mit dem Binding. Gruß Michael

427

Online

33.0k

Benutzer

83.5k

Themen

1.3m

Beiträge