Skip to content

Blockly

Hilfe für Skripterstellung mit Blockly

6.5k Themen 79.4k Beiträge

NEWS

  • Sonos/Hue - Hilfe/Ideen für Badezimmer Script

    multimedia blockly node-red
    13
    1
    0 Stimmen
    13 Beiträge
    2k Aufrufe
    R
    Hallo - ich habe mich anfangs auch beim Sonos-schalten auch auf die Bewegungsmelder konzentriert. Ging soweit - nur wollte ich dann Nachts (z.b. von 0.00 bis 5.00 Uhr) beim Bad/Toiletten-Besuch kein Sonos-Gerät am laufen haben ... ... also neuer Ansatz: Bewegung egal! - Das HUE-Licht (Helligkeit) wird abgefragt! Da hat ja HUE die geniale Nachtsteuerung der Lampen wo man eine Uhrzeit definieren kann und die Helligkeit - z.b. nur 50% - alles gut, denn Sonos wird ja nur bei 100% geschalten. Dieses funktioniert sehr zuverlässig. Hui dachte ich - also nehmen wir doch den Helligkeitswert der HUE-Lampe und frage den Status mit Blockly ab und schalte Sonos. Siehe da - alles ist gut! ;-) ... hat den weiteren Vorteil das vor dem Abschalten der Lampe sich die Helligkeit der Lampe verringert - also wirds Zeit sich zu Bewegen das es Hell bleibt und Sonos geht ja nur bei 0% aus. Wenns dann Dunkel wird ist dein Sonos auch aus. ;-) ... hier das Blockly: <xml xmlns="http://www.w3.org/1999/xhtml"> <block type="on" id="c08~!?}h/;gsL^zE(OMo" x="13" y="12"> <field name="OID">hue.0.Bridge_GR.Bad.level</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="#F]0/Q8r1ut@.?^FOc-6"> <value name="IF0"> <block type="logic_compare" id="IR~LLs/L%xH)P=(Rcz*F"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="Qz9J,V+C3-4TJsFPJXGN"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="yb+v2-:?bRaB?bM)Wk[j"> <field name="NUM">100</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="0,KyWH6YQux.JP0zd;*k"> <mutation delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_0_150.favorites_set</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="y2e8}+q(WtF|~z34=UeV"> <field name="TEXT">SWR3</field> </block> </value> <next> <block type="control" id="cR|BEa*?=9#a~oZo#`,T"> <mutation delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_0_150.play</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="Ln_6B6brsLJ~u+[T/i`N"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </xml>
  • Sonos Coverbild anzeigen

    9
    0 Stimmen
    9 Beiträge
    1k Aufrufe
    H
    @oG85 bei mir steht der Pfad drinnen
  • [gelöst]Alexa Sprachausgabe

    6
    0 Stimmen
    6 Beiträge
    549 Aufrufe
    AphofisA
    @crunchip Top! Ich werde es mal testen und vielen Dank
  • Newsticker - News RSS Beispiel

    4
    0 Stimmen
    4 Beiträge
    582 Aufrufe
    P
    ich habe es noch nicht geschafft im ioBroker eine Textzeile zu erstellen. Daher bekomme ich das bei mir noch aus einer fhem Instanz und zeige das mit dem folgenden Widget in vis an [{"tpl":"tplFrame","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","title":"Nachrichten","title_color":"white","title_top":"0","title_left":"0","header_height":"18","header_color":"grey","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"title_back":"grey","title_font":""},"style":{"left":"0","top":"0","width":"738px","height":"100px","text-align":"","border-width":"1px","border-color":"grey","border-radius":"3px"},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"<div id=\"marquee\" class=\"marquee\"><span>{fhem.0.NEWS_TAGESSCHAU.tickerMarquee}</span></div>\n\n<script>\n\tif (document.getElementById(\"marquee\")) {\n\t\tvar laufschrift = document.getElementById(\"marquee\");\n\t\tlen = laufschrift.innerHTML.length;\n\t\tlaufschrift.firstChild.style.animationDuration = len/6 +\"s\";\n\t}\n</script>\n"},"style":{"left":"0px","top":"21px","width":"738px","height":"40px","font-weight":"bold","font-size":"30px"},"widgetSet":"basic"}] Der Text sieht z.B. so aus : Wie Brandenburgs Wähler wanderten +++ Analyse zur Sachsen-Wahl: Wovon die AfD profitierte +++ Basketball-WM: Deutscher Fehlstart gegen Frankreich +++ Brandenburg-Wahlkarte: Wer hat wo seine Hochburgen? +++ AfD-Mandate in Sachsen: Ein Listenfehler mit Folgen? +++ Wahlkarte Sachsen: Welche Partei ist wo besonders stark? +++ Grafiken: Die Stimmung der Brandenburger +++ Grafiken zur Wahl: Was für die AfD-Wähler wichtig war +++ 3. Spieltag: Frankfurt dreht Spiel gegen Düsseldorf +++ Hurrikan "Dorian" trifft auf die Bahamas +++ Landtagswahlen: "Gemischte Gefühle" bei GroKo, AfD jubelt +++ Brandenburg: Die AfD abgefangen - und nun? Wenn jemand so eine Zeile in ioBroker generieren kann würde mir das eine weitere Funktion von FHEM nach ioBroker bringen.
  • Quelle des Basic Image Widget über Blockly ändern

    3
    1
    0 Stimmen
    3 Beiträge
    197 Aufrufe
    S
    @Glasfaser perfekt, Danke.
  • Countdown mit Blockly

    4
    1
    0 Stimmen
    4 Beiträge
    989 Aufrufe
    T
    Super Danke für eure Hilfe, das hat geklappt!
  • type string zu Zahl dann Zahl zu wahr oder falsch

    4
    1
    0 Stimmen
    4 Beiträge
    843 Aufrufe
    paul53P
    @KampfHund sagte: Wie könnte ich den Wert jetzt noch umwandeln in wahr oder falsch? "Also wenn der Wert 190 oder mehr hat ist er wahr." Der Vergleich (nach Zahl Wert) >= 190 liefert als Ergebnis false / true. Eine und-Verknüpfung funktioniert nur mit boolschen Werten.
  • Falls mit mehreren Bedingungen

    3
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    liv-in-skyL
    @ceo77 geht wohl in die richtung wenn tv ein und es ist zw .20 und.. uhr dann mache - wenn aber tv vor 20:00 eingeschaltet ist, wird die lampe nicht eingeschaltet [image: 1567331010516-image-1.png] oder anders ab 20 uhr wird jede minute geprüft ob de fernseher angeschaltet wird - dann .... [image: 1567331195872-image-2.png]
  • Internetverbindung mit ping überwachen

    5
    0 Stimmen
    5 Beiträge
    901 Aufrufe
    DutchmanD
    @Jan1 sagte in Internetverbindung mit ping überwachen: Poste einfach mal das Blockly jup, dan kan man auch weiterhelfen
  • Nachricht wenn es an der Haustür klingelt

    11
    1
    1 Stimmen
    11 Beiträge
    1k Aufrufe
    crunchipC
    @SeiteBallon74 xiaomi tür/fenster kontakt
  • zähler werte zu einer berechen

    1
    0 Stimmen
    1 Beiträge
    206 Aufrufe
    Niemand hat geantwortet
  • Blockly - Nachricht Luftfeuchtigkeit

    9
    2
    0 Stimmen
    9 Beiträge
    780 Aufrufe
    paul53P
    @TG70 sagte: Meinst du den Wert den ich unten als "Falls" schon im Blockly habe ??? Ja, dort nur den Vergleichswert verringern, so wie Du es gemacht hast.
  • Timer auf Null setzen

    6
    0 Stimmen
    6 Beiträge
    400 Aufrufe
    dslraserD
    Edit: im falschen Beitrag geschrieben....
  • Error in Blockly bei setstate()??

    Gelöst
    19
    1
    0 Stimmen
    19 Beiträge
    1k Aufrufe
    foxriver76F
    @Homoran kein Ding, die Fehlermeldung könnte man trotzdem mal aussagekräftiger gestalten. ;-)
  • Kleines speak/ssml Blockly für mich testen?

    Verschoben blockly test
    7
    1
    0 Stimmen
    7 Beiträge
    656 Aufrufe
    padrinoP
    @dslraser Würdest Du, wenn Du Zeit hast, das richtige Skript nochmal "durchlaufen lassen" =) Hab jetzt übrigens einen 2er Dot mit Firmware 644580520, der verhält sich nun wie mein 2er Echo (also keine 5 Sekunden Pause zwischen Test1 und Test2). Die 2er Dots mit 641575220 machen es noch "gut". Für mein "Projekt Nachtlicht" kommen die Updates wohl nicht so gelegen. :relieved:
  • Warum erfolgt keine Ausschaltung

    33
    1
    0 Stimmen
    33 Beiträge
    2k Aufrufe
    A
    @paul53 said in Warum erfolgt keine Ausschaltung: Weshalb ist dieser Datenpunkt vom Typ "Zeichenkette" ? Gute Frage schwere Frage. Ich habe keine Veränderung vorgenommen.. [image: 1567082473184-wert-regnerbuero_state.png] Es ist kein Wert eingetragen oder erscheint der an einem anderen Punkt. Gruß Michael
  • Pause zwischen Web requests

    4
    1
    0 Stimmen
    4 Beiträge
    410 Aufrufe
    FragMikeF
    @Glasfaser @SirDirk Dankeeeee..... Das war der entscheidende Hinweis. 👌😃👍
  • Hilfe bei erstem Script - Blockly

    14
    1
    0 Stimmen
    14 Beiträge
    1k Aufrufe
    WalW
    [image: 1566721345198-102134.jpg] Schritt1: So kannst du auch nachtriggern, falls du länger als 3min bügeln möchtest. edit: upps, es geht ja noch einfacher. [image: 1566722349551-03830.jpg] editedit: dein skript ganz oben geht auch, wenn du den haken bei "löschen falls läuft" machst :-)
  • Waschmaschinen Skript

    9
    0 Stimmen
    9 Beiträge
    3k Aufrufe
    F
    ja poste doch bitte den xml code von dir ich hätt auch so was vor, blick aber nicht durch
  • JS Variable einlesen

    Ungelöst
    23
    1
    0 Stimmen
    23 Beiträge
    3k Aufrufe
    AlexAtHomeA
    @liv-in-sky Danke Dir :-) Hier nun mein fertiges Script: (der Urpsprungscredit geht an @liv-in-sky , im Thread oben steht das Blockly mit dem Trigger) var cacheSelector = $('[id=alexa2.0.Echo-Devices.*.*Alarm.*.enabled]'); //log("Ausgelesene Alarme: "); //log(cacheSelector); var count = 0; var len = 0; var weckerArray = []; var str2 = ""; var weckerOnOff = ""; cacheSelector.each(function(id, i) { count++; //log("Alarm de_aktiviert: " + id); //var weckerOnOff = getState(id).val; var str = id.substring(0,id.indexOf('enabled')-1); //log("Alarm: " + str + " ist aktiviert? " + weckerOnOff); if (id.indexOf('Music') > 0) { str2 = id.substring(0,id.indexOf('MusicAlarm')-1); } else { str2 = id.substring(0,id.indexOf('Alarm')-1); } var echoName = getObject(str2).common.name; var weckerName = getObject(str).common.name; // aktiver Alarm? if (getState(id).val) { log("Auf Gerät " + echoName + " ist Wecker " + weckerName + " aktiviert."); weckerOnOff="On"; } else { // deaktiver Alarm log("Auf Gerät " + echoName + " ist Wecker " + weckerName + " inaktiv."); weckerOnOff="Off"; } var weckerEntry = {Echo:echoName, Wecker:weckerName, OnOff:weckerOnOff}; // in len wird die neue Anzahl Elemente im Array geschrieben len = weckerArray.push(weckerEntry); log("Element " + len + " angefügt."); }); log("Insgesamt sind " + count + " Wecker definiert."); // JSON erstellen und in Datenpunkt schreiben var weckerJSON = JSON.stringify(weckerArray); setState("javascript.0.aw_sonstiges.ListeWecker", weckerJSON); log("JSON in Datenpunkt geschrieben.") In der VIS wird das derzeit ganz simpel mittels einer JSON-Tabelle angezeigt.

301

Online

32.7k

Benutzer

82.4k

Themen

1.3m

Beiträge