Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Neuer Adapter: SMA Wechselrichter mit sbfspot

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Neuer Adapter: SMA Wechselrichter mit sbfspot

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      Tottbeck last edited by Tottbeck

      Hallo, ich muss hier mal wegen der Benutzerrechten für die Datenbasis fragen.
      Ich habe SBFspot neu aufgesetzt, die Daten werden auch alle 5 Minuten eingelesen und in PVoutput.org dargestellt, soweit alles gut.
      Die sbfspot.0 Instanz wird alle 15 Minuten aufgerufen. Dabei kommt zu ca. 50% eine Fehlermeldung.

      sbfspot.0 2023-06-17 12:45:06.147	error	exception in DB_GetInverters [SqliteError: attempt to write a readonly database]
      sbfspot.0 2023-06-17 12:30:07.960	error	exception in DB_GetInverters [SqliteError: attempt to write a readonly database]
      sbfspot.0 2023-06-17 12:15:06.118	error	exception in DB_GetInverters [SqliteError: attempt to write a readonly database]
      sbfspot.0 2023-06-17 11:30:06.708	error	exception in DB_GetInverters [SqliteError: attempt to write a readonly database]
      sbfspot.0 2023-06-17 11:00:06.655	error	exception in DB_GetInverters [SqliteError: attempt to write a readonly database]
      sbfspot.0 2023-06-17 10:15:07.672	error	exception in DB_GetInverters [SqliteError: attempt to write a readonly database]
      

      Wenn die Fehlermeldung kommt, werden keine Daten an den iobroker weitergegeben, ansonsten schon.
      OK, die sqlite-database liegt in meinem User-homeverzeichnis im Subverzeichnis "smatdata" und nicht unter home/iobroker wie es evtl besser wäre. Die Datei gehört der Gruppe "user" und dem Benutzer "user"
      Ich habe die Dateirechte der Datenbasis auf "666" gesetzt, aber das hat nichts geändert.
      Warum ist der Fehler sporadisch und wie kann ich das einfach umgehen ohne die DB neu anzulegen ? Die Datei einer Gruppe von iobroker und User zuweisen ?
      Nachtrag: Per Gruppe funktioniert es scheinbar jetzt.

      Rene_HM 1 Reply Last reply Reply Quote 0
      • Rene_HM
        Rene_HM Developer @Tottbeck last edited by

        @tottbeck das ist meist das Recht auf den Ordner und nicht die Datenbank-Datei selbst...

        T 1 Reply Last reply Reply Quote 0
        • T
          Tottbeck @Rene_HM last edited by

          Nach langer Zeit habe ich mal wieder ein Problem mit dem Adapter.

          sbfspot ist umgezogen auf einen neuen Host. (Raspi3 -> Raspi5)
          Seitdem will der Adapter die Daten nicht mehr aus der sqlite Datenbank lesen.
          SBFspot selber läuft weiter und lädt die Daten zu PVoutput.org hoch.
          Die Databasis in /home/scheth1/smadata/SBFspot.db wird alle 5min aktualisiert.
          Aber scheinbar kann der iobroker adapter da nicht korrekt drauf zugreifen.
          => "exception in DB_Connect [TypeError: Cannot open database because the directory does not exist]"
          Die Zugriffsrechte stehen auf '777' für die Datei und das Verzeichnis.
          "sudo npm install" habe ich auch schon ausgeführt im iobroker.sbfspot - Ordner.
          Neuinstallation des Adapters hat auch nichts geändert.
          Hat jemand eine Idee ?

          2025-04-16 11:30:00.009 - info: host.raspi3 instance system.adapter.sbfspot.0 in version "4.3.4" started with pid 3401
          2025-04-16 11:30:00.542 - debug: sbfspot.0 (3401) Redis Objects: Use Redis connection: 192.168.178.199:9001
          2025-04-16 11:30:00.560 - debug: sbfspot.0 (3401) Objects client ready ... initialize now
          2025-04-16 11:30:00.561 - debug: sbfspot.0 (3401) Objects create System PubSub Client
          2025-04-16 11:30:00.561 - debug: sbfspot.0 (3401) Objects create User PubSub Client
          2025-04-16 11:30:00.589 - debug: sbfspot.0 (3401) Objects client initialize lua scripts
          2025-04-16 11:30:00.592 - debug: sbfspot.0 (3401) Objects connected to redis: 192.168.178.199:9001
          2025-04-16 11:30:00.610 - debug: sbfspot.0 (3401) Redis States: Use Redis connection: 192.168.178.199:9000
          2025-04-16 11:30:00.619 - debug: sbfspot.0 (3401) States create System PubSub Client
          2025-04-16 11:30:00.620 - debug: sbfspot.0 (3401) States create User PubSub Client
          2025-04-16 11:30:00.679 - debug: sbfspot.0 (3401) States connected to redis: 192.168.178.199:9000
          2025-04-16 11:30:00.705 - debug: sbfspot.0 (3401) Plugin sentry Initialize Plugin (enabled=true)
          2025-04-16 11:30:00.841 - info: sbfspot.0 (3401) starting. Version 4.3.4 in /opt/iobroker/node_modules/iobroker.sbfspot, node: v20.18.0, js-controller: 7.0.6
          2025-04-16 11:30:00.849 - debug: sbfspot.0 (3401) start
          2025-04-16 11:30:00.859 - debug: sbfspot.0 (3401) system: longitude xx latitude yy
          2025-04-16 11:30:00.860 - debug: sbfspot.0 (3401) sunrise 06:29 sunset 20:25 true
          2025-04-16 11:30:00.860 - info: sbfspot.0 (3401) start with sqlite
          2025-04-16 11:30:00.860 - debug: sbfspot.0 (3401) --- connecting to /home/scheth1/smadata/SBFspot.db
          2025-04-16 11:30:00.866 - error: sbfspot.0 (3401) exception in DB_Connect [TypeError: Cannot open database because the directory does not exist]
          2025-04-16 11:30:00.866 - debug: sbfspot.0 (3401) disconnect database
          2025-04-16 11:30:00.866 - info: sbfspot.0 (3401) all done ...
          2025-04-16 11:30:00.866 - debug: sbfspot.0 (3401) timer killed
          2025-04-16 11:30:00.867 - debug: sbfspot.0 (3401) Plugin sentry destroyed
          2025-04-16 11:30:00.867 - info: sbfspot.0 (3401) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
          2025-04-16 11:30:01.383 - info: host.raspi3 instance system.adapter.sbfspot.0 having pid 3401 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
          
          wendy2702 1 Reply Last reply Reply Quote 0
          • wendy2702
            wendy2702 @Tottbeck last edited by

            @tottbeck sagte in Neuer Adapter: SMA Wechselrichter mit sbfspot:

            /home/scheth1/smadata/

            gibt es dieses Directory wirklich? Zeig mal

            T 1 Reply Last reply Reply Quote 0
            • T
              Tottbeck @wendy2702 last edited by

              @wendy2702 Gerne

              scheth1@raspi3:~ $ ls -l /home/scheth1/smadata/
              total 17488
              drwxrwxrwx 3 scheth1 scheth1     4096 Apr 20 01:02 2025
              drwxrwxrwx 2 scheth1 scheth1     4096 Apr 16 17:42 logs
              -rwxrwxrwx 1 scheth1 scheth1 17895424 Apr 20 11:40 SBFspot.db
              
              
              wendy2702 1 Reply Last reply Reply Quote 0
              • wendy2702
                wendy2702 @Tottbeck last edited by

                @tottbeck ist das auf dem gleichen PI oder gemountet?

                T 1 Reply Last reply Reply Quote 0
                • T
                  Tottbeck @wendy2702 last edited by Tottbeck

                  @wendy2702

                  Der Adapter läuft auf dem gleichem PI.
                  Habe den Adapter zwischenzeitlich von 4.3.4 auf 4.4.2 aktualisiert ohne Änderung.

                  1876bc87-1348-471d-8ba1-59937dada4b5-image.png

                  scheth1@raspi3:~ $ sqlite3 /home/scheth1/smadata/SBFspot.db
                  SQLite version 3.40.1 2022-12-28 14:03:47
                  Enter ".help" for usage hints.
                  sqlite> select * from Inverters;
                  2100080719|SN: 2100080719|SB 5000TL-20|03.01.05.R|1745147704|3844|14097|83460352|65675.3|64404.3|OK|Closed|62.54
                  sqlite> .quit
                  
                  
                  VJ77 1 Reply Last reply Reply Quote 0
                  • VJ77
                    VJ77 @Tottbeck last edited by

                    @tottbeck da klinke ich mich mal ein. Ich habe nämlich exakt dasselbe Problem. Ich habe meinen IObroker von Windows auf ein RPI umziehen lassen. Ich bekomme jetzt die selbe Fehlermeldung. Die Abfrage vom Wechselrichter, wie auch das Schreiben in die Datenbank funktionieren problemlos. Nur das Auslesen aus der DB scheitert. Ich habe auch schon eine komplette Neuinstallation gemacht, mit dem selben Ergebnis.

                    Hast du eine Lösung gefunden?

                    T 1 Reply Last reply Reply Quote 0
                    • T
                      Tottbeck @VJ77 last edited by

                      @vj77 Leider nein.
                      Ich habe noch SBFspot.db gegen eine ältere kleinere Version (~100kB) getauscht, falls die korrupt geworden wäre. Hat aber auch nichts geändert.

                      1 Reply Last reply Reply Quote 0
                      • wendy2702
                        wendy2702 last edited by

                        Hilft euch nicht direkt weiter aber können eure WR mit einen Software Update vielleicht Modbus?

                        1 Reply Last reply Reply Quote 0
                        • W
                          wm20320 last edited by wm20320

                          Nur zur Vorsichtig: Du hast im iobroker die Instanz schon auf auf SQLite stehen und den Pfad ohne Leerzeichen und in richtiger Groß- und Kleinschreibung etc? z. B. 23-04-2025_17-40-55.png

                          Wahrscheinlich ein überflüssiger Tipp, aber manchmal übersieht man ja doch irgendwas ...

                          Hast schon mal testweise versucht die DB in ein anderes Verzeichnis zu legen und dort abzurufen?

                          1 Reply Last reply Reply Quote 0
                          • Rene_HM
                            Rene_HM Developer last edited by

                            @Tottbeck @VJ77 Habt ihr die Möglichkeit, in der main.js des Adapters zu editieren?

                            In Zeile 371 beginnt folgender Teil:

                            adapter.log.info("start with sqlite");
                            
                            const path = require("path");
                            
                            const file_path = adapter.config.sqlite_path;
                            const dbPath = path.resolve(__dirname, file_path.trim());
                            
                            adapter.log.debug("--- connecting to " + dbPath);
                            
                            const sqlite3 = require("better-sqlite3");
                            
                            sqlite_db = new sqlite3(dbPath, { fileMustExist: true });
                            adapter.log.debug("sqlite Database is connected ...");
                            //DB_GetInverters();
                            

                            Ihr könntet testweise aus

                            { fileMustExist: true }
                            

                            ein

                            { fileMustExist: false }
                            

                            machen.
                            Dann wird die Datenbank-Datei neu angelegt. Vielleicht hilft das, zu erkennen, wo better-sqlite3 die Datenbank-Datei erwartet... Natürlich ist dann der Inhalt der neu angelegten Datenbank falsch aber zur Fehlersuche evtl. hilfreich...

                            T 1 Reply Last reply Reply Quote 1
                            • T
                              Tottbeck @Rene_HM last edited by

                              @rene_hm

                              Ich habe mal die Config für die DB verändert auf /home/scheth1/SBFspot.db
                              Da liegt auch eine Datenbank (die alte als Backup), der Ordner hat aber vermutlich keine ausreichenden Rechte für den Zugriff:

                              scheth1@raspi3:/home $ ls -l
                              total 8
                              drwxr-xr-x  5 iobroker iobroker 4096 Apr 23 18:00 iobroker
                              drwx------ 11 scheth1  scheth1  4096 Apr 20 13:17 scheth1
                              scheth1@raspi3:/home $ ls -l scheth1/SBF*
                              -rwxrwxrwx 1 scheth1 scheth1 17821696 Apr 18 14:15 scheth1/SBFspot.db
                              

                              Dann sieht die Fehlermeldung vom sqlite anders aus.

                              2025-04-23 20:35:00.884 - info: sbfspot.0 (27279) start with sqlite
                              2025-04-23 20:35:00.885 - debug: sbfspot.0 (27279) --- connecting to /home/scheth1/SBFspot.db
                              2025-04-23 20:35:00.890 - error: sbfspot.0 (27279) exception in DB_Connect [SqliteError: unable to open database file]
                              2025-04-23 20:35:00.891 - debug: sbfspot.0 (27279) disconnect database
                              

                              vorher war es ja:
                              [TypeError: Cannot open database because the directory does not exist]
                              Ist damit ein directory innerhalb der DB gemeint ??

                              Die main.js habe ich geändert. Die Erwartung wäre das woanders ein DB-File angelegt wird ?

                              Rene_HM 1 Reply Last reply Reply Quote 0
                              • Rene_HM
                                Rene_HM Developer @Tottbeck last edited by

                                @tottbeck sagte in Neuer Adapter: SMA Wechselrichter mit sbfspot:

                                SqliteError: unable to open database file

                                Wie sehen die Rechte auf /home/scheth1/smadata/ und auf /home/scheth1 aus?
                                Ich denke immer noch, dass irgendwo Schreibrechte auf einem Ordner fehlen...

                                Die Erwartung wäre das woanders ein DB-File angelegt wird

                                genau.

                                VJ77 T 3 Replies Last reply Reply Quote 1
                                • VJ77
                                  VJ77 @Rene_HM last edited by

                                  @rene_hm
                                  056e33b7-f22f-411f-9fe8-be1d4cf20c06-grafik.png

                                  Rene_HM 1 Reply Last reply Reply Quote 0
                                  • Rene_HM
                                    Rene_HM Developer @VJ77 last edited by

                                    @vj77 hier kann der user iob SBFspot.db zum schreiben öffnen. Sollte da nicht der Eigentümer iobroker sein?

                                    VJ77 1 Reply Last reply Reply Quote 0
                                    • VJ77
                                      VJ77 @Rene_HM last edited by

                                      @rene_hm

                                      Vielleicht nochmal zu meiner Vorgehensweise.

                                      1. installation ioBroker nach dieser Anleitung: https://forum.iobroker.net/topic/51869/installation-auf-raspi-einfacher-geht-s-nicht
                                      2. Installation SBFspot: https://github.com/SBFspot/sbfspot-config
                                      3. Test SBFspot, wie es hier beschrieben steht: (lief problemlos)
                                        8c7e2827-7aee-4c0f-a497-f15b4708f69b-grafik.png
                                      4. Installation sbfspot Adapter im ioBroker, mit folgenden Einstellungen:
                                        f596add9-038f-4ed8-a198-22db09e93e09-grafik.png
                                      5. Resultat:
                                        59c8be7b-3505-45a0-9b73-1e50277122b3-grafik.png

                                      Einen User Iobroker habe ich gar nicht angelegt. Passiert das automatisch bei der ioBroker Installation? Ich bin leider bisher nicht so bewandert nicht so bewandert was Linux betrifft. Ich komme eher aus der Windows-Welt 😑 (wo die Installation übrigens problemlos geklappt hat....)

                                      Danke für die Hilfe.

                                      1 Reply Last reply Reply Quote 0
                                      • VJ77
                                        VJ77 @Rene_HM last edited by

                                        @rene_hm

                                        Es läuft. Ich habe einfach mal den gesamten Pfad /home/iob/smadata/ großzügig mit allen Rechten versehen. Das dürfte zwar nicht im Sinne des Erfinders sein, zeigt aber dass es ein Problem mit den Berechtigungen ist
                                        e6be2ce6-d3b4-4749-8059-73f5397e97e7-grafik.png

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          Tottbeck @Rene_HM last edited by

                                          @rene_hm sagte in Neuer Adapter: SMA Wechselrichter mit sbfspot:

                                          Wie sehen die Rechte auf /home/scheth1/smadata/ und auf /home/scheth1 aus?
                                          Ich denke immer noch, dass irgendwo Schreibrechte auf einem Ordner fehlen...

                                          Danke, jetzt läuft es bei mir auch.
                                          Meine beschränkten Linux-Kenntnisse waren wohl das Problem. 🙄
                                          Ich habe zwar dem Ordner smadata alle Rechte erteilt, aber nicht dem übergeordnetem Ordner.

                                          VJ77 1 Reply Last reply Reply Quote 0
                                          • VJ77
                                            VJ77 @Tottbeck last edited by

                                            @tottbeck Bitte. Ich hab auch kein echtes Fachwissen, was Linux betrifft, Ich hab zwar schon einige Sachen mit einem RPI gemacht, aber im Gunde genommen, habe ich immer alles zusammenkopiert. 🤣

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            705
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            26
                                            248
                                            39867
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo