Ankündigung

Einklappen
Keine Ankündigung bisher.

Schalterstatus wird nicht gespeichert

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

    [callidomus] Schalterstatus wird nicht gespeichert

    Guten Morgen!

    Mir ist hier etwas aufgefallen, dass bei meinen Funksteckdosen der An/Aus Status in Callidomus nicht gespeichert wird.
    D.h. ich schalte eine meiner Funksteckdosen an, gehe auf eine andere Seite und komme zurück.... da ist der Schalter wieder auf Aus, aber die Steckdose ist an.
    Was könnte hier falsch sein? Danke für eure Hilfe.

    Schalter in der Visu:
    Funksteckdosen in der Visu


    Und ein Item einer Steckdose:


    Grüße
    Thorsten
    Angehängte Dateien
    You do not have permission to view this gallery.
    This gallery has 2 photos.
    Zuletzt geändert von RoyalTS; 10.12.2016, 08:52.

    #2
    Hi,
    ich mache es über ein Logick bei mir ist das nicht so.

    Code:
    logger = logging.getLogger('')
    
    host = "192.168.102.7" # IP of Adruino
    port = 8888 # Port where the Arduino is listening
    
    logger.debug("trigger.caller: {}".format(trigger.caller))
    logger.debug("trigger.value: {}".format( trigger.value))
    logger.debug("trigger.dest: {}".format( trigger.dest))
    logger.debug("trigger.source: {}".format( trigger.source))
    
    item = cd.return_item(trigger.source)
    logger.debug(item)
    value = int(item())
    
    adress = item.attr['adress_433']    #"11011" #attribut adress_433
    channel =  item.attr['channel_433'] #"00010" #attribut channel_433
    
    data = "{0},{1},{2}".format(adress, channel, value)
    
    cd.nw.udp( host, port, data)
    logger.debug( "Sending udp to host: {0}, port: {1}, data: {2}".format(host,port,data))
    Wie stieht den das Item aus ist das an oder aus? Wenn das auch aus ist würde ich nochmal eine Zeile in deinem codeblock einfügen.

    Viele Grüsse
    Jürgen
    Zuletzt geändert von heckmannju; 10.12.2016, 13:24.

    Kommentar


      #3
      Hi Thorsten,

      Ein einzeiliger Codeblock setzt immer das Ergebnis der aufgerufenen Funktion als Wert des items. Der cd.network.udp liefert wahrscheinlich einen Wert 0.
      Wahrscheinlich reicht es, als erste Zeile eine Leerzeile einzufügen oder eine Anweisung wie x=1, falls Leerzeile nicht reicht.

      Gruß Waldemar
      OpenKNX www.openknx.de

      Kommentar


        #4
        Hallo Thorsten,

        was genau passiert sieht man am besten im Logfile. Dazu das Loglevel in GUI auf debug stellen und unter /var/callidomus/log/core.

        Oder auf der Shell
        Code:
        callidomus.core stop
        callidomus.core debug
        (Mit Str-c kann man es wieder stoppen)

        Waldemar Vermutung ist leider falsch, das Netzwerk-Plugin liefert an dieser Stelle nichts zurück (None) und führt daher auch zu keiner Änderung.

        Bis bald

        Marcus

        Kommentar


          #5
          Hallo Marcus,

          im Log findet sich folgendes:
          Code:
          2016-12-10 19:31:26 DEBUG    Main         Visu: unknown (192.168.1.135:35832) sent '{"cmd":"item","id":"Funksteckdosen.System1.TasteA","value":1}'
          2016-12-10 19:31:26 DEBUG    Main         Triggering Funksteckdosen.System1.TasteA-code - caller: Visu source: unknown (192.168.1.135:35832) dest: None value: {'dest': None, 'source': 'unknown (192.1
          2016-12-10 19:31:26 DEBUG    Funksteckdosen.System1.TasteA-code UDP: Sending data to 192.168.1.177:8888:
          2016-12-10 19:31:26 DEBUG    Funksteckdosen.System1.TasteA-code Item Funksteckdosen.System1.TasteA: code evaluation returns None

          Kommentar


            #6
            Mit einer zweiten Codeblockzeile geht es:
            Code:
            cd.netzwerk.udp("192.168.1.177",8888,"11111,100000,{}".format(int(value)))
            value

            Kommentar


              #7
              Führt diese zweite Zeile value zu keiner Fehlermeldung?
              vg juergen

              Kommentar


                #8
                Nur mit der zweiten Zeile sieht das Log wie folgt aus:
                Code:
                2016-12-10 20:16:00 DEBUG    Main         Visu: unknown (192.168.1.135:38880) sent '{"cmd":"item","id":"Funksteckdosen.System1.TasteA","value":1}'
                2016-12-10 20:16:00 DEBUG    Main         Triggering Funksteckdosen.System1.TasteA-code - caller: Visu source: unknown (192.168.1.135:38880) dest: None value: {'value': 1, 'dest': None, 'caller': 'Vi
                2016-12-10 20:16:00 DEBUG    Funksteckdosen.System1.TasteA-code UDP: Sending data to 192.168.1.177:8888:
                2016-12-10 20:16:00 INFO     Funksteckdosen.System1.TasteA-code Item Funksteckdosen.System1.TasteA = True via Visu unknown (192.168.1.135:38880) None
                20
                Also scheint zu passen

                Kommentar


                  #9
                  Hallo,

                  jetzt verstehe ich das Problem.

                  Der Wert wird über die Visu gesetzt. z.B. value = 1
                  Nun wird der Codeblock evaluiert und liefert None zurück, daraufhin wird der Wert ignoriert.

                  Wenn jetzt eine zweite Zeile im Spiel ist, dann ist das Verhalten leicht anders, da man bei einer Evaluierung eines mehrzeiligen Codeblock keinen Wert direkt zurückgeben kann, wird der Wert der Variable 'value' ausgelesen.
                  Dieser Wert wird ja bei Dir nicht verändert.
                  In dem Fall ist die zweite Zeile vollkommen egal, es könnte auch

                  Code:
                  cd.netzwerk.udp("192.168.1.177",8888,"11111,100000,{}".format(int(value)))
                  True
                  dort stehen.

                  Bis bald

                  Marcus

                  Kommentar


                    #10
                    Wenn du mal die IP ändern must mußt du durch zig items durch...Mach ne Logik und gut ist.... Das mit den zwei Zeilen vergisst du wieder und stehst wieder rätzelnd da.
                    vg
                    Jürgen

                    Kommentar

                    Lädt...
                    X