Skip to content

Skripten / Logik

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

16.5k Themen 213.3k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    A
    @azzkikrboy Hattest du zum Monatswechsel eine Störung? Die Daten werden in der Nacht am 01. des jeweiligen Monats gelöscht, wenn das Skript läuft und nicht gerade gestoppt wurde.
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Themen
    79k Beiträge
    I
    @peterfido Danke! Das wäre eine weitere Alternative, wenn ich mit dem TadoAdapter am Ende scheitere. Dann würde ich den Weg gehen wollen, das ganze via Matter zu lösen. Hab oben ja schonmal kurz erwähnt, dass ich schon einen Sonoff MG25 Thread Dongle hier liegen habe. Den habe ich allerdings noch nicht geflasht und im PI eingerichtet. Wenn es nur der Batteriestatus ist der fehlt, damit könnte ich leben. Den könnte ich mir ja dann immernoch aus dem TadoAdapter nehmen, wenn ich das möchte
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Themen
    13k Beiträge
    S
    welche Palette hast du installiert, damit du den "AND" Baustein hast?
  • Scripten -> Waschmaschine - Steckdose ausschalten

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    rantanplanR
    Leistungssensor in Watt.
  • [gelöst] TV + Receiver + NUC (Libreelec) an / aus

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    M
    Habe es nun wie folgt gelöst: on({ id: "javascript.0.scriptEnabled.TV.ein_aus", change: 'any' }, function(obj) { var current_state = getState("javascript.0.scriptEnabled.TV.ein_aus").val; // "An"-Status für Alexa generieren if (current_state === true) { // Yamaha-Receiver über Szene 1 einschalten (startet gleichzeitig den TV via HDMI-CEC) setState('yamaha.0.scene', 1); // Starte den NUC mit WOL-Befehl mit 5 Sekunden Versatz setTimeout(function() { exec('sudo etherwake -i eth0 MACADRESSE'); }, 7000); // Schalte am Receiver auf Profil "KODI" mit 30 Sekunden Versatz setTimeout(function() { setState('yamaha.0.inputEnum', "KODI"); }, 30000); log("Geräte sind gestartet mit Status, " + current_state, "info"); } else { //Kodi in den Sleep Modus versetzen setState('kodi.0.system.Suspend', true); //Yamaha-Receiver ausschalten setState('yamaha.0.power', false); // TV prüfen ob an/aus setState('samsung.0.Power.checkOn', true); //TV ausschalten setState('samsung.0.Power.off', true); log("Geräte sind heruntergefahren mit Status, " + current_state, "info"); } }); Fehler war, dass ich gar keinen Datenpunkt generieren musste, sondern den des Scriptes selbst der auf "true" und "false" bei an / aus wechselt. VG
  • Wasserzähler Projekt, Script funktioniert nicht

    Verschoben
    7
    2
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    Lenny.CBL
    @hg6806: Muss ich über den Poti noch was einstellen? ` Kann ich leider nicht sagen, kann mir aber vorstellen, dass man an solchen Modulen noch die Empfindlichkeitverstellen kann. @hg6806: Delay kann ich nur auf Min. 1 Sek. stellen. Bei 0 springt er auf 60 Sek. ` 0 wird nicht gehen. Der Counter zählt die Impulse und gibt diese dann nach Ablauf des eingestellten Delay zurücksetzt, setzt "Count" auf 0 und von vorn beginnt. Bei meinem Gaszähler habe ich 60sec. Das reicht mir.
  • Weather.json mit Blokly auslesen

    Verschoben
    1
    2
    0 Stimmen
    1 Beiträge
    443 Aufrufe
    Niemand hat geantwortet
  • Datenpunkte - nur bestimmten Wert zulassen

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    619 Aufrufe
    R
    Du wirst wohl zwei Widgets brauchen, z.B. html-State, beide genau übereinander. Da kannst du dann einen Wert vorgeben, der in die Objekte geschrieben wird. Über die Sichtbarkeit kann du dann das eine oder eben das andere Sichtbar haben. Oder nur bei einem mit der Sichtbarkeit arbeiten und dieses per z-Index über das andere legen. Enrico
  • Harmony Neustart Skript

    Verschoben
    15
    0 Stimmen
    15 Beiträge
    2k Aufrufe
    M
    Die Zeile var obj = getObject("system.adapter.harmony.0"); kann / muss ich dann komplett raus löschen? Gruß Markus Gesendet von meinem HUAWEI NXT-L29 mit Tapatalk
  • [gelöst] Script in vis starten oder stopen. Zusätzlich per Radar und Anwesendheitserkennung

    Verschoben
    35
    0 Stimmen
    35 Beiträge
    4k Aufrufe
    R
    @rantanplan: Gut aufgepasst RappiRN :!: :!: ` Kennst du die Geschichte vom blinden Huhn?? :lol: :lol: Enrico
  • [Gelöst] mehrere Javaskript Instanzen/ Blockly Objekte relativ zur Instanz

    Verschoben
    12
    1
    0 Stimmen
    12 Beiträge
    2k Aufrufe
    A
    Von den JS Skripten hier hab ich mir ja die Idee abgeschaut ;-)
  • Absolute Basics für Blockly und/oder node-red

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    6k Aufrufe
    HomoranH
    Enn da noch alte links von iobroker net sind muss nach iobroker.net/docu/ eingefügt werden Oder unter iobroker.net/docu/ einfach die suche bemühen. Die ist gar nicht so schlecht. Gruß Rainer
  • Deaktivierte Scripte werden trotzdem ausgeführt

    Verschoben
    12
    0 Stimmen
    12 Beiträge
    1k Aufrufe
    F
    Hallo zusammen, ein kleines Update. Nachdem ich unter Javascript.0 auch das Script noch einmal deaktiviert hatte, wurde es weiterhin ausgeführt. Ich hatte dann eine neue Java-Instanz angelegt und dann alle meine vorhandenen Scripte dieser Instanz zugeordnet und nun funktioniert es. Das deaktivierte Script wird nicht mehr ausgeführt. Irgendetwas muss sich in der Javascript.0 verhakt haben.
  • Nach Stromausfall automatisch einschalten?

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    3k Aufrufe
    BuZZyB
    @buscet: […]In iobroker Node-Red erkenne ich dann den GPIO Pin und fahre den Raspberry 'geordnet :!: ' runter. (mit exec: sudo poweroff) […] Grüße Buscet ` Hallo Buscet, darf ich fragen wie du den Raspberry dann wieder startest? Man muss ja die Stromzufuhr unterbrechen und wieder herstellen um den Raspi zu starten - oder nicht? Gruß
  • Sql query Rückgabewert verwenden

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    5k Aufrufe
    D
    Hi ich verzweifel. Finde keine Lösung Alle Themen die ich gefunden habe helfen nicht das Thema umzusetzen. EDIT: Habe nun eine Lösung gefunden http://forum.iobroker.net/viewtopic.php … 20#p109828 Gruß Jürgen
  • [auf Umweg gelöst] Fritzbox-LEDs via Telnet steuern

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    533 Aufrufe
    F
    Problem gelöst, wenn vielleicht auch mit Umweg Expect-Pakete lokal nachinstalliert ("apt-get install expect") Für jede der 4 Stati jeweils ein Script geschrieben. Script des Beispiels "Zuhause" (Abgelegt als "/home/pi/Documents/PresetZuhause"): ! ```` spawn telnet 192.168.100.3 set timeout 10 expect "Fritz!Box web password:" send "<pass>\r" expect "# " send "echo 13,4 >/var/led\r" expect "# " send "echo 14,1 >/var/led\r" expect "# " send "echo 4,1 >/var/led\r" expect "# " send "echo 7,1 >/var/led\r" expect "# " send "exit\r"</pass> - Den Aufruf des Scripts dann in Blockly-Script als "Aktionen"-"exec" (Kommando="expect -f /home/pi/Documents/PresetZuhause") Komplettes "Blockly"-Script: >! ```` on({id: "javascript.0.Homewizard.Preset.PresetHome"/*PresetHome*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("javascript.0.Homewizard.Preset.PresetHome").val == 0) { exec('expect -f /home/pi/Documents/PresetZuhause'); } else if (getState("javascript.0.Homewizard.Preset.PresetHome").val == 1) { exec('expect -f /home/pi/Documents/PresetAbwesend'); } else if (getState("javascript.0.Homewizard.Preset.PresetHome").val == 2) { exec('expect -f /home/pi/Documents/PresetSchlafen'); } else if (getState("javascript.0.Homewizard.Preset.PresetHome").val == 3) { exec('expect -f /home/pi/Documents/PresetUrlaub'); } else { setState("sayit.0.tts.text", "de-DE_CLOUD_Male;" + 'Fehlerhafter Preset Status'); console.error("sayIt[de-DE_CLOUD_Male]: " + 'Fehlerhafter Preset Status'); } }); Es scheint so zu tun wie es soll. Weitere Tests werden es zeigen. Vielleicht hat jemand noch eine bessere Lösung… (Als direktes Javascript/o.ähnl.) Gruß Florian
  • In Node Red Informationen aus einen Script empfangen und auswerten

    Verschoben
    14
    0 Stimmen
    14 Beiträge
    5k Aufrufe
    N
    Hallo Habe es mal mit var get = require('simple-get'); get('http://192.168.2.87:1880/test?temperature=22', function (err, res) { if (err) throw err; console.log(res.statusCode); // 200 res.pipe(process.stdout); // `res` is a stream }); versucht. Geht viel schneller. Start braucht auch ca 2sek., danach ist das Script sofort durchgelaufen und Node Red reagiert auch sofort danach. var request = require('request'); braucht wohl so lange. Das ganze läuft auf einem RPi Zero W. Gruß NetFritz
  • [gelöst] Werte ändern am Objekte z.B. obj.common.summe

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    728 Aufrufe
    T
    Hallo Dutchman, vielen Dank für deinen Hinweis. Die Funktion var obj = getObject ('adapter.N.objectName'); obj.native.settings = 1; hat bei mir nie funktioniert. Nur mit dem zusätzlichen Befehl setObject('adapter.N.objectName', obj, function (err) { if (err) log('Cannot write object: ' + err); }); wird der Wert geschrieben. Ich dachte immer, das dies nicht erforderlich ist, da ich keine Fehlerabfrage benötige. Gruß Thomas
  • Blocky, Timeout

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    972 Aufrufe
    rantanplanR
    @ludino: Wobei es ja eigentlich ganz einfach ist. ahh! ` Ist es eigentlich auch ;) Die Bausteine werden von oben nach unten abgearbeitet. Einfach mal das Blockly, sich selbst, von oben nach unten vorlesen. Und bedenken das das Script genau das macht was da steht. Grüße
  • Asynchron bzw mir fehlt der Lösungsansatz

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    591 Aufrufe
    BlackmikeB
    thnx, wieder einiges gelernt…
  • [Frage] SQL-Abfrage und Zugriff auf einen Wert des results

    Verschoben
    13
    0 Stimmen
    13 Beiträge
    1k Aufrufe
    apollon77A
    JSON ist eine Textform der Datenstruktur, das heisst nacj JSON.stringify is es einfach ein Text-String. Da kannst Du auf nichts mehr zugreifen :-)
  • [Frage]Aufzählungen/Gewerke STATES nicht CHANNELS abfragen

    Verschoben
    3
    2
    0 Stimmen
    3 Beiträge
    873 Aufrufe
    andreaskosA
    > Frage: Wie muss ich den Selektor abändern, damit die States durchgezählt werden? Das würde mich auch interessieren! Wenn nämlich die Datem aus einer CCU übernommen werden, dann werden in den Gewerken (also den enum.functions) die Einträge als "channels" und nicht als "states" eingetragen. Manuell habe ich dazu aber noch keine Möglichkeit gefunden. Weiß hier jemand Abhilfe?
  • Sonoff skript als Taster "gelöst"

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    N
    Geil! Dankeschön!!! Ich hab das ganze Wochenende probiert.

390

Online

32.6k

Benutzer

82.2k

Themen

1.3m

Beiträge