Ankündigung

Einklappen
Keine Ankündigung bisher.

Misterhouse Temperaturwerte lesen

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

    Misterhouse Temperaturwerte lesen

    Hallo Ihr Lieben,
    ich habe hier einen total einfachen Temperatursensor, der leider nur die Werte in den Bus bringt, wenn man diesen Wert abfragt.
    Händisch habe ich dies z.B. mit der ETS im Gruppenmonitor gemacht mit Lesen der Gruppe.

    Ich nehme eine if in folgender Struktur...
    Aber wi kann ich Werte in misterhouse abfragen?
    if ($NEW_Minute))
    {

    }

    THANKS

    #2
    Zitat von commander0815 Beitrag anzeigen

    Ich nehme eine if in folgender Struktur...
    Aber wi kann ich Werte in misterhouse abfragen?
    if ($NEW_Minute))
    {

    }

    THANKS
    Probier mal das (hab jetzt nicht geprüft, ob send_read_msg für diesen Typ möglich ist):

    if ($NEW_Minute))
    {
    $Temperatursensor->send_read_msg;
    $tstatus->$Temperatursensor->state;
    }

    Gruß,
    thoern

    Kommentar


      #3
      Hi Thoern,
      thanks das hat geholfen:

      Hier der korrekte Bsp Aufruf:

      Code:
      if ( $Reread || $Startup || new_minute 1 )  {
      
      $Dachgeschosstemperatur->send_read_msg;
      $Dachgeschosstemperatur->state;
      print_log "####Dachtemp: $Dachgeschosstemperatur->{state}";
      
      }

      Kommentar


        #4
        Zitat von commander0815 Beitrag anzeigen
        print_log "####Dachtemp: $Dachgeschosstemperatur->{state}";
        Mit $Dachgeschosstemperatur->{state} greifst du direkte auf das Objektproperty "state" zu. Das sollte man nicht tun. Besser ist es, den Status über die entsprechende Methode abzufragen: $Dachgeschosstemperatur->state;

        Folgendes ist besser:

        if ( $Reread || $Startup || new_minute 1 ) {

        $Dachgeschosstemperatur->send_read_msg;
        print_log "####Dachtemp: " . $Dachgeschosstemperatur->state;

        }

        Kommentar


          #5
          thanks,
          Liegt wohl am Mangel meiner Pearl "Fähigkeiten".

          Kommentar


            #6
            Pearl ist eine andere Sprache und hat nichts mit Perl zu tun.

            Gruß,
            thoern

            Kommentar


              #7
              yepp ;-)

              Kommentar


                #8
                Zitat von thoern Beitrag anzeigen
                Mit $Dachgeschosstemperatur->{state} greifst du direkte auf das Objektproperty "state" zu. Das sollte man nicht tun. Besser ist es, den Status über die entsprechende Methode abzufragen: $Dachgeschosstemperatur->state;

                Folgendes ist besser:

                if ( $Reread || $Startup || new_minute 1 ) {

                $Dachgeschosstemperatur->send_read_msg;
                print_log "####Dachtemp: " . $Dachgeschosstemperatur->state;

                }
                Wenn ich es ohne die geschweifte klammer im printlog ausführe wird nur ein Hash ausgegeben... siehe hier:

                :01 ####Dachtemp: EIB5_Item=HASH(0x983b428)->state

                mit den geschweiften Klammern ist es in Ordnung.

                LG

                Kommentar


                  #9
                  Hi,

                  kann es sein, dass zu den Punkt in der Zeile vergessen hast:

                  print_log "####Dachtemp: " . $Dachgeschosstemperatur->state;

                  Oder hast du auch die Hochkommas falsch?

                  Gruß,
                  thoern

                  Kommentar


                    #10
                    Ja der Punkt wars.
                    Danke für die "unendliche Geduld" mit einem so blutigen Anfänger wie mir.
                    Hier die letzte "Finale" Version:
                    Code:
                    if ( $Reread || $Startup || new_minute 1 )  {
                    
                    
                    $Dachgeschosstemperatur->send_read_msg;
                    $Dachgeschosstemperatur->state;
                    
                    print_log "####Dachtemp: " .$Dachgeschosstemperatur->state;

                    Kommentar


                      #11
                      Der Punkt ist eine Konkatenationoperator. Der Leserlichkeit halber solltest du vor und nach dem Punkt ein Leerzeichen lassen.

                      Kommentar

                      Lädt...
                      X