Ankündigung

Einklappen
Keine Ankündigung bisher.

SML Plugin - Datenblock Größenfehler

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

    Läuft es denn so bei dir?

    Ich komme grad mit den Einrückungen nicht klar. Beim Copy/Paste gibt es keine mehr und in dem Block oben ist es nicht ganz eindeutig. Das erste if und das letzte else gehören zusammen und das zweite if mit dem ersten else? Sonst macht's keinen Sinn. Schick doch mal die ganze Datei gezippt.

    Kommentar


      Zitat von Sipple Beitrag anzeigen
      Läuft es denn so bei dir?

      Ich komme grad mit den Einrückungen nicht klar. Beim Copy/Paste gibt es keine mehr und in dem Block oben ist es nicht ganz eindeutig. Das erste if und das letzte else gehören zusammen und das zweite if mit dem ersten else? Sonst macht's keinen Sinn. Schick doch mal die ganze Datei gezippt.
      Ich hab den letzten Beitrag jetzt nochmals angepasst. Die Einrückungen scheinen beim Copy/Paste des Codes sich verschoben zu haben. Jetzt sollte es aber passen.
      Nochmals kurz verbal zusammengefasst:
      • Prüfung, ob das Object 'valtime' überhaupt existiert
        • Wenn ja,
          • prüfen, ob es sich beim Value des Objekt um eine Liste/Array handelt
            • Wenn ja, dann den Inhalt des Arrays entsprechend codieren und in die 'actualTime' übernehmen
            • Wenn nein (<-- hier wir der Workaround für die Holleys angewendet) soll nicht das Array, sondern einfach der Value des Objekt für die Codierung verwendet werden
        • Wenn nein,
          • soll 'actualTime' auf None gesetzt werden...

      Hab momentan leider keinen Zugriff auf den Sourcecode, deshalb auf diesem Weg

      Danke!

      Kommentar


        Jetzt schaut das schlüssiger aus :-)

        Kommentar


          fuppy Ich weiß jetzt nicht, wie Du Dir das gedacht hast aber ich bin kein Freund davon in Sourcecode rumpatchen zu müssen.

          Vielleicht sollte man einen neuen Parameter patch_for einführen dem man den Namen eines Zählers etc. mitgibt. Dann kann man das in der Konfiguration so setzen und es kann innerhalb des Codes darauf reagiert werden...?

          Code:
          patch_for: 'Holley DTZ541_FW1'

          Kommentar


            Es gibt ja eigentlich schon einen passenden Parameter. "device: raw | hex | <known-device>". Wär das nicht sinnvoll den zu verwenden?
            Da gäbe es dann mindestens zwei Varianten für den Holley Mist.

            - mit falscher CRC und falscher timestamp
            - mit korrekter CRC und falscher timestamp.

            Kommentar


              Zitat von bmx Beitrag anzeigen
              fuppy Ich weiß jetzt nicht, wie Du Dir das gedacht hast aber ich bin kein Freund davon in Sourcecode rumpatchen zu müssen.

              Vielleicht sollte man einen neuen Parameter patch_for einführen dem man den Namen eines Zählers etc. mitgibt. Dann kann man das in der Konfiguration so setzen und es kann innerhalb des Codes darauf reagiert werden...?

              Code:
              patch_for: 'Holley DTZ541_FW1'
              Kann dein Argument nachvollziehen. Im letzten Code-Stand wurde es aber ja ähnlich gehandhabt (--> Kommentar mit Hinweis, das der Array-Index entfernt werden muss; siehe Post #105). Deshalb habe ich mich für diese Variante entschieden. Auch ist es aus User-Sicht einfacher, da sicherlich die wenigstens wissen werden, welche der beiden Versionen, die Sipple im Beitrag #110 beschriebt, im Einsatz ist.

              Aber da ich nicht der Ersteller des Plugins bin und folglich auch den Anforderungen/Anweisungen des Erstellers folgen werde, wäre ich durchaus bereit, das über einen Parameter zu lösen.

              Bitte kurz Bescheid geben, ob nun ein neuer verwendet werden soll oder eben der bereits vorhandene Parameter "device".

              Kommentar


                Der Parameter device ist vom ursprünglichen Pluginersteller dazu gedacht gewesen sein auf Netzwerk basierenden Adapter einzubinden. Die Netzwerkkomponente ist derzeit nicht mehr implementiert (Dauerverbindung) und da ich das Gerät nicht habe, kann ich das auch nicht wieder implementieren weil ich das nicht testen kann.
                Wir könnten das IMHO also dafür nutzen.

                Kommentar


                  Geht klar. Dann schau ich mir das die Tage mal an...

                  Konsequenz davon ist dann aber, dass wir uns dann ein Stück weit, wenn nicht sogar erheblich von dem ursprünglichem Plugin (sml) entfernen, da mann behaupten könnte, den Parameter dann anderweitig zu verwenden. Muss einem nur bewusst sein...

                  Ich meld mich wieder...

                  Kommentar


                    Zitat von Sipple Beitrag anzeigen
                    mit den Einrückungen nicht klar. Beim Copy/Paste gibt es keine mehr
                    Für Einrückungen beim Einfügen musst Du nachdem Du über den #-Button [ CODE ] und [ /CODE ] eingefügt hast, den Button links außen <>-Button klicken um in den "Quellmode" zu kommen. Dann kannst Du mit Einrückungen Pasten
                    Viele Grüße
                    Martin

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

                    Kommentar


                      Habe gerade in einem neu aufgesetzten smarthome 1.8.1 mit Debian Buster das smlx Plugin in Betireb genommen. Da ist mir aufgefallen, dass ich händisch serial installieren muss und den Benutzer smarthome in die Gruppe dialout und tty hinzufügen musste. Könnte man evtl. mal in die Doku schreiben...
                      Zuletzt geändert von bmx; 04.03.2021, 08:35.

                      Kommentar


                        android Danke für den Hinweis, ich überarbeite die Doku mal, und packe eine requirements.txt dazu.

                        Kommentar


                          Ich hatte jetzt das Problem, dass mein Lesekopf nicht korrekt auf dem Zähler saß und somit vom Plugin 0 Bytes in dem parametriertem cycle von 30s gelesen werden konnten. Das hat das nach einer gewissen Zeit ca. 12h zu einem Absturz vom gesamten smarthomeng geführt(v1.8.2 mit Debian Buster auf einem I5 Nuc mit 8Gb Ram). In den Debug Logs stand als letzte Meldung vor dem Absturz ein read auf den ttyUSB Port vom Lesekopf. Die normalerweise folgende Meldung mit read 0 Byte fehlte dann. Sonst stand in den Logs nichts. Prozessorlast und Ramauslastung sahen normal aus und sind vorher nicht stetig angestiegen.
                          Das müsste bei mir so auch reproduzierbar sein, falls das jemand untersuchen will/kann, kann ich das nochmal hinstellen und Infos liefern. Ich müsste dann nur wissen, welche Daten hilfreich sind.

                          Kommentar


                            Die Frage ist: Warum ist SHNG abgestürzt? Keinen Plattenplatz mehr frei? Ich habe das hier mal ausprobiert aber das Plugin liest schlicht 0 Bytes, meldet einen Fehler und probiert es dann (bei mir nach 2 Minuten) neu.

                            Also waren zuviele Threads am Laufen? Gab es einen Überlauf beim Speicher? Zuviele Scheduler?
                            Zuletzt geändert von bmx; 03.03.2021, 15:56.

                            Kommentar


                              Gibt es einen seriellen Timeout? Oder bleibt der Lesethread "hängen", weil das Lesen blockiert? Und der nächste blockiert ggf. auch?

                              Das könnte ich mich bei ausreichend langem "Aufstauen" und fehlender Fehlerbehandlung / Timeoutdetektion schon als Grund für einen Absturz vorstellen. Ist aber nur Spekulation

                              Kommentar


                                Hi,

                                ich habe auch immer wieder Fehler im Log - aber keine Ahnung warum. Vielleicht hilft es ja...
                                Code:
                                 2021-03-01 01:30:47 WARNING item [B]Sml_sml[/B]2 Item HOME.power.heating.power.l2: value "b'\x00\x0b\tK\xfc\xc9\x00\x0b\tK\xfc\xc9\x00\x0b\ tK\xfc\xc9\x00\x0b\tK\xfc\xc9\x00\x0b\tK\xfc\xc9\x 00\x0b\tK\xfc\xc9\x00\x0b\tK\xfc\xc9\x00\x0b\tK\xf c\xc9\x00\x0b\tK\xfc\xc9\x00\x0b\tK\xfc\xc9'" does not match type num. Via Sml None
                                2021-03-01 22:50:26 WARNING item [B]Sml_sml[/B]1 Item HOME.power.house.power.l2: value "b''" does not match type num. Via Sml None
                                2021-03-01 23:00:30 WARNING item [B]Sml_sml[/B]2 Item HOME.power.heating.power.l2: value "[None, 156002203]" does not match type num. Via Sml None
                                2021-03-02 16:07:53 WARNING item [B]Sml_sml[/B]2 Item HOME.power.heating.power.l2: value "b''" does not match type num. Via Sml None
                                2021-03-02 20:02:58 WARNING item [B]Sml_sml[/B]1 Item HOME.power.house.power.l2: value "b'\x07E\xf9\x86b\x00b\x00rc'" does not match type num. Via Sml None
                                2021-03-02 22:23:03 WARNING item [B]Sml_sml[/B]2 Item HOME.power.heating.power.l2: value "b'\x05Y.\xb5b\x00b\x00rc'" does not match t

                                Kommentar

                                Lädt...
                                X