Skip to content

Blockly

6.6k Topics 79.8k Posts

Hilfe für Skripterstellung mit Blockly

NEWS

  • Nulleinspeisung mit Sperrzeit

    9
    1
    0 Votes
    9 Posts
    806 Views
    G
    Hier sieht man gut, wie die Sperre funktioniert. Leider war nicht ausreichend Sonne da. [image: 1716199858994-60481138-16a7-4d4c-9f74-72486109fc3e-image.png]
  • Blockly Klimaanlage steuern soll erweitert werden

    6
    5
    0 Votes
    6 Posts
    626 Views
    E
    Ich muss das Thema nochmal hochholen. Mein Blockly funktioniert soweit sehr gut. Ausser die Steurung der Temperatur über eigenen Datenpunkt Hier mal der Teil vom Blockly für den eigenen Datenpunkt [image: 1716193278863-screenshot-2024-05-20-at-10-13-00-javascript-f7c478effa45.png] [image: 1716193288656-screenshot-2024-05-20-at-10-13-18-javascript-f7c478effa45.png] [image: 1716193302974-screenshot-2024-05-20-at-10-13-43-javascript-f7c478effa45.png] Nun mal der Teil wo App oder FB alles steuern [image: 1716193350318-screenshot-2024-05-20-at-10-14-15-javascript-f7c478effa45.png] [image: 1716193364188-screenshot-2024-05-20-at-10-14-33-javascript-f7c478effa45.png] [image: 1716193370400-screenshot-2024-05-20-at-10-14-47-javascript-f7c478effa45.png] [image: 1716193378407-screenshot-2024-05-20-at-10-15-50-objects-f7c478effa45.png] Hier meine VIS dazu [image: 1716193461808-screenshot-2024-05-20-at-10-23-54-vis.png] Wenn ich nun über VIS (eigenen Datenpunkt die Temperatur ändern) springt der Wert, siehe Logauszug hin und her. Bis die Verbindung im Adapter zur Cloud getrennt wird. Änderung über App funktioniert, wie es soll Logauszug 2024-05-20 10:17:15.283 info state panasonic-comfort-cloud.0. Klima Wohnzimmer.temperatureSet changed: 23 (ack = false) panasonic-comfort-cloud.0 2024-05-20 10:17:15.234 info state panasonic-comfort-cloud.0. Klima Wohnzimmer.temperatureSet changed: 23 (ack = false) panasonic-comfort-cloud.0 2024-05-20 10:17:15.007 info state panasonic-comfort-cloud.0. Klima Wohnzimmer.temperatureSet changed: 23.5 (ack = false) panasonic-comfort-cloud.0 2024-05-20 10:17:14.955 info state panasonic-comfort-cloud.0. Klima Wohnzimmer.insideTemperature changed: 20 (ack = true) panasonic-comfort-cloud.0 2024-05-20 10:17:13.436 info state panasonic-comfort-cloud.0. Klima Wohnzimmer.temperatureSet changed: 24 (ack = false) panasonic-comfort-cloud.0 2024-05-20 10:17:13.393 info state panasonic-comfort-cloud.0. Klima Wohnzimmer.temperatureSet changed: 23.5 (ack = false) panasonic-comfort-cloud.0 2024-05-20 10:17:13.382 info state panasonic-comfort-cloud.0. Klima Wohnzimmer.insideTemperature changed: 19 (ack = true) panasonic-comfort-cloud.0 2024-05-20 10:17:13.340 info state panasonic-comfort-cloud.0. Klima Wohnzimmer.temperatureSet changed: 23 (ack = true) panasonic-comfort-cloud.0 2024-05-20 10:17:11.906 info state panasonic-comfort-cloud.0. Klima Wohnzimmer.temperatureSet changed: 23 (ack = false) panasonic-comfort-cloud.0 2024-05-20 10:17:11.855 info state panasonic-comfort-cloud.0. Klima Wohnzimmer.temperatureSet changed: 23.5 (ack = true) panasonic-comfort-cloud.0 2024-05-20 10:17:10.626 info state panasonic-comfort-cloud.0. Klima Wohnzimmer.temperatureSet changed: 23.5 (ack = false) panasonic-comfort-cloud.0 2024-05-20 10:17:10.569 info state panasonic-comfort-cloud.0. Klima Wohnzimmer.temperatureSet changed: 24 (ack = true) panasonic-comfort-cloud.0 2024-05-20 10:17:09.701 info state panasonic-comfort-cloud.0.info.connection changed: false (ack = true) panasonic-comfort-cloud.0 2024-05-20 10:17:09.655 info state panasonic-comfort-cloud.0. Klima Wohnzimmer.temperatureSet changed: 24 (ack = false) panasonic-comfort-cloud.0 2024-05-20 10:17:09.655 error Service error: Request failed with status code 500Adapter internal error. Code=5006. Stack: ServiceError: Request failed with status code 500Adapter internal error at new ServiceError (/opt/iobroker/node_modules/panasonic-comfort-cloud-client/dist/src/model/ServiceError.js:23:28) at ComfortCloudClient.handleError (/opt/iobroker/node_modules/panasonic-comfort-cloud-client/dist/src/ComfortCloudClient.js:193:31) at ComfortCloudClient.<anonymous> (/opt/iobroker/node_modules/panasonic-comfort-cloud-client/dist/src/ComfortCloudClient.js:228:30) at step (/opt/iobroker/node_modules/panasonic-comfort-cloud-client/dist/src/ComfortCloudClient.js:33:23) at Object.throw (/opt/iobroker/node_modules/panasonic-comfort-cloud-client/dist/src/ComfortCloudClient.js:14:53) at rejected (/opt/iobroker/node_modules/panasonic-comfort-cloud-client/dist/src/ComfortCloudClient.js:6:65) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) Weiss jemand, was ich am Blockly ändern muss, damit es bei der Temperaturwahl über eigenen Datenpunkt auch funktiniert? Danke für die Unterstützung Edit: Problem gefunden und behoben. Folgendes habe ich geändert [image: 1716200303476-screenshot-2024-05-20-at-12-16-38-javascript-f7c478effa45.png] Da ich im VIS bei + und - in 0.5 Schritten die Temperatur ändere(höhere Schritte wäre das Gleiche) wird der Teil vom Blockly ja bei jedem drücken ausgeführt. Mit der VIS-Wartezeit erst nach 3 sek
  • [Gelöst] Blockly mit Funktion in der es request gibt umbauen

    16
    0 Votes
    16 Posts
    1k Views
    JoJo58J
    @haus-automatisierung @paul53 Es funktioniert in beide Richtungen und ich kann anfangen alles umzustellen. Vielen Dank für eure Hilfe. Gruß, Johannes
  • [gelöst] So lange ein Objekt "Wahr" ist, mache "Wahr"

    15
    1
    0 Votes
    15 Posts
    1k Views
    DuffyD
    @ika Wie von haus-automatisierung geschrieben kann der Oder Baustein direkt an den Falls: [image: 1716111600650-04433cc4-0e8f-47f9-937a-0eb715dce268-grafik.png]
  • Blockly akzeptiert Datenpunkt nicht

    10
    2
    0 Votes
    10 Posts
    889 Views
    XsevX
    @homoran Also leider funktioniert es doch nicht wirklich. Ich hatte die Logikprüfung (true/false) bei meinem Datenpunkt (userdata.0.Datenpunkte.BWM.Balkon) weg gelassen, was ein Dauer "true" zur Folge hatte. Habs erst bemerkt als ich den Punkt auf "false" geschalten habe und es immer noch funktioniert hat. Also das Problem ist nach wie vor das er nicht auf den Datenpunkt reagiert. Anbei hab ich das Blockly mal exportiert. Bindestriche etc. hab ich alles entfernt. Hab den Datenpunkt nochmals neu angelegt aber selbes verhalten. <xml xmlns="https://developers.google.com/blockly/xml"> <block type="on_ext" id="0DvBe(whI|8?:B:Xu}bN" x="112" y="563"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="}UQx4(.,[;n6G0l?aZnA"> <field name="oid">frigate.0.Balkon.person</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="Of3W9w*aA?+k![aNU1Cv"> <field name="oid">frigate.0.Balkon.dog</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="6qglY6E-^*Unvr[~~7}g"> <field name="oid">frigate.0.Balkon.cat</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="mHFKtNVZa}oCsna-~Mxr"> <value name="IF0"> <block type="logic_operation" id="!LYj5RQXfh9M!}jjAP*2" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="5cS7BkLGY=5KH+nv5v/S"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="2)_y,FN6sexWc(+(]+TL"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id=";]:=-G^RRo!)2_[|kNjL"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id=")PI*nePgyuZ_#VXNO*_Z"> <field name="ATTR">val</field> <field name="OID">frigate.0.Balkon.person</field> </block> </value> <value name="B"> <block type="math_number" id="FoTQ61*Fhs-G3lK*k7?n"> <field name="NUM">1</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="auiw(/1%{.B`W$J[RE01"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id="P_gkk?wk6*9mTEsk4fmI"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="^4*QwHcf].36q}KYgV*_"> <field name="ATTR">val</field> <field name="OID">frigate.0.Balkon.cat</field> </block> </value> <value name="B"> <block type="math_number" id="7^d5iR^Q|^L62)t6xKo("> <field name="NUM">1</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id=":z_*l8~K[^8XLCus^yMG"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="f+/Oy+K=`8a4]@Dav|e;"> <field name="ATTR">val</field> <field name="OID">frigate.0.Balkon.dog</field> </block> </value> <value name="B"> <block type="math_number" id="+4[mau,QbeH-:+mq(gDa"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="C1,fPT[Rq[@3?Gg;[hh$"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="#Y}=hi)S/gX,ZLEqt4po"> <field name="ATTR">val</field> <field name="OID">javascript.0.Camview-Vis</field> </block> </value> <value name="B"> <block type="math_number" id="@dKKWP4GTui_;cj2Jx0."> <field name="NUM">6</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="rK/)8;LYC(|2xDL-I4@:"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="mIFnn8wA$Rmb@v7UocZh"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte.BWM.Balkon</field> </block> </value> <value name="B"> <block type="logic_boolean" id="/9ZE~cd0`W+Od)7(g6oZ"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="|k6YTovQ%wCEDv.U=QT8"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">javascript.0.Camview-Vis</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">200</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="K.YC%G3clv)a{jRI}?(a"> <field name="NUM">6</field> </block> </value> </block> </statement> </block> </statement> </block> </xml>
  • [gelöst]Hilfe bei blockly Image8 Widget Bild ändern anhand..

    6
    1
    0 Votes
    6 Posts
    209 Views
    icebearI
    @paul53 Vielen Dank nochmal für den 'Denkanstoß' funktioniert soweit perfekt. Ich mußte mir allerdings noch ein 'Übersetzter'- Script anlegen, welches die States nach 1, 2, 3 usw übersetzt, da ja das Image8 Widget bei Wert für URL nur fortlaufende Zahlen 1, 2, 3 usw kennt.
  • Zeitspanne für Trigger

    1
    1
    0 Votes
    1 Posts
    130 Views
    No one has replied
  • PV-Überschuss Heizstab, Verzögerung komme nicht weiter

    6
    1
    0 Votes
    6 Posts
    230 Views
    paul53P
    @jungdergung Beim verzögerten Zurückschalten sind 3 nicht-Blöcke zu viel. @jungdergung sagte in PV-Überschuss Heizstab, Verzögerung komme nicht weiter: Netzbezug (negatives Vorzeichen). Negativ bei Bezug und positiv bei Einspeisung? Dann ändere oben in: setze ueberschuss auf Wert.
  • [Schaltung Zirkulation] - Skript funktioniert nicht

    2
    1
    0 Votes
    2 Posts
    233 Views
    A
    @scrub Ohne mir das Script im Detail angeschaut zu haben fällt mir nur auf, dass es keinen Trigger gibt.
  • Blockly Verzögerung retriggern

    blockly
    3
    1
    0 Votes
    3 Posts
    264 Views
    H
    @paul53 Danke!
  • Skript nach Änderung Timeout - wo einfügen?

    blockly javascript
    9
    1
    0 Votes
    9 Posts
    645 Views
    G
    @codierknecht Das Fenster reagiert nicht auf Böen. Die werden leider nicht von der Wetterstation ausgelesen. Dafür nehme ich eben die normale Windgeschwindigkeit, die ja vor Böen auch immer erhöht ist. Aus der Sonneneinstrahlung (Helligkeit) und der Windgeschwindigkeit habe ich durch hin- und herprobieren Werte "ermittelt", die in 4 Stufen das Fenster mehr oder weniger öffnen. Das ist auch wieder abhängig von der vorhergesagten Tageshöchsttemperatur. Was ich noch einbinden will ist die Windrichtung, denn wenn der Wind von Osten / Südosten bläst ist das eigentlich unrelevant, da das Fenster nach Westen öffnet.
  • Blöcke hellblau - Javascript Adapter 8.3.1

    3
    1
    0 Votes
    3 Posts
    386 Views
    NinjaTurtle85N
    @homoran Oh Mann Ab ins Schwarze Loch mit mir!!!! Vielen Dank!!!!
  • Licht an wenn Wecker klingelt

    32
    1
    0 Votes
    32 Posts
    4k Views
    Dr. BakteriusD
    @newbie2007 Ich stelle das in der Alexa-App ein.
  • Blockly geht auf einmal nicht mehr

    3
    2
    0 Votes
    3 Posts
    175 Views
    Horst BöttcherH
    @homoran ok werde ich nachher probieren Fürleicht hab ich ihn mal ausversehn umgestellt
  • Webhook an MS Teams schicken

    2
    1
    0 Votes
    2 Posts
    281 Views
    T
    Sooooo, MS Teams bekommt nun schonmal Logging aus dem Broker in einem entsprechenden Kanal: [image: 1715729037323-e90ec9fc-8489-42cd-bdfc-91815ecda76b-grafik.png]
  • "Zeitdifferenz formatieren" liefert "falsches" Format

    10
    3
    0 Votes
    10 Posts
    852 Views
    paul53P
    @paddex sagte: negativ 7 min 51 sek ?? JS 8.3.1: [image: 1715707610138-blockly_temp.jpg]
  • [gelöst]JSON auslesen, um zu rechnen

    4
    1
    0 Votes
    4 Posts
    369 Views
    docadamsD
    @paul53 Vielen Dank. Ist anderer Ansatz, aber deine Lösung kann ich nachvollziehen.
  • Triggerung durch MQTT zu oft

    5
    1
    0 Votes
    5 Posts
    399 Views
    BananaJoeB
    @hg6806 sagte in Triggerung durch MQTT zu oft: ich weiß jetzt allerdings nicht wie belastend das für das System ist, wenn jede Sekunde ein Trigger kommt. kommt auf den Unterbau an. Bei mir Triggern vermutlich > 50 Skripte jede Sekunde von etwa 500 vorhandenen (jedes Tasmotagerät hat sein eigenes Skript, Mindestintervall 60 Sekunden, die wichtigen alle 15 Sekunden, Stromzähler jede Sekunde) Inklusive Skripte die durch Skripte getriggert werden: Skript A reagiert auf MQTT oder holt per http JSON-Daten und teilt die auf mehre Einzeldatenpunkte auf Skript B und C reagieren auf die Datenpunkte die Skript A erzeugt hat Skript D reagiert auf etwas was C erzeugt hat ist ein AMD 4 x 3GHz Prozessor der auf dem Niveau eines Celeron läuft, Auslastung im Schnitt 33%, MQTT Broker ist Mosquitto, ioBroker per Adapter als Client Da geht also bei bedarf ganz viel, 1x die Sekunde muss kein problem sein
  • [gelöst] Ein Trigger auf alle Datenpunkte in einer Liste

    12
    0 Votes
    12 Posts
    377 Views
    MartinPM
    So, hier die endgültige Lösung Initialisierung: [image: 1715674712529-e665a404-9fd7-4fd6-83e7-d39a1f550889-grafik.png] Trigger-Schleife: [image: 1715675501435-559f84e1-6cf2-4b4b-bb29-d0a4e83fb455-grafik.png] Durch die um 3 Sekunden verzögerte Ausführung möchte ich die Anzahl der Mails verringern. Häufig fallen ja die Geräte in "Rudeln" aus, z. B. bei WLAN-Problemen, und dann ist es sicher gut, erst eine Mail zu bekommen, wenn das ganze Rudel die Probleme gemeldet hat ... Vielleicht spiele ich noch mit der Wartezeit. Der Ping-Adapter ist auf 60 Sekunden eingestellt, wahrscheinlich wären da mehr als 70 Sekunden besser, aber dann dauert es noch länger, bis die Mail eintrudelt...
  • Rollladenfahrt ankündigen - wie Daten im Blockly auswerten?

    15
    1
    0 Votes
    15 Posts
    437 Views
    G
    @martinp :-) Das Weidezaungerät gefällt mir am Besten! Da hab ich gleich viele Ideen, wo ich da noch alles Spannung drauflegen könnte, wenn meine bessere Hälfte wieder mal irgendwo dran rumfummelt wo sie nicht soll... :-) @paul53 Das Blockly muss ich mir in Ruhe anschauen. Die Idee dahinter klingt aber erst mal gut!

768

Online

32.8k

Users

82.7k

Topics

1.3m

Posts