Skip to content

Skripten / Logik

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

16.5k Topics 213.2k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    GarfonsoG
    So, falls jemand testen mag: https://forum.iobroker.net/topic/83726/test-adapter-google-sharedlocations2 Es ist echt magisch. g Gerne in dem anderen Topic weiter diskutieren, falls es da Bedarf gibt.
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Topics
    79k Posts
    Z
    kann mir keiner helfen mit meinem Blockly?
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Topics
    13k Posts
    S
    welche Palette hast du installiert, damit du den "AND" Baustein hast?
  • Mein erstes Script (Sayit) bräuchte Hilfe :-)

    Moved
    6
    0 Votes
    6 Posts
    963 Views
    M
    nein, wurde nichts geschrieben. der javascript adapter war off :idea: ich bin schon viele schritte weiter. ;) allerdings probiere ich gerade über hm-rpc eine getState abfrage, welche noch noch nicht so funktioniert wie ich will. ich melde mich, wenn ich absolut nicht mehr weiterkomme. logfile ist sehr rot. 8-) lg.
  • Wunderground Wetter Abfrage über script

    Moved
    16
    0 Votes
    16 Posts
    6k Views
    B
    @ykuendig: Hi Bob Da Du auf einen einjährigen Post reagierst, wollte ich es mir nicht nehmen lassen, Dich darüber zu informieren, dass mittlerweile ein Weatherunderground Adapter geführt wird. Denn kann man benutzen, muss man aber nicht ;-) ` Oh man, den Adapter hab ich echt übersehen :roll: Aber danke für den Tip! ` > Das Script ist für javascript.1 eingestellt. Bei dir läuft es unter der Instanz 0. Du musst ganz oben im Script die Instanz anpassen. ` Auch danke dafür. Damit läuft das Skript. Und ich hab wieder was dazugerlernt ;)
  • Wo finde ich Variablen der VIS Oberfläche

    Moved
    9
    0 Votes
    9 Posts
    2k Views
    HomoranH
    Ich taste mich jetzt auch erst über Blockly an javascript ran. In einem ähnlichen Fall habe ich statt des "Schreibe", den "aktualisiere" Block genutzt aktualisiere (Objekt ID) mit (Wert) in deinem Falle also "true" als Wert Gruß Rainer
  • Daten über CAN-Bus senden

    Moved
    5
    1
    0 Votes
    5 Posts
    2k Views
    M
    msg.payload = [0xa1,0xb2]
  • BestPractis für "doppeltes on"?

    Moved
    8
    0 Votes
    8 Posts
    1k Views
    paul53P
    @Fitti: schreibt man val und true jeweils OHNE ' (einfaches Anführungszeichen) , richtig? ` Ja, die Bezeichner (z.B. val) werden ohne Anführungszeichen geschrieben (vielleicht funktioniert es auch mit ' ?). true ist ein boolscher Wert, kein String. change: 'lt' 'lt' ist ein String; es kann keine boolscher Wert (boolean) und keine Zahl (number) sein.
  • Anrufansage & Nachricht mit Blockly

    Moved
    6
    1
    0 Votes
    6 Posts
    2k Views
    S
    Hier der aktuelle funktionierende Stand… ! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml"> ! <block type="on" id="D-]gKr{S6nMnK~Da4-z?" x="88" y="88"><field name="OID">tr-064.0.callmonitor.inbound.timestamp</field> ! <field name="CONDITION">ne</field> ! <statement name="STATEMENT"><block type="timeouts_settimeout" id="{wuJ3NuDI(4[{ye3j~dn"><field name="NAME">timeout</field> ! <field name="DELAY">500</field> ! <statement name="STATEMENT"><block type="controls_if" id="P(a)Y:K0wpRnM/q5(}l"><mutation else="1"></mutation> ! <value name="IF0"><block type="logic_compare" id="1D+T-RF2EDZ]K.@@v_H6"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="zGok2Xs:!;,o(cNQcwpS"><field name="ATTR">val</field> ! <field name="OID">tr-064.0.callmonitor.inbound.callerName</field></block></value> ! <value name="B"></value></block></value> ! <statement name="DO0"><block type="sayit" id="L:c+_.z9)q9oCcpxREr-"><field name="INSTANCE">.0</field> ! <field name="LANGUAGE">de</field> ! <value name="VOLUME"><block type="math_number" id="OGpAMalB@dUpxuo_=Ay"><field name="NUM">100</field></block></value> ! <value name="MESSAGE"><shadow type="text" id="zk+69/O]Wn5QiOS={%J="><field name="TEXT">text</field></shadow> ! <block type="text_join" id="/aTtDlgAtMMFqH.RN6TE"><mutation items="2"></mutation> ! <value name="ADD0"><block type="text" id="Nep.Vu=,+(e}b/w7(sNS"><field name="TEXT">Anruf von Nummer</field></block></value> ! <value name="ADD1"><block type="get_value" id="O!yi{EAjnOMl5toHgdu)"><field name="ATTR">val</field> ! <field name="OID">tr-064.0.callmonitor.inbound.caller</field></block></value></block></value></block></statement> ! <statement name="ELSE"><block type="comment" id="LA6K/IS3q#y!uU=B:O7g"><field name="COMMENT">sayit mit Namen</field> ! <next><block type="sayit" id="4_uFDZo=99#_th/I|j1"><field name="INSTANCE">.0</field> ! <field name="LANGUAGE">de</field> ! <value name="VOLUME"><block type="math_number" id="%agKngXzUzhO;^x:j*Zl"><field name="NUM">100</field></block></value> ! <value name="MESSAGE"><shadow type="text" id="h6_/@CY+4s/{abGe?Kd,"><field name="TEXT">text</field></shadow> ! <block type="text_join" id="Fo,RhD@*WMeAu;3hm[:g"><mutation items="2"></mutation> ! <value name="ADD0"><block type="text" id="aqu}1e|RiNeC+ebp2Bec"><field name="TEXT">Anruf von</field></block></value> ! <value name="ADD1"><block type="get_value" id="T9=g0@eTP2o{6;WXKIiE"><field name="ATTR">val</field> ! <field name="OID">tr-064.0.callmonitor.inbound.callerName</field></block></value></block></value></block></next></block></statement> ! <next><block type="controls_if" id="[h~#}T~EYq|%zOS1f)36"><mutation else="1"></mutation> ! <value name="IF0"><block type="logic_compare" id="?nW%5,F9qdYo-/~iL8rj"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="ip#M!UFj@gHr1tOMpCt{"><field name="ATTR">val</field> ! <field name="OID">tr-064.0.callmonitor.inbound.callerName</field></block></value> ! <value name="B"></value></block></value> ! <statement name="DO0"><block type="pushover" id="9}=1gd)3|pvDE^OHKf(S"><field name="PRIORITY">0</field> ! <value name="MESSAGE"><shadow type="text" id="8aS7f-IBzM^.q*;[{G"><field name="TEXT">text</field></shadow> ! <block type="text_join" id="R~8qxH%/7P8fdUN{It@"><mutation items="4"></mutation> ! <value name="ADD0"><block type="text" id="=+8,5-[Vn2=~_jKF4Z5"><field name="TEXT">Name unbekannt - Tel:</field></block></value> ! <value name="ADD1"><block type="get_value" id="Fqb{QAc_RCOEhvLU9Fi_"><field name="ATTR">val</field> ! <field name="OID">tr-064.0.callmonitor.inbound.caller</field></block></value> ! <value name="ADD2"><block type="text" id="c+mAi(^%_MPAW5C[(XH"><field name="TEXT">- am:</field></block></value> ! <value name="ADD3"><block type="get_value" id="DNkn?|Nl|A}Us4^Z[ds"><field name="ATTR">val</field> ! <field name="OID">tr-064.0.callmonitor.inbound.timestamp</field></block></value></block></value> ! <value name="TITLE"><block type="text" id="J4?g4z#2lm~+;yDR8cQ"><field name="TEXT">Anruf von:</field></block></value></block></statement> ! <statement name="ELSE"><block type="pushover" id="AsqMoI4]3ER{z8#g:-"><field name="PRIORITY">0</field> ! <value name="MESSAGE"><shadow type="text" id="8aS7f-IBzM^.q;[{G"><field name="TEXT">text</field></shadow> ! <block type="text_join" id="#3AWc1va;bG]AA9bs^l"><mutation items="5"></mutation> ! <value name="ADD0"><block type="get_value" id="C2d]lIN)B,!6D{Ho/]rn"><field name="ATTR">val</field> ! <field name="OID">tr-064.0.callmonitor.inbound.callerName</field></block></value> ! <value name="ADD1"><block type="text" id="P_4T%4zNei/-K^a9I%O0"><field name="TEXT">- Tel:</field></block></value> ! <value name="ADD2"><block type="get_value" id="R(2]3hcDQtF!rB[ry~.{"><field name="ATTR">val</field> ! <field name="OID">tr-064.0.callmonitor.inbound.caller</field></block></value> ! <value name="ADD3"><block type="text" id="^5m:W7PWh8;j7XJ/}^cO"><field name="TEXT">- am:</field></block></value> ! <value name="ADD4"><block type="get_value" id="y2H-bQyb=StWAJFHOV#C"><field name="ATTR">val</field> ! <field name="OID">tr-064.0.callmonitor.inbound.timestamp</field></block></value></block></value> ! <value name="TITLE"><block type="text" id="XOyHv|H3ed2i2,5sQ.;R"><field name="TEXT">Anruf von:</field></block></value></block></statement></block></next></block></statement></block></statement></block> ! <block type="comment" id="Ck[=ssU#?W|4Dx@91d3g" x="88" y="113"><field name="COMMENT">Änderung bei Anruf</field></block></xml> leider ohne die Funktion der Wiederholung der Ansage. Der Block wiederholen solange - scheint nicht zu funktionieren. Dabei stürzt immer der Java Script Adapter ab. PS die Debug Ausgaben habe ich in diesem Blockly bereits entfernt. Gruß Sven
  • Schleife für Wired DImmer

    Moved
    4
    0 Votes
    4 Posts
    827 Views
    paul53P
    Hier noch eine Variante (nicht getestet), die weniger Belastung für die CPU bringt, da nicht alle 300 ms getState(id) aufgerufen wird: var timer = null; var idTaste = 'hm-rpc.0.XXX1234567.N.PRESS_SHORT'; var idLevel = 'hm-rpc.0.XXX1234567.N.LEVEL'; var level = getState(idLevel).val; function dunkler() { if(level) { level = level - 5; if(level < 0) level = 0; setState(idLevel, level); } if(timer && level === 0) clearInterval(timer); } on({id: idTaste, val: true}, function() { level = getState(idLevel).val; dunkler(); timer = setInterval(dunkler, 300); });
  • Json Objekt in Blockly weiter bearbeiten

    Moved
    1
    0 Votes
    1 Posts
    986 Views
    No one has replied
  • [gelöst] Anrufer Ansage wiederholen, bis Gespäch angenommen wurde

    Moved
    11
    0 Votes
    11 Posts
    2k Views
    A
    Hi, Für Android gibt es was ähnliches, läuft allerdings nicht über iobroker. Vielleicht kann man das ja irgendwie einbinden. http://www.sonofy.co
  • Nach 2h keine Bewegung im Raum schalten

    Moved
    9
    0 Votes
    9 Posts
    1k Views
    htreckslerH
    var idFensterAuf = "hm-rpc.0.NEQ11000000.1.STATE"; var timer = null; subscribe(idFensterAuf, function (obj) { if (obj.newState.val) { // Starte timer für 2 Minuten if (!timer) { timer = setTimeout(function () { timer = null; log("Fenster im Bad länger als 2 Minuten auf"); }, 120000); } } else { // Fenster zugemacht. Falls timer läuft = stopp log('Fenster im Bad geschlossen!'); if (timer) { clearTimeout(timer); timer = null; } } }); so funktioniert es bei mir mit einem Fenster. (Ist nur für einen Test auf 2 Minuten gesetzt :-))
  • Sayit -> mp3-Ausgabeprobleme

    Moved
    4
    2
    0 Votes
    4 Posts
    863 Views
    S
    Erst mal eine Teilmeldung aus der Ferne. Mein Wandtablet (mit Firefox) macht den Ankündigungston wenn sayit auf Browser gestellt ist. Mein zweites Tablet (mit Boat Browser) macht es trotzdem nicht wenn sayit auf Browser gestellt ist. Den Boat-Browser muss ich aber für die weitere Funktionalität des Tablet verwenden. Scheint also das die Einstellung "Browser" zwingend Voraussetzung im sayit-Adapter ist. Nachtrag: Dieter, wie sieht dein Script mit request aus ? Bei mir steht im Log: ReferenceError: request is not defined at Object.
  • Sayit - Sprachrückmeldung

    Moved
    27
    0 Votes
    27 Posts
    3k Views
    H
    Vielen Dank, für Deine Hilfe.
  • Node Red Script für Temperatur Ausgabe

    Moved
    4
    0 Votes
    4 Posts
    3k Views
    D
    Hi Aber dafür hast du der Nachwelt wieder ein nettes Snippet da gelassen. Thank u well :-)
  • Blockly - jetzt ich auch noch ;-)

    Moved
    6
    1
    0 Votes
    6 Posts
    1k Views
    HomoranH
    @rantanplan: Das Du da noch Zeit für findest ` Das hatte Bluefox vor zwei Jahren in Kassel vorgestellt. Für mich als js-Legastheniker genau das richtige. Leider gibt es dort auch Bausteine in denen wieder js eingegeben werden muss :( Deswegen hatte ich es irgendwann nicht weiter verfolgt. Wahrscheinlich liegt es auch jetzt daran, dass ich in einem node die payload aus zweien weiteren nodes nicht verarbeitet bekomme. Gruß Rainer
  • Umlaute in Javascript Var -> Homematic

    Moved
    3
    0 Votes
    3 Posts
    1k Views
    M
    Meine Lösung: Bin jetzt den Umweg über simpleAPI adapter gegangen … Abfrage über http://server:8090/getPlainValue/yr.0.f … .day0.text liefert richtige Umlaute.
  • Parameterübergabe an Callback-Function

    Moved
    3
    0 Votes
    3 Posts
    664 Views
    ThisoftT
    Danke blauholsten - so funktionierts. Ich habe eben diese Anonymen Funktionen (ich glaub, so heißen die??) und auch die asynchrone Verarbeitung bei Javascript noch nicht wirklich verinnerlicht.
  • Blockly Request Problem

    Moved
    1
    1
    0 Votes
    1 Posts
    489 Views
    No one has replied
  • Blockly -> IoBroker -> Osram Lightify

    Moved
    9
    1
    0 Votes
    9 Posts
    2k Views
    M
    Hi Black, ja der Gruppen-Ansatz war mein erster Ansatz aber das erfüllt halt nicht so wirklich die Anforderungen. Unser Flur ist recht lang und ist abgewinkelt. Ich habe daher insgesamt 3 Bewegungsmelder im Einsatz um die unterschiedlichen Bereiche, wo Bewegung entsteht abzufangen und entsprechende Lampen für den Bereich zu schalten. Wenn ich nun mehrere Gruppen anlege stehe ich vor dem gleichen Problem. Mit nur einer Gruppe "Alle" bin ich dann da wo ich vorher war - immer alles an obwohl nicht nötig. Durch den Hinweis mit dem "Command" sind die Schaltzustände nun aber deutlich schneller, so dass ich 250ms als sichererer Schaltabstand von Lampe zu Lampe getestet habe (vorher 2sek). Damit sollte sich leben lassen. Beim Testen mit der CCU ist aufgefallen, dass auch dort ein geringer Zeitversatz beim Schalten der Lampen ist. Also vermutlich wirklich eher etwas "normales" wenn man die Lampen extern schaltet. Über den Alex Skill und Gruppen ist es genau so. Danke auf alle Fälle für den Denkansatz mit dem Command und den Hinweis zum Trigger, den habe ich schon angepasst. Viele Grüße Mario
  • [gelöst] Backup - Blockly

    Moved
    3
    0 Votes
    3 Posts
    1k Views
    M
    Hallo, Danke, das ist die Lösung! Ich glaub ich brauch doch langsam ne Brille…. :geek: Viele Grüße Mario
  • Script problem bei abfrage von HM Systemvariablen

    Moved
    4
    0 Votes
    4 Posts
    678 Views
    B
    Hallo Paul53, es funktioniert. 1000 Dank. ich war wohl schon zu müde um zu lesen. :-)

441

Online

32.6k

Users

82.1k

Topics

1.3m

Posts