Тёмный

Optimiere Deine Blockly-Scripts (ioBroker) 

haus:automation
Подписаться 123 тыс.
Просмотров 34 тыс.
50% 1

⬇ ⬇ Alle Befehle und weitere Informationen im Blog-Beitrag weiter unten in der Infobox ⬇ ⬇
➤ 👨‍🎓 ioBroker-Master-Kurs: haus-automatis...
➤ 👨‍🎓 Gratis MQTT-Kurs: haus-automatis...
➤ Blog-Beitrag: haus-automatis...
▬ Mehr zum Thema ▬▬▬▬▬▬▬
Tutorials / Online-Kurse:
👨‍🎓 haus-automatis...
Podcast (Draht zu smart):
🔈 haus-automatis...
Newsletter:
✉️ haus-automatis...
Zweitkanal:
🎬 / @kleineszuhause
▬ Social Media ▬▬▬▬▬▬▬
Instagram: / haus_automation
Facebook: / hausautomatisierungcom
LinkedIn: / hausautomatisierungcom
Patreon: / haus_automation
GitHub: github.com/kle...
#smarthome #homeautomation #iobroker

Опубликовано:

 

3 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 197   
@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
@daskasspatzle2396
@daskasspatzle2396 4 года назад
Wusste nicht, daß im Trigger das Objekt mitgegeben wird, also was gelernt :-) LG
@tobiasw83
@tobiasw83 Год назад
Wow. Musste paar mal zurück spulen aber sehr hilfreich wenn man es verstanden hat.
@arek2000
@arek2000 3 года назад
Super, vielen Dank. So langsam, wird es verständlicher, dank deines Videos.
@andyr.459
@andyr.459 4 года назад
Toll, vielen Dank. Gern mehr Tipps zu Blockly und vllt. zu den Möglichkeiten....
@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
@gpetitjaque
@gpetitjaque 4 года назад
Sehr wichtige Hinweise zur Optimierung. Danke dafür. Ressourcen kann man auf Raspberry Pis nicht genug sparen.
@domenicobst3256
@domenicobst3256 2 года назад
Bin kompletter Anfänger und habs verstanden. Top Video 👍🏻
@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 ;)
@svennolte4890
@svennolte4890 4 года назад
sehr gut und eindeutig beschrieben. Ich habe selbstverständlich auch diese Fehler gemacht und werde meine Skripte anzupassen.
@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 ! 😊👍
@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...
@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
@and1h801
@and1h801 3 года назад
Ich habe auf jedenfall was gelernt, gerne mehr davon!
@nobolnobol1630
@nobolnobol1630 4 года назад
Ohhhh man, hätte ich das mal am Anfang meiner Programmierungen gewusst. Vielen Dank !!!
@martinburkhardt5969
@martinburkhardt5969 2 года назад
Wieder was gelernt :).
@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.
@TomDobler
@TomDobler 4 года назад
Super erklärt. Ich finde eh Blockly Tutorials spitze
@johangoethe2175
@johangoethe2175 4 года назад
Vielen Dank! Viel gelernt, Bitte mehr Videos zum Thema Blockly
@albifenner5535
@albifenner5535 4 года назад
Wie immer sehr informativ und lernreich. Super, besten Dank hierfür.
@martinp.5488
@martinp.5488 4 года назад
Super Hilfreich, werde betroffene Skripte anpassen 👍🏻
@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. 😁
@raf8697
@raf8697 3 года назад
wieder was gelernt danke
@martink.573
@martink.573 4 года назад
Tolles Video! Ich konnte dadurch viele Blockly's von mir ganz schön verschlanken!!! Super! :-)
@technikworld3888
@technikworld3888 4 года назад
So hab ich es noch nie gesehen aber ist ein guter Tipp
@emzwei1317
@emzwei1317 3 года назад
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 3 года назад
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
@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.
@Xer777Xes
@Xer777Xes 4 года назад
Vielen Dank für deine Tipps. Ich wünsche mir noch mehr Tipps!
@mgaensle
@mgaensle 4 года назад
Super ! Bitte mehr von diesen Tips!
@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 ;)
@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 :)
@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 ;)
@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
@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 ;)
@ogerix88
@ogerix88 4 года назад
Danke! Bitte mehr Videos in der Richtung :)
@marcb745
@marcb745 3 года назад
Sehr gut, danke.
@IggePop
@IggePop 4 года назад
Für mich als Software-Entwickler zwar trivial, aber ein schönes Video für Anfänger!
@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.
@Jodeldidel
@Jodeldidel 3 года назад
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 3 года назад
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 3 года назад
@@haus_automation Danke, für die schnelle Antwort.
@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
@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.
@TheMrTalliban
@TheMrTalliban 3 года назад
Definitiv schöner und schlanker. Der Performancevorteil ist aber vermutlich vernachlässigbar.
@haus_automation
@haus_automation 3 года назад
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)
@MagicMatze
@MagicMatze 3 года назад
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 3 года назад
Wenn man auf false prüfen möchte, packt man ein „nicht“ dazwischen. Aber nicht mit false vergleichen 😉
@kekzmobile
@kekzmobile 4 года назад
Sehr hilfreich. Danke!
@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
@ChrisTian-zr2nm
@ChrisTian-zr2nm 4 года назад
Was gelernt :) Gern mehr davon!
@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
@brisardo
@brisardo 4 года назад
Gerne mehr davon :)
@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 2 года назад
Geb Christian hier recht! Würde es dennoch so wie Matthias programmieren und einfach nen Kommentar mit einbauen. Das hilft immer sehr!
@Papapusteblume
@Papapusteblume 4 года назад
ÄH, bitte MEEEEEHHHHHHRRRRR Davon!!!!
@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.
@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
@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
@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
@klausdeist
@klausdeist 2 года назад
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 2 года назад
Kommt drauf an was man vor hat. Am einfachsten mit dem umschalten Baustein. Beispiele dafür habe ich im ioBroker Master Kurs gezeigt
@christinaseelig4548
@christinaseelig4548 4 года назад
Ich kam, sah und lernte.
@haus_automation
@haus_automation 4 года назад
Jetzt auf Latein 😉
@heinervahle573
@heinervahle573 Год назад
@@haus_automation Veni, vidi, didici
@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.
@SvenKammann
@SvenKammann 4 года назад
Danke !!
@gordenfreeman988
@gordenfreeman988 4 года назад
Sehr gut
@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
@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
@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 :)
@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
@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?!
@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
@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
@Basteleddie
@Basteleddie 4 года назад
again what learned :-D
@MrElofix
@MrElofix 4 года назад
ROFL learned something new again ;)
@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
@markuslippert416
@markuslippert416 Год назад
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 Год назад
Dann verwendest Du den umschalten Baustein bei true. Fertig ✅
@carstensauermann6841
@carstensauermann6841 11 месяцев назад
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 11 месяцев назад
Ja, aber über die Objekt ID kann man ja rausfinden welcher Datenpunkt den Trigger ausgelöst hat
@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 :)
@andreb.8508
@andreb.8508 Год назад
Moin, wie sehen deine aktuellen Kurse aus? sind die Aktuell? Bin gerade am Anfang von iobroker mit Blockly und nodered.
@haus_automation
@haus_automation Год назад
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
@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.
@andreasblum1320
@andreasblum1320 3 года назад
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 3 года назад
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.
@martink.573
@martink.573 3 года назад
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 3 года назад
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 3 года назад
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 3 года назад
@@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 3 года назад
Eigentlich ist es immer die gleiche Reihenfolge. Es wird nur optisch anders dargestellt.
@enrikethdjc1493
@enrikethdjc1493 4 года назад
Ich würde dir mehrere 👍🏼geben
@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 :)
@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 ?
@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 RU-vid-Lampen, die jeweils einen Schalter haben. Gibt es eine Möglichkeit das Blockly-Script für verschiedene Geräte zu nutzen? Also z.B. RU-vid.0.Wohnzimer.Lampe, RU-vid.0.Küche.Lampe, RU-vid.0.Flur.Lampe usw.
@Eulhofer
@Eulhofer 3 года назад
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 3 года назад
Jau „Wert“ ist nur eine Variable. Darin kann alles enthalten sein, was im Datenpunkt von deinem trigger auch erlaubt ist
@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 :)
@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
@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
@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
@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
@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
@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 :)
@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.
@Skyletwings
@Skyletwings 3 года назад
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 3 года назад
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 3 года назад
@@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 3 года назад
Naja - frag doch mal jemanden ohne technisches Verständnis im Familienumfeld danach :) Dann wird das schnell klar.
@Skyletwings
@Skyletwings 3 года назад
@@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. :-(
@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
@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
@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 3 года назад
Jetzt fühl ich mich dumm XD
@haus_automation
@haus_automation 3 года назад
Das war nicht meine Absicht 🙁
@cardia9121
@cardia9121 4 года назад
danke... wieder was gelernt!
Далее
Multihost-System im ioBroker aufsetzen
12:54
Просмотров 32 тыс.
Airpod Through Glass Trick! 😱 #shorts
00:19
Просмотров 2,7 млн
Calculate power consumption in ioBroker
20:36
Просмотров 25 тыс.
Vermeide diese Blockly-Fehler
24:36
Просмотров 27 тыс.
Müllabholungen im ioBroker - neuer Adapter
14:44
Просмотров 72 тыс.