[TUT] openHAB - Erste Schritte im Blockly-Editor [4K | DE]

Поделиться
HTML-код
  • Опубликовано: 10 авг 2022
  • openHAB - Erste Schritte im Blockly-Editor
    ##########################
    Um unser Zuhause wirklich smart zu machen, brauchen wir Abläufe.
    Doch nicht alles lässt sich simpel mit zwei Klicks erledigen.
    Für einige müssen wir unsere eigenen Scripte anfertigen.
    Sehr einfach geht das mit dem Blockly-Editor.
    Wie dieser funktioniert und wie du damit deine eigenen Scripte ohne eine Zeile Code zu schreiben anfertigen kannst, zeige ich dir hier im Video.
    ##########################
    Meine Beispiele findest du hier:
    hoerli.net/openhab-einfache-s...
    ##########################
    Telegram-Kanal:
    t.me/HoerliDE
    Mastodon:
    mastodon.social/@hoerli
    Minds.com:
    www.minds.com/Hoerli/
    SteemIt:
    steemit.com/@hoerli
    Homepage:
    hoerli.net
    GameServers:
    gamemania.org
    Livestreams:
    hoerli.net/livestream/
    Facebook:
    / hoerli
    Twitter:
    / hoerlide
    ##########################
    Videoinfo
    Auflösung: 3840x2160
    FPS: 60
    Datenrate: 45000kbps
    Audio: 320kbps

