Skip to content

Blockly

6.6k Topics 79.8k Posts

Hilfe für Skripterstellung mit Blockly

NEWS

  • Telegrammnachricht bei überschreiten einer Temperatur

    8
    1
    0 Votes
    8 Posts
    738 Views
    L
    @dslraser Oh..OK Da sieht man das ich noch totaler Anfänger bin. Das werde ich die Tage Mal testen. Schonmal ganz grosses danke an alle
  • (gelöst) String konvertieren in boolean

    22
    0 Votes
    22 Posts
    1k Views
    A
    @paul53 Das ist so, nur habe ich leider keine Ahnung wie das in den Javaskript gehen soll. Da ich von Beruf "nur" Elektroplaner und nicht Softwareingenieur bin, verstehe ich da eben nicht sehr viel. Das Skript zum die Daten aus dem UVR16x2 raus zu holen hat mir ein Arbeitskollege so rasch nebenbei gemacht. So mit Blockly ein paar Enocean-Taster mit Shelly zu verknüpfen habe ich ja noch hingekriegt, aber hier bewege ich mich in einem Bereich der mein Verständnis etwas übersteigt. Edit: [image: 1625929508754-jetzt_ist_gut.png] Jetzt scheint es wunderbar zu passen und auch die Werte stimmen mit denen von der Heizungssteuerung überrein. Zum Schluss möchte ich mich ganz herzlich bei euch bedanken für die Hilfe. Andi
  • Balkonbewässerung Wemos Mini ADS1115 zwei Sensoren

    5
    3
    0 Votes
    5 Posts
    717 Views
    S
    @andygr42 ok danke ... ich werde es testen ;) und berichten besser sind die "Dinger" bestimmt nicht geworden ;) ... den 555 gibt es schon ewig ... schaun wir mal ...
  • LEDs an Rasparry abschalten, fehlende Rechte?

    3
    0 Votes
    3 Posts
    87 Views
    David G.D
    @asgothian Danke, da hab ich leider absolut keine Ahnung von wie man Gruppen und Rechte annpasst. Der Befehl liefert: Last login: Sat Jul 10 09:23:17 2021 from 192.168.99.77 pi@iobroker:~ $ ls -al /sys/class/leds/led0/ insgesamt 0 drwxr-xr-x 3 root root 0 Jul 10 09:15 . drwxr-xr-x 4 root root 0 Jul 10 09:14 .. -rw-r--r-- 1 root root 4096 Jul 10 09:23 brightness lrwxrwxrwx 1 root root 0 Jul 10 09:46 device -> ../../../leds -r--r--r-- 1 root root 4096 Jul 10 09:46 max_brightness drwxr-xr-x 2 root root 0 Jul 10 09:46 power lrwxrwxrwx 1 root root 0 Jul 10 09:46 subsystem -> ../../../../../class/leds -rw-r--r-- 1 root root 0 Jul 10 09:46 trigger -rw-r--r-- 1 root root 4096 Jul 10 09:15 uevent pi@iobroker:~ $ EDIT: Hab den mit webmin geschafft beiden Dateien für jeden freizigeben. Hoffe mal, das ist jetzt keine Sicherheitslücke... EDIT2: Nach einem reboot werden alle Rechte und Besitzer der Dateien wieder auf default gestellt. Da geht wohl dann leider nichts.... EDIT 3: Lasss die LED jetzt beim Start vom einem Crontab ausschalten.
  • Werte in S7 Schreiben

    4
    1
    0 Votes
    4 Posts
    325 Views
    J
    Danke das war es
  • Pool Chlorgenerator Steuerung

    13
    1
    0 Votes
    13 Posts
    2k Views
    S
    @mymeyer ich habe für schlechtwetterphasen einen block der die tageshöchsttemperatur morgens beim daswetter adapter checkt und dann den wert durch 2 teilt und als laufzeit festlegt. Das geht bei mir aber nur wenn die wärmepumpe nicht laufen soll, daher schlechtwetterblok ;p für einen oder 2 tage stell ich das nicht um, da gibt viel zu viel Energie verloren aber wenn es so jetzt eine Woche lang schlechter ist dann stelle ich die Wärmepumpe aus und lasse die Pumpe nur nach dem Wetter laufen. Hier läuft sie abends mindestens 4 Stunden und in der Zeit wird auch der chlorinator zu geschaltet und morgens den Rest der nötigen Laufzeit. ja ich hab den blueconnect salt. hab ihn im Angebot für 369 geschossen aber auch des ist eigentlich noch teuer.. daür funktioniert die anbindung an den iob super
  • Prozent Werte von min max ermitteln

    10
    0 Votes
    10 Posts
    1k Views
    S
    @paul53 ... wiedermal vielen Dank ! scheint zu funktionieren morgen nochmal ausführlicher Testen ! <xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="}7]=0jQY~,W*ZCR@PXX~">Prozent</variable> <variable id="]z*r%EOfdbJt3$f{o_c?">value</variable> </variables> <block type="on" id="au394Q-z52Nw{a1u`X;6" x="-387" y="-262"> <field name="OID">sonoff.0.DVES_D3C424.ADS1115_A0</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="variables_set" id="tJ}Mq?C7Ik^ygD%63Qoe"> <field name="VAR" id="}7]=0jQY~,W*ZCR@PXX~">Prozent</field> <value name="VALUE"> <block type="math_arithmetic" id="Fq9Ir^?5!2j^LF.{r1D5"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="%?3n+F!:b}}Jl^d/V5aI"> <field name="NUM">100</field> </shadow> </value> <value name="B"> <shadow type="math_number" id="Pg4jIa_`C4Xct~,dMNgf"> <field name="NUM">3.36</field> </shadow> <block type="math_arithmetic" id="1R49~Ygav7CP^^_Y[!~L"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="X%tm!Toh|@c4^/WPhB;,"> <field name="NUM">0</field> </shadow> <block type="math_arithmetic" id="X0k]!1x={F{75nzRylOQ"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="~7!NyLLjmTX0fV3923u="> <field name="NUM">0</field> </shadow> <block type="variables_get" id="I2uzM=!Ao[M_aDLtfYQ0"> <field name="VAR" id="]z*r%EOfdbJt3$f{o_c?">value</field> </block> </value> <value name="B"> <shadow type="math_number" id="u}D!qUp|WhiZr+ugnr$B"> <field name="NUM">11000</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="/)oSlA{]ToA]leNJkw^Q"> <field name="NUM">0</field> </shadow> <block type="math_arithmetic" id="Hx@=cH2CoNmmVE`znE|("> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="5MJz3Z}thv5jl;8s)c~#"> <field name="NUM">22000</field> </shadow> </value> <value name="B"> <shadow type="math_number" id="-p2=Tp27%GhF5Ruon41m"> <field name="NUM">11000</field> </shadow> </value> </block> </value> </block> </value> </block> </value> <next> <block type="update" id="},jWHgJ07.RwCI]YAQed"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Balkonbewässerung.Bewaesserung_eins</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="V8SB0|]11,?6V3T?GLFc"> <field name="n">1</field> <value name="x"> <shadow type="math_number" id="kRhY;bSb7+kg`~-rk.ac"> <field name="NUM">3.1234</field> </shadow> <block type="variables_get" id="hDpC/SORr~fKY:#Cy2;5"> <field name="VAR" id="}7]=0jQY~,W*ZCR@PXX~">Prozent</field> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </xml> hier geht es weiter
  • Denkfehler beim Ausführen von "Falls-mache"

    3
    0 Votes
    3 Posts
    145 Views
    S
    @asgothian said in Denkfehler beim Ausführen von "Falls-mache": @sometime Ich sehe einen "echten" Fehler in deinem Konstrukt: der letzte Trigger feuert immer mit, aber schaltet bis auf dvd-aus.On alle states aus - Unabhängig davon welchen Wert die Wetterwarnung hat. Trotzdem ist dein Konstrukt unnötig kompliziert. Es lässt sich auf das folgende herunter brechen: on({id: "dwd.0.warning.severity"/*Warning severity*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val setState("ham.0.DWD-aus.DWD-aus.On"/*On*/, value==0); setState("ham.0.DWD-gelb.DWD-gelb.On"/*On*/, value==1); setState("ham.0.DWD-orange.DWD-orange.On"/*On*/, value==2); setState("ham.0.DWD-rot.DWD-rot.On"/*On*/, value==3); setState("ham.0.DWD-lila.DWD-lila.On"/*On*/, value==4); let iconId = 9537+value; if (value == 4) { sendTo("lametric", "notification", {priority: "warning",iconType: "alert",sound: "alarm1",lifeTime: 10000,icon: 'i45966',text: 'DWD Warnung - Stufe 4',cycles: 10}); } else if (value > 0) { sendTo("lametric", "notification", {priority: "warning",iconType: "alert",sound: "thunder",lifeTime: 10000,icon: 'i'+iconId,text: 'DWD Warnung - Stufe '+ value,cycles: 5}); } }); A. Nachtrag: In blocky so: [image: 1625778160412-screen-shot-2021-07-08-at-23.00.43.png] Natürlich musst du die Datenpunkte und Instanzen für sendTo anpassen - da hab ich vieles nicht. Der Baustein "Wert" stammt im übrigen aus dem "Trigger" Bereich, und ist da mit "ObjektID" vordefiniert. A. Hi, in der Tat sieht deine Version deutlich aufgeräumter und schlanker aus als meine. Ich übe ja noch und versuche mich ins Thema reinzufinden. Vielen Dank für Deinen Input! Ich schaue es mir in Ruhe an und teste mal noch ein wenig. Sollte ich noch Rückfragen haben, würde ich mich nochmal bei Dir melden - sofern okay für Dich :-) LG sometime
  • SMS Text filtern

    5
    0 Votes
    5 Posts
    315 Views
    G
    @ahnungsbefreit ok, dann habe ich es doch richtig verstanden ;) lg
  • Dp mit variable Wert erzeugen

    blockly javascript
    8
    0 Votes
    8 Posts
    252 Views
    paul53P
    @hausbaer sagte: Zum Jahreswechsel sollen nun folgende Datenpunkte angelegt werden: 0.userdata.0.Solar.Jahreswerte.2021.X Vorschlag: [image: 1625761051682-blockly_temp.jpg] Funktion createJahreswerte(Name, Einheit): createState('0_userdata.0.Solar.Jahreswerte.' + new Date().getFullYear() + '.' + Name, 0, {type: 'number', name: Name, unit: Einheit});
  • [gelöst] per falls deaktivierte Aktionen werden ausgeführt

    blockly
    9
    2
    0 Votes
    9 Posts
    165 Views
    HomoranH
    @homoran sagte: ich werde es im Auge behalten. @paul53 das manuelle Ausschalten über die vis hatte gestern immer nur um 1 hochgezählt. heute hat sich der Ladevorgang per Skript beendet und leider wieder direkt um 3 hochgezählt. [image: 1625737786970-flashcounter03.png] Ich befürchte daher, dass dann auch tatsächlich 3x geschrieben wird. Da ich aber anscheinend noch einige Bugs drin hatte, hatte ich heute morgen noch einiges verändert und wollte (irgendwann) das Skript komplett anders aufbauen :-( Der früher verlinkte Code passt also nicht mehr. Bei der Suche nach dem Datenpunkt Allow Charging habe ich nur das eine Skript und dort 7 Referenzen gefunden, von denen nur 2 mit einem setState einen Schreibvorgang bewirken sollten. [image: 1625738209954-allow_charging.png] Habe es jetzt sicherheitshalber mal eine Verzögerung eingebaut. Die Änderung des Datenpunkts triggert auch das Skript, sollte aber IMHO bei false nichts mehr machen: [image: 1625738345903-allow_charging02.png]
  • CRON - Lauf/Restlaufzeit ?

    20
    0 Votes
    20 Posts
    778 Views
    paul53P
    @siko sagte: Das aktuelle Datum wird abgerundet und dann durch 86400000 geteilt. Das aktuelle Datum wird durch 86400000 geteilt und dann das Ergebnis abgerundet. @siko sagte in CRON - Lauf/Restlaufzeit ?: Rest von /3 liefert dann nur jeden 3. Tag den Wert 0 (Ganzzahl) Richtig. Man kann den Rest auch mit 1 oder 2 vergleichen (Modulo). Heute würde der Wert 2 passen.
  • Wert in HTML Datei schreiben

    26
    0 Votes
    26 Posts
    2k Views
    D
    @mickym said in Wert in HTML Datei schreiben: @dasmoritz Dann machmal statt >> nur >. Damit sollte die Datei bzw. Der Wert neu geschrieben und nicht angehängt werden. Es funktioniert, wunderbar :-) Ich bedanke mich bei euch, ich spiele damit mal etwas weiter herum :-)
  • Mehrere Telgramm Nachrichten bündeln.

    12
    1
    0 Votes
    12 Posts
    277 Views
    B
    @paul53 Danke Super hat geklappt
  • Blockly mit Search and Replace bearbeiten ?.

    12
    0 Votes
    12 Posts
    2k Views
    HomoranH
    @crazyfloyd sagte in Blockly mit Search and Replace bearbeiten ?.: Vielleicht liegt das daran das dort noch Informationen hinterlegt sind. selbstverständlich! da sind alle Informationen für die Blöcke drin
  • Poolpumpensteuerung Temperatur und Solarstrom sowie Zeit

    blockly javascript
    42
    0 Votes
    42 Posts
    8k Views
    C
    Guten Morgen, wie macht ihr das das sich die Farbe der Rohre nach Zustand ändert? Über Signalbilder?
  • Zeitdifferenz Blockly - Raspberry System Zeit

    12
    2
    0 Votes
    12 Posts
    1k Views
    J
    @homoran Ich hab das Problem gelöst .... Ich hab die Einstellungen die Astro-Einstellungen des Javascript Adapters kontrolliert. Die waren auf "Verwenden Sie Systemeinstellungen" eingestellt und der Ort auch richtig eingestellt. Nachdem ich das "Verwenden Sie Systemeinstellungen" aus und wieder eingeschaltet hatte hab ich die Einstellungen gespeichert. Danach passt die Uhrzeit wieder.
  • Aqara - Bewegungsmelder, Blockly Script Optimieren

    7
    3
    0 Votes
    7 Posts
    2k Views
    crunchipC
    @mickym sagte in Aqara - Bewegungsmelder, Blockly Script Optimieren: Alles was unter 10 Lux ist - ist quasi dunkel und lässt sich nicht auflösen. Ich persönlich habe 3 Levels: @acem Hängt auch davon ab, wo man einen BWM positioniert, Stichwort Lichteinfall. Habe z.b. Flur oben, kein direktes Fenster, Lux 10, unten im Flur BWM in Richtung Fenster gerichtet, Lux 100. In Räumen, in denen der BWM kein direktes Licht bekommt, ebenfalls Lux 10, Räume in denen z.b. kein Fenster vorhanden ist z.b. Kleiderschrank, hab uch den Luxwert auf 2, da immer geschaltet werden soll. Aber wie schon oben geschrieben, mit dem Adapter hast du ganz viele Möglichkeiten, dein Licht zu schalten, zusätzliche Bedingungen, Schalter, etc mit einzubauen.
  • gelöst Robomäher Zeiten in Blockly ermitteln

    blockly
    3
    1
    0 Votes
    3 Posts
    273 Views
    Ralla66R
    @paul53 Danke, läuft. Datenpunkte noch von String nach Number umgestellt.
  • Mittelwert mehrerer Messungen von 1 Sensor

    2
    0 Votes
    2 Posts
    343 Views
    paul53P
    @schomby sagte: wie kann ich denn einen Mittelwert von mehreren Messungen eines Sensors (bei mir Helligkeitssenor Homematic IP) bilden...? Beispiel oder gleitender Mittelwert über eine Stunde: [image: 1625155607038-bild_2021-07-01_180646.png]

555

Online

32.8k

Users

82.8k

Topics

1.3m

Posts