Skip to content

Skripten / Logik

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

16.5k Topics 213.5k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    Pedder007P
    Hi, na' da habe ich mir jetzt einen geleistet .... natürlich ist das ein anderer Dienst!!! Keine Ahnung, aber das kommt davon, wenn man zu viel parallel macht... :-( Sorry für den Unsinn hier, ich gelobe Besserung :-)
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Topics
    79k Posts
    Thomas BraunT
    @David-G. sagte in Mit exec in Dateisystem schreiben: Wie werde ich das aktuelle Los? Wie hast du es denn hingezirkelt?
  • 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
  • Wie Objekt aus Windows heraus schalten?

    Moved
    3
    0 Votes
    3 Posts
    506 Views
    N
    @dYna: wget installieren (https://sourceforge.net/projects/gnuwin … /1.11.4-1/) In der bat Datei dann: @echo off start C:\"Program Files (x86)"\GnuWin32\bin\wget.exe -q -O- http://192.168.xxx.xxx:8082/set/javascript.0.VSX921.Steuerung.921_Power?value=true Es öffnet/schließt sich allerdings ganz kurz ein Dos Fenster. ` Hat wunderbar funktioniert, vielen Dank. Nur aus Interesse, gäb es da eigentlich auch eine einfache javascript oder python Lösung für?
  • Anfänger frage blockly

    Moved
    3
    0 Votes
    3 Posts
    430 Views
    P
    Hallo, ich schalte so die aktuelle Akivität aus: var Aktiv=getState("harmony.0.Wohnzimmer.activities.currentActivity").val; /*activity:currentActivity*/ log('Aktivität:' + Aktiv); if (Aktiv != "PowerOff"){ setState("harmony.0.Wohnzimmer.activities." + Aktiv,0); /*activity:Entertain*/ }
  • Mqtt publish aus Blockly heraus

    Moved
    6
    0 Votes
    6 Posts
    4k Views
    K
    Nein Ihr seit nicht alleine ;-) Ich hatte ein ähnliches Problem. Ich wollte eine Nachricht von Telegram auf einen MQTT-Client weiterleiten. Es funktioniert mit dem Block "schreibe". Wie man mit den Object-IDs umgeht ist wohl soweit klar. 6563_mqtt_write.jpg
  • [GELÖST] Einfaches Skript Trockner

    Moved
    23
    0 Votes
    23 Posts
    5k Views
    G
    Hi, ich glaube es läuft nun. Manuell anzulegende Zustände werden automatisch erzeugt und die Benachrichtigung hat zumindest gestern funktioniert. Werde es weiter beobachten. Aber für alle die es interessiert: ! ```` <xml xmlns="http://www.w3.org/1999/xhtml"><block type="create" id="F,.Vod%f}Cg;|Oo;94-p" x="-387" y="-112"><field name="NAME">javascript.0.Strompreis_BEV</field> <statement name="STATEMENT"><block type="create" id="Ea.~Ic(Gxsfbs-Qh92#Q"><field name="NAME">javascript.0.Trockner_fertig</field> <statement name="STATEMENT"><block type="on_ext" id="|!S]R7E/#@_?QYFja{9-"><mutation items="1"></mutation> <field name="CONDITION">any</field> <value name="OID0"><shadow type="field_oid" id="|7}Z(4Aw)J3~+GxkGmXz"><field name="oid">default</field></shadow> <block type="field_oid" id="aSTL*SXFQ4VX{9)}~weM"><field name="oid">sonoff.0.sonoff_Trockner.ENERGY_Power</field></block></value> <statement name="STATEMENT"><block type="controls_if" id="oySPD#0|W2#W|38omTjm"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_compare" id="`Y#S-zU_+g~,7;RurA,M"><field name="OP">GT</field> <value name="A"><block type="get_value" id="!u87F9e9={O16d0^q@Ce"><field name="ATTR">val</field> <field name="OID">sonoff.0.sonoff_Trockner.ENERGY_Power</field></block></value> <value name="B"><block type="text" id="POqK5+]V9aW@.^u4:0{u"><field name="TEXT">100</field></block></value></block></value> <statement name="DO0"><block type="control" id="]:A|]Se/Erykn]%ooL_a"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Trockner_fertig</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="3w/816f|wlN#7`]jC+T]"><field name="BOOL">FALSE</field></block></value></block></statement> <value name="IF1"><block type="logic_compare" id="wBze(wZ)tu,@pk{nh/!D"><field name="OP">LT</field> <value name="A"><block type="get_value" id="rn/~9BXhlZ`6GLOQ%lPY"><field name="ATTR">val</field> <field name="OID">sonoff.0.sonoff_Trockner.ENERGY_Power</field></block></value> <value name="B"><block type="text" id=";pS%_T#H}gn1u1-sT;A4"><field name="TEXT">2</field></block></value></block></value> <statement name="DO1"><block type="control" id="RGwxU`:;0LXmVUMqYnzQ"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Trockner_fertig</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="@G`^/O_H7lu-hSq7XR;h"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement> <next><block type="on_ext" id="j~P,]MqE6/m#CqI4OC}z"><mutation items="1"></mutation> <field name="CONDITION">ne</field> <value name="OID0"><shadow type="field_oid" id="q3c?,Y@j8#Mx69G7#_aO"><field name="oid">default</field></shadow> <block type="field_oid" id="xId:05{[KI3Va|)pIt^Z"><field name="oid">javascript.0.Trockner_fertig</field></block></value> <statement name="STATEMENT"><block type="controls_if" id="HaH]+m[(G#n|KinBlxPQ"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_compare" id="mzkH?,-peLm](^UVAwLw"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="JmU8`T/*u8fURho[MmQU"><field name="ATTR">val</field> <field name="OID">javascript.0.Trockner_fertig</field></block></value> <value name="B"><block type="logic_boolean" id="_jka=uRyG7LS7_Q*__1U"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO0"><block type="pushover" id="DFuo.arGMtzP:9IjX5?j"><field name="PRIORITY">0</field> <value name="MESSAGE"><shadow type="text" id="CZMifPaOx(95WrhRMhtP"><field name="TEXT">text</field></shadow> <block type="text" id="Dn.?KbP;Khknz]Ur6BtB"><field name="TEXT">Der Trockner wurde eingeschaltet und meldet sich wenn er ausgeräumt werden möchte.</field></block></value> <value name="TITLE"><block type="text" id="*s%D{wA[N^kS7~nVNs-+"><field name="TEXT">Der Trockner wurde eingeschaltet</field></block></value></block></statement> <value name="IF1"><block type="logic_compare" id="ls9KLR)`)iRDzXe4bn:)"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="lCkRu;T@itl}jSua3qs^"><field name="ATTR">val</field> <field name="OID">javascript.0.Trockner_fertig</field></block></value> <value name="B"><block type="logic_boolean" id="KT=xo9.(?iokmzj{MT[F"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO1"><block type="pushover" id="O0qXN.qJqKyU,[/*W!n^"><field name="PRIORITY">0</field> <value name="MESSAGE"><shadow type="text" id="CZMifPaOx(95WrhRMhtP"><field name="TEXT">text</field></shadow> <block type="text_join" id="uf6p=p%N*yG5@{=crOhw"><mutation items="6"></mutation> <value name="ADD0"><block type="text" id=")(]Iu`7kT^Vnxq@Hzv2}"><field name="TEXT">Der Trockner ist fertig.</field></block></value> <value name="ADD1"><block type="text" id="f5MUuB~P6/[V.0O1Ok!{"><field name="TEXT">Es wurden</field></block></value> <value name="ADD2"><block type="get_value" id="J}EQy*8e?:i6f!*9xLQj"><field name="ATTR">val</field> <field name="OID">sonoff.0.sonoff_Trockner.ENERGY_Today</field></block></value> <value name="ADD3"><block type="text" id="%b@I]9[H5fqTEYQKlwmd"><field name="TEXT">Kwh verbraucht, das endspricht</field></block></value> <value name="ADD4"><block type="math_arithmetic" id="8T*YXBu,g~[{yH:c:CP~"><field name="OP">MULTIPLY</field> <value name="A"><shadow type="math_number" id=";B0#rrl+)73i)N=QwR.V"><field name="NUM">1</field></shadow> <block type="get_value" id="()b_GyuWg{.Jeda8ESvS"><field name="ATTR">val</field> <field name="OID">sonoff.0.sonoff_Trockner.ENERGY_Today</field></block></value> <value name="B"><shadow type="math_number" id="(qK48T-k{%alK3dXTK5p"><field name="NUM">1</field></shadow> <block type="get_value" id="T:XXwSUtY6*TI*yvB]]O"><field name="ATTR">val</field> <field name="OID">javascript.0.Strompreis_BEV</field></block></value></block></value> <value name="ADD5"><block type="text" id="-F4#`(@HuzhNr5/M^*m@"><field name="TEXT"> Euro</field></block></value></block></value> <value name="TITLE"><block type="text" id="JWit=}?Pr(gz%RgJZp?B"><field name="TEXT">Der Trockner ist fertig.</field></block></value></block></statement></block></statement></block></next></block></statement></block></statement></block></xml> [3449_blockly_trockner_benachrichtigung.png](/assets/uploads/files/3449_blockly_trockner_benachrichtigung.png)
  • (Gelöst) Blockly Wert addieren

    Moved
    9
    0 Votes
    9 Posts
    3k Views
    M
    Hallo Paul, mein Fehler sorry, :roll: Danke für deine Hilfe, klappt super :D :D Lg Many
  • 0 Votes
    6 Posts
    1k Views
    R
    Bessere Skript als meine von instalator. Objekt für HotKey eingabe. ! ` > createState('GetAdmin.cmd', ''); createState('GetAdmin.HotKey', ''); createState('GetAdmin.Host', '192.168.1.10'); //!!!!!!CHANGE NEED createState('GetAdmin.Port', '8585'); //!!!!!!CHANGE NEED var request = require('request'); on({id: 'javascript.0.GetAdmin.cmd', change: 'any'}, function (obj) { if(obj.state.val !== '' || typeof obj.state.val !== "undefined"){ var host = getState('javascript.0.GetAdmin.Host').val; var port = getState('javascript.0.GetAdmin.Port').val; sendCmdGetAdmin(obj.state.val,host,port); log('Send to GetAdmin - cmd: '+ obj.state.val); }else{log('GetAdmin. Command not specified');} }); on({id: 'javascript.0.GetAdmin.HotKey', change: 'any'}, function (obj) { if(obj.state.val !== '' || typeof obj.state.val !== "undefined"){ var host = getState('javascript.0.GetAdmin.Host').val; var port = getState('javascript.0.GetAdmin.Port').val; sendKeyGetAdmin(obj.state.val,host,port); log('Send to GetAdmin - HotKey: '+ obj.state.val); } else {log('GetAdmin. Command not specified.');} }); /***************************************************************************************/ function sendCmdGetAdmin(value, host, port){ var options = { url: 'http://'+host+':'+port+'/?cmd='+value }; log('Send to GetAdmin - ' + options.url); request(options, function (error, response, body) { log('Response code - '+response.statusCode); if (!error && response.statusCode == 200) { } }); } function sendKeyGetAdmin(value, host, port){ var options = { url: 'http://'+host+':'+port+'/?key='+value }; log('Send to GetAdmin - ' + options.url); request(options, function (error, response, body) { log('Response code - '+response.statusCode); if (!error && response.statusCode == 200) { } }); } `
  • [gelöst] Blockly Problem mit MQTT-Adapter

    Moved
    38
    1
    0 Votes
    38 Posts
    5k Views
    M
    @RappiRN: Ich meine set object muss erlaubt sein. Enrico ` Ich habe nun setObject eingeschalten. Nun kommen auch Daten im MQTT-Logfiele an. Leider habe ich immer noch das Problem, das die Lampe nicht schalten. Mane 4819_kein_licht.jpg
  • [gelöst] ICS Datei von WebSeite lesen

    Moved
    5
    0 Votes
    5 Posts
    392 Views
    S
    Super, das war der entscheidende Hinweis > 'User-Agent': ' Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko', Vielen Dank…
  • Anfänger sucht ein paar Funktionen

    Moved
    7
    0 Votes
    7 Posts
    1k Views
    A
    Hallo Zusammen, scheint wohl etwas aus der Norm zu sein. Mal anders gefragt, Gibt es einen Adapter der per UDP daten sendet? (Ich habe zumindest keinen gefunden der Namentlich darauf schließen läst) Oder geht sowas nur per Skript? Wenn nur per Skript, habt da jemand ein funktionierendes Beispiel? Geht es nur im Skript selbst, dass ich quasi sage wenn der Button true dann führe aus oder kann ich auch im Button im vsi sagen wenn Du true bist starte das skript und lass es einmal laufen? Und könnte ich auch vom Button Parameter mit an das Skript übergeben also quasi ein skript für mehrere Button und die eigentlichen zu sendenden Daten werden vom Button übergeben? Danke Gruß Jens
  • [Gelöst] "Skripte" taucht bei mir nicht auf ?

    Moved
    3
    0 Votes
    3 Posts
    388 Views
    G
    Super, danke !
  • Aktivierung innerhalb 30min prüfen

    Moved
    2
    1
    0 Votes
    2 Posts
    234 Views
    A
    würde einfach eine Variable erstellen und diese bei erster Ausführung auf True und gleichzeitig verzögert wieder aus um 30min. dann eine Abfrage in den oberen block rein, ist Variable 30min(BSP) unwahr dann teil im Block ausführen… da wird sich aber schätzungsweise das Problem ergeben das deine Maschine wahrscheinlich nach 30min nach letzter Nutzung ins Stand By wechselt. Heißt du müsstest auch abfragen wann der Letzte kaffee gemacht wurde einfach wieder über den gleiche weg. Evtl hat auch noch jemand ne einfachere Lösung, funzen müsste es aber so
  • Blockly, SendTo über MQTT

    Moved
    1
    1
    0 Votes
    1 Posts
    842 Views
    No one has replied
  • Blockly Bedingung Gerät xyz befindet sich im wlan

    Moved
    3
    0 Votes
    3 Posts
    394 Views
    S
    Ok danke dann muss ich da noch mal schauen…
  • LED16 Anzeige - Alle überwachten Objekte in 1 Blockly Script??

    Moved
    11
    0 Votes
    11 Posts
    706 Views
    4
    @rantanplan: @4-Real: Ich lasse jetzt mal dahingestellt, ob es wirklich schlimm oder nicht schlimm ist, 16 Trigger in einem Script zu haben. Ich habe mir aber angewöhnt, einfach auch schon aus übersichtlichen Gründen für jeden Trigger ein eigenes Script zu erstellen. So weiß ich schon auf dem ersten Blick welches Script WOFÜR ist ohne erst ein BlocklyScript nach dem passenden Eintrag zu suchen. ` Ob die 16 Trigger in einem Script oder auf 16 Scripte verteilt sind, ist ioBroker egal. 16 Trigger sind 16 Trigger. Aber wegen der Übersichtlichkeit (auch bei der Fehlersuche) muss ich 4-Real vollkommen recht geben. Grüße ` Okay danke für die Aufklärung, ich dachte irgendwie, dass es vielleicht auch mit der "Größe" eines Scriptes zu tun hat / haben kann.
  • [gelöst] Skript im Skript aufrufen - mit Parameter

    Moved
    5
    0 Votes
    5 Posts
    2k Views
    paul53P
    @tööö: Klappt wunderbar! ` Dann markiere bitte das Thema als gelöst oder erledigt (im Betreff des ersten Beitrags ändern).
  • Hallo Zusammen

    Moved
    2
    0 Votes
    2 Posts
    235 Views
    wendy2702W
    Hallo Kannix, Willkommen im Forum. Zu Broadlink gibt es schon einige Beiträge im Forum: search.php?keywords=Broadlink&terms=all … bmit=Suche Denke auch zu Blockly wird sich was finden :D Wenn du dann konkrete Fragen hast solltest du einzelne Post machen zu den einzelnen Sachen mit aussage kräftigem Titel. Gruß und Viel Erfolg
  • [gelöst] Blockly: Temperatur in Variable schreiben

    Moved
    16
    1
    0 Votes
    16 Posts
    9k Views
    rantanplanR
    @Kuddel: Danke, jetzt geht es :-) ` Denke an das [gelöst]. Deinen ersten Beitrag aufrufen, ändern klicken, Betreff ändern.
  • Script nur in gewissen Zeitraum ausführen?

    Moved
    4
    0 Votes
    4 Posts
    828 Views
    paul53P
    @OstfrieseUnterwegs: Geht das so? Ich dachte wegen Tageswechsel… ` Mit reinen Uhrzeit-Strings funktioniert es auch so.
  • KM-Tronic WEB LAN Ethernet IP Eight channels Relay Controller

    Moved
    5
    0 Votes
    5 Posts
    865 Views
    G
    Herzlichen Dank für eure Hilfe, (verschieben, u erste Anregungen) Bin grad im Urlaub und werd mich alsbald melden, um zu sagen wie es ausschaut Eisige Grüße von Texel
  • Szenen in Blockly

    Moved
    10
    0 Votes
    10 Posts
    1k Views
    rantanplanR
    @Gerni: Umlaute entfernen kann es ja auch nicht sein, Küche ist nun mal Küche und nicht Kueche oder Fluege ;-) Und; die Szene "Gartenbeleuchtung" greift ja zB auch nicht. Wie gesagt, füge ich die Geräte einzeln ein geht alles. ` Hallo Auf Umlaute sollte man beim Programmieren möglichst verzichten. JavaScript kennt keine Umlaute. Deshalb siehst Du beim Export diese kryptischen Übersetzungen. Es ist also immer zusätzliche Programmierung notwendig, nur weil jemand unbedingt Küche und nicht Kueche schreiben will. :roll: Ich würde mich nicht darauf verlassen, dass sich, bei irgend einem Update, ein Bug in diese "Übersetzung" schleicht. Hast Du schon mal den Debug-Baustein gesehen? Damit kann man sehr schön den Ablauf eines Programms überprüfen. Grüße

435

Online

32.6k

Users

82.3k

Topics

1.3m

Posts