Skip to content

Skripten / Logik

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

16.6k Topics 213.8k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    OliverIOO
    @BertDerKleine Am besten zeigst du mal dein Script, dann kann man bessere Empfehlungen abgeben. Bitte auch mal schreiben warum du aufteilen möchtest obwohl es so funktioniert.
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Topics
    79k Posts
    KPTK
    Ich glaube fast wir haben unterschiedliche Adapter. Bei mir gibt es nur diese Eingabefelder für Lokal und Autorisation: [image: 1772552790074-6f115ee8-37cc-4937-ae8a-ed42bbc3d8ea-adaptereinstellungen-f%C3%BCr-zendure-solarflow.png] [image: 1772552887293-b9df87ae-5243-4267-82ad-10319ba6f868-image.png]
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Topics
    13k Posts
    Marc BergM
    Es gibt in der Verson 1.3.0 einen neuen Node: iob-setObject (Stand 10.02.26 noch beta) Mit dem neuen Node kann man ioBroker-Objektdefinitionen (Metadaten) direkt schreiben und ändern. Hauptfunktionen: Instanz-Konfigurationen ändern - z.B. MQTT publish-Pattern, Intervalle, etc. Objekt-Eigenschaften aktualisieren - Namen, Rollen, Einheiten, Min/Max-Werte ändern es gibt zwei Modi: Merge-Modus : Ändert nur die angegebenen Eigenschaften, alle anderen bleiben erhalten Replace-Modus: Überschreibt das komplette Objekt Typischer Workflow: Objekt mit iob-getobject holen Mit Change-Node gewünschte Properties ändern Mit iob-setobject zurückschreiben
  • [vgl. Folgefrage]Wie kann ich eine Variable an ein

    Moved
    13
    0 Votes
    13 Posts
    680 Views
    mickymM
    @franzda Wie gesagt für eine Tabelle brauchst Du das nicht im script Teil der Template Node bearbeiten, das bring in meinen Augen nichts. Wenn Du unbedingt eine payload in einem script Teil einer Template Node machen willst, musst Du das im Script Teil einen besonderen Bereich definieren: https://flows.nodered.org/flow/2f1aaf0635f9bf23207152682323240a In diesem Thread habe ich das mal verwendet: [image: 1644708135694-0810894f-6215-4f18-8f4a-04933745c0df-image.png] Allerdings verstehe ich es nicht, warum man das für Tabellen braucht. Sprich im Prinzip kannst Du im script Teil der Template Node nur innerhalb der (function(scope) { ... } auf das Nachrichtenobjekt zugreifen.
  • timeout setzen, timeout verlängern..

    3
    0 Votes
    3 Posts
    283 Views
    M
    @paul53 Danke Paul - wie immer... let idTuerklingel = 'zigbee.0.00158d00070b39a2.opened'/*Is open*/; //open = keine Klingel, close = es klingelt let idTabletSeiteOG = 'fully-tablet-control.0.device.samsung_a7_og.device_info.currentPage'; let idTabletSeiteEG = 'fully-tablet-control.0.device.samsung_a7_eg.device_info.currentPage'; let idAnzeigeBild = '0_userdata.0.EG.Anzeige_Klingel_Tablet'/*EG Anzeige Klingel Tablet*/; let timer = null; let anzeigezeit=30 // 30 Sekunden setState(idAnzeigeBild, false); on(idTuerklingel, function(dp) { if (!dp.state.val) { console.log("Klingel"); setState(idAnzeigeBild, true, true); clearTimeout(timer); timer = setTimeout(function() { setState(idAnzeigeBild, false, true); }, 1000 * anzeigezeit); } });
  • Alexa Multi- Raumreinugung für Roborock/Xioami

    4
    0 Votes
    4 Posts
    474 Views
    D
    @meistertr es führen ja bekanntlich viele Wege nach Rom.. Bei uns fährtver halt immer per timer in wz und Küche und bad flur und Schlafzimmer sporadisch, aber das klappt dann mit den einzel ansagen ganz gut, aber das ist ja das schöne an iobroker, nen kleines script und das leben ist wieder leichter 😀
  • "Virtuelle Wechselschaltung" mit Tuya-schalter und Shelly 1?

    10
    0 Votes
    10 Posts
    2k Views
    chucky666C
    @jan1 danke Jan für deinen Tipp
  • Energieerfassung / Startspannung Wechselrichter

    10
    0 Votes
    10 Posts
    804 Views
    wendy2702W
    @paul53 Sollte… aber ich kenne das Teil nicht und wenn es falsch rum eingebaut wurde zählt er auch vorwärts. Aber egal, wenn das Teil was Zählt ohne das Strom fließt ist es Müll.
  • Bei Start eines Skripts immer Meldung "Skript läuft nicht"

    19
    0 Votes
    19 Posts
    843 Views
    S
    @homoran Auf jeden Fall vielen herzlichen Dank für deine Hilfe.
  • CreateStateAsync erzeugt Fehlermeldung

    javascript
    5
    0 Votes
    5 Posts
    383 Views
    PeoplesP
    Issue erstellt: https://github.com/ioBroker/ioBroker.javascript/issues/955
  • Pioneer AVR Skript

    Moved
    45
    0 Votes
    45 Posts
    15k Views
    S
    @beboe @schroeder1 @Tom10web Ich habe mich jetzt auch mal mit dem Thema beschäft. Auch bei mir (VSX-S510) lässt sich die Lautstärke nur ändern, aber nicht auf einen bestimmten Wert setzen. Aber auch die Input-Belegung ist anders, als im auf github zum Adpater verlinkten Dokument. Das Internet-Radio (Anzeige NETWORK) erreicht ich z.B. über 38FN. Aber ich habe hier entdeckt, dass es wohl zahlreiche unterschiedliche Implementierungen der Befehle gibt. Dafür konnte ich auch gut sehen, dass, obwohl im Dispaly des VSX-S510 kaum etwas steht, alle Daten die auf einem Bildschirm angezeigt würden, abrufbar sind bzw. der Receiver diese automatisch sendet (Bitrate, Titel, Sendername, ...) Ich habe hier eine neue Implementierung eines Adapters gefunden, der auch darauf eingeht, dass Geräte offline gehen (weil sie im Standby die Netzwerkverbindung nicht aufrecht erhalten), Timeout-Fehler abfängt und sich automatisch neu verbindet. Außerdem werden die State mit Key/Value-Paaren belegt, so dass man keine kryptischen Werte eintragen muss sondern sprechende Namen (TV, NETWORK, ...) auswählen kann. Ich habe den Adapter mal unter https://github.com/Sneak-L8/ioBroker.pioneer_sc_vsx geforkt und versuche ihn nun zu erweitern. Z.B. Anzeige der Internet-Radiodaten oder Push-Buttons für Volumeup/down.
  • Ereignis steht bevor

    6
    0 Votes
    6 Posts
    196 Views
    G
    @zarello Hallo, habe es jetzt anders gelöst...der "Mülleimeradapter" gibt mir netterweise einen Wert aus wieviele Tage bis zur nächsten Leerung sind...und wenn der 1 ist, dann soll die Lampe angehen...Test laufen, sieht aber ganz gut aus...
  • Schalter soll nach Zeit X selbstständig ausschalten

    6
    0 Votes
    6 Posts
    407 Views
    OmnedonO
    @sebwirtz setStateDelayed(id, value, miliseconds); z.B // Zustand nach 2 Sekunden auf false setzen setStateDelayed('hm-rpc.5.0001D7099517AF.3.STATE', false, 2000);
  • Ereignisse in Kalender schreiben lassen

    3
    0 Votes
    3 Posts
    419 Views
    I
    Hi, https://github.com/WLAN-Kabel/ioBroker.calendar/blob/master/README.md Hat auf seiner TODO liste stehen das man Einträge hinzufügen können soll. Leider wird an dem wohl nicht weiter gearbeitet. Bei mir habe ich das durch ein Javascript gelöst mit dem ich eine ics Datei erstelle und diese dann mittele http request hochlade. Ich wäre aber auch sehr daran interessiert einen Kalender Adapter zu haben mit dem man Lesen und schreiben kann.
  • Error aus Log File per Pushover/Telegram versenden

    monitoring javascript blockly
    5
    0 Votes
    5 Posts
    1k Views
    L
    @cruzix Guten Abend zusammen, Ich lasse mir über das obige Skript die iobroker Fehlermeldungen per Telegramm zuschicken. Leider steht aber manchmal im log das der Text zu lang ist und deswegen nicht gesendet wurde. Dieses Script nutze Ich: let timeout = null; let message = ''; onLog('error', data => { if (data.from && data.from.includes('telegram.')) { return; // prevent loop } message += data.message + '\n'; const telegramMessage = "Error occured:" + "\n" + message clearTimeout(timeout); timeout = setTimeout(() => { sendTo("telegram.0","send", { text: telegramMessage , chatID: 123456789 }); console.log('Following was sent to telegram: ' + message ); message = ''; },10000) }); Ich hab irgendwo was davon gelesen das man die Nachricht aufteilen muss, aber ich weiß ehrlich gesagt nicht wie. Könnte mir jemand helfen . Besten Dank
  • EXEC Ausführung geht nicht

    11
    0 Votes
    11 Posts
    981 Views
    mickymM
    @smartuser_1 So was ähnliches habe ich hier schon mal mit NodeRed implementiert https://forum.iobroker.net/topic/49120/datenpunkt-in-log-oder-csv-file-schreiben?_=1644350499053 aber gibt sicher auch Leute, die Dir das mit Blockly implementieren können.
  • [Gelöst] Wasseralarm per Sprachausgabe

    13
    2
    0 Votes
    13 Posts
    1k Views
    E
    @stephan1966 sagte in [Gelöst] Wasseralarm per Sprachausgabe: @haselchen Funktioniert, Danke :+1: [image: 1644319027006-1.jpg] ich würde die Lautstärke nach der Ansage reduzieren. Könnte vllt bei der nächsten Aktion der Alexa zu laut sein
  • Wie verwende ich Objekte von "LinkedDevices" in Skripten?

    5
    0 Votes
    5 Posts
    402 Views
    C
    @homoran Ein Beispiel dafür, wie ich dies in einem Skript verwenden möchte. [image: 1644332163352-b08b6e2b-4a48-4719-b102-3b63f93887f0-image.png] Aber es wird rot hervorgehoben. Wie macht man es richtig? Skript mit Variablen aller verlinkten Objekte erzeugen
  • [Gelöst] Linux Control Adapter Eigener Befehl Probleme

    7
    2
    0 Votes
    7 Posts
    187 Views
    liv-in-skyL
    @sunny9999 ah - jetzt hab ich kapiert - dann paßt es ja
  • Alle States einer bestimmter Funktion lesen / schreiben.

    10
    0 Votes
    10 Posts
    208 Views
    Ben1983B
    @paul53 ja stimmt. Ich dachte mir gerade, man weist eine Funktion zu und benötigt keine ids mehr. Wäre ein neuer Ansatz für mich. Und vor allem sehr Wartungsarbeiten bei Austausch. Ok man muss die Funktion zuweisen, aber sonst muss man die id zuweisen. Frage ist nur, ob man das bei Adaptern einfach machen kann.
  • Tado wieder in den automatik modus / Zeitplan modus schalten

    5
    0 Votes
    5 Posts
    1k Views
    T
    @bluelinux said in Tado wieder in den automatik modus / Zeitplan modus schalten: Hallo... wollte mich mal hier einklinken.... Kann man denn den Zustand in irgend einem Datenpunkt auslesen welcher Modus Aktiv ist? Also ob Zeitplan oder Manuell? Ich hatte die selbe Frage und hab mir das kurz mal erarbeitet auf meinem ioBroker: Soweit ich das verstehe, kann die automatische Zeitsteuerung nur durch das Setzen der Datenpunkte unter: tado.{instance}.{bridge}.Rooms.{roomId}.overlay.termination überschrieben werden. Darüber lässt sich auch feststellen, ob der Zeitplan gerade aktiv. Regelt man die Temperatur in der Tado App wird der Zeitplan immer nur temporär überschrieben (Standard 1 Stunde) Der Datenpunkt: type Wird hierfür auf "TIMER" gesetzt. Im Datenpunkt: durationInSeconds steht in diesem Fall die Dauer in Sekunden (Standard 3600 für eine Stunde) Über den Datenpunkt: typeSkillBasedApp Kannst du selbst einen Status schreiben. Folgende Werte sind möglich: "MANUAL" -> Arbeitet ohne Timer "NEXT_TIME_BLOCK" -> Aktiviert den Automatikmodus beim Wechsel in den nächsten definierten Zeitblock "TIMER" -> Aktiviert den Automatikmodus wenn die Zeit unter remainingTimeInSeconds auf 0 steht. Das aktive Setzen eines Timers solltest Du aber über den Datenpunkt "durationInSeconds" erledigen. Dann erledigt die Tado Cloud den Rest. Um jetzt noch Deine Frage zu beantworten: Steht der Wert unter Type auf "(null)" ist der Automatikmodus aktiv. Steht etwas anderes da (siehe mögliche Werte fürs Setzen) ist er es nicht. Ich hoffe ich konnte helfen.
  • ESP8266 MQTT connection closed: timeout

    6
    0 Votes
    6 Posts
    244 Views
    Q
    @peter-koch sagte in ESP8266 MQTT connection closed: timeout: Ich bekomme das Sketch aber nicht abgeändert. was genau bedeutet das? ist die datei schreibgeschützt? kommt ein fehler beim kompilieren?
  • gelöst MQTT: Tesla SOC auslesen und openWB in einem topic

    24
    0 Votes
    24 Posts
    2k Views
    L
    @lumajo Kurzes Update, aus irgendeinem Grund hat der Tesla Adapter ein neues Fahrzeug angelegt. Das versteh ich nicht aber jetzt geht es wieder... Da die App auch aktualisiert wurde, ua ist eine Ladehistorie dazu gekommen könnte es vielleicht damit zu tun haben. Ich beobachte das mal....aber jetzt geht es erstmal wieder.

600

Online

32.7k

Users

82.4k

Topics

1.3m

Posts