Ankündigung

Einklappen
Keine Ankündigung bisher.

logik mit für mich unerklärlichem Fehler...

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

    logik mit für mich unerklärlichem Fehler...

    Hallo, ich versuche einem ITEM den Wert eines anderen ITEMS zuzuweisen.
    Nur scheitert das immer in einem :

    Code:
     File "/usr/local/smarthome/logics/test.py", line 8, in <module>
        sh.EG.Raum3.Heizung.Basissollwert_HK.Sollwert_HK_Statusalt(sh.EG.Raum3.Heizung.Basissollwert_HK())
    TypeError: 'float' object is not callable
    Hier der Aufruf in der Logik:

    Code:
    sh.EG.Raum3.Heizung.Basissollwert_HK.Sollwert_HK_Statusalt(sh.EG.Raum3.Heizung.Basissollwert_HK())
    Kann mir da jemand helfen, wie das richtig umwandel oder irgendwie in Funktion bekomme?

    #2
    schuma wie sind die items definiert? evtl musst du den wert des inneren noch casten?

    Kommentar


      #3
      Um Dir helfen zu können ist der Schnipsel erheblich zu dürftig.

      Das kann in der Logik oder den Items liegen. Als absolutes Minimum müsstest Du schon folgendes posten:
      • den Bereich der Logik (besonders die Zeilen davor)
      • die Item Definitionen (aus denen auch der Tree Aufbau hervorgeht)

      Viele Grüße
      Martin

      There is no cloud. It's only someone else's computer.

      Kommentar


        #4
        Zitat von psilo Beitrag anzeigen
        wie sind die items definiert?
        Also die Items sind wie folgt definiert:

        Code:
                    Basissollwert_HK:
                        type: num
                        visu_acl: rw
                        knx_dpt: 9
                        knx_init: 2/2/113
                        knx_send: 2/2/114
                        sqlite: 'yes'
        
                        Sollwert_HK_Statusalt:
                            type: num
                            visu_acl: rw
                            cache: 'yes'
        In der Logic gibt es keine Zeilen davor. Das war der einzige Eintrag in meiner Test Logik.

        Kommentar


          #5
          kann es sein, dass in einem item INTs und im anderen FLOATs stehen?
          ich würde das mit dem casten trotzdem mal ausprobieren.. ich glaube ich hatte was ähnliches auch schon.

          Kommentar


            #6
            Probiere Deinen Code doch mal ein wenig aufzuspalten:

            Statt
            Code:
            sh.EG.Raum3.Heizung.Basissollwert_HK.Sollwert_HK_Statusalt(sh.EG.Raum3.Heizung.Basissollwert_HK())
            Code:
            neuer_wert = sh.EG.Raum3.Heizung.Basissollwert_HK()
            sh.EG.Raum3.Heizung.Basissollwert_HK.Sollwert_HK_Statusalt(neuer_wert)

            Kommentar


              #7
              Ich habe die von Dir geposteten Items per Copy&Paste bei mir angelegt (die KNX Attribute auskommentiert) und eine Logik erzeugt in die ich Deine Zeile hineinkopiert habe.

              Ergebnis: Läuft!

              Da muss noch was sein, was Du nicht erwähnt hast.
              Viele Grüße
              Martin

              There is no cloud. It's only someone else's computer.

              Kommentar


                #8
                Zitat von bmx Beitrag anzeigen
                Probiere Deinen Code doch mal ein wenig aufzuspalten:
                Das hatte ich auch schon probiert. Ohne Erfolg.

                Zitat von psilo Beitrag anzeigen
                kann es sein, dass in einem item INTs und im anderen FLOATs stehen?
                Ich habe das schon versucht zu wandeln mit int() und auch mit float(). Aber auch ohne erfolg.

                Wie meinst Du das mit dem casten?
                int(float()) ?

                Kommentar


                  #9
                  Kann das knx_dpt 9 da etwas auseinander bringen?

                  Kommentar


                    #10
                    Nein, das wird nur vom KNX Plugin ausgewertet, da es ein Plugin-spezifisches Attribut ist.
                    Viele Grüße
                    Martin

                    There is no cloud. It's only someone else's computer.

                    Kommentar


                      #11
                      Die Frage wäre höchstens: Was für ein Wert steht bei Aufruf der Logik in den beiden Items. Was sagt das Backend dazu?
                      Viele Grüße
                      Martin

                      There is no cloud. It's only someone else's computer.

                      Kommentar


                        #12
                        UNGLAUBLICH!!!

                        Ich habe jetzt die Zeile auch noch einmal in eine neue Logik Datei kopiert.
                        Was soll ich sagen, jetzt geht es!

                        Ich habe in der zwischenzeit auf Pull auf die 1.4.2 gemacht. Kann das damit zusammen hängen?

                        Auf jeden Fall funktioniert es nun... Warum auch immer.... Das ist jetzt wirklich unerklärlich für mich...

                        Kommentar


                          #13
                          Nee, an den Logiken hat sich nichts getan. In den Release Notes siehst Du die paar Änderungen der v1.4.2.
                          Viele Grüße
                          Martin

                          There is no cloud. It's only someone else's computer.

                          Kommentar


                            #14
                            Echt komisch.... Ich habe nur eine neue Datei erstellt und die Zeile aus dem Forum in die neue Datei kopiert.

                            Was kann denn an der Datei anders sein? Mann mann mann ...

                            Msinn, psilo und bmx - Sorry für die Aufruhr!

                            Kommentar

                            Lädt...
                            X