Ankündigung

Einklappen
Keine Ankündigung bisher.

Interne Wiregate-Zeit auf Bus mit Plugin

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

    [wiregate] Interne Wiregate-Zeit auf Bus mit Plugin

    Hallo,

    mein Wiregate sendet stündlich Zeit (10/0/3) und Datum (10/0/4) auf den Bus. Ich bastle gerade an einem generellen Reset-Plugin. In diesem Plugin möchte ich vom Perl-Skript den sofortigen, ereignisgetriggerten Versand realisieren. D.h., wenn das Plugin angeworfen wird, dann versendet dieses Plugin die interne Wiregate-Systemzeit und das Datum auf den Bus über die genannten Gruppenadressen.

    Über localtime(time) komme ich zwar zu einem array mit allen notwendigen aktuellen Infos. Ich habe aber keine Ahnung, wie ich diese Infos wieder zusammensetzen könnte, so dass genau das richtige Format herauskommt. Gibt es einen einfachen Trick? Wie geht´s?

    Danke!

    Harald

    #2
    Nachdem es das WG schon so macht, ist der "Trick" recht einfach, im Plugin (allerdings ist mir schleierhaft für was, da es auch so geht und sogar ein Lesetelegramm auf die GA ausreicht..)

    Code:
    eibsend_date_time("GA_Datum","GA_Uhrzeit");
    Ansonsten kann man in o.g. sub (usr/sbin/wiregated.pl) auch nachsehen was die genau tut..

    Makki
    EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
    -> Bitte KEINE PNs!

    Kommentar


      #3
      Plugin für Reset

      Hallo Makki,

      danke für die Antwort. Meine Versuche mit Plugins sind learning by nachdenking, fraging and zum schluss doing. Halt wieder was gelernt.

      Der Sinn meiner Idee: beim Basteln und Debuggen mit den Plugins jage ich immer wieder ne Menge GA´s und Daten durch den Bus, die manches ausgetüftelte System (die Masse der Logik liegt bei mir verteilt in den Aktoren und PM´s) gehörig durcheinanderbringen können. Da braucht´s zwischendurch schnell mal wieder ein Reset, damit der Bus wieder weiß, ob es hell oder dunkel ist, wie die Sonne steht bzw. die Uhrzeit und noch so ein paar Basics. Da will ich nicht eine Stunde warten, bis wieder alles initialisiert ist. Deshalb soll das Wiregate das nicht nur von selbst machen, sondern genau dann, wenn ich es will. Jawoll! Und das alles möchte ich mit einem Reset-Plugin lösen (Druck auf Knopf -> Rappel Zappel -> alles ist wieder im Lot).

      Könnte man doch auch gebrauchen nach einem Stromausfall (der häufiger durch interne Wartungsarbeiten provoziert wird durch "Ausschalten" von Sicherungen als durch einen echten externen Ausfall).

      Und noch eine Philosophie: ich bin gar kein Freund vom zyklischen Senden. Funktioniert zwar und kann auch recht praktisch sein, ist aber eigentlich hirnlos. Actio macht Reactio gefällt mir besser, es ist ereignisgesteuert. Das Mehr an Hirnschmalz, der für eine solche ereignisgesteuerte Programmierung gebraucht wird, kommt by the way dem Projekt insgesamt zugute.

      Nochmal herzlichen Dank, ich habe wieder was gelernt!

      Harald

      Kommentar


        #4
        Einen Nachschlag habe ich aber noch
        Ich bin selbst ein grosser Anhänger des Gedanken, das dez. Logik nur bis zu einem gewissen Mass Sinn macht: bis dahin aber: absolut sinnvoll ist!
        Also nur das was man in KNX/dezentral nicht hinbekommen kann, macht man zentral.

        Genau das ist in EIB/KNX aber wirklich 100% gelöst: Wenn ein Gerät mit unbekanntem Staus/Wert/Datum/.. startet, sendet es ein Lesetelegramm und ein anderes hat das zu beantworten (hier das WG: tut es auch! es mag nicht zertifiziert sein aber auf ein ACPI_Groupvalue_Read hat ein .._Response zu folgen, wenn man es weiss, fertig.) Soviel kann man auch ohne offizielle ISO9001 & Zertifizierung verstehen

        Die Fragestellung des Stromausfalls löst der KNX jedenfalls eigentlich alleine , dafür muss man kein Plugins erfinden. Aber ich komme selbst aus der IT, ich verstehe die Beweggründe (man will es einfach kontrollieren, kann man ja auch)
        Neuerdings kann man übrigens aus Plugins auch (einfach) Antwort-Telegramme auf Leseanforderungen senden..

        Makki
        EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
        -> Bitte KEINE PNs!

        Kommentar


          #5
          Logik testen

          Habe ich verstanden, ich befinde mich in einer Lernphase.
          Vergessen wir mal den Stromausfall. Mich würde interessieren, wie ihr Logiken, die ja auch recht komplex sein können, testet.

          Wenn ich z.B. irgendein Plugin gebastelt habe, das Parameter wie Uhrzeit, Feiertag, Helligkeit usw. berücksichtigt, dann will ich doch testen, ob das Plugin unter den verschiedenen Bedingungen wie gewünscht reagiert. Deshalb jage ich über den Busmonitor der ETS verschiedene Status-GA´s durch den Bus: im genannten Beispiel wäre es mal schnell ein Feiertag (heute hätte ich ja Glück gehabt, ab morgen müsste ich zum Testen bis Weihnachten warten), ich würde es Nacht werden lassen und die Uhrzeit wäre auch verstellt). Nicht selten spüre ich so Fehler in meinen Logiken auf bzw. im Zusammenspiel verschiedener Logiken. Nach Testende muss ich dann die Parameter wieder mühsam zurückspielen (es wird wieder hell und ein Wochentag usw.). Außerdem wurden vielleicht auch noch ein paar andere Parameter verstellt durch die fehlerhaften Logiken (in der Testphase). Zyklische Statusmeldungen werden alles mit der Zeit wieder reparieren und neu initialisieren. Hier will ich als ungeduldiger Mensch aber nicht lange warten, deshalb die Idee mit dem Reset durch Knopfdruck.
          Oder wie testet und resettet ihr? Ich bin gespannt auf geballte Erfahrungen aus der Praxis.

          Harald

          Kommentar

          Lädt...
          X