Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Logikprozessor - Krisenstimmung

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

    [WireGate-Plugin] - √ - Logikprozessor - Krisenstimmung

    Hallo liebe Leute,

    wollte mich heute mal um den Logikprozessor kümmern - und werde bald wahnsinnig. Habe mir den Quellcode in ein neues PlugIn kopiert und zum Abschluss den folgenden Befehl angehängt.

    %logic=(und => { receive=>['1/2/12','1/2/13'], transmit=>'1/2/14', translate => sub { $input->[0] && $input->[1]; }, },);

    Ich erhalte dann folgende Meldung und kann damit nichts anfangen

    2014-12-26 12:57:27.814,Logikprozessor,,0s,Global symbol "$input" requires explicit package name at (eval 32178) line 439. Global symbol "$input" requires explicit package name at (eval 32178) line 439.

    Kann mir jemand unter die Arme greifen?

    Letzendlich möchte ich nur eine billige UND-Verknüpfung mit anschließender Zeitverzögerung realisieren. Normalerweise ja nichts Wesentliches..

    #2
    Die Logiken werden in einem separaten File definiert, nicht ans Ende des Logikprozessor-Plugins angehängt. Deine Logik sieht soweit gut aus, nur muss dieser Text in /etc/wiregate/plugin/generic/conf.d/Logikprozessor.conf .

    Und du solltest bitte den Logikprozessor nicht per copy&paste von irgendwoher holen, sondern aus dem SVN.

    Du kriegst es schon noch hin.

    Have fun
    Fry

    Kommentar


      #3
      Hallo Fry

      erstmal vielen Dank. Werde es in den nächsten Tagen versuchen. Wie kann man etwas (vielleicht ´ne doofe Frage) "aus dem svn holen"?

      Kommentar


        #4
        0. Grundkenntnisse in Linux-Shell sind Voraussetzung!

        1. Per SSH als Root auf die Shell des Wiregate einloggen

        2. Ggf. SVN installieren (apt-get install subversion)

        3. Neues Verzeichnis anlegen und dort die Plugins holen:

        Code:
        cd /etc/wiregate/plugin
        mkdir svn
        cd svn
        svn checkout https://svn.code.sf.net/p/openautomation/code/wiregate/plugin/generic
        Dann hast du das gesamte Repository in /etc/wiregate/plugin/svn/generic und kannst nach Bedarf Plugins aktivieren, indem du sie in /etc/wiregate/plugin/generic rüberkopierst.

        4. Ebenfalls wichtig ist ein späteres Update deines Repositories. Dazu gehst du in /etc/wiregate/plugin/svn/generic und schreibst einfach "svn update".

        5. Um eigene Plugins ins Repository hochzuladen und damit der Community zur Verfügung zu stellen, brauchst du Schreibberechtigung. Die kriegst du von Makki oder ChrisM oder wer sonst dir das geben kann (ich nicht).

        VG; Fry

        Kommentar


          #5
          Evt. sollten wir darüber nachdenken, den Logikprozessor einfach als Paket mit kommenden Updates auszuliefern und es dem User ermöglichen, diesen per "Knopfdruck" zu aktivieren.

          Was denkt ihr?

          Stefan

          Kommentar


            #6
            Von mir aus gerne. Die aktuelle Version ist nun auch schon monatelang stabil (allerdings gab es noch einen kleinen Fix gestern, zur Herstellung der Kompatibilität mit dem Email-Plugin).
            VG, Fry

            Kommentar


              #7
              Zitat von StefanW Beitrag anzeigen
              Evt. sollten wir darüber nachdenken, den Logikprozessor einfach als Paket mit kommenden Updates auszuliefern und es dem User ermöglichen, diesen per "Knopfdruck" zu aktivieren.
              da wäre ich sehr dafür!

              Der LP ist m.E. das beste und sinnvollste Plugin, da man damit eine extrem potente Logikengine an Bord hat!

              Wenn dann irgendwann (und ich mein das nun rein konstruktiv und will nicht drängeln!) der versprochene confluence Server aktiv geschalten wird könnte man dazu einige Beispiele und Anleitungen erstellen, so daß man sehr schnell die "Syntax" des LP erlernen kann. Da würde ich dann tatkräftig unterstützen.

              Gruß
              Andi
              Gruß
              Andi

              Kommentar


                #8
                Zitat von StefanW Beitrag anzeigen
                Evt. sollten wir darüber nachdenken, den Logikprozessor einfach als Paket mit kommenden Updates auszuliefern und es dem User ermöglichen, diesen per "Knopfdruck" zu aktivieren.

                Was denkt ihr?

                Stefan
                NpIhr sollten euch lieber eine Konzept Überlegenheit wie man Plugins generel sauber verteilen kann. Plugin store

                Kommentar


                  #9
                  Sozusagen ein "App Store" für das Wiregate? :-)

                  Nun ja... ich finde das SVN gut und mag den root-Zugang per ssh.

                  Und was gut ist für die Apple-Lemminge, ist noch lange nicht gut für die freie Welt.

                  VG, Fry

                  PS. Ich habe eine Dreambox und finde sie schei$e. Dreambox 7020HD günstig abzugeben.

                  Kommentar


                    #10
                    So richtig bin ich immer noch nicht weiter. Habe mir die svn daten auf meinen Rechner geladen -das hat funktioniert. Habe mir dann den Logikprozessor Logikprozessor.pl an die entsprechende Stelle kopiert; diesen sehe ich dann auch im Untermenu-Plugins im wiregate. Dann habe ich die Logikprozessor.conf_sample-Datei in den Ordner conf.d kopiert.

                    War gar nicht so schwer!

                    Trotzdem bekomme ich immer noch die Fehlermeldung:
                    2014-12-29 15:30:48.664,Logikprozessor.pl,,0s,Global symbol "%plugin_cache" requires explicit package name at (eval 33219) line 76. Global symbol "%plugin_cache" requires explicit package name at (eval 33219) line 95. Global symbol "%plugin_subscribe_read" requires explicit package name at (eval 33219) line 277. Global symbol "%plugin_subscribe_write" requires explicit package name at (eval 33219) line 278. Global symbol "%plugin_subscribe_write" requires explicit package name at (eval 33219) line 307. Global symbol "%plugin_subscribe_write" requires explicit package name at (eval 33219) line 341. Global symbol "%plugin_cache" requires explicit package name at (eval 33219) line 419. Global symbol "%plugin_cache" requires explicit package name at (eval 33219) line 420. Global symbol "%plugin_cache" requires explicit package name at (eval 33219) line 426. Global symbol "%plugin_cache" requires explicit package name at (eval 33219) line 427. Global symbol "%plugin_cache" requires explicit package name at (eval 33219) line 428. Global symbol "%plugin_cache" requires explicit package name at (eval 33219) line 583. Global symbol "%plugin_cache" requires explicit package name at (eval 33219) line 584. Global symbol "%plugin_cache" requires explicit package name at (eval 33219) line 608. Global symbol "%plugin_cache" requires explicit package name at (eval 33219) line 610. Global symbol "%plugin_cache" requires explicit package name at (eval 33219) line 626. Global symbol "%plugin_subscribe_read" requires explicit package name at (eval 33219) line 787. Global symbol "%plugin_subscribe_write" requires explicit package name at (eval 33219) line 788. Global symbol "%plugin_cache" requires explicit package name at (eval 33219) line 1257. Global symbol "%plugin_cache" requires explicit package name at (eval 33219) line 1359. Global symbol "%plugin_cache" requires explicit package name at (eval 33219) line 1430. Global symbol "%plugin_cache" requires explicit package name at (eval 33219) line 1432. Global symbol "%plugin_cache" requires explicit package name at (eval 33219) line 1435. Global symbol "%plugin_cache" requires explicit package name at (eval 33219) line 1588. BEGIN not safe after errors--compilation aborted at (eval 33219) line 1599.

                    Das Fehlen eines "Package-names" kann doch nicht mehr so weit von der Lösung entfernt sein...

                    Kommentar


                      #11
                      das klingt nach einem Syntax Fehler. Hast Du mal rund um die Zeile 95 genauer nachgesehen ob da eine Klammer, Semikolon, Komma etc. evtl. fehlt?

                      Gruß
                      Andi
                      Gruß
                      Andi

                      Kommentar


                        #12
                        ach, was natürlich auch sein muß: Ist das Wiregate aktuell bzgl. Update? Der aktuelle LP funktioniert nur mit dem neuen WG Update (aktuell 1.1.5).

                        Dazu einfach mal in der Weboberfläche des WG rechts oben nachsehen welche Version da steht. Falls nicht 1.1.5 über den "Updates" button updaten...
                        Gruß
                        Andi

                        Kommentar


                          #13
                          Zitat von Stefan Uphaus Beitrag anzeigen
                          Dann habe ich die Logikprozessor.conf_sample-Datei in den Ordner conf.d kopiert.
                          Und hast du diese auch umbenannt? Die Datei muss "Logikprozessor.conf" heißen.

                          VG
                          Micha

                          Kommentar


                            #14
                            ich hab auch den Fehler gehabt.
                            SVN Revision 2316


                            wenn man in der sample-conf ab Zeile 97 alles raus schmeisst, funktioniert der Logikprozessor.

                            Code:
                            Zeile 97: repeater => { receive=>'1/2/9', transmit=>'1/2/9', delay=>'5min', transmit=>sub{$input} },
                            Mit meinem gefährlichen Halbwissen vermute ich mal, das es an der Logik liegt...

                            Wahrscheinlich macht es Sinn, die Sample-Config nur als anleitung zu nehmen und mit einer leeren config anzufangen, die man nur mit dem füllt, was man braucht.

                            Kommentar


                              #15
                              Die Sample-Conf ist nicht zur tatsächlichen Benutzung gedacht! Sie soll nur Ideen für Logiken liefern und ist damit die Dokumentation des LP. Bitte alle Logiken der Sample-Conf auskommentieren und eigene reinschreiben. VG, Fry

                              Kommentar

                              Lädt...
                              X