Skip to content

Skripten / Logik

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

16.6k Topics 214.1k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    crunchipC
    @rallef siehe https://forum.iobroker.net/post/1330170
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Topics
    80k Posts
    Berges01B
    @MCU Prima das funktioniert super. Damit ist mir erst mal geholfen. Den "Rest" versuche ich mir noch zusammen zu bauen. DANKESCHÖN !
  • Hilfe für Skripterstellung mit Node-RED

    954 13k
    954 Topics
    13k Posts
    F
    Hallo ich habe ein Problem mit Nodered und Alexa Echo. Ich habe in Nodered die Wemo Emulation installiert und eine Wemo Steckdose emuliert um an einer Zigbeesteckdosenleiste einen Platz der Leiste zu schalten. "node-red-contrib-wemo-emulator" Das klappt auch wunderbar leider nicht länger als ein zwei Tage. Wenn ich dann den Echo der mit der emulierten Steckdose verbunden ist neu starte geht es wieder. Leider ist das sehr nervig. Hat schon mal jemand gehabt? Durch die Forumssuche habe ich leider nicht gefunden. Gruss Achim
  • MiRobot Berechnung Behälterinhalt und autom. Reset bei Leerung

    Moved
    9
    0 Votes
    9 Posts
    1k Views
    MatzebhvM
    Ich hatte mir auch Gedanken gemacht und fand die Idee mit dem Behälterfüllstand jetzt nicht so zufriedenstellend. Wenn nicht gerade Beachparty war muss der Sauger hier wegen der Katzenhaare alle 3 Tage geleert werden. Daher einfach per Zeitplan jeden 3. gefahrenen Tag den Sauger einfach neben dem Mülleimer in der Küche parken lassen. Dann hat man kurze Wege, muss den Sauger nicht unter dem Schrank hervorprokeln und vergisst das leeren ebenfalls nicht. Zurück auf die Station dann per Taste oder Alexa. Matze
  • [gelöst] Daten der S.USV auslesen - Fehler im Skript

    javascript
    5
    0 Votes
    5 Posts
    644 Views
    inlineI
    Hallo, ich bin der Author des Originalbeitrags [https://www.forum.iobroker.net/topic/15963/skript-zum-auslesen-der-s-usv] und würde gerne den Fehler dort beheben. Leider bekommem auch ich eine Meldung "Es scheint als hättest du die Verbindung zu ioBroker Community verloren, bitte warte während wir versuchen sie wieder aufzubauen." wenn ich auf den Beitrag gehen. Kann mir hier jemand helfen? Danke Ralf
  • Wert über MQTT publishen mit js

    javascript
    3
    0 Votes
    3 Posts
    460 Views
    H
    Hallo Tobias, danke Dir für den Hinweise, hat aber leider nicht funktioniert. Ich habe das mal so probiert, der MQTT-fx sieht aber keine Meldung. Da ich den mqtt-client nutze habe ich mqtt.0 auch mal mit mqtt-client.0 ersetzt, aber auch hier keine Fahlermeldung im Log und auch keine Meldung zum Broker. Wenn ich in eine Variable schreibe, das mit dem mqtt-Client verbunden ist geht es (meistens) allerdings, ist das etwas kontraproduktiv, da ich viele Topics dynamisch generiere und ich da nicht jedes Objekt anlegen will.
  • Kleine Alarmanlage - mit Blockly?

    Moved
    75
    2
    0 Votes
    75 Posts
    17k Views
    J
    @Mpex Hi Dennis! Ich habe genau das gleiche Problem, Die Alarmanlage heult auf, obwohl ich sie am Tablet unscharf gestellt habe! Wie hast Du das hinbekommen? Liebe Grüße Jürgen
  • Fehlermeldung JS

    javascript blockly
    4
    0 Votes
    4 Posts
    349 Views
    paul53P
    @tobi83 sagte: War ein fertiges Script... Welches ?
  • Objekt Temperatur Tag 0.5 Grad Schritte

    javascript
    11
    0 Votes
    11 Posts
    996 Views
    M
    @paul53 sagte in Objekt Temperatur Tag 0.5 Grad Schritte: @MGK sagte: Ich habe Beispiel schon nachgebaut, Hast Du nicht: runde ist falsch angeordnet und es ist keine Addition von 2, sondern eine Division durch 2 ! Spoiler <xml xmlns="http://www.w3.org/1999/xhtml"> <block type="comment" id="L1z^UnvAh]FbqfSR!3~[" x="-337" y="137"> <field name="COMMENT">virtueller Sollwert</field> <next> <block type="on_ext" id="xQT$V4H4dI{h+ZJfmDM_"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="@NFstpOxq2;/S)P-}iie"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="Kb@=QRA_.n0?}?P:KUd9"> <value name="IF0"> <block type="logic_compare" id="9nw2K$SM5dh$jre6CC.Y"> <field name="OP">NEQ</field> <value name="A"> <block type="on_source" id="$mqIr3,[g~Pa@uHSdU8$"> <field name="ATTR">state.from</field> </block> </value> <value name="B"> <block type="text" id=";^9{.F]UA-b|3vQe2D6o"> <field name="TEXT">system.adapter.javascript.0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="5@TV7wIY0VQD-OARFny="> <field name="COMMENT">Sollwert</field> <next> <block type="control" id="|u:4(-:G0TIn0f[8-i``"> <mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="s$imRFT`{Lo0$ts)Js5F"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="?nFz7C{w2Nf4dMWv(MUe"> <field name="NUM">1</field> </shadow> <block type="math_round" id="c.;M}PyDw-(0iMuwiNVN"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id="6C-L$7TvZP,IE5N1V/@a"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="LVjJ1?z+DoSg7%-RKnw2"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="OKG:aqr.c!/hv2b.e6G_"> <field name="NUM">1</field> </shadow> <block type="on_source" id="_~A,.)H;(`c7k+pk=wMf"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="]n34Ox7,aE#c,zZ}qgyA"> <field name="NUM">2</field> </shadow> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="hI{U1MRmhYu,G`*DR9}!"> <field name="NUM">2</field> </shadow> </value> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </xml> Stimmt, da hatte sich ein Fehler eingeschlichen. Danke für den Tipp.
  • createState Format

    javascript
    11
    0 Votes
    11 Posts
    2k Views
    paul53P
    @michihorn sagte: createState(idAStunde, { read: true, write: true, desc: "Zeiteingabe Ausschalten Stunden ein,", type: "number", min: '0', max: '24', def: 22 }); min und max dürfen kein Strings sein (type: "number").
  • Woher globale Einheiten (°C / F), (mm / inch)?

    javascript
    6
    0 Votes
    6 Posts
    597 Views
    L
    das funktioniert prima in scripten - in einem eigenen Adapter rennt der auf Fehler, bzw. liefert nichts. Es scheint auch noch andere "Nicklichkeiten" beim übertragen von Code in einen Adapter zu geben: z.B. hatte ich mit: subscribe({id: "fhem.0.AU_GA_TF_Garage.humidity", change:'any'}, ZimmermanTrackHumidity); nen subscribe auf nen Luftfeuchte-Sensor gesetzt und der Callback hat dann mit: ... function ZimmermanTrackHumidity(obj) { var ts = new Date(obj.newState.ts); var currenthour = ts.getHours(); var newstate = parseFloat(obj.newState.val); ... wie erwartet die Werte geliefert. wenn ich nun im Adapter: this.subscribeForeignStates("fhem.0.AU_GA_TF_Garage.humidity", this.trackHumidity); mache und der Callback so aussieht: trackHumidity(obj) { var ts = new Date(obj.newState.ts); var currenthour = ts.getHours(); var newstate = parseFloat(obj.newState.val); dann bekomme ich: Caught by controller[0]: TypeError: Cannot read property 'newState' of null
  • LaMetric: Clock Icon via Curl wechseln

    communication blockly
    1
    0 Votes
    1 Posts
    299 Views
    No one has replied
  • How to: PS4 einschalten/steuern mit Harmony Aktivität oder HomeKit

    Moved
    12
    0 Votes
    12 Posts
    4k Views
    K
    @noaboa Ich habe es für mich nun lösen können.. nach etlichen Rollbacks und diversen Versuchen. Also ich hatte verschiedene Herangehensweisen versucht, die alle zu Fehlern führten. Wenn ich in meinem LXC Container in der Konsole npm install ps4-waker -g ausgeführt habe, konnte ich anschließend auch über die Konsole mit dem Befehl ps4-waker die Bindung einleiten. Aber es klappte nicht im IoBroker, weder via Javascript noch per Konsole. Auch der Versuch das Modul über den Javascript Adapter unter Instanzen zu laden funktionierte nicht. Nun läuft es jedoch, ich habe folgendes gemacht, zuerst den IoBroker gestoppt, dann im LXC Container in der Konsole folgenden Befehl ausgeführt setcap cap_net_raw,cap_net_admin=eip /usr/bin/node (dieser scheint die Berechtigungsprobleme aufzuheben), anschließend den IoBroker wieder gestartet und dort über den Terminaladapter folgenden Befehl ausgefüht npm install ps4-waker -g diesmal habe ich auch keine Fehlermeldungen wegen Rootrechten erhalten. Anschließend aus dem Terminaladapter ps4-waker ausgeführt und den Bindungsprozess gestartet. Nun lässt sich die Konsole mit ps4-waker aus dem Ruhezustand wecken und mit ps4-waker standby wieder in den Ruhezustand versetzen lassen. Auch die Exec Befehle im Javascript funktionieren nun.
  • Script holt falschen Wert vom Objekt

    javascript
    11
    2
    0 Votes
    11 Posts
    499 Views
    H
    Ich muss diesen Thread noch mal hochziehen. Das Problem ist nicht gelöst. Jetzt möchte ich mal meine Vermutung testen, dass es an der Startreihenfolge der Adapter liegt. Lässt sich die - und möglichst auch ein Delay zwischen den Starts - irgendwo einstellen?
  • Blockly Script für Harmony

    blockly
    18
    2
    0 Votes
    18 Posts
    1k Views
    M
    @Homoran Hallo Homoran, ich habe die Aktionen in den beiden Harmony Hubs beobachtet, dort sieht auf den ersten Blick alles gut aus, hat aber dann gestern Abend doch wieder nicht funktioniert. Dann werde ich die Debug Blöcke doch mal einbauen müssen. Danke!
  • Telegram Adapter Empfang von Daten

    javascript communication
    2
    0 Votes
    2 Posts
    371 Views
    arteckA
    @Stefan-Zabicki nochmal was.. willst du Daten zum iobroker (Bot) oder vom iobroker bekommen ??
  • Tuya-Adapter Datenpunkt per Skript editieren

    javascript
    5
    0 Votes
    5 Posts
    579 Views
    L
    Danke.... Ich müsste ja nicht auf common.min triggern. Wenn ich die Temperatur schalten möchte wird der Wert des DP auf 10 gesetzt. Also könnte ich ja darauf triggern. Müsste nur den Common.min wieder auf 0 setzen können. Dann wäre mein Problem beseitigt. Schon mal Merci... Grüße Leonracer
  • Alexa, Text verarbeiten

    javascript
    3
    0 Votes
    3 Posts
    371 Views
    X
    danke die Funktion kann man ja mal rausziehen und kapseln. aber um das komplett im Blockly machen bräuchte ich einen größeren Flachbildschirm oder bessere Augen um die miniZoomPuzzle zu erkennen. ;)
  • Sammlung an "sinnvollen" Funktionen

    javascript
    1
    0 Votes
    1 Posts
    432 Views
    No one has replied
  • Datenpunkt Comet Dect überschreiben?

    blockly heating
    15
    2
    0 Votes
    15 Posts
    1k Views
    v522533V
    @_tobias_ sagte in Datenpunkt Comet Dect überschreiben?: Wie ist es möglich manuell (am Thermostat auf / zu drehen) die Temperatur zu korrigieren? Also falls jemand im Haus entscheidet, dass heute nicht 22°C ausreichen, sondern 24°C und derjenige nur das Thermostat bedienen möchte und iobroker für ein Hexenwerk hält (ich möchte nicht behaupten, dass meine Frau gemeint sein könnte)... Wenn im Skript mit falls - mache Logik eine feste Zahl als Sollwert vorgegeben ist, wird ein Handeingriff spätestens beim nächsten Synchronisieren wieder rückgängig gemacht.? ich mache das über alexa, oder über ein tablet an der wand. dort wird der neue wert eingegeben und dann passt auch das skript. am thermostat selber wird bei uns garnichtseingestellt.
  • Status RollerShutter2

    javascript
    1
    0 Votes
    1 Posts
    143 Views
    No one has replied
  • Roborock 1x am Tag starten

    Moved
    18
    1
    0 Votes
    18 Posts
    3k Views
    J
    @matschkopf sagte in Roborock 1x am Tag starten: @Jan1 Super, vielen Dank. Ich war mir vorher nicht ganz sicher, aber jetzt mit dem Screenshot sehe ich, dass du tatsächlich die Bedingung Action ="6" abfragst. Habe eben mal eine manuelle Reinigung dgf. und den DP geloggt: [image: 1578055842536-vr200_log.jpg] Bei mir geht er auf "4", wenn die Reinigung beendet ist. Es scheint bei dir ja seit mehr, als einem Jahr zu funktionieren...trotz dessen merkwürdig :nerd_face: Kann sogar sein, dass die 6 bei mir falsch ist, da ich sehr selten manuell starte und das wohl nicht merke. Muss ich mal checken. Irgendwie muss ich ja mal drauf gekommen sein und das ist schon länger her :blush:
  • Alarm verzögert bei verschiedenen Bedingungen

    javascript
    4
    0 Votes
    4 Posts
    406 Views
    T
    @htrecksler Ich hätte jetzt an den "schedule" Befehl gedacht und nicht so. Ich muss ehrlich gestehen, dass mir dieses Javascript nicht sehr zugänglich ist.

654

Online

32.7k

Users

82.6k

Topics

1.3m

Posts