Ankündigung

Einklappen
Keine Ankündigung bisher.

Rückmelde- Status-Objekt

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

    #16
    Zitat von mfd Beitrag anzeigen
    Wird nun der Aktor aber neu gestartet (z.B. nach Busspannungsausfall/Programmierung) und versucht den entsprechenden Wert zu lesen bekommt dieser (natürlich?) keine Antwort.
    Schickt der Aktor tatsächlich ein Telegramm auf die GA? Das hört sich irgendwie komisch an. Normalerweise hört er doch nur auf diese GA und reagiert bei eintreffenden Telegrammen.
    Grüße
    Michael

    Kommentar


      #17
      Also für mich sieht es im Gruppenmonitor so aus...

      Ich programmiere was am Aktor, danach startet er neu und es kommen erstmal ein Dutzend Leseanfragen (Temperatur, Sonne, Anwesenheit, Windalarm usw.)
      Und bei den Werten die nicht in "Hardware" etwa der Wetterstation vorliegen fehlt dann eben die Antwort...

      Und in der Anleitung heißt es wörtlich:
      Aktivierte Automatikobjekte nach
      Busspannungswiederkehr lesen
      Optionen:
      ja
      nein

      ja: Nach Busspannungswiederkehr können die Werte, die für die Automatik-Steuerung erforderlich
      sind, über den KNX ausgelesen werden. Die Werte der Kommunikationsobjekte werden dadurch
      aktualisiert.

      Hinweis
      Die Lese-Flags müssen bei den zu lesenden Kommunikationsobjekten gesetzt sein.
      Ich frage mich was passiert wenn man das auf "Nein" setzt? Dazu schweigt das Handbuch.
      Entweder sind die betreffenden Automatiken dann auf "0" also aus, oder der Wert wie vor dem Busspannungsausfall...??
      Edit: Wie kann ich das herausfinden?
      Gruß -mfd-
      KNX-UF-IconSet since 2011

      Kommentar


        #18
        Zitat von mfd Beitrag anzeigen
        Entweder sind die betreffenden Automatiken dann auf "0" also aus, oder der Wert wie vor dem Busspannungsausfall...??
        Edit: Wie kann ich das herausfinden?
        Da fällt mir auch nur Ausprobieren ein.
        Du könntest vielleicht das Lese-Flag bei den Kommunikationsobjekten setzen und den Wert hinterher mit dem Busmonitor auslesen.

        Ansonsten würde ich sagen, dass man das nur über ein Wiregate-Plugin lösen kann. Der von der Visu gesendete Wert wird ja eigentlich im Cache des Wiregate vorgehalten. Offenbar kann dieser aber nicht per Lesetelegramm ausgelesen werden. Vielleicht kann man von den Wiregate-Experten hier noch einen Tipp bekommen, wie das doch geht.
        Wenn nicht, wirst du vermutlich ein Perl-Plugin brauchen, das den gesendeten Wert zwischenspeichert und bei Lesetelegrammen als Antwort sendet.
        Grüße
        Michael

        Kommentar


          #19
          Das Plugin könnte (ungetestet) so aussehen:

          Code:
          ###config
          my $ga = '0/0/0';
          my $dpt = 1;
          ###end config
          
          $plugin_info{$plugname.'_cycle'} = 0;
          $plugin_subscribe{$ga}{$plugname}=1;
          
          if ($msg{'apci'} eq "A_GroupValue_Write" && $msg{'dst'} eq $ga)
              {
              plugin_log($plugname,"Saved $msg{'value'}");
              $plugin_info{$plugname.'_last_value'} = $msg{'value'};
              }
          
          if ($msg{'apci'} eq "A_GroupValue_Read" && $msg{'dst'} eq $ga)
              {
              plugin_log($plugname,"Response $plugin_info{$plugname.'_last_value'}");
              knx_write($ga,$plugin_info{$plugname.'_last_value'},$dpt,0x40)
              }
          Umgezogen? Ja! ... Fertig? Nein!
          Baustelle 2.0 !

          Kommentar


            #20
            Zitat von MicHau Beitrag anzeigen
            Du könntest vielleicht das Lese-Flag bei den Kommunikationsobjekten setzen und den Wert hinterher mit dem Busmonitor auslesen.
            Das funktioniert soweit ich testen konnte nicht.

            Ansonsten würde ich sagen, dass man das nur über ein Wiregate-Plugin lösen kann. Der von der Visu gesendete Wert wird ja eigentlich im Cache des Wiregate vorgehalten. Offenbar kann dieser aber nicht per Lesetelegramm ausgelesen werden.
            Wie kann ich das "stromausfallsicher" lösen? Denn in dem Fall würde ja sowohl das WG als auch der Aktor bei einem Neustart ohne brauchbaren Wert dastehen...
            Wäre da dann eine externe Logik erforderlich oder etwas wie ein Schalter/RTR der den Status behält? Welche Geräte können so etwas bzw. wären geeignet?
            Gruß -mfd-
            KNX-UF-IconSet since 2011

            Kommentar


              #21
              Zitat von mfd Beitrag anzeigen
              Wie kann ich das "stromausfallsicher" lösen? Denn in dem Fall würde ja sowohl das WG als auch der Aktor bei einem Neustart ohne brauchbaren Wert dastehen...
              Wäre da dann eine externe Logik erforderlich oder etwas wie ein Schalter/RTR der den Status behält? Welche Geräte können so etwas bzw. wären geeignet?
              IMHO schreibt das wiregate alle Daten, die in plugin_info abgelegt werden, in einer Datenbank. In jedem Fall überleben alle Daten in plugin_info einen Reboot des Wiregate.
              Unter der Annahme, dass sich der Zustand des Aktors wärend des Stromausfalls nicht ändert, müsste das Plugin von JuMi bereits Deinen Ansprüchen genügen.

              Kommentar


                #22
                Ok. Das wusste ich gar nicht. Umso besser.

                Läßt sich das Plugin von JuMi2006 einfach auf mehrere GAs anwenden? Ich würde allein schon der Übersichtlichkeit halber gerne nur ein Plugin für diese "Funktion" verwenden.
                Gruß -mfd-
                KNX-UF-IconSet since 2011

                Kommentar


                  #23
                  Für einen solchen Zweck habe ich z.B. folgendes Plugin laufen (war ursprünglich mal für meine Rollladen Logik im Einsatz, daher sind die Bezeichnungen auf "Rollladen" gemünzt). Ist aber im Prinzip genau das, was Du benötigst. Beachte, dass dieses Plugin tatsächlich ein "Antwort-Telegramm" sendet! Falls Du als Antwort ein normales "Schreib-Telegramm" haben willst, müsste knx_write geändert werden.

                  Code:
                  ###############################################################################
                  ## StatusControl_RollladenSperre4
                  ## v0.1a (2013-01-27), by XueSheng
                  ## 
                  ## Beschreibung:
                  ## Statusüberwachung der Rolläden.
                  ## READ/WRITE der Rolladensperre 4 (für Logigzwecke).
                  ###############################################################################
                  ## 
                  ## ToDo:
                  ## - ...?
                  ## - Dokumentation/Kommentare ergänzen
                  ##
                  ###############################################################################
                  
                  ## Config start ##
                  
                  # Aufrufzyklus des Plugins
                  $plugin_info{$plugname.'_cycle'} = 0;
                  
                  my @AlleRolllaeden = (
                     { name => "GA1",    GAsperre => "X/X/X" },
                     { name => "GA2",    GAsperre => "X/X/X" },
                     { name => "GA3",    GAsperre => "X/X/X" },
                     { name => "GA4",    GAsperre => "X/X/X" },
                  );
                  
                  ## Config end ##
                  
                  foreach my $item (@AlleRolllaeden) {
                     $plugin_subscribe{$item->{GAsperre}}{$plugname} = 1;
                     
                     if (($msg{'apci'} eq "A_GroupValue_Write") and ($msg{'dst'} eq $item->{GAsperre})) {
                        $plugin_info{$plugname.'_'.$item->{name}.'_Sperre4'} = int($msg{'data'});
                     } elsif (($msg{'apci'} eq "A_GroupValue_Read") and ($msg{'dst'} eq $item->{GAsperre})) {
                        knx_write($item->{GAsperre},$plugin_info{$plugname.'_'.$item->{name}.'_Sperre4'},1,1);
                     }
                  }
                  
                  return;

                  Kommentar


                    #24
                    Für jede GA braucht's einen Master, der sich dessen Zustand merkt (so es überhaupt einen Zustand dafür gibt). Die Visu kann dass prinzipbedingt nicht sein.

                    Aber es kann z.B. das WireGate mit entsprechendem WG-Plugin sein.
                    => Genau dafür hatte ich mal das State-Save-Plugin geschrieben.

                    Z.B. habe ich auf meiner Visu einen Button der "erzwinge Wochenende" macht, d.h. auch unter der Woche die Logiken vom Wochenende ausführt (z.B. wenn man mal frei hat, Feitertag oder so). Und u.a. genau diesen Zustand merkt sich dieses WG-Plugin bei mir.
                    Wenn nun ein anderer Client die Visu lädt, kommt der Zustand des Buttons von dort. Und eine WG-Logik die den Status braucht, liest den per Read-Telegram auch dort aus.
                    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


                      #25
                      Zitat von Chris M. Beitrag anzeigen
                      => Genau dafür hatte ich mal das State-Save-Plugin geschrieben.
                      Das Plugin habe ich gefunden.

                      Heißt das, man muss nur einen passenden Namen für die jeweilige GA, den Anfangszustand und evtl. DPT angeben und schon "merkt" sich das WG die Zustände?
                      Gruß -mfd-
                      KNX-UF-IconSet since 2011

                      Kommentar


                        #26
                        Gugst Du ab Zeile 19:
                        Code:
                        # Syntax:
                        # 'Global_Name' => [ 'KNX GA', 'Initial Value', 'DPT (optional)' ],
                        my %states = (
                          'Global_ErzwingeWochenende'             => [ '0/3/20', 0    ],
                          'Global_WeihnachtsbeleuchtungAutomatik' => [ '0/3/21', 0, 1 ], 
                        );
                        => Einfach in dem Format die eigenen Zustände eintragen, mit GA und Initial-Wert.
                        DPT ist notwendig, wenn diese GA nicht in der globalen Liste gepflegt ist.

                        Wenn Du alle Werte wieder auf den Anfangswert setzen willst, setzt Du die Variable $reset_states auf 1, speicherst (=> das Plugin wird gleich ausgeführt), setzt die wieder auf 0 und speicherst wieder.
                        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


                          #27
                          Wie kann ich überprüfen, ob das Plugin korrekt funktioniert?
                          In der CV werden auch jetzt noch die Zustände falsch angezeigt.
                          Gruß -mfd-
                          KNX-UF-IconSet since 2011

                          Kommentar


                            #28
                            Zitat von mfd Beitrag anzeigen
                            Wie kann ich überprüfen, ob das Plugin korrekt funktioniert?
                            Stecker ziehen? :P

                            Ne, lass erst mal. Es geht netürlich nicht's über einen realen Test, aber da sollte man vorher schon ziemlich sicher sein, dass der mag.
                            Geh daher am besten mal im WG auf die Plugin-Seite. Im unteren Teil stehen die ganzen Größen, die die Plugins so angelegt haben. Und da sollte unter genau dem im Plugin vergebenem Namen der entsprechende Wert stehen.
                            Zitat von mfd Beitrag anzeigen
                            In der CV werden auch jetzt noch die Zustände falsch angezeigt.
                            Hörst Du evtl. auf mehrere Adressen?
                            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


                              #29
                              Zitat von Chris M. Beitrag anzeigen
                              Hörst Du evtl. auf mehrere Adressen?
                              Nicht dass ich wüßte.

                              Bei den angelegten Größen der Plugins taucht das State-Save mit keinem Wert auf. Ich habe den leisen Verdacht, es tut - aus welchem Grund auch immer - einfach... nichts.
                              Gruß -mfd-
                              KNX-UF-IconSet since 2011

                              Kommentar


                                #30
                                Wie sieht das entsprechende Widget in der CV aus (Auszug aus dem XML-Code)?
                                Was sagt die WireGate-Plugin-Seite bzgl. Aufruf-Zeiten und Rückmelde-Wert des StateSave-Plugins?
                                Was sagt die WireGate-Plugin-Seite im unteren Teil bei den Einträgen, die genau so heißen, wie die Namen im StateSave-Plugin (also bei dem o.g. Beispiel von mir wären das "Global_ErzwingeWochenende" und "Global_WeihnachtsbeleuchtungAutomatik")?

                                Was sagt die ETS wenn Du auf der GA eines dieser States einen Wert sendest und danach wieder liest? Und dann einen anderen Wert an die gleiche GA sendest und dann wieder von dieser GA liest?
                                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

                                Lädt...
                                X