Skip to content

Blockly

Hilfe für Skripterstellung mit Blockly

6.5k Topics 79.5k Posts

NEWS

  • Rollladensteuerung mit Doppelklick

    3
    1
    0 Votes
    3 Posts
    593 Views
    R
    Ich meine eine Fernbedienung (433mhz). Beim Schalter am Rollladen und am Handy funktioniert es auch aber wie gesagt,nicht an der Fernbedienung. Oder gibt es bei der shelly Einstellung noch etwas was ich aktivieren muss?
  • Brauche hilfe bei dem Timeout Block

    2
    1
    0 Votes
    2 Posts
    286 Views
    paul53P
    @tscheerio sagte: Wozu ist er überhaupt nötig wenn der Timer abgelaufen ist? Dann ist stop timeout nicht nötig. Wenn aber innerhalb der Verzögerungszeit nach "keine Bewegung" wieder Bewegung erkannt wird, muss der Timer gestoppt werden, da sonst das Licht unerwartet ausgeht. Beispiel ohne Timerstop: Raum wird verlassen --> keine Bewegung, nach 2 Minuten wird Raum wieder betreten --> Licht geht an aber schaltet nach 1 Minute aus, weil der Timer weiter läuft.
  • Waschmaschine Skript, stehe auf dem Schlauch

    5
    0 Votes
    5 Posts
    509 Views
    C
    Eine mögliche Vorgehensweise (Trockner in diesem Falle). Ich verwende einen State um mir den Status zu merken. Grenzen: 5 Watt als in Betrieb, 1 Watt als Pause oder Aus const dryer_state = "home.notification.dryer_on"; var dryer_timer; if (getState(dryer_state).notExist) createState(dryer_state, false); on({id: "<DIE STECKDOSE>"}, function(obj) { if (obj.newState.val > 5 && !getState(dryer_state).val) { setState(dryer_state, true); log("Wäschetrockner an", "info"); } else if (obj.newState.val <= 1 && getState(dryer_state).val && dryer_timer == null) { dryer_timer = setTimeout(dryerReadyCheck, 4000); } }); function dryerReadyCheck() { dryer_timer = null; var power = getState("<DIE STECKDOSE>").val; if (power <= 1 && getState(dryer_state).val) { log("Wäschetrockner aus", "info"); setState(dryer_state, false); sayit("Der Wäschetrockner ist fertig", true); } }
  • Amazon Echo Eingabegerät = Ausgabegerät

    3
    1
    0 Votes
    3 Posts
    284 Views
    N
    @thewhobox Perfekt, funktioniert! Vielen Dank!:+1:
  • Blockly MQTT publish

    4
    1
    0 Votes
    4 Posts
    5k Views
    umbmU
    Noch ein Hinweis, wenn du shelly auch extern schaltest, also direkt am shelly über SW-Eingang mittels Lichtschalter usw: Die Rückmeldung vom shelly kommt immer nur auf dem relay-Datenpunkt, wenn er direkt geschaltet wird. Deshalb sollte man den command-Datenpunkt mit dem relay-Datenpunkt abgleichen, damit er jederzeit über iobroker schaltbar bleibt. Sonst kann es z.B. sein, dass er manuell am Lichtschalter eingeschaltet wird, aber über iobroker nicht sofort ausgeschaltet werden kann, weil dort noch "off" drinsteht. [image: 1564114961267-shelly-abgleich.png] Zum Einlesen für Blockly ist das hier zu empfehlen: https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/blockly.md
  • Licht an dunklen Tagen

    28
    0 Votes
    28 Posts
    2k Views
    AsgothianA
    Schau dir doch mal bitte an, wie sich die Lux Werte einstellen wenn Das Licht aus ist, und von Aussen nicht genug Licht kommt Das Licht aus ist, und es durch das Fenster "hell" ist Das Licht an ist und es draussen dunkel Das Licht an ist und es draussen hell ist. Wenn du den Bewegungsmelder geschickt ausrichtest, sollte es so sein das die Fälle 3 und 4 immer signifikant höhere lux werte haben als die Fälle 1 und 2. Damit solltest Du arbeiten können. A.
  • Blockly verbose Log

    15
    1
    0 Votes
    15 Posts
    1k Views
    L
    ups stimmt habe 2 Scripte in Global, sind sozusagen Gewerkeübergreifende zwischen Wolf (Heizung) und Loxone (SPS) Moment ich lege Mal einen Neuen Ordner an. Ok das war die Lösung, recht Herzlichen Dank für die Nachhilfestunde im Thema Iobroker Blockly Scripting. :+1: :grimacing:
  • Kühlschranktemparatur Warnung

    11
    1
    0 Votes
    11 Posts
    804 Views
    paul53P
    @Björn-Bosch sagte: wie kann ich das sehen? Füge vor dem falls-Block ein Log mit Typ von Wert ein. Wert ist eine Eigenschaft des Trigger-Datenpunktes (unter Blöcke "Trigger"). [image: 1563911201598-blockly_temp.jpg]
  • größeres Blockly erweitern.Abbrechen von Timeouts

    6
    0 Votes
    6 Posts
    259 Views
    C
    so hab es ein wenig getestet scheint alles zu klappen
  • Waschmaschine mit Blocky: Finde den Fehler nicht

    blockly
    7
    1
    0 Votes
    7 Posts
    1k Views
    TG70T
    Könntest mal den funktionieren Script posten. Herzlichen DANK
  • Bild mit Pushover Nachricht versenden

    6
    1
    0 Votes
    6 Posts
    1k Views
    thewhoboxT
    @TG70 Ja die übersiehst du und ich hab sie dir auch nochmal hingeschrieben. Lösung: Installiere die Version 1.2.0 von pushover-notification Erstelle in Blockly eine Funktion In der Funktion per "sendTo" dann an Pushover Bildsenden mit dem Parameter "file" [image: 1563799339723-3f2fca77-e5a2-427c-a0cb-575654d906fe-grafik.png] In der Funktion dann wie im Link beschrieben: sendTo("pushover", {file: "/hiermeinbild.jpeg"});
  • Aktion nur einmal Täglich ausführen

    9
    0 Votes
    9 Posts
    856 Views
    softwarecrashS
    Danke für die schnellen antworten, das hilft schon weiter :)
  • Stautswechsel innerhalb definierter Zeit

    14
    0 Votes
    14 Posts
    1k Views
    padrinoP
    @loopy sagte in Stautswechsel innerhalb definierter Zeit: @padrino Hallo, wo finde ich denn "Zeitstempel"? Für die Zukunft: [image: 1563751985135-oid.jpg] [image: 1563751989449-oid_menue.jpg] Ansonsten, mit dem Skript biste ja bei @paul53 in guten und fähigen Händen. :D:+1:
  • Exec Block Raspberry

    2
    0 Votes
    2 Posts
    365 Views
    R
    Ich hab jetzt eine Lösung gefunden,mit sudo chmod 777 /sys/class/backlight/rpi_backlight/bl_power gehts wieder, aber nur bis zum nächsten Neustart des Raspis. Hab den Befehl dann in /etc/rc.local eingefügt (Autostart) und funktioniert soweit auch, aber weis nicht ob das die optimale Lösung ist. Vorher gings auch ohne.
  • mit Taster Blockly starten

    Moved blockly
    1
    1
    0 Votes
    1 Posts
    321 Views
    No one has replied
  • in allen Scripten nach einem Objekt suchen?

    javascript blockly
    6
    0 Votes
    6 Posts
    668 Views
    BBTownB
    @paul53 es ist ein Broadlink2 Datenpunkt, der kann sich durch wechselnde Bezeichnungen des Device tatsächlich ändern, so dass der Verwahrungsort sich plötzlich ändert. Ich hoffte ein wenig auf eine Funktion die es in der Homematic CCU gibt, wo man am Gerät abfragen kann in welchen Scripten dieses Gerät/Kanal vorkommt.
  • Gerät mit http Befehlen steuern/abfragen

    2
    0 Votes
    2 Posts
    256 Views
    R
    So... inzwischen hab ich's dann doch geschafft den Ausgang ein/ausschaltbar zu machen. ABER: Wie kann ich in VIS anzeigen lassen welchen Zustand z.B. eine Lampe hat? ![https://www.dropbox.com/s/dx7p36botr16ihh/lanpe.jpg?dl=0](image url) Im Moment benutze ich das Lampensymbol in VIS, und das ändert auch den Zustand wenn eine Leuchte lokal über einen Schalter eingeschaltet wird. Woher weis diese Symbol welchen Zustand es haben soll?
  • 3 Werte vergleichen

    10
    1
    0 Votes
    10 Posts
    524 Views
    actionbyteA
    So, ich habe nun meine Badezimmerschaltung mit 3 Shellys und einem Mini-NodeMCU (als Taster) fertig und dank euch das Script nun angepasst. Läuft soweit! Allerdings denke ich das ich da ein ganz schönes Monster gebastelt habe. Augenscheinlich kann man Und/Oder Bausteine mit "nur" zwei externen Eingängen versehen, allein schon daher ist das sehr unübersichtlich. Funktionieren sollte das alles wie folgt: Mit dem Taster trigger ich eine Art Flip/Flop den DP "Badzimmer". Dieser dient mir als eine Art "Hilfsmerker" um den Zustand der Badezimmerbeleuchtung wiederzugeben. Allerdings hat Alexa Zugriff auf die drei Aktoren und EGAL was Alexa dann aus- oder eingeschaltet haben sollte, wenn dann der Taster betätigt wird soll alles AUS (egal was DP Badezimmer sagt) und evtl eben nur der DP Badezimmer wieder auf false gesetzt werden. Gehts auch einfacher? (BTW: "Dummy" ist noch vom Testen drin, normalerweise ist hier der Taster vom ESP8266)! [image: 1563715235925-db4.jpg] Spoiler <xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="timeout">timeout</variable> </variables> <block type="on" id="(xmol1QeSd*S%s)d.qG`" x="-583" y="-144"> <field name="OID">Meine_Geräte.0.Dummy</field> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="comment" id="MgA8O8iBvhIK;H0w)).`"> <field name="COMMENT">Logikauswertung </field> <next> <block type="controls_if" id="G(6}e`MX3/fK@K!-YkaI"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="3LaHOh9F@Ia-h782Uf8L" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_operation" id="jF!Ze0P/VZfW,uD}?x#K" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="%h!#GJG_KG9a_QRZ}=HB"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="dFj(uabfq0WdA1r@2E^v"> <field name="ATTR">val</field> <field name="OID">Meine_Geräte_Zustände.0.Badezimmer</field> </block> </value> <value name="B"> <block type="logic_boolean" id="Q)xQ{3%+!_g2#Kl.^Mhc"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="KzfU@JKg63w:o;QGD-ZY" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="nn{%sFviZFLC`x`H^rMB"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="2#5}n|WR##X%@}=}(,i}"> <field name="ATTR">val</field> <field name="OID">Meine_Geräte.0.Bad_Decke</field> </block> </value> <value name="B"> <block type="get_value" id="Qg}=lhfb5/[1ZeWTN.],"> <field name="ATTR">val</field> <field name="OID">Meine_Geräte.0.Bad_Dusche</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="hIQ)bY,/w$sq#d/q[KXv"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Y:cBp6LwQU!155=ghpAx"> <field name="ATTR">val</field> <field name="OID">Meine_Geräte.0.Bad_Toilette</field> </block> </value> <value name="B"> <block type="get_value" id="lJtPCH:O,M(50qiLl60t"> <field name="ATTR">val</field> <field name="OID">Meine_Geräte.0.Bad_Dusche</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="[r*aR#NBC91xDwJ@;Vjb" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id=":n|uMq(hc2P,?!IfnW+*"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id=".^Cad9mF`hxi^m[lsa+]"> <field name="ATTR">val</field> <field name="OID">Meine_Geräte_Zustände.0.Badezimmer</field> </block> </value> <value name="B"> <block type="logic_boolean" id="*Zzd%Jo.*fAJ+]!w2AdK"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="mE8WRSkif(BKNn{`ic#m" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="Z37awy@{TS+qd.gd,1k*" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="]ukDM3T_-NYKq#cL#TkG"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="tU:4a$?|;@5:D)Q@a:*0"> <field name="ATTR">val</field> <field name="OID">Meine_Geräte.0.Bad_Decke</field> </block> </value> <value name="B"> <block type="logic_boolean" id="pg`SU?.;:~+TKav={gwU"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id=".p0Z623K8h2awg4yA,JG"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="$4iCk3j6MC?w6q5~Mb,|"> <field name="ATTR">val</field> <field name="OID">Meine_Geräte.0.Bad_Toilette</field> </block> </value> <value name="B"> <block type="logic_boolean" id="/(o2D3{Bn3+L9y;KxJj0"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="RS;`3V$P%XAOT^U|;PGB"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="`T~vNSm_zZ9p^Hnl)AR."> <field name="ATTR">val</field> <field name="OID">Meine_Geräte.0.Bad_Dusche</field> </block> </value> <value name="B"> <block type="logic_boolean" id="eXX~tf!srs`b|_po3hJ1"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="b_zq2i^w!b4hFs*cGmPe"> <field name="COMMENT">Wenn zwischendurch Alexa ein Aktor aus oder eingeschaltet hat, dann auf jeden Fall alles vorrangig AUSSCHALTEN!</field> <next> <block type="control" id="lH[`4eTj0h4dX`-~Jo:p"> <mutation delay_input="false"></mutation> <field name="OID">Meine_Geräte_Zustände.0.Badezimmer</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="nR*;?!`4UlA00!/snt#-"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="2AFX#h$fl{+Epd`M46X9" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="GY[URCWddjm!aH;Y[rSz"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="u$MACYZF5;!I:[caN]4+"> <field name="ATTR">val</field> <field name="OID">Meine_Geräte.0.Bad_Decke</field> </block> </value> <value name="B"> <block type="get_value" id="]w_Dc}jQ3+#IuUI5^#a2"> <field name="ATTR">val</field> <field name="OID">Meine_Geräte.0.Bad_Dusche</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="X(mfj^Zo2r5I0_ci7N*G"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="7yat2Odp~Zs0+L`,S!rq"> <field name="ATTR">val</field> <field name="OID">Meine_Geräte.0.Bad_Toilette</field> </block> </value> <value name="B"> <block type="get_value" id=".lF[z2|Ud|OLN8S_jvOt"> <field name="ATTR">val</field> <field name="OID">Meine_Geräte.0.Bad_Dusche</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="comment" id="Vi$)|4V^7wwWh*R;mAmr"> <field name="COMMENT">Ohne Alexa einfach nur FlipFlop</field> <next> <block type="toggle" id="OO?4W7_~IbwFhLG9$(jO"> <mutation delay_input="false"></mutation> <field name="OID">Meine_Geräte_Zustände.0.Badezimmer</field> <field name="WITH_DELAY">FALSE</field> </block> </next> </block> </statement> <next> <block type="timeouts_settimeout" id="hG:lZ=#@;*?wt-k2mjlr"> <field name="NAME">timeout</field> <field name="DELAY">50</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="comment" id="`8#u7JOJM4`bqC$3sf3j"> <field name="COMMENT">Übergabe an Peripherie</field> <next> <block type="controls_if" id="=priJJ`nFW^C{E]L*hdZ"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="~gyz)SfYf~oF~1Snt@A`"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Y`8)hrKGhfy^/=:aTv)J"> <field name="ATTR">val</field> <field name="OID">Meine_Geräte_Zustände.0.Badezimmer</field> </block> </value> <value name="B"> <block type="logic_boolean" id="SpW6)YbnY;=15#J7A[V2"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="lg``PS|gB){2RnQEQD!z"> <mutation delay_input="false"></mutation> <field name="OID">Meine_Geräte.0.Bad_Decke</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="o:{MV+(0fquMeBb=hKEL"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="4;6wEe?_Up#,r?7Oq;fw"> <mutation delay_input="false"></mutation> <field name="OID">Meine_Geräte.0.Bad_Dusche</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="^SZGJj`@sGPs_J!dO/S["> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="=wj%9c04t*c4J3YWe*=r"> <mutation delay_input="false"></mutation> <field name="OID">Meine_Geräte.0.Bad_Toilette</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id=":@_OK#wygdOi#7O8ez]J"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="^W@lu{U-Ld:eC1S,VMn;"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="w`3PhBlO1dGQ5L~GvpHg"> <field name="ATTR">val</field> <field name="OID">Meine_Geräte_Zustände.0.Badezimmer</field> </block> </value> <value name="B"> <block type="logic_boolean" id="GYCc9|wJ0]s~YUit#{eC"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="H[V3M8egf63yQ(6Y.v9E"> <mutation delay_input="false"></mutation> <field name="OID">Meine_Geräte.0.Bad_Decke</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="N2w~9N}.|T7fAYccob{^"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="PUVs!WMD![EM,9ZJ6|ri"> <mutation delay_input="false"></mutation> <field name="OID">Meine_Geräte.0.Bad_Dusche</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="~MS[ea6e1Zw.i1aOpeEF"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="sP,NMs1DCeJl%}4d@o?0"> <mutation delay_input="false"></mutation> <field name="OID">Meine_Geräte.0.Bad_Toilette</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="F1y@NDcSU`h00GZ;AA_D"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </xml>
  • (gelöst) HM-Dis-EP-WM55 (EPaper)

    3
    0 Votes
    3 Posts
    395 Views
    L
    Hi, hat sich erledigt. Ich hatte einen Denkfehler im Blockly, nun läuft alles.
  • [gelöst] Relais Problem true und false

    8
    0 Votes
    8 Posts
    652 Views
    AphofisA
    Relais Karte mit High Low Trigger gekauft! Geräte auf Normally Open angeschlossen fertig. Ach ja Relais Karte die Relais die beim Start false sein sollen, natürlich auf Low jumpern.

486

Online

32.7k

Users

82.4k

Topics

1.3m

Posts