Optimiere Deine Blockly-Scripts (ioBroker)

  Рет қаралды 35,061

haus:automation

haus:automation

Күн бұрын

Пікірлер: 199
@haus_automation
@haus_automation 4 жыл бұрын
Meistere ioBroker, lerne Blockly und automatisiere Abläufe! Wie das geht, lernst Du im umfangreichen ioBroker-Master-Kurs: haus-automatisierung.com/iobroker-kurs/
@HotGame
@HotGame 4 жыл бұрын
Kannst du mal erklären wie man eine Zeit schalt uhr bastelt die auch geht also Licht nach 30 sic. Aus
@Tommy-m1j7l
@Tommy-m1j7l Ай бұрын
Auf jeden Fall super verständlich erklärt!
@daskasspatzle2396
@daskasspatzle2396 4 жыл бұрын
Wusste nicht, daß im Trigger das Objekt mitgegeben wird, also was gelernt :-) LG
@arek2000
@arek2000 3 жыл бұрын
Super, vielen Dank. So langsam, wird es verständlicher, dank deines Videos.
@easy4lan
@easy4lan 4 жыл бұрын
Einfach genial, ich habe bis dato genauso umständlich gearbeitet aber du hast vollkommen recht mit deinen Tips. Ist einfacher und übersichtlicher. Super danke
@and1h801
@and1h801 4 жыл бұрын
Ich habe auf jedenfall was gelernt, gerne mehr davon!
@andyr.459
@andyr.459 4 жыл бұрын
Toll, vielen Dank. Gern mehr Tipps zu Blockly und vllt. zu den Möglichkeiten....
@krobipd
@krobipd 4 жыл бұрын
Vielen Dank für das tolle Video. Hatte das auch nicht gewusst. Gleich mal meine Skripte upgedatet 😉 Hoffe das da noch mehr blockly Sachen kommt von dir.
@assistdetermind7700
@assistdetermind7700 Ай бұрын
Ich dachte ich kenn mich schon ganz ok aus, aber man kann immer wieder was lernen. Definitiv sind Basics nicht zu verachten.
@haus_automation
@haus_automation Ай бұрын
Es gibt genug Leute, die nach über 5 Jahren mit ioBroker meinen Kurs machen und dann erst wirklich die Zusammenhänge verstehen 👍
@enrikethdjc1493
@enrikethdjc1493 4 жыл бұрын
Du bist der Beste , DANKE weiter so mit Blockly
@Altersrentner
@Altersrentner 4 жыл бұрын
Wieder ein gelungener Beitrag. Erste Vorschlag ist umgesetzt . Prima!!!! Bitte mehr solche Beispiele zeigen. Gruß Michael
@albifenner5535
@albifenner5535 4 жыл бұрын
Wie immer sehr informativ und lernreich. Super, besten Dank hierfür.
@mgaensle
@mgaensle 4 жыл бұрын
Super ! Bitte mehr von diesen Tips!
@johangoethe2175
@johangoethe2175 4 жыл бұрын
Vielen Dank! Viel gelernt, Bitte mehr Videos zum Thema Blockly
@martinburkhardt5969
@martinburkhardt5969 3 жыл бұрын
Wieder was gelernt :).
@tobiasw83
@tobiasw83 Жыл бұрын
Wow. Musste paar mal zurück spulen aber sehr hilfreich wenn man es verstanden hat.
@gpetitjaque
@gpetitjaque 4 жыл бұрын
Sehr wichtige Hinweise zur Optimierung. Danke dafür. Ressourcen kann man auf Raspberry Pis nicht genug sparen.
@nobolnobol1630
@nobolnobol1630 4 жыл бұрын
Ohhhh man, hätte ich das mal am Anfang meiner Programmierungen gewusst. Vielen Dank !!!
@BigWumpus
@BigWumpus 4 жыл бұрын
Prima Video! Schön lehrreich und knackig kurz! Andere hätten da 45 Minuten draus gemacht. Super hier!
@haus_automation
@haus_automation 4 жыл бұрын
So soll es sein ;)
@ingokaminski935
@ingokaminski935 4 жыл бұрын
Ein tolles Video und ein Klasse Thema!!! Ich würde mir noch mehr Videos zu Blockly wünschen. Ich habe jetzt schon etwas mitgenommen. Top!!! Schöne Grüße in meine alte Heimat Paderborn. 😁
@StefanHanke
@StefanHanke 4 жыл бұрын
...again what learned ! 😉👍 Richtig gemacht im Sinn von „funktioniert“ habe ich das bislang auch schon. Gerade eben aber habe ich gelernt wie es auch noch elegant geht und bei entsprechender Übung auch schneller programmiert werden kann... Vielen Dank für dieses Video ! 😊👍
@martink.573
@martink.573 4 жыл бұрын
Tolles Video! Ich konnte dadurch viele Blockly's von mir ganz schön verschlanken!!! Super! :-)
@domenicobst3256
@domenicobst3256 3 жыл бұрын
Bin kompletter Anfänger und habs verstanden. Top Video 👍🏻
@TomDobler
@TomDobler 4 жыл бұрын
Super erklärt. Ich finde eh Blockly Tutorials spitze
@MrElofix
@MrElofix 4 жыл бұрын
Ich hatte schon ein Abo von deinem Kanal...Ich wusste aber nicht das du so ein Teci bist. Ich dachte es geht um dein Smart Home.....aber das hier ist ja noch viel interessanter ;)
@haus_automation
@haus_automation 4 жыл бұрын
Ne ich zeige alles kreuz und quer. Vieles setze ich selbst um, anderes zeige ich nur um anderen zu helfen oder weil es interessant ist ;)
@Xer777Xes
@Xer777Xes 4 жыл бұрын
Vielen Dank für deine Tipps. Ich wünsche mir noch mehr Tipps!
@svennolte4890
@svennolte4890 4 жыл бұрын
sehr gut und eindeutig beschrieben. Ich habe selbstverständlich auch diese Fehler gemacht und werde meine Skripte anzupassen.
@emzwei1317
@emzwei1317 4 жыл бұрын
Schön erklärt. Das erinnert mich an meine Jugendzeit, als wir in der Kinderjahren von C den Ehrgeiz hatten, eine Aufgabe mit möglichst wenig wenigen Zeichen zu programmieren. Das gab nicht immer super gut lesbaren Code, aber eine Menge kreativer Ideen
@haus_automation
@haus_automation 4 жыл бұрын
Ich finde es kürzer eigentlich immer lesbarer. Aber hier sind ja auch Tipps dabei, wie man seltsame Fehler vermeiden kann
@georgwinkelhofer4504
@georgwinkelhofer4504 3 жыл бұрын
Naja die Abkürzungen in C sind doch was anderes als die schönen Vereinfachungen im blockly
@UnholyGeorge
@UnholyGeorge 4 жыл бұрын
Für mich persönlich recht simpel, aber dennoch sehr angenehm zum anschauen! Gerne mehr davon :)
@haus_automation
@haus_automation 4 жыл бұрын
Das Video richtet sich ja auch eher an Anfänger ;)
@ogerix88
@ogerix88 4 жыл бұрын
Danke! Bitte mehr Videos in der Richtung :)
@Kollabo1989
@Kollabo1989 4 жыл бұрын
Also ich habe definitiv was gelernt und werde meine scripte mal nach und nach nacharbeiten was ich so schon ab und an gemacht habe aber jetzt wohl effektiver machen kann :) vielen dank :)
@jogibarbarski
@jogibarbarski 4 жыл бұрын
Mal wieder sehr gut erklärt. Das kann ich bestimmt auch bei meiner Waschmaschine und Spülmaschine umsetzen wenn diese mir eine Nachricht senden sollen, das sie fertig sind mit der Arbeit.
@technikworld3888
@technikworld3888 4 жыл бұрын
So hab ich es noch nie gesehen aber ist ein guter Tipp
@Tetan5575
@Tetan5575 4 жыл бұрын
oh man.. das sieht zwar alles ganz toll aus mit sonst falls und wahr oder falsch.. aber die einfache kompakte Lösung.. TOP ! danke für die Tipps...
@Jodeldidel
@Jodeldidel 4 жыл бұрын
Erst mal danke für deine Mühe uns hier immer wieder kostenlose Informationen zur Verfügung zu stellen. Bin auch schon seit Jahren dabei meine immer mehr werdenden Skripte zu optimieren und habe schon einiges mit deiner Hilfe verkürzt und auch besser strukturiert. Jetzt komme ich zu dem Wert-Baustein im Video und wollte fragen, wie der sich verhält, wenn mehrere Objekte im Trigger abgefragt werden? Beispiel: Mehrere Bewegungsmelder in einer Etage.
@haus_automation
@haus_automation 4 жыл бұрын
Na dann bekommst Du in „Wert“ auch immer den Wert des Objektes geliefert, welches den Trigger ausgelöst hat. Mit dem Trigger-Baustein „Object-ID“ findest Du auch raus, welches Objekt das war
@Jodeldidel
@Jodeldidel 4 жыл бұрын
@@haus_automation Danke, für die schnelle Antwort.
@alexw6868
@alexw6868 4 жыл бұрын
Richtig gut, habe direkt ein paar Optimierungen meiner Scripte vorgenommen :-) Bitte mehr davon! zB. wie ich Funktionen richtig einsetze, und in mehreren Scripten verwenden kann.
@kekzmobile
@kekzmobile 4 жыл бұрын
Sehr hilfreich. Danke!
@brisardo
@brisardo 4 жыл бұрын
Gerne mehr davon :)
@ChrisTian-zr2nm
@ChrisTian-zr2nm 4 жыл бұрын
Was gelernt :) Gern mehr davon!
@martink.573
@martink.573 4 жыл бұрын
Hallo Matthias, ich habe mal eine Frage zu deinem Video Beispiel: Und zwar ab Minute 8:26 ... Ist das hier beschriebene Beispiel semantisch richtig ??? Ich kann doch eigentlich keinen "Switch" mit einem (WERT > 20) schalten ? Ich kann das Objekt "Lampe" doch nur mit true bzw. false schalten ? Im Klartext würde doch in dem Blockly folgendes stehen: Falls Objekt "Temperatur" wurde geändert von z.B 22°C auf 23°C - Dann steuere Lampe mit 23 > 20 Das macht doch keinen Sinn ? ....oder habe das falsch verstanden ;-) ?
@haus_automation
@haus_automation 4 жыл бұрын
Du musst das Ergebnis davon noch auswerten. 23 > 20 === wahr. Und das Ergebnis davon wird übergeben. Das wird von innen nach außen aufgelöst vor der Ausführung. Also ja, das ist korrekt.
@haus_automation
@haus_automation 4 жыл бұрын
Wenn ich Dich frage, ob 4 + 5 == 9 ist, dann löst Du die eine Seite der Gleichung ja auch erst auf und vergleichst dann. Und so ist das hier auch. Wenn man steuere mit „4 + 5“ zusammenbaut, wird das ja auch erst berechnet und dann 9 übergeben.
@martink.573
@martink.573 4 жыл бұрын
@@haus_automation ah, alles klar...Vielen Dank für die Antwort. Aber für den Laien ist das doch schon etwas tricky die Logik auf den ersten, bzw...zweiten und dritten Blick zu durchschauen ;-)
@haus_automation
@haus_automation 4 жыл бұрын
Eigentlich ist es immer die gleiche Reihenfolge. Es wird nur optisch anders dargestellt.
@thorstenst.530
@thorstenst.530 4 жыл бұрын
Ein Teil wusste ich, aber der 3. Tip war genial
@haus_automation
@haus_automation 4 жыл бұрын
Wenn man das einmal verinnerlicht hat, kann man damit extrem viel Code/Blöcke sparen ;)
@cardia9121
@cardia9121 4 жыл бұрын
danke... wieder was gelernt!
@martinp.5488
@martinp.5488 4 жыл бұрын
Super Hilfreich, werde betroffene Skripte anpassen 👍🏻
@PilzRocker
@PilzRocker 4 жыл бұрын
Ich hab das optimierte ausprobiert, aber aus welchen Gründen auch immer bleiben meine Lampen mit Bewegungsmeldern dann einfach an. Musste ich erstmal wieder zurückbauen. Ich überlege jetzt eventuell mir mal die Master Class zu gönnen :D
@marcb745
@marcb745 3 жыл бұрын
Sehr gut, danke.
@klausdeist
@klausdeist 3 жыл бұрын
Wie immer, sehr gut, danke dir. Wie macht man das am geschicktesten mit einen Taster, wo der Wert vom Taster nur kurz von false auf true wechselt, die Lampe aber schalten soll.
@haus_automation
@haus_automation 3 жыл бұрын
Kommt drauf an was man vor hat. Am einfachsten mit dem umschalten Baustein. Beispiele dafür habe ich im ioBroker Master Kurs gezeigt
@MagicMatze
@MagicMatze 4 жыл бұрын
das Beispiel in 5:20 funktioniert nicht wenn der Eingangswert "Button=false" ist. Denn dann würde die Lampe trotzdem angehen. Bei 6:15 passt es dann wieder, da der Wert vom button 1:1 übergeben wird. Aber sonst TOP!
@haus_automation
@haus_automation 4 жыл бұрын
Wenn man auf false prüfen möchte, packt man ein „nicht“ dazwischen. Aber nicht mit false vergleichen 😉
@ElmoS04
@ElmoS04 4 жыл бұрын
Hallo Gutes Video. Ich habe meine alles so wie deine am Anfang. Werde jetzt alle mal durchgehen und es ausprobieren.
@haus_automation
@haus_automation 4 жыл бұрын
Viel Erfolg dabei :) Freut mich, wenn ich helfen konnte
@carstensauermann6841
@carstensauermann6841 Жыл бұрын
Bei mehreren Triggern kann man das aber nicht verwenden oder? Denn in dem Wert steht dann immer der Wert des jeweiligen Trigger. Sehe ich das richtig?
@haus_automation
@haus_automation Жыл бұрын
Ja, aber über die Objekt ID kann man ja rausfinden welcher Datenpunkt den Trigger ausgelöst hat
@teichdiver9623
@teichdiver9623 4 жыл бұрын
Bei 5:18 blicke ich nicht durch, wo ist denn da die Bedingung? Falls Wert=wahr, schalte Lampe mit wahr, aber würde das gleiche nicht auch bei wert=falsch passieren?
@kleztv1542
@kleztv1542 4 жыл бұрын
Wahr / falsch IST die Bedingung. Bedingungen müssen immer ein wahr oder falsch liefern. In der Programmierung löst ein "falls wahr" immer die "dann" Aktion aus. "Falls falsch" entsprechend die "sonst" Aktion. Man muß nicht "wenn Wert = wahr" abfragen wenn wahr oder falsch schon im Wert enthalten ist. Es reicht "wenn Wert". Das hat man irgendwann mal eingeführt um Programm Code und Aufwand zu sparen. Jetzt verstanden?
@teichdiver9623
@teichdiver9623 4 жыл бұрын
@@kleztv1542 Aha, alles klar, Danke. Das würde heissen, wenn bei einem Trigger nur bei "falls falsch" etwas ausgelöst werden soll, müsste ich entweder die "dann" Aktion leer lassen und nur die "sonst" Aktion verwenden, oder "nicht-Wert" bei der "dann" Aktion benutzen. Richtig?
@kleztv1542
@kleztv1542 4 жыл бұрын
@@teichdiver9623 Völlig richtig. "dann" leer lassen finde ich allerdings nicht sauber. Würde hier also mit "nicht Wert" arbeiten.
@teichdiver9623
@teichdiver9623 4 жыл бұрын
@@kleztv1542 Super, vielen Dank
@enzolorenzo2589
@enzolorenzo2589 4 жыл бұрын
Hi. Ist der Änderungstrigger beim loslassen des Buttons nicht wieder ein neuer mit "falsch"? Also ein "wahr" nur solange wie ich den Button drücke.
@haus_automation
@haus_automation 4 жыл бұрын
Das geht aus dem Beispiel hier nicht hervor :) Das sind ja nur fiktive Datenpunkte. Erstmal bin ich von einem Schalter ausgegangen, welcher den Status hält. Wäre es ein Taster, würde ich den trigger auf „wahr“ stellen und dann den „umschalten“ Block nutzen
@SpectrixPvP
@SpectrixPvP 4 жыл бұрын
Kann man mit Blockly unterfunktionen realisieren?
@haus_automation
@haus_automation 4 жыл бұрын
Ja, habe ich im Kurs auch erklärt. Kann dazu gerne aber noch ein paar praktische Beispiele machen
@andreb.8508
@andreb.8508 2 жыл бұрын
Moin, wie sehen deine aktuellen Kurse aus? sind die Aktuell? Bin gerade am Anfang von iobroker mit Blockly und nodered.
@haus_automation
@haus_automation 2 жыл бұрын
Der ioBroker Kurs wurde erst dieses Jahr neu aufgenommen 👍 NodeRed ist etwas in die Jahre gekommen, aber das Grundprinzip funktioniert noch genauso! Wird aber auch bald neu gemacht
@kophi5029
@kophi5029 4 жыл бұрын
Schade, dass die Möglichkeit von skriptübergreifenden Funktionen in Blockly fehlt..
@Xyolyp
@Xyolyp 4 жыл бұрын
Was meinst du mit Skriptübergreifenden Funktionen? Eigentlich lässt sich alles realisieren.
@haus_automation
@haus_automation 4 жыл бұрын
@@Xyolyp Na dass man eine Funktion nur einmal schreibt und in beliebig vielen Scripts wiederverwendet. Ich habe das so verstanden, dass es in meinem Video fehlt. Weil der JavaScript-Adapter erlaubt das ja.
@kophi5029
@kophi5029 4 жыл бұрын
Ne mir war das tatsächlich nicht bewusst. Dachte es geht nur mit JS Skripten. Nicht im Blockly Kontext. Video ist super ☺️👍 gerne mehr davon
@volkermeinzer1518
@volkermeinzer1518 4 жыл бұрын
Nur zum Verständnis, eigentlich überprüft man doch den zustand der Lampe und nicht den zustand des Buttons (Taster nicht Schalter) und je nach zustand der Lampe schaltet der Button (Trigger) die Lampe in den jeweils anderen zustand also wenn die Lampe "war" ist wird sie auf "falsch" gesetzt und umgekehrt.
@haus_automation
@haus_automation 4 жыл бұрын
In diesem Beispiel ist es ein Schalter und die Lampe wird immer synchronisiert. Mit einem Taster würde man mit dem „umschalten“ Baustein am schnellsten zum Ziel kommen
@volkermeinzer1518
@volkermeinzer1518 4 жыл бұрын
@@haus_automation Ok, dacht ich mir zwar schon, aber ein Button ist bei mir im Kopf ein Taster und das hat mich ein wenig irritiert :-) Vielen Dank und weiter so mit deinen lehrreichen und gut verständlichen Videos. LG Volker
@dreamman68
@dreamman68 4 жыл бұрын
ja danke, cooler Tipp aber wie verhält sich "Wert" wenn ich im Trigger mehrere auslösende ObjektIDs habe ? Dann muss ich ja im Script nochmals die Werte aus den Objekt-IDs holen. ???
@haus_automation
@haus_automation 4 жыл бұрын
Dann wäre die Frage, warum Du mehrere Datenpunkte als Trigger hast und was das Ziel dahinter ist. Und nein, der Trigger teilt dir auch mit, welches Objekt zur Auslösung geführt hat. Klar, wenn Du weitere Daten brauchst, dann musst Du die holen.
@dreamman68
@dreamman68 4 жыл бұрын
Na, zum Beispiel bei der Auswertung eines Xiaomi-Cubes. Trigger auf "RotateLeft, Rotate-Right und Shake" und danach nochmal die Falls-Abfrage was denn jetzt getriggert hat. Oder macht es Sinn jedes Event mit einem eigenen Trigger auszuwerten ?
@MrTakohara
@MrTakohara 4 жыл бұрын
Das erste Skript mit dem man die Lampe einschaltet geht bei meinem Taster, der nach der Betätigung auf true danach gleich wieder auf false zurück springt, nicht. In dem Fall geht meine Lampe nämlich dann an und gleich wieder aus. Also dann doch wieder eine einfache wenn-sonst Logik.
@haus_automation
@haus_automation 4 жыл бұрын
Oder ein einzelner Baustein mit „umschalten“
@MrTakohara
@MrTakohara 4 жыл бұрын
@@haus_automation Genial, den Baustein kannte ich noch gar nicht. Vielen Dank, geht jetzt. Bei meiner anderen Zigbee Steckdose musste ich noch ein kleines Delay rein machen, sonst hat die immer wieder abgeschalten mit dem "umschalten" Baustein. ist jetzt alles viel aufgeräumter :)
@nikolaikepsch3959
@nikolaikepsch3959 4 жыл бұрын
Ich arbeite als Automatisierungstechniler, und programmiere beinahe jeden Tag. Bei Blockly tue ich mich jedoch schwer. Ich wusste zum Beispiel nicht dass während einen Programmablaufs sich der Eingagswert ändern kann. Danke für das Video. Etwas anderes, gibt es eine Möglichkeit mit CoDeSys im iobroker zu programmieren. Ich habe bei der Arbeit CoDeSys auf einem Raspberry laufen. Wüste aber nicht wie ich die beiden zusammenführen könnte.
@andreasblum1320
@andreasblum1320 4 жыл бұрын
Hallo, was kann ich den machen, wenn ich mehrere IDs habe und die mit und/oder auswerte? Dann klappt der Trick nicht, dann muss ich wieder mit falls arbeiten oder? Grüße Andy
@haus_automation
@haus_automation 4 жыл бұрын
Das kommt ganz drauf an, was das Script machen soll. In „Wert“ steht ja immer der geänderte/neue Wert. Und über „ObjectID“ weißt Du dann ja wieder welche ID geändert wurde. Damit würde ich immer arbeiten. Also nur mit „Wert von Objekt ID“ arbeiten, wenn es ein Objekt ist, welches eben nicht ausgelöst hat.
@christianm.7535
@christianm.7535 4 жыл бұрын
Mit dem Wert des Triggers habe ich schon immer gearbeitet, aber das verkürzen, wenn es nicht nur wahr/falsch ist - also wie bei >20 - ist dann schon unübersichtlich und man muss mehfach hinschauen was gemeint ist, wenn man sich nach Monaten das Script wieder vornimmt. Danke für die gute Erklärung und gerne mehr davon!
@haus_automation
@haus_automation 4 жыл бұрын
Das kommt drauf an wie sehr man das übt und wie häufig man das macht :) In blockly muss ich mich auch dran gewöhnen, aber im Code ist das total gängig dass man das so macht.
@verdrahtet
@verdrahtet 3 жыл бұрын
Geb Christian hier recht! Würde es dennoch so wie Matthias programmieren und einfach nen Kommentar mit einbauen. Das hilft immer sehr!
@buntic131072
@buntic131072 4 жыл бұрын
Hallo vieleicht etwas Off Topic, ich wollte mir Deinen Iobroker Kurs kaufen dafür habe ich mich auf der Seite angemeldet doch ich bekomme keine Mail um meine Email Adresse zu bestätigen habe es einige male ausprobiert und auch sämtliche Ordner inclusive Spam bei mir durchgeschaut die Mail kommt nicht! Gibt es dort ein Problem?
@haus_automation
@haus_automation 4 жыл бұрын
Ja, mit deinem Mailpostfach. Gmx nimmt keine weiteren Mails an, weil Du keinen freien Speicher mehr hast :)
@TheBluelinux
@TheBluelinux 4 жыл бұрын
Hallo ... danke für das Video. Wie wären das kurze skript wenn man einen Taster hätte und eine Lampe damit schalten wollen würde?
@markushuesken1480
@markushuesken1480 4 жыл бұрын
Die Lampe leuchtet synchron zum Taster. Das Beispiel geht bei einem Taster nicht, da beim loslassen der Wert sich wieder ändert.
@haus_automation
@haus_automation 4 жыл бұрын
Indem man einfach den umschalten Baustein verwendet, ohne einen Wert zu übergeben
@TheBluelinux
@TheBluelinux 4 жыл бұрын
@@haus_automation dankeschön jetzt habe ich mein Skript extreme kürzen können. jetzt muss ich nur mal sehen wie ich eine gruppe bzw mehrere Lampen mit einem tastendruck umschalten kann. Benutze die Xiaomi taster mit der mehrfachbelegung und habe es immer so das wenn ich den taster lang drücke alle lampen in dem jeweiligen raum entweder an oder aus gehen. der baustein ist noch sehr lang leider. vielen dank für die hilfe.
@TheBluelinux
@TheBluelinux 4 жыл бұрын
@@markushuesken1480 jupp genau das war mein problem jetzt klappt aber alles dank der antwort von Mathias
@fabianstuke7399
@fabianstuke7399 3 жыл бұрын
Hallo möchte 1 schalter mit 2 Lampen verbinden wie geht das das sie 100% weiß sind?
@fabianstuke7399
@fabianstuke7399 3 жыл бұрын
Auf knopf Druck
@kimasbeck3349
@kimasbeck3349 4 жыл бұрын
Habe öfters Mal Probleme, dass ich über Zustandsänderungen von Schaltern etc doppelt/dreifach über Telegramm informiert werde. Werde die Scripts Mal nach diesen Tipps optimieren, Mal gucken, was rauskommt. Danke
@JottyOL
@JottyOL 4 жыл бұрын
Ja, super! Ich wäre nicht darauf gekommen, dass alle Werte im Script zur Verfügung stehen. Leider kann man den letzten Schritt mit über mqtt gesteuerten Aktoren nicht machen, da diese mit on/off statt true/false arbeiten, oder?
@haus_automation
@haus_automation 4 жыл бұрын
Ja, on/off ist halt ein String. Also eine Zeichenkette. Ist ein anderer Datentyp. Aber man könnte eine Inline-Bedingung einfügen und das entsprechend wandeln
@cp2279
@cp2279 4 жыл бұрын
Ein wirklich sehr gutes Video thematisch und auch redaktionell. Ich hoffe du machst noch mehr Videos von dieser Thematik. Eine Frage habe ich an dieser Stelle an dich: Wie kann ich relativ schnell herausfinden wo ein Taster/Aktor in meiner Blockly-Welt überall vorkommt? Beispielsweise hat die CCUx einen wirklich komfortablen Weg; Man klickt einfach beim jeweiligen Gerät auf den Button "Direkte" oder "Programme". Lieber Matthias, vielen Dank nochmals für deine Tipps die du hier gegeben hast. Ich werde das Thema gleich in meiner Blockly--Welt umsetzen.
@haus_automation
@haus_automation 4 жыл бұрын
Gute Frage, da kenne ich leider auch keinen schönen/einfachen Weg.
@Keepandippit
@Keepandippit 4 жыл бұрын
In der Liste deiner Scripts gibt es oben rechts ne Lupe zum suchen. Namen des Tasters/Aktors eingeben und es werden nurnoch die Scripte gelistet, wo der drin vorkommt. Öffnen per Doppelklick highlightet dir die Stelle dann sogar im Blocklycode selbst :)
@Keepandippit
@Keepandippit 4 жыл бұрын
Er findet die Datenpunkte aber nicht nur in Blockly sondern auch, wenn der Datenpunkt in reinen JS Scripten oder JS-Funktionsblöcken in Blockly verwendet wurde.
@haus_automation
@haus_automation 4 жыл бұрын
@@Keepandippit Ach stark! :) Habe ich noch nie genutzt - danke für den Tipp
@xmanmulder
@xmanmulder 3 жыл бұрын
In dem Beispiel mit der Temperatur kann man die Lampe aber nicht mehr ausschalten. Man kann auch zu viel wegnehmen.
@haus_automation
@haus_automation 3 жыл бұрын
Warum sollte das nicht mehr gehen?
@haus_automation
@haus_automation 3 жыл бұрын
(Ich entwickle beruflich seit über 15 Jahren Software, vertrau mir einfach dass das richtig ist) 😉
@xmanmulder
@xmanmulder 3 жыл бұрын
@@haus_automation Der Wert der geändert wurde, ist eine Temperaturangabe, also z.B. 20 (Grad). Du steuerst dann die Lampe mit Wert. Also steuerst du die Lampe mit 20! Hä? Mit dem Wert kannst du die Lampe weder ein noch aus schalten und ohne sonst könntest du auch sowieso nur einen Zustand schalten.
@haus_automation
@haus_automation 3 жыл бұрын
Das hast Du falsch verstanden. Welche Stelle meinst Du genau?
@haus_automation
@haus_automation 3 жыл бұрын
Bei 6:04 steuere ich die Lampe mit Wert an, richtig. Allerdings mit dem Wert aus dem Button-Trigger. Heißt: Da kann nur true oder false kommen
@WTma0812
@WTma0812 4 жыл бұрын
Gibt es solche ähnlichen Tipps auch bei FHEM?
@haus_automation
@haus_automation 4 жыл бұрын
Bestimmt :) Aber dazu habe ich generell schon soooo viel gezeigt, dass ich alles nur wiederholen würde
@marcb745
@marcb745 3 жыл бұрын
Ist es möglich über Blockly einen Wert per Mqtt, an ein D1 Mini Tasmota Display mit Display zu senden? Ich komme auf keinen grünen Zweig. Ein Video dazu wäre sehr interessant.. Gruß Marc
@haus_automation
@haus_automation 3 жыл бұрын
Jau klar, das Display einfach in Tasmota richtig konfigurieren, dann schauen wie der cmnd dafür ist um die Zeilen anzusteuern und dann diesen per MQTT Adapter einfach senden. Wo genau hängst Du denn?
@marcb745
@marcb745 3 жыл бұрын
@@haus_automation wenn das mal so einfach wäre.Falls Du mal Lust und Laune hast, könntest du ja dazu ein Video machen, würde bestimmt vielen Leuten helfen.
@haus_automation
@haus_automation 3 жыл бұрын
@@marcb745 Im Prinzip ist es so einfach :)
@TheMrTalliban
@TheMrTalliban 4 жыл бұрын
Definitiv schöner und schlanker. Der Performancevorteil ist aber vermutlich vernachlässigbar.
@haus_automation
@haus_automation 4 жыл бұрын
Wahrscheinlich schon, wobei natürlich auch der Controller entlastet wird, da er weniger häufig Anfragen nach Werten bekommt. Und die Logiken laufen zuverlässiger, da mit den Werten des Triggers gearbeitet wird. Theoretisch könnte sich der Wert ja sonst jederzeit wieder verändern. Das führt zu komischen Effekten (mal gehts, mal nicht)
@tagi8988
@tagi8988 4 жыл бұрын
Den zweiten Teil mit der Temperatur verstehe ich nicht. Es wird doch auf einen Zahlenwert geprüft. Also steht doch im Wert eine Zahl (=Temperatur). Dann bringt es mir doch nix zu schreiben „Steuere Lampe mit Wert“
@stefanschlegel9129
@stefanschlegel9129 4 жыл бұрын
Ein Vergleich gibt immer WAHR oder FALSCH zurück. Mit diesem WAHR oder FALSCH wird dann die Lampe angesteuert.
@haus_automation
@haus_automation 4 жыл бұрын
Nein, die Lampe wird mit dem Ergebnis von "Wert > 20" angesteuert. Und das Ergebnis davon ist true (wahr) oder false (falsch). Am Ende ist es genau das gleiche wie in den Bedingungen.
@haus_automation
@haus_automation 4 жыл бұрын
Generell ist es genau das, was man verinnerlichen muss. Du könntest auch in einer Bedingung schreiben: Wert > 20 == wahr == wahr == wahr == wahr == wahr == wahr == wahr ..... Aber die ganzen == wahr lassen sich halt "wegkürzen". Das ist nicht falsch - nur eben überflüssig.
@AndreasRiddering
@AndreasRiddering 4 жыл бұрын
@@haus_automation Ich glaub, dass das mit dem wahr == wahr == wahr == ... jetzt eher noch verwirrend ist... ;-) (Nicht für mich als ITler...)
@haus_automation
@haus_automation 4 жыл бұрын
@@AndreasRiddering Ich glaube ich muss das Thema nochmal von Anfang an erklären :)
@markuslippert416
@markuslippert416 2 жыл бұрын
Versuch macht klug leider futzt es bei mir nicht, habe schon en bisschen was gemacht bin aber immer noch sehr unwissend in dem Tehma. ichn nutze Taster und die sendemn halt nur für 1 Sec war und springendan zurük auf falsch daher gets bei mir so nicht es blitzt nur mal kurtz aber eigent lich logisch schade.
@haus_automation
@haus_automation 2 жыл бұрын
Dann verwendest Du den umschalten Baustein bei true. Fertig ✅
@friedrich1277
@friedrich1277 4 жыл бұрын
Dass man das Objekt des Triggers direkt nutzen kann, wusste ich auch noch nicht. Aber auch wenn ich mit Javascript bisher eher weniger zu tun hatte und deswegen Blockly sehr gern nutze, ist es selbst dafür einfach sehr von Vorteil, wenn man schon mal programmiert hat und all die Schleifen und bedingte Anweisung schon mal selbst geschrieben hat. Aber eine Frage habe ich dazu noch: Mal angenommen, du hast 5 KZbin-Lampen, die jeweils einen Schalter haben. Gibt es eine Möglichkeit das Blockly-Script für verschiedene Geräte zu nutzen? Also z.B. KZbin.0.Wohnzimer.Lampe, KZbin.0.Küche.Lampe, KZbin.0.Flur.Lampe usw.
@SvenKammann
@SvenKammann 4 жыл бұрын
Danke !!
@johnonsnow1
@johnonsnow1 2 жыл бұрын
Oh wow, endlich einer der mit Köpfchen arbeitet! Das ist 1000 mal logischer. Ich hätte da eine andere Frage bezüglich Blockly: meine Tasmota-Steckdose gibt mir im IO-Broker als Sensor folgenden Wert aus {"Time":"2022-03-27T00:37:28","ENERGY":{"TotalStartTime":"2022-03-21T15:20:16","Total":12.034,"Yesterday":2.180,"Today":0.057,"Period": 1,"Power":86,"ApparentPower":125,"ReactivePower":91,"Factor":0.69,"Voltage":228,"Current":0.549}} wie kann ich damit in Blockly arbeiten? finde leider nichts dazu. Vielen Dank schonmal und mach bitte weitere Videos auf diesem Level!
@haus_automation
@haus_automation 2 жыл бұрын
Du musst den String in ein Objekt konvertieren. Dafür gibt es den Baustein „JSON zu Objekt“. Schau mal in den ioBroker Master Kurs. Da ist genau dafür ein Beispiel enthalten.
@ImmanuelSchade
@ImmanuelSchade 4 жыл бұрын
hmmm mir fehlt da die genauere Erklärung was was an welcher stelle auslöst .... ok ich bin Anfänger
@haus_automation
@haus_automation 4 жыл бұрын
Okay, das Video richtiget sich ja auch mehr fortgeschrittene Nutzer, welche bereits einige Scripts gebaut haben und diese jetzt verbessern möchten. Für Anfänger würde ich den ioBroker Master Kurs empfehlen, welcher von Anfang an startet und alle Basics aufzeigt, bis zu fortgeschrittenen Themen
@petterpet24
@petterpet24 4 жыл бұрын
Super Video und für viele sicherlich hilfreich! Kurze Frage: Woher kommt der "Geräte"-Tab im ioBroker?
@haus_automation
@haus_automation 4 жыл бұрын
Kurze Antwort: Vom Device-Adapter :)
@gordenfreeman988
@gordenfreeman988 4 жыл бұрын
Sehr gut
@tzoumaz40
@tzoumaz40 4 жыл бұрын
Das war schon lange mal überfällig. Bei manchen Scripten sträuben sich einem die Nackenhaare. Aber zugegeben: Programmierer sind hier klar im Vorteil. Mich stört an Blockly dieses Eingedeutschte. Wenn man die Systemsprache auf Englisch umstellt ist das flüssiger.
@kleztv1542
@kleztv1542 4 жыл бұрын
Stimmt. Mich stört nichtmal DAS es auf deutsch übersetzt ist, sondern WIE. "Falls - mache" ist einfach schlechtes deutsch und liest sich auch im Kontext bescheuert: "Falls XY mache steuere...". Warum hat man es nicht einfach klassisch direkt übersetzt in "Wenn - dann". "Wenn XY, dann steuere..." macht viel mehr Sinn. Gibt noch mehr solche Beispiele. Ich vermute deutsch war nicht die Muttersprache des Übersetzers...
@tugsi76
@tugsi76 4 жыл бұрын
@@kleztv1542 andersherum gefragt, kann ich denn Blockly alleine auf englisch setzen? Ich stimme dir mit der Übersetzung voll zu, komme aus der SPS-Technik und ich finde dieses Falls.. dann sehr unglücklich, verwirrt meist.
@kleztv1542
@kleztv1542 4 жыл бұрын
@@tugsi76 Ich glaube das geht leider nicht. Man kann die Systemsprache auf Englisch umstellen, aber das gilt dann halt für alles.
@Kollabo1989
@Kollabo1989 4 жыл бұрын
kann mir wer sagen wie das ist mit dem "wert" baustein wenn man ein "falls Objekt" baustein mit 2 objekten hat ?
@haus_automation
@haus_automation 4 жыл бұрын
Genauso. Es löst ja trotzdem immer nur ein Objekt den trigger aus. Welches Objekt das ist, bekommt man übrigens über den gleichen Baustein raus. Einfach nur „Objekt ID“ wählen.
@christinaseelig4548
@christinaseelig4548 4 жыл бұрын
Ich kam, sah und lernte.
@haus_automation
@haus_automation 4 жыл бұрын
Jetzt auf Latein 😉
@heinervahle573
@heinervahle573 Жыл бұрын
@@haus_automation Veni, vidi, didici
@thorstenkramer8562
@thorstenkramer8562 4 жыл бұрын
Hei. Also ich habe mein Skript zur Steuerung von 9 "Geräten" mittels eines Xiaomi Doppel Wandtasters (9 Eventmöglichkeiten) gemäß deiner Vorstellung vereinfacht. Habe aber 2 Probleme 1) Manchmal regiert die Lampe nicht. z.B. Bereich "Kochbereich" 1x links drücken. Wert geht auf 1002 aber die Lampe geht nicht an. Beim 2ten oder 3ten mal geht es dann 2) Ein Event habe ich auf eine Szene gesetzt. Die Szene ist eine Spotreinigung des Xiaomi Saugers. Im Bild z.B. "Saugen Küche". Das macht er beim Eventwert 2004. Der Sauger startet. Aber wenn er wieder zurück kommt startet er den Vorgang erneut. Warum? ibb.co/D793nPm
@haus_automation
@haus_automation 4 жыл бұрын
Das sieht erstmal komplett richtig aus. Auch, wenn ich eher mit „sonst falls“ arbeiten würde. So wird jedes Mal jede Bedingung geprüft, auch wenn nur die erste zutrifft zB. Die Frage wäre woran das liegen könnte. Wird denn ganz sicher der Datenpunkt immer aktualisiert?! Ich würde mal ein paar debug Bausteine einbauen um zu schauen was dort wirklich wann ankommt
@IggePop
@IggePop 4 жыл бұрын
Für mich als Software-Entwickler zwar trivial, aber ein schönes Video für Anfänger!
@Eulhofer
@Eulhofer 4 жыл бұрын
Hallo Matthias, das ist mal wieder richtig hilfreich - was mich noch interessiert/irritiert: Kann "Wert" alle möglichen Datentypen annehmen? Wenn ein "Ein-/Aus-Zustand" getestet wird, dann ist "true" und "false" nachvollziehbar. Aber woher weiß ich, ob so eine Temperaturangebe als Zahl oder als String daher kommt? Gibt es bei Blockly auch irgendeine Funktion/Option, dass ich mir ansehen kann, was so passiert? In NodeRed kann man so schön mit dem "Debug-Node" forschen... Viele Grüße, Wolfgang
@haus_automation
@haus_automation 4 жыл бұрын
Jau „Wert“ ist nur eine Variable. Darin kann alles enthalten sein, was im Datenpunkt von deinem trigger auch erlaubt ist
@kaibandt3407
@kaibandt3407 4 жыл бұрын
Hallo Matthias, die Herangehensweisen finde ich interessant und auch logisch. Mir als Rookie ist aber noch nicht ganz klar wie ich einen Datenpunkt erzeuge?!
@SpiderkillerStef
@SpiderkillerStef 4 жыл бұрын
Wenn du das so zeigst - völlig logisch - so habe ich das aber noch nie gesehen als ich angefangen habe mit den Blocklys. Selber würde ich auf sowas nicht kommen und halte mich eben an alte Verhaltensweisen. Hab schon davon gelernt und setzte deinen Tip demnächst um. Ob ich selbst auch Optimierungsmöglichkeiten erkenne??? Ich glaub ja nicht. Danke
@Papapusteblume
@Papapusteblume 4 жыл бұрын
ÄH, bitte MEEEEEHHHHHHRRRRR Davon!!!!
@doubleu2170
@doubleu2170 4 жыл бұрын
Again what learned :-))
@googleuser4896
@googleuser4896 4 жыл бұрын
Das Problem ist eher, das Anfänger gar nicht wissen das "wert" oder zusätzliche Parameter in den Trigger Block als Variablen übergeben werden. Das müsste mmn wesentlich offener kommuniziert werden.
@haus_automation
@haus_automation 4 жыл бұрын
Genau richtig. Und dass man überall nur Scripts sieht, welche Fragen enthalten. Selten werden ja gute Lösungen vorgestellt oder geteilt. Also lernt man am Anfang direkt auf der „falschen“ Basis und ist froh, wenn überhaupt irgendwas läuft
@Basteleddie
@Basteleddie 4 жыл бұрын
again what learned :-D
@MrElofix
@MrElofix 4 жыл бұрын
ROFL learned something new again ;)
@enrikethdjc1493
@enrikethdjc1493 4 жыл бұрын
Ich würde dir mehrere 👍🏼geben
@erforscht
@erforscht 4 жыл бұрын
Mist. Das hatte ich auch vor 😁 Warst schneller 😂 Dein erstes Beispiel geht sogar noch einfacher. Einfach unter Objekte das "binde Objekt mit Objekt" erstellen und mit beiden Datenpunkten Verknüpfen. Mehr brauch man nicht. Also einfach "nur" das eine blaue Blockly. Super erklärt 😄
@haus_automation
@haus_automation 4 жыл бұрын
Ja, „binde“ wollte ich nicht mit reinnehmen, da man da keine weiteren Regeln hinzufügen kann bzw dann wieder auf trigger umbauen muss. Da finde ich das die bessere Basis.
@D4vE_de
@D4vE_de 4 жыл бұрын
Hammer vid Abo is raus danke hab was gelernt
@Skyletwings
@Skyletwings 4 жыл бұрын
Gibt es denn IRGENDWEN, der einen booleschen Wert jemals mit "If wert = true ... else if wert = false ..." prüfen würde?? Das "Beispiel" wirkt doch ziemlich an den Haaren herbeigezogen, nur für den Effekt einer dramatischen Verkürzung. :-D
@haus_automation
@haus_automation 4 жыл бұрын
Ja, hunderte Leute. Schau mal ins Forum oder auf Facebook. Sind halt keine Entwickler, sondern normale Anwender... Da macht man das, was man wo anders schonmal gesehen hat. Einfach mal eine Zeit in der ioBroker Community bewegen ;) Dadurch dass ich das hunderte Male so gesehen habe, ist dieses Video ja entstanden
@Skyletwings
@Skyletwings 4 жыл бұрын
@@haus_automation Oooh, da habe ich mich wohl nicht genug informiert. Bin da ja (noch) kein Mitglied (billige Ausrede, ich weiß). Dann bitte ich um Entschuldigung. Aber dennoch kann ich mir nicht vorstellen, wie man auf so eine Idee kommen kann, auch als Anwender. :-D Warum sollte man mit "else if" gegen einen zweiten Wert prüfen, wenn es doch nur einen geben kann.
@haus_automation
@haus_automation 4 жыл бұрын
Naja - frag doch mal jemanden ohne technisches Verständnis im Familienumfeld danach :) Dann wird das schnell klar.
@Skyletwings
@Skyletwings 4 жыл бұрын
@@haus_automation Das meinte ich aber schon, auch ohne technisches Verständnis: "Prüf, ob der Knopf gedrückt ist. Wenn ja ... sonst ...". Schon bei der theoretischen Überlegung kommt gar keine Alternativprüfung vor. Die muss man doch gezielt auswählen und das kommt nur dann in Betracht, wenn es mindestens 3 unterscheidbare Zustände gibt. Aber naja, die erschreckende Realität straft einen Lügen. :-(
@blockmove3
@blockmove3 4 жыл бұрын
"steuere lampe mit (Wert > 20)" ist kurz und effizient, aber - meiner Meinung nach - schlecht bzw. langsamer lesbar. Bei If-Then erschliesst sich die Logik schneller. Verkürzen ist nicht immer sinnvoll. Irgendwann landet man bei den berüchtigten Einzeilern.
@haus_automation
@haus_automation 4 жыл бұрын
Das ist nur Gewohnheit, aber das sieht jeder etwas anders und jeder hat da auch andere Vorlieben. Ganz normal :) Wenn Du Dich mit der anderen Lösung besser fühlst, dann mach es weiter so 👍
@blockmove3
@blockmove3 4 жыл бұрын
Man sollte daran denken, dass auch ein anderer die Logik schnell und einfach nachvollziehen kann. Daran denken viele im Bereich Smarthome nicht.
@haus_automation
@haus_automation 4 жыл бұрын
@@blockmove3 Viel allgemeiner konntest Du das nicht mehr formulieren, oder? :)
@rudibrand2650
@rudibrand2650 3 жыл бұрын
ich tat mit anfangs auch schwer das zu lesen, aber man gewöhnt sich dran. Und im Zweifel hänge ich einen Kommentar dazu in dem ich mit meinen Worten die Funktion beschreibe... Schnelle sollte der Cod auf jeden fall werden und die Last im System verringern
@talannas
@talannas 4 жыл бұрын
Schönes Video, wie immer super erklärt :) Die Verknüpfung von Button- und Lampe-Status geht aber noch einfacher mit dem Binde-Block :D github.com/ioBroker/ioBroker.javascript/blob/master/docs/de/blockly.md#bind-states
@haus_automation
@haus_automation 4 жыл бұрын
Ich weiß, wollte ich auch erst zeigen, aber dann kann man keine weiteren Bedingungen einfügen usw. Ich hatte noch nie den Fall, dass ich das immer und zu jeder Zeit 1:1 verknüpfen wollte.
@CallcenterAbzocke
@CallcenterAbzocke 3 жыл бұрын
Jetzt ist mein Gehirn ausgestiegen 😂
@haus_automation
@haus_automation 3 жыл бұрын
Mh, das tut mir leid 😕
@mnemo70
@mnemo70 4 жыл бұрын
Oooooh! Umgezogen?
@haus_automation
@haus_automation 4 жыл бұрын
Jau, aber noch viel zu tun
@mnemo70
@mnemo70 4 жыл бұрын
@@haus_automation Kenn ich. ;) Viel Erfolg! Gibts irgendwann mal ne Außenansicht und House Tour?
@clarajosephine3295
@clarajosephine3295 4 жыл бұрын
Jetzt fühl ich mich dumm XD
@haus_automation
@haus_automation 4 жыл бұрын
Das war nicht meine Absicht 🙁
@raf8697
@raf8697 3 жыл бұрын
wieder was gelernt danke
Multihost-System im ioBroker aufsetzen
12:54
haus:automation
Рет қаралды 32 М.
Trigger und Zeitpläne im ioBroker - wichtige Grundlagen!
22:32
haus:automation
Рет қаралды 82 М.
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН
Chain Game Strong ⛓️
00:21
Anwar Jibawi
Рет қаралды 41 МЛН
Arduino programmieren mit ChatGPT o1 fühlt sich an wie SCHUMMELN!
15:25
Vermeide diese Blockly-Fehler
24:36
haus:automation
Рет қаралды 28 М.
ioBroker-Grundlagen! Datenpunkte richtig auswerten und setzen!
15:22
haus:automation
Рет қаралды 79 М.
JavaScript-Adapter - neue Blöcke und Features
7:03
haus:automation
Рет қаралды 15 М.
NFC-Tags mit Apple Shortcuts im ioBroker
14:48
haus:automation
Рет қаралды 31 М.
AI Is Making You An Illiterate Programmer
27:22
ThePrimeTime
Рет қаралды 99 М.
Video-Überwachung mit Frigate in Home Assistant
18:53
haus:automation
Рет қаралды 14 М.