Skip to content

Skripten / Logik

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

16.4k Themen 211.8k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 48k
    2k Themen
    48k Beiträge
    RaspiUserR
    @peterfido sagte in Abruf PSA Corsa Daten: vergleich doch mal die Javascripte miteinander ... da ich Null-Ahnung von der Materie habe müßte ich jeden einzelnen Befehl / dessen Funktion nachschlagen, das kann nur schief gehen. Ich hatte / habe die Hoffnung, dass ein Script-Spezialisten das ursprüngliche Script reparieren kann ... oder ich nutze deinen oder meinen Vorschlag ...
  • Hilfe für Skripterstellung mit Blockly

    6k 78k
    6k Themen
    78k Beiträge
    I
    Hallo Paul, beide Deiner Vorschläge funktionieren! Und auch Deine Beobachtung, dass, wenn man den Punkt vor UNREACH weglässt, auch STICKY_UNREACH mitgeliefert wird, stimmt. Ich könnte schwören, dass ich an dem Ausdruck seit Monaten nichts verändert habe. Vielen Dank!
  • Hilfe für Skripterstellung mit Node-RED

    952 13k
    952 Themen
    13k Beiträge
    HomoranH
    @fiddle sagte in [Gelöst]: Adapter per {Node Red | JS} (de)aktivieren: Ok, nicht als "Wert" schreiben, sondern als "Befehl". Dann scheint ihn das zu beeindrucken. du zeigst ja nichts, aber es geht mit true/false [image: 1763416200051-screenshot_20251117-224854_firefox.jpg] gesteuert über eigenen DP vom typ Bool
  • Noch eine SetIntervall anfängerfrage

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    387 Aufrufe
    BuZZyB
    Man spricht bei function(){….} von einer "anonymen Funktion". http://lucybain.com/blog/2014/js-anonym ... functions/ ;) Gruß
  • Mit javascript Länge eines mp3 auslesen?

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    506 Aufrufe
    BuZZyB
    Moin, Im Javascript Adapter das Zusatzmodul "mp3-duration" eintragen.. Beispiel für Anwendung steht hier: https://www.npmjs.com/package/mp3-duration Gruß
  • [Frage] enum.functions Zeitstempel Abfrage möglich?

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    383 Aufrufe
    BuZZyB
    Moin, nicht direkt.. Aber so wird es gehen: function ausloeser(gruppe) { var zeit = null; var sensor = null; $('channel(functions=' + gruppe + ')[state.id=*.STATE]').each(function(id) { if (getState(id).lc > zeit) { sensor = getObject(id).common.name; zeit = getState(id).lc; } }); if (zeit !== null) { return sensor.substr(0, sensor.indexOf(':')); } else { return 'Es wurde kein Zeitstempel in der Gruppe ' + gruppe + ' gefunden.'; } } Wenn du diese Funktion in dein Telegram Script einfügst, kannst du mit```` ausloeser('Fensterkontakte') Hier ein ganzes Script welches dir den letzten Auslöser aus der enum.functions 'Fensterkontakte' beim starten von dem Script schickt. function ausloeser(gruppe) { var zeit = null; var sensor = null; $('channel(functions=' + gruppe + ')[state.id=*.STATE]').each(function(id) { if (getState(id).lc > zeit) { sensor = getObject(id).common.name; zeit = getState(id).lc; } }); if (zeit !== null) { return sensor.substr(0, sensor.indexOf(':')); } else { return 'Es wurde kein Zeitstempel in der Gruppe ' + gruppe + ' gefunden.'; } } sendTo('telegram', 'Der Sensor ' + ausloeser('Fensterkontakte') + ' hat als letzter ausgelöst.'); Gruß
  • [gelöst] $-Selector liefert keine Werte

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    2k Aufrufe
    T
    Heureka!!!! Habe es rausgefunden. Es lag wirklich an der Gross-/Kleinschreibung. Bei mir ist der Name des Enums in Camel-Case geschrieben. Ich Nase habe bei den Test aber dummerweise nur vorne das geändert und nicht im ganzen Namen. Und in meinen Tests habe ich dann wohl immer irgendwelche Kombinationen getestet die irgendeinen Haken drin hatten. Vielen Dank für eure schnelle Hilfe
  • PC herunterfahren wird via iobroker nicht ausgeführt, über die shell aber ja

    Verschoben
    5
    1
    0 Stimmen
    5 Beiträge
    994 Aufrufe
    I
    Leider geht es damit auch nicht. Weder mit dem vorangestellten Pfad noch mit zusätzlichem sudo oder auch nur mit sudo und net ohne Pfad. Egal welche Variante ich wähle, es passiert nichts. Das exec selbst funktioniert aber. Ich habe mal probehalber 'free -m' eingetragen, da bekomme ich eine Antwort im Callback. Gibt es irgendeine Möglichkeit, eine Ausgabe von dem Befehl zu erzwingen? Ich wäre ja schon froh über eine Fehlermeldung, aber ich bekomme keinerlei Rückmeldung von dem Befehl. Weder positiv noch negativ. exec('/usr/bin/net rpc shutdown -s -f -I IP –U xxx%yyy',function(error, data) { if (error) { log(error,"error"); } else { log(data); } }); Was mir noch eingefallen ist: Kann es sein, dass ich für den Aufruf über iobroker noch irgendwas benötige? Ich habe bisher nur das samba-common-bin mit allen Abhängigkeiten installiert.
  • Frage nach Skripten für DashButton

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    356 Aufrufe
    Niemand hat geantwortet
  • Ergebnis von Level keine Ganzzahl

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    555 Aufrufe
    M
    Meine Lösung ist jetzt hier. http://www.forum.iobroker.org/forum/vie … eb48f4566a Allerdings gibt es noch ein kleines Begrenzungsproblem.
  • Licht Timer nur zu bestimmten Uhrzeiten

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    A
    So zum Beispiel…. Du musst noch in dem Trigger bei "default" und bei steuere "Object ID" deinen Treppenhaus Aktor eintragen. [image: 1586_2018-01-08_06_43_12-iobroker.admin.jpg] ! ```` <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="pd#X~DUqP5=FD5q7=mho" x="-587" y="288"><mutation items="1"></mutation> <field name="CONDITION">true</field> <value name="OID0"><shadow type="field_oid" id="Q*0:O*N9DTgc5edAg`Z:"><field name="oid">default</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="}p_?eWzl4i-Av8aa=Rsy"><value name="IF0"><block type="time_compare_ex" id="-sNo?ZWU3,LuYof}]Hb,"><mutation end_time="true" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">not between</field> <value name="START_TIME"><shadow type="text" id="V2f|.I]-GRH2q#N/Sjpf"><field name="TEXT">6:30</field></shadow></value> <value name="END_TIME"><shadow type="text" id="k!?0J;]`^JI/zt!TQ*4R"><field name="TEXT">21:00</field></shadow></value></block></value> <statement name="DO0"><block type="control" id="p1*hK@,d|cBia^f;%dw2"><mutation delay_input="true"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"><block type="logic_boolean" id="@m:S=8azC0rI{5JtT4:3"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement></block></xml>
  • Nach Update Scripte gelöscht??!!

    Verschoben
    4
    3
    0 Stimmen
    4 Beiträge
    461 Aufrufe
    L
    Hallo Bluefox, da ich nicht viel Scripte hatte habe ich diese nochmal neu geschrieben und anschließend IOBroker neu gestartet. Und plötzlich hatte ich das Problem das bei mir die Objekte nicht mehr sichtbar waren. Zum Glück bin ich dann nach gefühlt 20h :D auf diesen Thread gestoßen: http://forum.iobroker.net/viewtopic.php?f=22&t=9869 Inzwischen läuft jetzt gerade wieder alles wie es soll, allerdings kann ich die "variable1" nicht löschen. Hast du eine Idee woran das liegt? Und in dem Thread hat noch jemand geschrieben dass er die "objects.json.bak" gelöscht hat, soll ich das auch noch machen?! Vielen Dank! 4707_script.png
  • 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
    978 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
    440 Aufrufe
    Niemand hat geantwortet
  • Datenpunkte - nur bestimmten Wert zulassen

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    586 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
    1k 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ß

903

Online

32.4k

Benutzer

81.5k

Themen

1.3m

Beiträge