Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zur Entwicklung mit dem EibStudio

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

    Frage zur Entwicklung mit dem EibStudio

    Hallo,

    da der EIBPC nun im Netz eingebunden ist und ich ein paar Grundfunktionalitäten einmal getestet habe, habe ich nun eine konzeptionelle Frage zur Entwicklung:

    Geplant ist der EIPPC zur Steuerung für verschiedenste Bereiche:
    • Wetterauswertungen
      • Rolläden
      • Markisen
      • Beregnung Rasen + versch. Pflanzbereiche

    • Szenen
      • Innen
      • Aussen

    • Multimedia
      • Leinwand/Beamer
      • Musik

    • Meldungen
      • Abwesenheits-Alarm
      • Postfach
      • Klingel
      • Pakete


    und weiteres

    Jetzt würde ich gerne für jeden Bereich ein Anwendungsprogramm erstellen, damit das ganze übersichtlich bleibt.

    Geht das überhaupt und wenn ja, was muss ich da beachten?
    Im Handbuch habe ich darüber so direkt nichts finden können.

    Danke für eine kurze Hilfestellung

    VG

    Nils

    #2
    getrennte Programme im eigentlichen Sinne sind nciht möglich, der EibPC hat immer nur EIN Programm, dass er ausführt.

    Du bist aber völlig frei, was die "optische" Gliederung im Programm angeht mit entsprechenden Leerzeilen und oder Kommentarzeilen.

    Und Du kannst gekapselte Funktionen in Makros auslagern.
    ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

    Kommentar


      #3
      hmm, wenn ich aber die Themenbereich in Makros auslagere,
      kann ich dann die importierten Libs aus dem Anwenderprogramm
      im Makro nutzen? In den Beispielen wird keine Lib innerhalb eines Makros genutzt.

      Geht das überhaupt?

      P.S.: Werde es heute Abend einmal ausprobieren, wenn ich nach Hause komme, aber vielleicht kennt ja einer den Weg.

      Kommentar


        #4
        Zitat von Smartymann Beitrag anzeigen
        hmm, wenn ich aber die Themenbereich in Makros auslagere, kann ich dann die importierten Libs aus dem Anwenderprogramm im Makro nutzen? In den Beispielen wird keine Lib innerhalb eines Makros genutzt.
        Früher war der rekursive Makroaufruf nicht möglich, heute schon. Allerdings kann es bei der Entwicklung und im Fehlerfall schon mal schwieriger werden, Fehlermeldungen zu deuten
        Ansonsten besteht noch die Möglichkeit mit #include zu arbeiten. Damit also einzelne Blöcke auszulagern - Würde ich heute so machen, bei dem ersten EibStudio vor drei Jahren ging das noch nicht. Deswegen ist mein EibPC Code ein furchtbar gewuchertes Monster - bis auf die Teile, die in den Makros stehen...
        offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
        Enertex Produkte kaufen

        Kommentar


          #5
          Hoi

          Man kann die Makros benutzen (stehen in dem lib-Ordner).
          Und man kann mit #include arbeiten, einfach einen Teil des Programms auslagern.
          Ich hab' die Dinge die ich öfter bearbeite an den Beginn des Programms gestellt und die Konstanten und den ganzen restlichen Sums an's Ende.
          Das geht.
          Grüsse Bodo
          Fragen gehören ins Forum, und nicht in mein Postfach;
          EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

          Kommentar


            #6
            Danke für das Feedback.
            Ich denke aber, ich habe mich nicht genau genug ausgedrückt:

            Ich würde z.B. meine Umgebung gerne so so aufbauen:

            4 Libs je nach Thema benannt:
            • Lib1_Szenen
            • Lib2_Multimedia
            • Lib3_Wetter
            • Lib4_Meldungen

            Innerhalb dieser Libs würde ich dann wiederum die einzelnen (meine Funktionseinheiten) Makros mit Hilfe von anderen Makros implementieren:

            Beispiel beim "Lib1_Szenen" -> "Makro1_Wohnzimmer":
            • Alle Szenen im Wohnzimmer unter Verwendung der Libs mit deren Makros (nur als Beispiel...)
              • EnertexScene.lib
              • EnertexSchaltuhrenV2.lib
              • EnertexLogik.lib
              • EnertexAnwesenheit.lib


            Im Anwenderprogramm würde ich dann nur noch meine Libs inkludieren und einfach das Hauptmakro jeder Lib ansprechen ansprechen. Dieses Makro hat wiederum im einfachen Fall eine Reihe von Scenen-Aufrufen aus dem Makro "EnertexScene.lib" oder ruft eine Reihe anderer Makros auf (aus eigener oder fremder Lib).

            Mein Ziel ist eine Strukturierung meiner Bereiche und deren Umsetzung.

            Das ich grundsätzlich Funktionsblöcke auslagern kann und ich andere Makros im Anwenderprogramm nutzen kann, ist mir schon klar.

            Die Frage nur:

            Kann ich innerhalb eines Makros ein anderes Makro inkludieren und dort auch aufrufen (nicht im Anwenderprogramm).

            Sorry, wenn ich so ein wenig darauf "rumhacke". Suche nur nach einer idealen Ausgangsstruktur, auf der ich gut meine Punkte umsetzen kann.

            Wenns nicht geht, dann ist es halt Schade, aber kein Weltuntergang!
            Der EIBPC wird eingesetzt, so oder so...

            Kommentar


              #7
              Zitat von Smartymann Beitrag anzeigen
              Innerhalb dieser Libs würde ich dann wiederum die einzelnen (meine Funktionseinheiten) Makros mit Hilfe von anderen Makros implementieren:
              Hm, ich bin mir nun auch nicht sicher, was Du meinst, aber:
              Du stellst Deine Libs in
              [highlight=epc]
              [MakroLibs]
              Lib1_Szenen
              Lib2_Multimedia
              Lib3_Wetter
              Lib4_Meldungen
              EnertexScene.lib
              EnertexSchaltuhrenV2.lib
              EnertexLogik.lib
              EnertexAnwesenheit.lib
              [EibPC]
              // Die Szenen
              #include MeineSzenen.epc
              // Multimedia
              #include Multimedia.epc
              ...
              [/highlight]Nun kannst Du beliebig Deine Makros mit den Enertex-Makros kombinieren.
              offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
              Enertex Produkte kaufen

              Kommentar


                #8
                hmm ok, bin mir (aus Unerfahrenheit mit dem EIBPC) nicht sicher, ob das Beispiel das tut, was ich meine, werde es aber gleich heute Abend einmal testen.


                Danke für die Geduld....

                Kommentar


                  #9
                  nur zur Präzisierung:

                  kann man in #include-Teilen auch verschiedene Sektionen auslagern?
                  also zB zusammengehörige [EIBPC] und [WEB]-Definitionen?
                  EPIX
                  ...und möge der Saft mit euch sein...
                  Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                  Kommentar


                    #10
                    Zitat von EPIX Beitrag anzeigen
                    nur zur Präzisierung:
                    kann man in #include-Teilen auch verschiedene Sektionen auslagern?
                    also zB zusammengehörige [EIBPC] und [WEB]-Definitionen?
                    Kann man, allerdings nicht so, dass man am Ende Sektionen doppelt definiert hat.
                    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                    Enertex Produkte kaufen

                    Kommentar


                      #11
                      Zitat von enertegus Beitrag anzeigen
                      Kann man, allerdings nicht so, dass man am Ende Sektionen doppelt definiert hat.
                      Aber ist das nicht dann ein Widerspruch zu Deinem Codebeispiel von oben?
                      [EibPC]
                      // Die Szenen
                      #include MeineSzenen.epc
                      // Multimedia
                      #include Multimedia.epc

                      Kommentar


                        #12
                        Zitat von Sandman60 Beitrag anzeigen
                        Aber ist das nicht dann ein Widerspruch zu Deinem Codebeispiel von oben?
                        Nee, das ist ja nur ein Vorschlag, wie ich es machen würde. Es geht also auch:
                        // Enthält [MakroLibs]
                        #include MakroLibs.epc
                        // enthält [EibPC]
                        #include eibpc.epc
                        offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                        Enertex Produkte kaufen

                        Kommentar


                          #13
                          Sorry Michael, aber manchmal kann ich Dir leider nicht folgen....
                          Würde das nachfolgende Beispiel von Dir oben nun Compilertechnisch gehen oder nicht (MeineSzenen.epc und Multimedia.epc enthalten ja definitiv EIBPC-Section-Code)?
                          [EibPC]
                          // Die Szenen
                          #include MeineSzenen.epc
                          // Multimedia
                          #include Multimedia.epc

                          Kommentar


                            #14
                            ich bin zwar ncith Michael, aber ja das geht!

                            Was Michael meinte ist, dass die einzelnen Sektionen, also das "[EibPC]", "[MakroLibs]", "[InitGA]" etc. global immer nur einmal vorkommen darf.

                            Du kannst also nicht in mehreren Makros/Includes ein Sektion "[EibPC]" haben. Aber die Sektion kann in Summe in einem Include ausgelagert sein.
                            ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

                            Kommentar


                              #15
                              @UWE! Danke für die Klarstellung, jetzt ist es hell geworden!
                              Ich hatte das bis dato erst gar nicht getestet wegen dem Mißverständnis!
                              Supi, dann kann ich endlich meine knapp 600 Zeilen Variablendefinitionen endlich in einem Textfile ablegen und per include einfahren! GENIAL!

                              Kommentar

                              Lädt...
                              X