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.
    • Bastelritius
      Bastelritius @wendy2702 last edited by

      @wendy2702 Ja, kann man eigentlich schon. Aber leider hatte mich der Sunnyexplorer aufgefordert mein Passwort zu ändern. Das habe ich blöderweise getan und dann kam es bei der Übertragung zum Timeout-Fehler. Seitdem kann ich mich nicht mehr einloggen. Hätte ich es mal beim Standardpasswort gelassen. Naja, nun ist es so. Ich warte immer noch. SMA support hat meiner Erfahrung nach eine lange response time 😞

      @Rene_HM: Na dann werde ich das mal probieren. Ich bin schon ganz gespannt 🙂

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

        Hallo,

        ich habe sbfspot soweit installiert. Ich denke auch erfolgreich soweit. Es läuft auf dem zweiten Raspi, der als slave läuft.
        Anscheinend läuft der Adapter aber noch nicht richtig. Ich sehe im LOG folgende Fehlermeldung:

        8788) exception in DB_Connect [Error: /opt/iobroker/node_modules/better-sqlite3/build/Release/better_sqlite3.node: undefined symbol: _ZN7Stateme/tIteratorD1Ev]
        

        Hat jemand eine Idee was das bedeutet?

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

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

          1. exception in DB_Connect [Error: /opt/iobroker/node_modules/better-sqlite3/build/Release/better_sqlite3.node: undefined symbol: _ZN7Stateme/tIteratorD1Ev]

          Leider ist das Log etwas abgeschnitten so das mannschaftliche sagen kann das es wirklich von dem Adapter erzeugt wird.

          Bastelritius 2 Replies Last reply Reply Quote 0
          • Bastelritius
            Bastelritius @wendy2702 last edited by

            @wendy2702wie abgeschnitten. Mehr steht nicht drin 😞
            Das ist alles:

            sbfspot.0	2021-03-10 16:55:04.136	error	(11514) exception in DB_Connect [Error: /opt/iobroker/node_modules/better-sqlite3/build/Release/better_sqlite3.node: undefined symbol: _ZN7Stateme/tIteratorD1Ev]
            

            Es wird mir am Adapter unter der Instanzen auch kein grüner Pünktchen mit dem Status des Adapter angezeigt. Objekte werden auch nicht angelegt.

            Thomas Braun 1 Reply Last reply Reply Quote 0
            • Thomas Braun
              Thomas Braun Most Active @Bastelritius last edited by

              @bastelritius
              Da muss noch mehr in der Zeile stehen. Am besten einen ganzen Block auch der davor oder danach stehenden Zeilen posten.

              Bastelritius 1 Reply Last reply Reply Quote 0
              • Bastelritius
                Bastelritius @Thomas Braun last edited by

                @thomas-braun

                OK, dann jetzt noch mal alles ab Adapterneustart:

                host.iobroker2	2021-03-10 17:35:05.523	info	instance system.adapter.sbfspot.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
                sbfspot.0	2021-03-10 17:35:04.933	info	(1135) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                sbfspot.0	2021-03-10 17:35:04.931	debug	(1135) Plugin sentry destroyed
                sbfspot.0	2021-03-10 17:35:04.929	debug	(1135) timer killed
                sbfspot.0	2021-03-10 17:35:04.928	info	(1135) all done ...
                sbfspot.0	2021-03-10 17:35:04.927	debug	(1135) disconnect database
                sbfspot.0	2021-03-10 17:35:04.925	error	(1135) exception in DB_Connect [Error: /opt/iobroker/node_modules/better-sqlite3/build/Release/better_sqlite3.node: undefined symbol: _ZN7Stateme/tIteratorD1Ev]
                sbfspot.0	2021-03-10 17:35:04.903	debug	(1135) --- connecting to /home/pi/smadata/SBFspot.db
                sbfspot.0	2021-03-10 17:35:04.902	info	(1135) start with sqlite
                sbfspot.0	2021-03-10 17:35:04.900	debug	(1135) sunrise 06:37 sunset 18:09 true
                sbfspot.0	2021-03-10 17:35:04.896	debug	(1135) system longitude 12.044093013028032 latitude 48.815940688183474
                sbfspot.0	2021-03-10 17:35:04.852	debug	(1135) start
                sbfspot.0	2021-03-10 17:35:04.762	info	(1135) starting. Version 4.0.4 in /opt/iobroker/node_modules/iobroker.sbfspot, node: v12.21.0, js-controller: 3.2.16
                sbfspot.0	2021-03-10 17:35:04.696	info	(1135) Plugin sentry Sentry Plugin disabled for this process because sending of statistic data is disabled for the system
                sbfspot.0	2021-03-10 17:35:04.666	debug	(1135) Plugin sentry Initialize Plugin (enabled=true)
                host.iobroker2	2021-03-10 17:35:00.050	info	instance system.adapter.sbfspot.0 started with pid 1135
                
                wendy2702 1 Reply Last reply Reply Quote 0
                • wendy2702
                  wendy2702 @Bastelritius last edited by wendy2702

                  @bastelritius Bezüglich dem SQLite steht das hier eine Seite vorher:

                  Im Verzeichnis /opt/iobroker/node_modules/iobroker.sbfspot musst du npm install aufrufen, um alle Abhängigkeiten zu installieren.
                  
                  1 Reply Last reply Reply Quote 0
                  • Bastelritius
                    Bastelritius last edited by

                    @wendy2702 said in Neuer Adapter: SMA Wechselrichter mit sbfspot:

                    @bastelritius Bezüglich dem SQLite steht das hier eine Seite vorher:

                    Im Verzeichnis /opt/iobroker/node_modules/iobroker.sbfspot musst du npm install aufrufen, um alle Abhängigkeiten zu installieren.
                    

                    Ok, jetzt scheint sich was zu tun. Brauchte allerdings zwei Anläufe da ich das npm install auf dem slave ausführen musste und nicht auf dem Master. 🙂

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

                      @bastelritius Ja, das muss auf dem System ausgeführt werden auf dem die Instanz läuft.

                      Sorry, für mich logisch deshalb nicht extra erwähnt.

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

                        Ja, ist ja auch logisch. Ich war einfach zu schnell dabei 🙂

                        Jetzt hab ich mich aber irgendwie zu früh gefreut. Irgendwie wurden nur ein paar Daten aus der Datenbank übernommen. Nun kommt folgende Meldung:

                        sbfspot.0	2021-03-11 13:50:06.618	info	(11380) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                        sbfspot.0	2021-03-11 13:50:06.617	debug	(11380) Plugin sentry destroyed
                        sbfspot.0	2021-03-11 13:50:06.615	debug	(11380) timer killed
                        sbfspot.0	2021-03-11 13:50:06.614	info	(11380) all done ...
                        sbfspot.0	2021-03-11 13:50:06.613	debug	(11380) disconnect database
                        sbfspot.0	2021-03-11 13:50:06.612	error	(11380) exception in DB_AddDummyData [SqliteError: attempt to write a readonly database]
                        sbfspot.0	2021-03-11 13:50:06.611	debug	(11380) INSERT INTO`Inverters`(`Serial`, `Name`, `Type`, `SW_Version`, `TimeStamp`, `TotalPac`, `EToday`, `ETotal`, `OperatingTime`, `FeedInTime`, `Status`, `GridRelay`, `Temperature`) VALUES( 1234567
                        sbfspot.0	2021-03-11 13:50:06.610	debug	(11380) add dummy data
                        sbfspot.0	2021-03-11 13:50:06.609	error	(11380) no inverter data found, adding dummy data...
                        sbfspot.0	2021-03-11 13:50:06.608	debug	(11380) rows undefined
                        sbfspot.0	2021-03-11 13:50:06.607	error	(11380) exception in DB_GetInverters [SqliteError: attempt to write a readonly database]
                        sbfspot.0	2021-03-11 13:50:06.604	debug	(11380) SELECT * from Inverters
                        sbfspot.0	2021-03-11 13:50:06.603	debug	(11380) sqlite Database is connected ...
                        sbfspot.0	2021-03-11 13:50:06.571	debug	(11380) --- connecting to /home/pi/smadata/SBFspot.db
                        sbfspot.0	2021-03-11 13:50:06.570	info	(11380) start with sqlite
                        sbfspot.0	2021-03-11 13:50:06.568	debug	(11380) sunrise 06:34 sunset 18:11 true
                        sbfspot.0	2021-03-11 13:50:06.565	debug	(11380) system longitude 12.044093013028032 latitude 48.815940688183474
                        sbfspot.0	2021-03-11 13:50:06.504	debug	(11380) start
                        sbfspot.0	2021-03-11 13:50:06.396	info	(11380) starting. Version 4.0.4 in /opt/iobroker/node_modules/iobroker.sbfspot, node: v12.21.0, js-controller: 3.2.16
                        sbfspot.0	2021-03-11 13:50:06.309	info	(11380) Plugin sentry Sentry Plugin disabled for this process because sending of statistic data is disabled for the system
                        sbfspot.0	2021-03-11 13:50:06.275	debug	(11380) Plugin sentry Initialize Plugin (enabled=true)
                        

                        Anscheinend hat er nun Zugriffsprobleme. Ich verstehe es aber nicht ganz. Der Adapter ruft doch die Daten nur ab. Wieso gibt es dann den Fehler

                        SqliteError: attempt to write a readonly database
                        

                        Er will doch nur lesen, oder will der Adapter auch etwas schreiben?
                        Die Berechtigungen der SBFspot.db habe ich auf iobroker und dialout geändert. Berechtigung sollte somit da sein, oder?

                        Thomas Braun 1 Reply Last reply Reply Quote 0
                        • Thomas Braun
                          Thomas Braun Most Active @Bastelritius last edited by

                          @bastelritius Der user iobroker darf erstmal nix im home-Verzeichnis des users pi.
                          Ich hätte die db in ~ von iobroker installiert oder dem iobroker (über eine gemeinsame Gruppe vielleicht) Rechte in einem Extra-Verzeichnis in /home/pi eingeräumt.

                          Bastelritius 1 Reply Last reply Reply Quote 0
                          • Bastelritius
                            Bastelritius @Thomas Braun last edited by

                            @thomas-braun said in Neuer Adapter: SMA Wechselrichter mit sbfspot:

                            @bastelritius Der user iobroker darf erstmal nix im home-Verzeichnis des users pi.
                            Ich hätte die db in ~ von iobroker installiert oder dem iobroker (über eine gemeinsame Gruppe vielleicht) Rechte in einem Extra-Verzeichnis in /home/pi eingeräumt.

                            OK, wieder was gelernt. Der Datebankdatei hatte ich schon die Gruppe Dialout gegeben. Dem Verzeichnis smadata aber nicht. Anscheinend war dass das Problem. Jetzt funktioniert es.

                            Vermutlich würde die DB Datei aber im iobroker Ordner mehr Sinn machen. Aber das kann ich mir ja noch überlegen. Momentan bin ich erst mal im Testbetrieb. Mal sehen was jetzt so für Daten auflaufen und wie man diese dann auch sinnvoll auswerten/ anzeigen kann.

                            Danke

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

                              So, Daten werden gesammelt 👏
                              Jetzt habe ich allerdings eine Frage zu den Historie Daten und dem Widget.

                              1. Kann man im Widget mehrere WR anzeigen lassen. Meine Anlage besteht nämlich aus 3 Stück, oder muss ich dann 3 Widgets benutzen?
                              2. Die Historie-daten füu "Today" enthalten nur einen Wert im Stundenabstand. Kann man das irgendwie ändern? Nur stündlich einen Wert zu bekommen ist mir irgendwie zu weing. Die Werte in die Datenbank werden alle 5min geschrieben. Die Aktuallisierung für den Adapter habe ich auch auf 5min gestellt.
                              [{"time":"06:03","value":36},{"time":"07:03","value":1085},{"time":"08:03","value":3091},{"time":"09:03","value":4666},{"time":"10:03","value":5873},{"time":"11:03","value":7241},{"time":"12:03","value":9372},{"time":"13:03","value":11600},{"time":"14:03","value":12966},{"time":"15:03","value":13746},{"time":"16:03","value":14259}]
                              

                              Danke

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

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

                                Kann man im Widget mehrere WR anzeigen lassen. Meine Anlage besteht nämlich aus 3 Stück, oder muss ich dann 3 Widgets benutzen?

                                das widget ist für einen WR gedacht. Man kann nur eine Objekt-ID verwenden...

                                Die Historie-daten füu "Today" enthalten nur einen Wert im Stundenabstand. Kann man das irgendwie ändern? Nur stündlich einen Wert zu bekommen ist mir irgendwie zu weing. Die Werte in die Datenbank werden alle 5min geschrieben. Die Aktuallisierung für den Adapter habe ich auch auf 5min gestellt

                                Das hängt davon ab, wie oft du den Adapter laufen lässt. Bei jedem Lauf das Adapters werden die Daten aus der DB geholt und in den history-json-string geschrieben. Das steuerst du über die s.g. Zeitplanung im admin von iobroker für den Adapter. Für einen Lauf alle 15 Minuten müsste dort */15 * * * * stehen...

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

                                  @rene_hm :

                                  Genau so hatte ich mir das gedacht. Daher habe ich den Adapter auf 5min gestellt. Die Daten im Datenpunkt "EToday" werden alle 5min aktualisiert und es kommen auch neue Werte an. Diesen Datenpunkt logge ich zusätzlich in einer InfluxDB seit Gestern als Kontrolle. Im history-json-string stehen aber wie oben schon gepostet nur die Stundenwerte.

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

                                    @bastelritius schalte den Adapter mal auf debug und schaue was dort passiert. Mein Adapter läuft alle 15 Minuten und im history-json sind auch alle 15 Minuten Daten vorhanden. So wäre es auch implementiert. Ausnahme wäre, dass ein DB-Abruf vorher schief geht... das würden wir im log sehen...
                                    was mir im obigen post auffältt ist die Zeit: immer 3 Minuten nach der vollen Stunde. Wenn dein Adapter alle 5 Minuten läuft, sollte immer die volle Stunde als Zeitstempel auftauchen.

                                    Bei mir sieht das so aus:

                                    [{"time":"06:45","value":0},{"time":"07:00","value":1},{"time":"07:15","value":13},{"time":"07:30","value":32},{"time":"07:45","value":64},{"time":"08:00","value":102}, ... ]
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • Bastelritius
                                      Bastelritius @wendy2702 last edited by Bastelritius

                                      @wendy2702 said in Neuer Adapter: SMA Wechselrichter mit sbfspot:

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

                                      1. exception in DB_Connect [Error: /opt/iobroker/node_modules/better-sqlite3/build/Release/better_sqlite3.node: undefined symbol: _ZN7Stateme/tIteratorD1Ev]

                                      Leider ist das Log etwas abgeschnitten so das mannschaftliche sagen kann das es wirklich von dem Adapter erzeugt wird.

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

                                      @bastelritius schalte den Adapter mal auf debug und schaue was dort passiert. Mein Adapter läuft alle 15 Minuten und im history-json sind auch alle 15 Minuten Daten vorhanden. So wäre es auch implementiert. Ausnahme wäre, dass ein DB-Abruf vorher schief geht... das würden wir im log sehen...
                                      was mir im obigen post auffältt ist die Zeit: immer 3 Minuten nach der vollen Stunde. Wenn dein Adapter alle 5 Minuten läuft, sollte immer die volle Stunde als Zeitstempel auftauchen.

                                      Bei mir sieht das so aus:

                                      [{"time":"06:45","value":0},{"time":"07:00","value":1},{"time":"07:15","value":13},{"time":"07:30","value":32},{"time":"07:45","value":64},{"time":"08:00","value":102}, ... ]
                                      

                                      Ja, komisch. Ich habe den Adapter mal komplett deinstalliert und neu installiert.
                                      Den Log habe ich als Datei angehangen:iobroker.2021-03-14.log

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

                                        Hat noch jemand eine Idee wieso die Werte bei mir immer nur 3min nach jeder vollen Stunde berechnet werden, obwohl ich den Adapter auf 5min Intervall eingestellt habe?

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

                                          @bastelritius laut log ist dein Problem nicht der Adapter sondern sbfspot.

                                          DB_CalcHistory_Today for 2100494098
                                          SELECT strftime('%H:%m', datetime(TimeStamp, 'unixepoch')) as time, Max(`EToday`) as ertrag FROM `SpotData` WHERE `Serial` = '2100494098' AND TimeStamp>= 1615676406.314 AND TimeStamp<= 1615699506.314 Group By strftime('%H-%m', datetime(TimeStamp, 'unixepoch'))
                                          rows [{"time":"04:03","ertrag":0},{"time":"05:03","ertrag":0}]
                                          

                                          Hier ist die Datenbankabfrage um 6:25Uhr. Da kommen die beiden Werte um 4:03 und 5:03. Ich denke, du hast den cron job auf dem Pi nicht richtig konfiguriert... siehe
                                          https://github.com/SBFspot/SBFspot/wiki/Installation-Linux-SQLite#️-automation

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

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

                                            @bastelritius laut log ist dein Problem nicht der Adapter sondern sbfspot.

                                            DB_CalcHistory_Today for 2100494098
                                            SELECT strftime('%H:%m', datetime(TimeStamp, 'unixepoch')) as time, Max(`EToday`) as ertrag FROM `SpotData` WHERE `Serial` = '2100494098' AND TimeStamp>= 1615676406.314 AND TimeStamp<= 1615699506.314 Group By strftime('%H-%m', datetime(TimeStamp, 'unixepoch'))
                                            rows [{"time":"04:03","ertrag":0},{"time":"05:03","ertrag":0}]
                                            

                                            Hier ist die Datenbankabfrage um 6:25Uhr. Da kommen die beiden Werte um 4:03 und 5:03. Ich denke, du hast den cron job auf dem Pi nicht richtig konfiguriert... siehe
                                            https://github.com/SBFspot/SBFspot/wiki/Installation-Linux-SQLite#️-automation

                                            Danke. Aber ich habe es so konfiguriert wie unter dem Punkt Automation in Deinem Link.
                                            Irgendwie kommen ja auch alle 5min aktualisierte Werte. Zumindest wenn ich die Daten über die Historie auswerte.
                                            Ich habe hier mal die Tabelle SpotData ausgelesen und als txt angehangen.
                                            Kannst Du da mal reingucken ob das so stimmt. Ich denke die Daten sind da? SBFspot_SpotData.txt

                                            Rene_HM 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

                                            792
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            26
                                            248
                                            40672
                                            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