Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Neues Plugin: Google Blockly als visueller Editor für sh.py Logiken

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #61
    Es ist nichts End-User fertiges. Ich habe das mal vor einiger Zeit auf die neueste Blockly Version aktualisiert aber es müßte sich jemand die Doku vornehmen, die Tests anpassen und Demos erstellen und die auf korrekte Umsetzung prüfen.
    Ich nutze das Plugin selbst nicht und werde das vermutlich auch nicht tun. Für Anfänger finde ich das einen schönen Ansatz um in Gang zu kommen. Aber solange sich hier nicht ernsthafte Interessenten tummeln, wird sich da wohl auch nicht viel tun. Es ist ein klassisches Henne-Ei Problem

    Kommentar


      #62
      Eine Laienhafte Frage:

      Besteht die Möglichkeit mit Blockly (ohne "Verbindung" zu SHNG) zu programmieren und den Python Code als Logik per copy&paste einzufügen?
      Das wäre denke ich für Anfänger eine gute Alternative...

      Kommentar


        #63
        Nein, denn die Übersetzung in ShNG kompatiblen Python Code erfolgt im Plugin.
        Zuletzt geändert von Msinn; 05.01.2021, 13:19.
        Viele Grüße
        Martin

        There is no cloud. It's only someone else's computer.

        Kommentar


          #64
          Das kann man so machen. Was aber wenn ein Fehler auftritt (z.B. #55)? Das dürfte einen Anfänger dann verwirren ...

          Kommentar


            #65
            @bmxp Wie soll das funktionieren?

            Sowohl die Blockly Blöcke als auch deren Übersetzung in Python Code sind im Plugin codiert. Wer oder was außer dem Plugin sollte das tun?
            Viele Grüße
            Martin

            There is no cloud. It's only someone else's computer.

            Kommentar


              #66
              Ups, ich habe (ohne "Verbindung" zu SHNG) überlesen. Das geht natürlich nicht.

              Ich meinte den Blockly Editor der nach ändern des Blockly Schemas dann eine Logik im Tab Python bereitstellt:

              blockly1.png
              ergibt dann z.B.

              blockly2.png
              Wobei das halt so trivial ist, das man da kein Blockly brauchen würde...

              Kommentar


                #67
                Dieser Python Code wird vom Plugin parallel zum "Blockly Code" (also der XML Datei) im ../logics Verzeichnis abgelegt. Diese Logik muss dann nur noch in die ../etc/logic.yaml eingebunden werden (was bei der Integration in das Backend Plugin bereits auf dem Logiken Tab passiert). Ob das in der neuen Admin GUI auch bereits so integriert ist, habe ich im Moment nicht im Kopf.
                Viele Grüße
                Martin

                There is no cloud. It's only someone else's computer.

                Kommentar


                  #68
                  Zitat von Maexle Beitrag anzeigen
                  Eine Laienhafte Frage:

                  Besteht die Möglichkeit mit Blockly (ohne "Verbindung" zu SHNG) zu programmieren und den Python Code als Logik per copy&paste einzufügen?
                  Das wäre denke ich für Anfänger eine gute Alternative...
                  Eigentlich wäre doch gut, wenn du das Plugin testest.

                  Gruß,
                  Hendrik

                  Kommentar


                    #69
                    Hendrik,

                    ich gebe Dir grundsätzlich recht.
                    Nur wenn ich mir mein System zerschieße - dann kommt hier der nächste Thread "Hilfe..."
                    Oder ist meine Sorge da unbegründet???

                    Desweiteren bin ich mit Blockly auch nicht firm - habe das zufällig entdeckt und dann ein Video (nicht in Verbindung mit SHNG) dazu gesehen

                    Kommentar


                      #70
                      Du wirst dir nix zerschießen

                      Kommentar


                        #71
                        Hat hier noch jemand gegenüber dem im aktuellen "develop"-Branch des Plugin-Repositories weitergearbeitet? Ich würde mich mal da ran setzen, die Basics mit 1.8.2 (ff.) kompatibel zu machen, wenn das nicht schon jemand (auch gerne halb) auf Halde liegen hat.
                        Der im "develop"-Branch bestehende Stand ist echt super was blockly angeht - nur leider scheinbar nicht mehr ganz auf Stand was das aktuelle Admin-Interface und die Smartvisu-Integration angeht. Das ist eine Einschätzung, die auf einer halben Stunde Threads und GitHub lesen basiert.

                        Kommentar


                          #72
                          Ich glaube ich war der letzte der daran mal weitergebastelt hat. Es gibt mittlerweile eine Update-Anleitung für die Blockly Komponenten aber das Interesse am Plugin war nur verhalten und ich habe genügend andere Baustellen. So fühle Dich frei das Ding zu aktualisieren und auf den neuesten Stand zu bringen. Ich habe da aktuell jedenfalls keine Änderungen in der Pipeline

                          Kommentar


                            #73
                            So, hab mich heute mit dem Plugin bespaßt. Erfolg bisher:
                            • Refactoring auf das aktuelle SmartPlugin-Template / WebInterface Konstruktion
                            • Code-Basis etwas verschlankt
                            • Man kann nun über das WebInterface eine Logik malen und wenn man sie speichert wird sie auch in SHNG aktiviert (das hat wahrscheinlich vorher schon funktioniert, nur nach dem Refactoren war das erstmal kaputt).
                            • Das Laden bestehender Logiken geht noch nicht (ist zumindest nicht über UI erreichbar)
                            Ich habe mal angefangen in GitHub Issues zu sammeln, was aus meiner Sicht als nächstes ansteht:
                            https://github.com/jentz1986/shng-blockly-plugin/issues
                            Bitte gerne dort auch Wünsche ergänzen!

                            Der Code ist jetzt erstmal auch in dem Repository (https://github.com/jentz1986/shng-blockly-plugin), das erleichtert mir das Arbeiten. Wenn ich die ersten paar Issues gelöst habe, und das Ganze einigermaßen brauchbar geworden ist, stelle ich einen Pull-Request zum Plugins-Repository.

                            Kommentar


                              #74
                              Nächster Zwischenstand:
                              Ich bin jetzt wahrscheinlich an jeder Zeile einmal vorbeigekommen und habe dran raumgefummelt.
                              Es funktioniert jetzt die ganze Rundreise aus Neu - Speichern inkl. Aktivieren - Laden.
                              Ich habe neue Bausteine in die Toolbox gemacht - die PlugIn-Funktionen werden automatisch aus den Metadaten als Blöcke generiert. Das funktioniert!

                              Es bleibt noch eine Überarbeitung der Tools aus der Toolbox und die Umstellung der Serialisierung auf JSON, statt auf XML - das ist aber ein Blockly-internes Thema.

                              Und: Im core ist ein Bug, was das Handling von blockly-Dateien angeht, da wird an einer Stelle von .xml-Dateien ausgegangen und nicht von .blockly. Ich muss an die library aber wahrscheinlich eh nochmal ran - Pull-Request kommt.

                              Ich würde mich über "Ausprobierer und Feedbackgeber" und dann Github Issues freuen. Das Plugin lässt sich einfach direkt aus dem Repo https://github.com/jentz1986/shng-blockly-plugin über den Code button oben rechts runterladen. Dann in einen Ordner blockly im plugin-Ordner legen und über die plugin.yaml so konfigurieren:

                              blockly:
                              plugin_name: blockly

                              -- Ja, es ist wirklich nur das (war's schon immer)

                              Kommentar


                                #75
                                Guten Morgen,

                                ich weiß nicht ob ich mich als

                                Zitat von jentz1986 Beitrag anzeigen
                                Ausprobierer
                                bezeichnen kann da ich schon an einer vermeindlich Pipifax-Aufgabe scheitere. Wahrscheinlich sitzt der Fehler vor dem Bildschirm


                                Mein Gedanke war:

                                Wenn "Licht Küche" = AN
                                Dann Schalte "Licht Essen" AN

                                Allerdings rasten die Blöcke nicht ein.
                                Wenn ich einen "Prüfe - falls wahr - falls falsch" Block verwende; rasten die Item Blöcke bei den falls ein, bei der Prüfung jedoch nicht.

                                Bzw. bereits gerastete Blöcke springen bei einem anderen Block auseinander ... Siehe Bilder


                                1.png

                                2.png


                                Zum Feedback:
                                Bei SHNG wird mir im Fall vom "Item-EG" die Zahl 8 angezeigt -- Blockly zeigt ein 0 --> erst in den Ebenen darunter wird Inhalt angezeigt. Siehe Bild

                                Block.png




                                Vielleicht kannst mir da einen Tipp geben. Danke

                                Kommentar

                                Lädt...
                                X