Ankündigung

Einklappen
Keine Ankündigung bisher.

smarthome.py stürzt ab

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

    #31
    series kommt aus dem Visu-Plugin und soll wohl in einem Plot(Period) neue Werte sofern diese reinkommen nachliefern (damit der Plot up-to-date bleibt).

    Onewire: Du hast massive Probleme mit deinem Onewire-Bus. Aber denke das weißt du selber. Gut möglich dass bei solch massiven Problemen sich das Onewire-Plugin irgendwo verschluckt. Hier würde ich persönlich schätzen, dass nur der massive Einbau von Debug-Ausgaben im OW-Plugin hilft das Plugin zu härten - aber deinen Probleme liegen wo anders...


    Grüße
    Robert

    /edit:

    Ach so: das Hochlaufen der Threads suggeriert schon, dass das Übel beim asyncore liegt - gut möglich dass der Onewire da mitgerissen wird. Wie gesagt, die Exception aus meinem Bugreport reist alles mit. Wenn da versucht wird, mittels "series" diverse Plots von "1w-sen" zu versorgen könnte es sein dass deswegen die 1w-sen Threads wie die FLiegen sterben... Also evtl. erst mal abwarten!

    Kommentar


      #32
      Hallo,

      wenn man in https://knx-user-forum.de/smarthome-...-remove-x.html reinläuft, dann geht die Post ab.

      Bei einer Item-Änderung geht der Thread, der die Änderung durchführen möchte, in einen Deadlock und wartet.
      Das Problem ist wie gesagt, sowohl im master branch, als auch im develop branch gefixed.

      Robert hat die Funktion von 'series' richtig beschrieben. Auch die Methode series ist von dem Deadlock betroffen.

      Ich bin mir nicht sicher ob Max so ein massives Problem mit 1-Wire hat mit dem das Plugin nicht umgehen kann.

      Bis bald

      Marcus

      Kommentar


        #33
        Zitat von mknx Beitrag anzeigen
        Ich bin mir nicht sicher ob Max so ein massives Problem mit 1-Wire hat mit dem das Plugin nicht umgehen kann.
        Nein, das war nur meine verzweifelte Mutmaßung bevor ich mir Max Log noch mal genauer angeschaut habe. Hatte dann ja mit dem "edit" auch die "Korrektur" hinterhergeschoben.

        Trotzdem sieht der Onewire nicht gesund aus...

        @Max: Wenn du Interesse hättest ein Beaglebone Black anzuschaffen könnte ich dir einen 4-fach Onewire-Busmaster mal zum Testen überlassen ob der robuster ist als die DS9490R USB-Busmaster... https://knx-user-forum.de/329474-post5.html

        Grüße
        Robert

        Kommentar


          #34
          Zitat von Robert Beitrag anzeigen
          Nein, das war nur meine verzweifelte Mutmaßung bevor ich mir Max Log noch mal genauer angeschaut habe. Hatte dann ja mit dem "edit" auch die "Korrektur" hinterhergeschoben.

          Trotzdem sieht der Onewire nicht gesund aus...

          @Max: Wenn du Interesse hättest ein Beaglebone Black anzuschaffen könnte ich dir einen 4-fach Onewire-Busmaster mal zum Testen überlassen ob der robuster ist als die DS9490R USB-Busmaster... https://knx-user-forum.de/329474-post5.html

          Grüße
          Robert
          Hallo Robert,

          ein BBB liegt neben mir (da soll mal XBMC drauf). Ich habe aber (nachdem ich wohl ein bis zwei OW-Eingänge deines Interfaces gegrillt habe) den OW-Anschluss auf 2xUSB von Wiregate am aktiv gepowerten Hub umgestellt. Es mag auch sein, dass die DS9490 nicht so wollen, wie sie sollen, aber ich habe durch die Topologie im Haus sowieso das Problem, dass ich nur mit großem Aufwand jeder Sensorleitung einen eigenen Busmaster spendieren kann.

          Ich hatte schon angefangen, als Alternative zu 1W eine Leiterplatte mit Feuchte- und Temperatursensor und KNX-Interface samt µC zu designen. Die Teile liegen neben mir, ich werde aber auf absehbare Zeit nicht zur Programmierung kommen (Zusammenlöten wäre das kleinere Problem). Wenn jemand eine Leiterplatte haben will (und im besten Fall schon mal MSP430 programmiert hat)...

          Als nächsten Schritt (einfachere Lösung) werde ich versuchen, die 1-Wire-Sensoren alle einzeln aus dem KNX zu versorgen mit Hilfe eines Flybuck-Konverters (kein Tippfehler). Teile habe ich eben bei Farnell bestellt, mal sehen, ob das nachher so tut.

          Max

          Kommentar


            #35
            Nur zur Doku.....
            hatte heute gleiches Problem .....

            2018-09-19 16:14:37 ERROR Scheduler Needing more worker threads than the specified maximum of 20!
            2018-09-19 16:15:39 ERROR Scheduler Needing more worker threads than the specified maximum of 20!
            2018-09-19 16:51:02 ERROR knx_raum.ug.pm.keller.in_betrieb.alter.hi_reset Item knx_raum.ug.pm.keller.in_betrieb: problem running <bound method DataLog.update_item of <plugins.datalog.DataLog object at 0x18524b0>>:
            Traceback (most recent call last):
            File "/usr/smarthome/lib/item.py", line 369, in __update
            method(self, caller, source, dest)
            File "/usr/smarthome/plugins/datalog/__init__.py", line 114, in update_item
            self._buffer[log].append({ 'time' : self._sh.now(), 'item' : item.id(), 'value' : item() })
            MemoryError
            2018-09-19 16:51:02 ERROR knx_raum.ug.pm.keller.in_betrieb.alter.hi_reset Item knx_raum.ug.pm.keller.in_betrieb: problem running <bound method DataLog.update_item of <plugins.datalog.DataLog object at 0x18524b0>>:
            Traceback (most recent call last):
            File "/usr/smarthome/lib/item.py", line 369, in __update
            method(self, caller, source, dest)
            File "/usr/smarthome/plugins/datalog/__init__.py", line 114, in update_item
            self._buffer[log].append({ 'time' : self._sh.now(), 'item' : item.id(), 'value' : item() })
            SH lief bevor ich folgende item's eingefügt hatte ohne Probleme

            Code:
            [knx_raum]
                [[ug]]
                    [[[pm]]]
                        [[[[keller]]]]
                            [[[[[eingang_ext_lg_a]]]]]
                                type = bool        # bool ist iO bei dtp 1 lt Beispiel mknx
                                knx_dpt = 1
                                visu = toggle
                                knx_send = 2/5/42
                                knx_cache = 3/0/100
                            [[[[[tag_nacht]]]]]
                                type = bool
                                knx_dpt = 1
                                sqlite = yes
                                visu = toggle
                                knx_init = 2/5/242
                                enforce_updates = True
                            [[[[[in_betrieb]]]]]        # PM sendet zyklisch alle 5 Min nur ein EIN
                                type = bool
                                knx_dpt = 1
                                knx_send = 2/5/142    # neu bus??
                                knx_init = 2/5/142
                                enforce_updates = True
                                visu = ro
                                datalog = default
                                [[[[[[alter]]]]]]
                                    type = num
                                    cycle = 60 = 1    # die loesung nur damit laeuft es
                                    eval = sh.knx_raum.ug.pm.keller.in_betrieb.age()
                                    eval_trigger = knx_raum.ug.pm.keller.in_betrieb    # neu aus
            #                        enforce_updates = True    # loest RESET im Sec-Takt aus
                                    datalog = default
                                    [[[[[[[alter_zv]]]]]]]
                                        type = num
                                        eval = sh.knx_raum.ug.pm.keller.in_betrieb.prev_age()    # ergibt >300 Sec
                                        eval_trigger = knx_raum.ug.pm.keller.in_betrieb
                                        cycle = 60 = 1    # die Loesung laeuft ohne zweites = nicht
                                    [[[[[[[hi_reset]]]]]]]
                                        type = num
            #                            knx_dpt = 1
            #                            knx_send = 2/5/142    # wenn AUS, 0 kommt nicht im Busmonitor
                                        eval = sh.knx_raum.ug.pm.keller.in_betrieb(0) if sh.knx_raum.ug.pm.keller.in_betrieb.alter() > 240 else None
                                        eval_trigger = knx_raum.ug.pm.keller.in_betrieb.alter
                                        enforce_updates = True    # ist offensichtlich unbedingt erforderlich
                                        # erst kommt ein EIN dann unmittelbar ein AUS alle 10 Min
                                [[[[[[sabotage]]]]]]
                                    type = bool
                                    visu_acl = rw
                                    datalog = default
                                    [[[[[[[hi_sabotage]]]]]]]
                                        type = num
                                        eval = sh.knx_raum.ug.pm.keller.in_betrieb.sabotage(True) if sh.knx_raum.ug.pm.keller.in_betrieb() == 0 and sh.knx_raum.ug.pm.keller.in_betrieb.alter() > 300 else None
                                        eval_trigger = knx_raum.ug.pm.keller.in_betrieb.alter
                                        enforce_updates = True    # ohne das laeuft Alter unendlich hoch, IN BETRIEB wird nicht 0
            Meine SH Version

            sh_version.jpg

            Zustandsautomat wird die Lösung sein...... wenn ich Zeit habe ....
            Zuletzt geändert von Haiphong; 19.09.2018, 21:09.
            Gruß, JG

            Kommentar


              #36
              Wie wäre es mit einem Update auf eine aktuellere Version?
              Viele Grüße
              Martin

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

              Kommentar


                #37
                Ja, bin mir des Version-Problems bewußt ......

                Hab nur vor neuen Problemen angst z.B knxd / Weinzierl

                Wird in der kälter Jahreszeit erfolgen ...

                Gruß, JG

                Kommentar


                  #38
                  Dann lass doch den EIBD drunter. Solange er für Dich tut,.. SmartHomeNG hat damit kein Problem.

                  Das Problem entsteht nur, wenn EIBD für Dich nicht mehr tut, denn EIBD wird nicht mehr weiterentwickelt, sondern nur der Fork KNXD.
                  Viele Grüße
                  Martin

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

                  Kommentar


                    #39
                    Oder einfach die KNXD Version 0.12 nehmen. Die läuft.....
                    Ist , glaube ich im aktuellen Image von Onkelandy auch so vorhanden.

                    Kommentar


                      #40
                      Ja,im 2.2 Image ist die knxd Version Standard, die mit Weinzierl und Co laufen sollte.

                      Kommentar

                      Lädt...
                      X