Комментарии • 15

  • @ChristianNiegl71
    @ChristianNiegl71 8 месяцев назад +1

    Toll und verständlich erklärt mit guten Beispielen aus der Praxis - Vielen Dank dafür!

  • @simuAB7
    @simuAB7 Год назад +1

    Super erklärt, habe es noch erweitert, das ich eine Telegram Nachricht aufs Handy bekomme

  • @jorgrabach4973
    @jorgrabach4973 Год назад +1

    Danke, sehr gute Blockly - Erklärung

  • @rexxxx1984
    @rexxxx1984 Год назад

    Hi, ich bin Programmierer für Industrielle Automation und habe bisher immer direkt die Skripts geschrieben. Wusste bislang nicht, dass OpenHab auch einen grafischen Editor hat. Danke für das Tut.
    Was dein letztes Beispiel angeht, also der Bewegungsmelder, da hast du einen Denkfehler so wie ich das sehe. Aktuell würde dir das Licht immer nach 45s aus gehen, egal ob noch wer im Raum ist oder nicht. Du musst da noch was einbauen, was entweder den Start des Timers verhindert oder den Timer so lange der Bewegungsmelder ON ist zurücksetzt. Auch ein erneuter Wechsel von OFF zu ON sollte die Zeit zurücksetzen, sonst geht dir als das Licht aus und an ;)
    Auch würde ich die Konstanten Werte, die du in die Skripte gemacht hast, als Item nach draußen auf die Sitemap legen, damit man die z.B. in einem Menü einstellen und verändern kann. Hier bei nicht vergessen, die Werte in eine DB zu sichern, nicht dass sie nach einem Stromausfall weg sind.

    • @HoerlisTutorials
      @HoerlisTutorials  Год назад

      Das mit dem Bewegungsmelder ist natürlich so nur ein einfaches Beispiel.
      Man könnte hier noch eine Schleife einbauen, die prüft, ob der Bewegugnsmelder noch an ist.
      Je nach Bewegungsmelder kann man dies aber direkt am Melder umsetzen.
      Mit einem Philips Hue kann ich z.B. das Script auf den Schaltstatus und Helligkeit reduzieren, da die Zeitsteuerung im Melder selbst geregelt wird.
      Man ist also recht flexibel was das angeht.
      Die einzelnen Werte in openHAB einzubinden, um dies z.B. vom Smartphone aus zu steuert, wäre der nächste Schritt den man dafür gehen kann. :)

    • @GerPantheraLeo
      @GerPantheraLeo Год назад

      Den letzten Wert eines Item kann man bei openHAB am einfachsten mit der MapDB-Persistence abspeichern. Die ist genau für den diesen Fall gemacht.

    • @rexxxx1984
      @rexxxx1984 Год назад

      @@GerPantheraLeo hi, danke für die Antwort, inzwischen weiß ich, dass man mehrere Datenbanken nutzen kann, zu dem Zeitpunkt dachte ich, dass immer nur eine geht, in der ich dann alles realisieren muss, weil man in der GUI von OpenHab nur eine auswählen konnte, dachte ich, es ist auch nur eine aktiv.

  • @ohno4496
    @ohno4496 Год назад

    Sehr gut. Danke!!! Endlich habe ich Blockly verstanden. Dass du im RZ-Temperaturbeispiel Variablen verwendest, finde ich zu Lernzwecken sehr gut - aber du hättest auch die `get state of item`-Werte direkt vergleichen können, oder?

    • @HoerlisTutorials
      @HoerlisTutorials  Год назад

      Freut mich dass das Video geholfen hat!
      Ich habe die Erfahrung gemacht, das manche Vergleiche besser und zuverlässiger über das nutzen von Variablen funktionieren.
      Nimmst du gleich den Status des Items, kann es passieren, das openHAB den Wert NULL ermittelt.
      Teilweise werden auch - wie im Beispiel - die Temperaturen in einem String übergeben und nicht als Number.
      Mit Hilfe einer Variable lässt sich das relativ einfach "fixen".

    • @ohno4496
      @ohno4496 Год назад

      @@HoerlisTutorials Danke für die fixe Antwort - immer gut die Details zu kennen :-)

  • @simuAB7
    @simuAB7 Год назад

    Super Video Super erklärt Danke dafür, kling alles auch logisch, bin erst vor kurzem in OpenHab eingestiegen. Bei mir wird nur das Blockly Skript nicht ausgeführt, muss man da noch was Installieren?

    • @HoerlisTutorials
      @HoerlisTutorials  Год назад

      Sofern du ein Trigger dafür eingerichtet hast, sollte es laufen.
      Falls es nicht funktioniert, lege es noch einmal von vorne an.
      Hatte das auch mal, nach dem neu anlegen, hats dann problemlos funktioniert.

  • @MonsterPie17
    @MonsterPie17 Год назад

    Danke für das Tutorial. Das mit der Waschmaschine konnte ich nachbauen. Hilft sehr.
    Hast du eine Idee, wie ich mit Blockly auch Put und Get Befehle an eine API mit Basic Auth senden kann. Dann könnte ich mir Node Red komplett sparen.

    • @HoerlisTutorials
      @HoerlisTutorials  Год назад +1

      Es gibt glaube ich einen Block für normale Shell-Befehle.
      Ansonsten kann man Scripte vom System einbinden und in diese PUT und GET-Befehle schreiben.

  • @GerPantheraLeo
    @GerPantheraLeo Год назад +1

    Hallo, ich finde das Video schwierig. Gleich mit dem ersten Script habe ich drei Probleme. Warum ein Zeitauslöser, wenn man auch die Änderung des Leistungs-Item nehmen könnte. Machst Du ja später bei einem anderen Script auch. Dann vergleichst Du dreimal, obwohl zweimal reichen würde. Das letzte "else if" kann durch ein "else" ersetzt werden. Und das löst dann gleich das Problem, dass Du den Fall = 10 übersehen hast, da immer auf < oder > verglichen wird.
    Ähnliches Thema beim Script Treppenhauslicht. Auch hier vergleichst Du auf < 15000 und noch mal auf > 15000. Erneut wird = vergessen, aber abgesehen davon willst Du ja bei einem Wert >= 15000 das Licht ausschalten. Also wäre ein einfaches "else" wieder ausreichend. Erneut würde als Auslöser für das Script die Änderung der Helligkeit reichen oder man könnte sich auch des Astro-Bindings bedienen.
    Beim Script Klimaanlage erschließt es sich mir nicht, warum die Variablen erst mitten im Script angelegt werden und so der Status der Items zweimal ermittelt wird. Hier wäre es auch lesbarer und einfacher, wenn vor dem ersten Vergleich erst die Werte in die Variablen geschrieben und dann genutzt werden. Als Auslöser würde ich hier statt des Zeitauslösers alle zwei Minuten erneut die Änderung der Raumtemperatur nehmen, weil ja nur dann eine Prüfung erfolgen muss.
    Beim Script mit dem Flurlicht / Bewegungsmelder ist dann die Verwendung von "wait" ein Problem. Von der Verwendung von "wait" wird zumindest bei den DSL-Rules abgeraten, weil wohl der Thread gesperrt wird. Ich kann mir kaum vorstellen, dass das bei Blockly groß anders ist. Mit der Timer-Funktion kann man das aber eh eleganter lösen. Der Timer blockiert nicht den ganzen Thread, man kann angegeben, was nach dem Ablauf erfolgen soll und auch eine Verlängerung wäre möglich, falls der Bewegungsmelder immer noch den Status "ON" hat.
    Es ist halt schade, weil ich den Aufwand so ein Video zu erstellen schon respektiere. Aber die Beispiele finde ich so nicht für Einsteiger geeignet.