Ankündigung

Einklappen
Keine Ankündigung bisher.

wiregate: hashes persistent speichern

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] wiregate: hashes persistent speichern

    Ist tatsächlich das erste Mal, dass ich für ein Plugin einen hash persistent machen muss.

    Nun habe ich nach einigem Stöbern und einer Reihe von Fehlversuchen feststellen müssen, dass plugin_info eindimensional ist (war bislang für mich kein Thema). Ich hatte schon gedacht, ich hätte perl verlernt ...

    Die Frage ist nun: Wie mache ich einen hash persistent? Das haben hier doch sicher schon einige gelöst?
    Kein Support per PN: Fragen bzw. Fehlermeldungen bitte im Forum posten.

    #2
    Ich glaube, ich habs jetzt gefunden.

    https://sourceforge.net/p/openautoma...toreComplex.pl

    Ist zwar erledigt, aber vielleicht suchen andere ja auch mal nach so was.
    Kein Support per PN: Fragen bzw. Fehlermeldungen bitte im Forum posten.

    Kommentar


      #3
      Öhm, also bei mir klappt das mit dem Beispiel aus dem svn so nicht. Ich bekomme im plugin log

      Code:
      Run-time error: can't create : No such file or directory at (eval 13002) line 435
      ,0s,can't create : No such file or directory at (eval 13002) line 435
      Wie es aussieht, wird da versucht, in eine Datei zu serialisieren. Allerdings habe ich das svn plugin nicht ausprobiert, sondern es gleich in mein aktuelles Projekt implementiert.

      Erfolg hatte ich aber damit:

      Code:
      ...
      use Storable qw(dclone freeze retrieve store thaw);
      ...
      defined $plugin_info{$plugname.'_conf'} and %Conf = %{thaw($plugin_info{$plugname.'_conf'})};
      
      # ... plugin code ....
      
      $plugin_info{$plugname.'_conf'} = freeze(\%Conf);
      Keine Ahnung, ob das Beispiel im svn nicht valide ist, oder mein eigenes Werk, jedenfalls geht es bei mir (nur) mit freeze und thaw.
      Zuletzt geändert von emax; 01.01.2017, 22:22.
      Kein Support per PN: Fragen bzw. Fehlermeldungen bitte im Forum posten.

      Kommentar


        #4
        Kann dazu am Abend eine Lösung posten.
        Im Repo findest du ein Plugin "Wind_Mittelwert" (im Zweifelsfall mit CTRL-F suchen).
        Darin wird pack / unpack verwendet.

        lg
        Robert

        Kommentar


          #5
          Hallo Robert,

          ich habs zwar bereits gelöst (s.o.), aber trotzdem interessiert mich das.

          Deshalb würde ich mich freuen, wenn Du es trotzdem postest. Man kann ja Dinge ja immer besser machen, wenn man nur zuhört.

          VG
          Edgar
          Kein Support per PN: Fragen bzw. Fehlermeldungen bitte im Forum posten.

          Kommentar


            #6
            Schau mal hier:
            https://github.com/OpenAutomationPro..._Mittelwert.pl

            Kommentar


              #7
              pack/unpack ... da bin ich noch nicht drauf gekommen. Im Plugin ist das ein array. Würde das auch für Hashes gehen?
              Kein Support per PN: Fragen bzw. Fehlermeldungen bitte im Forum posten.

              Kommentar


                #8
                Um ehrlich zu sein, hat mir an dieser Stelle damals Makki den Hinweis gegeben, siehe hier (Posting #5):
                https://knx-user-forum.de/forum/supp...der-mittelwert

                Denke das könnte so direkt auch für einen Hash passen, einfach probieren.

                lg
                Robert

                Kommentar


                  #9
                  Ok, danke Robert. Kommts 'ins Regal', kann ich vielleicht noch mal brauchen.

                  In meinem Plugin bleibe ich bei freeze/thaw, da weiß ich, dass es gut für arrays wie für hashes funktioniert.

                  Wenn das plugin mal fertig ist, stelle ich es hier ein. Es geht um Heizungsuhren und Ferienschaltungen, optimiert für Gira TS3+. Aber erst muss ich es noch fertig machen, vom Alpha zum Beta kommen, und es mal einige Zeit hier laufen lassen.


                  Da fällt mir ein: Ich hatte vor Längerem mal Chris angeschrieben, und auch Makki, für einen SVN Schreibzugang, bislang gabs keine Antwort.

                  Wer kümmert sich grundsätzlich denn da drum?
                  (Die Frage geht an alle, die das wissen könnten).
                  Kein Support per PN: Fragen bzw. Fehlermeldungen bitte im Forum posten.

                  Kommentar


                    #10
                    Hi,

                    mMn liegt das doch jetzt (eigentlich schon lange) auf github:
                    https://github.com/OpenAutomationPro...plugin/generic

                    Ich weiß allerdings nicht wer/wie da die Zugriffsrechte geregelt sind ...

                    VG
                    Micha
                    Contribute to Wiregate development by creating an account on GitHub.

                    Kommentar


                      #11
                      Danke für Euren Einsatz.

                      Leider sind die wertvollen Plugins der Forenmember stark fragmentiert abgelegt. In Threads hier, unter Codeschnipsel, im SVN auf Sourceforge und auf Git-Hub. Jeweils in verschiedenen Versionen, Qualitäten, Beschreibungstiefen und Aktualität. Das ist kaum auffindbar und für niemanden eine wirkliche Hilfe.

                      Ich wäre sehr dankbar, wenn sich ein oder mehrere Admins finden würden aus der Community, welche sich der Sache annehmen, für Ordnung und Einhaltung von Mindestandards sorgen und dies an einer zentralen Stelle - nach meinem Geschmack sehr gerne bei GitHub - ablegen. Uns fehlen dafür die finanziellen Mittel um das durch Personal machen zu lassen, das ist im WG-Preis nicht drin, ich bitte um Verständnis.

                      Gerne bekommen solche Admins auch Zugang zu Beta-Versionen Timberwolf Server und ich lasse auch als Belohnung gerne jeweils einen 250 EUR Gutschein springen. Ich hoffe, das wäre ein kleiner Anreiz.

                      lg

                      Stefan

                      Kommentar


                        #12
                        Wäre wie schon im WG Doku Thread angeboten:
                        https://knx-user-forum.de/forum/supp...r-bereit/page9

                        dafür jederzeit mit 2 weiteren Plugin-Powerusern zu haben.

                        Gibt es den confluence server noch?
                        Meine Hoffnung war damals:
                        - plugins einheitlich auf github
                        - Doku-Regeln und Beschreibung der plugins in confluence,
                        dazu perl- Befehlsübersicht und kurze Codeschnipsel

                        Falls ich mich richtig erinnere, habe ich am confluence test-server schon mal am Inhaltsverzeichnis dazu gefeilt, falls das noch existiert. Der link im oben zitierten Thread klappt aber nicht mehr. Ist aber kein Beinbruch.

                        Auf welcher Basis die plugin Ersteller eingebunden werden könnten (email, PN, etc.) wäre ebenfalls zu beginn zu klären.

                        lg
                        Robert

                        Kommentar


                          #13
                          Hallo Stefan,

                          ich würds ja machen, steh als Selbstständiger aber auch permanent unter Wasser (Ein-Mann-Show). Unterhält nicht irgendwo Chris (Comet-Visu) ein Repository, auch mit WG-Plugins?

                          Könnte man nicht alles dort konsolidieren?
                          Kein Support per PN: Fragen bzw. Fehlermeldungen bitte im Forum posten.

                          Kommentar


                            #14
                            Das OpenAutomation auf SourceForge gibt es nur noch historisch. Das wurde alles nach GitHub unter https://github.com/OpenAutomationProject/Wiregate umgezogen (Ausnahme: die CometVisu wurde in diesem Zusammenhang in ihr eigenes Projekt überführt).

                            Da das OpenAutomation Repository auf GitHub liegt und mit Git verwaltet wird, kann jeder mit einem GitHub Account dort Änderungen per Pull-Request einsteuern.
                            Die Gruppe der Contributors (https://github.com/orgs/OpenAutomati...s/contributors) hat Schreibzugriff und kann den Pull-Request dann in das Repository integrieren.
                            (Bei OpenAutomation ist die Aufnahme in die Gruppe der Contributors sehr liberal, bisher durfte jeder der wollte; nur bei der CometVisu haben wir im Rahmen des Umzugs ein "hartes" Vier-Augen Prinzip eingeführt)
                            Zuletzt geändert von Chris M.; 08.01.2017, 00:19. Grund: Link zum Repository korrigiert
                            TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

                            Kommentar


                              #15
                              Hallo Chris,

                              danke für die Information.

                              Da ich bisher noch nie ein svn via 'pull-request' füttern durfte musste, sondern immer nur 'update's benutzt habe, muss ich mal blöd fragen, wie das läuft?

                              Ich kenne nur 'update', pull-requests sind mir als svn-Feature unbekannt.
                              Kein Support per PN: Fragen bzw. Fehlermeldungen bitte im Forum posten.

                              Kommentar

                              Lädt...
                              X