Ankündigung

Einklappen
Keine Ankündigung bisher.

Kann keine GA mit Wert 0 lesen

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

    [wiregate] Kann keine GA mit Wert 0 lesen

    Hallo miteinander,

    hatte soeben festgestellt, dass das Multi-RTR plugin welches ich aus dem SVN verwende bei einem knx_read keinen Wert liefert, wenn der Wert 0 ist.

    Habe die Problematik auf folgendes Beispiel reduzieren können:

    Code:
    my $Test_GA = "5/2/33";
    my $Test_value = -1;
    
    $plugin_info{$plugname.'_cycle'} = 0;
    $plugin_subscribe{$Test_GA}{$plugname} = 1;
    ####################################################
    
    $Test_value = knx_read( $Test_GA, 0, 1 ) || 2; # mögliche Werte sind: 0 und 1
    
    #if ($Test_value == 0) { return "Null";}
    return $Test_value;
    Wenn die Test_GA den Wert 1 hat, erhalte ich auch die 1
    Wenn die Test_GA nun den Wert 0 hat, erhalte ich immer den Wert 2

    Übersehe ich was, weshalb ich den Wert 0 nicht erhalte?

    Gruss
    Marcel
    seit: 11'08 KNX / 04'09 HS3 / 12'09 WG mit 21 Temp & 4 Feuchtesensoren / 10'10 Enocean mit 15 Fenstergriffe Hoppe / 02'11 MBus2Serial Gas-Wasserzähler
    HS3: 99% / VISU: PV 99%, iPad 99%
    60 Akt. Linie1 / 14 Akt. Linie2

    #2
    Das Plugin ist - ausm Bauch - suboptimal..
    Weil 0 ist nicht gleich NULL..

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

    Kommentar


      #3
      Hallo makki,

      Verstehe ich jetzt nicht ganz.
      Ich habe eine GA mit dem Wert 0.
      mit knx_read auf diese GA erhalte ich keinen Wert.

      Wenn aber der Wert 1 anliegt, dann erhalte ich mit knx_read auch den Wert 1

      Gruss
      Marcel
      seit: 11'08 KNX / 04'09 HS3 / 12'09 WG mit 21 Temp & 4 Feuchtesensoren / 10'10 Enocean mit 15 Fenstergriffe Hoppe / 02'11 MBus2Serial Gas-Wasserzähler
      HS3: 99% / VISU: PV 99%, iPad 99%
      60 Akt. Linie1 / 14 Akt. Linie2

      Kommentar


        #4
        Weil 'kein zugewiesener Wert' (auch als 'NULL' oder 'NIL' bezeichnet) ist für den Computer etwas GANZ ANDERES als die Zahl '0'.

        In Deiner Bedingung prüfst Du auf '0' und diese trifft nicht zu, weil Du 'NULL' (also keinen zugewiesenen Wert hast).

        Info: Nullwert

        Kommentar


          #5
          Ich habe missverständlicherweise die Kommentarzeile im Code mit reinkopiert.

          Alles nochmal im Detail und mit Bildern:

          1. Es geht um die Zeile "knx_read..."
          2. GA hat den Wert 1 (Bild 1) -> knx_read liefert mir den Wert 1 (Bild 3 obere Zeile)
          3. GA hat den Wert 0 (via HS Monitor gesetzt) (Bild 2) -> knx_read kann den Wert nicht lesen und liefert mir gemäss Code den alternativen Wert 2 (Bild 3 untere Zeile)

          vergleicht dazu auch die angegebenen Zeiten in den Bildern (die Uhr des PC ist 14 Sekunden hinter dem Wiregate)

          und hier nochmal das verwendete Plugin (habe nun alle Kommentarzeilen entfernt)

          Code:
          my $Test_GA = "5/2/33";
          my $Test_value = -1;
          
          $plugin_info{$plugname.'_cycle'} = 0;
          $plugin_subscribe{$Test_GA}{$plugname} = 1;
          
          $Test_value = knx_read( $Test_GA, 0, 1 ) || 2;
          
          return $Test_value;
          Gruss
          Marcel
          Angehängte Dateien
          seit: 11'08 KNX / 04'09 HS3 / 12'09 WG mit 21 Temp & 4 Feuchtesensoren / 10'10 Enocean mit 15 Fenstergriffe Hoppe / 02'11 MBus2Serial Gas-Wasserzähler
          HS3: 99% / VISU: PV 99%, iPad 99%
          60 Akt. Linie1 / 14 Akt. Linie2

          Kommentar


            #6
            Hi Marcel,

            es passiert doch das, was in Perl definiert ist (hab ich von True or False? A Quick Reference Guide):

            Da steht (verkürzt wiedergegeben):

            X=A||B: Wenn A<>0, dann X=A; Wenn A=0, dann X=B

            Das sind genau die Ergebnisse, die Du bekommst...

            Gruß, Waldemar
            OpenKNX www.openknx.de

            Kommentar


              #7
              Zitat von mumpf Beitrag anzeigen
              es passiert doch das, was in Perl definiert ist
              Mensch, ich Vollidiot. Da stehts und ich bin blind.....
              Besten Dank, dass du meine Woche gerettet hast :-)

              Wie war das noch mal: "...sieht den Wald vor lauter Bäumen nicht..."

              Gruss
              Marcel
              seit: 11'08 KNX / 04'09 HS3 / 12'09 WG mit 21 Temp & 4 Feuchtesensoren / 10'10 Enocean mit 15 Fenstergriffe Hoppe / 02'11 MBus2Serial Gas-Wasserzähler
              HS3: 99% / VISU: PV 99%, iPad 99%
              60 Akt. Linie1 / 14 Akt. Linie2

              Kommentar


                #8
                Hi,

                freut mich, wenn ich helfen konnte.

                Gruß Waldemar
                OpenKNX www.openknx.de

                Kommentar

                Lädt...
                X