Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Neuer Adapter: SMA Wechselrichter mit sbfspot

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Neuer Adapter: SMA Wechselrichter mit sbfspot

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
248 Beiträge 26 Kommentatoren 57.2k Aufrufe 10 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • BastelritiusB Offline
    BastelritiusB Offline
    Bastelritius
    schrieb am zuletzt editiert von
    #211

    @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. :)

    wendy2702W 1 Antwort Letzte Antwort
    0
    • BastelritiusB Bastelritius

      @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. :)

      wendy2702W Offline
      wendy2702W Offline
      wendy2702
      schrieb am zuletzt editiert von
      #212

      @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.

      Bitte keine Fragen per PN, die gehören ins Forum!

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      BastelritiusB 1 Antwort Letzte Antwort
      0
      • wendy2702W wendy2702

        @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.

        BastelritiusB Offline
        BastelritiusB Offline
        Bastelritius
        schrieb am zuletzt editiert von
        #213

        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 BraunT 1 Antwort Letzte Antwort
        0
        • BastelritiusB Bastelritius

          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 BraunT Online
          Thomas BraunT Online
          Thomas Braun
          Most Active
          schrieb am zuletzt editiert von
          #214

          @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.

          Linux-Werkzeugkasten:
          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
          NodeJS Fixer Skript:
          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

          BastelritiusB 1 Antwort Letzte Antwort
          0
          • Thomas BraunT Thomas Braun

            @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.

            BastelritiusB Offline
            BastelritiusB Offline
            Bastelritius
            schrieb am zuletzt editiert von
            #215

            @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 Antwort Letzte Antwort
            0
            • BastelritiusB Offline
              BastelritiusB Offline
              Bastelritius
              schrieb am zuletzt editiert von
              #216

              So, Daten werden gesammelt :clap:
              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_HMR 1 Antwort Letzte Antwort
              0
              • BastelritiusB Bastelritius

                So, Daten werden gesammelt :clap:
                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_HMR Offline
                Rene_HMR Offline
                Rene_HM
                Developer
                schrieb am zuletzt editiert von
                #217

                @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...

                BastelritiusB 1 Antwort Letzte Antwort
                0
                • Rene_HMR Rene_HM

                  @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...

                  BastelritiusB Offline
                  BastelritiusB Offline
                  Bastelritius
                  schrieb am zuletzt editiert von Bastelritius
                  #218

                  @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_HMR 1 Antwort Letzte Antwort
                  0
                  • BastelritiusB 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_HMR Offline
                    Rene_HMR Offline
                    Rene_HM
                    Developer
                    schrieb am zuletzt editiert von
                    #219

                    @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 Antwort Letzte Antwort
                    0
                    • wendy2702W wendy2702

                      @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.

                      BastelritiusB Offline
                      BastelritiusB Offline
                      Bastelritius
                      schrieb am zuletzt editiert von Bastelritius
                      #220

                      @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 Antwort Letzte Antwort
                      0
                      • BastelritiusB Offline
                        BastelritiusB Offline
                        Bastelritius
                        schrieb am zuletzt editiert von
                        #221

                        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_HMR 1 Antwort Letzte Antwort
                        0
                        • BastelritiusB Bastelritius

                          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_HMR Offline
                          Rene_HMR Offline
                          Rene_HM
                          Developer
                          schrieb am zuletzt editiert von
                          #222

                          @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

                          BastelritiusB 1 Antwort Letzte Antwort
                          0
                          • Rene_HMR Rene_HM

                            @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

                            BastelritiusB Offline
                            BastelritiusB Offline
                            Bastelritius
                            schrieb am zuletzt editiert von
                            #223

                            @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_HMR 1 Antwort Letzte Antwort
                            0
                            • BastelritiusB Bastelritius

                              @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_HMR Offline
                              Rene_HMR Offline
                              Rene_HM
                              Developer
                              schrieb am zuletzt editiert von
                              #224

                              @bastelritius und wenn du manuell o.g. SQL string mal in der Datenbank laufen lässt, was passiert dann? Wie das geht, wird ja unter
                              https://github.com/SBFspot/SBFspot/wiki/Installation-Linux-SQLite#️-testing
                              erklärt. nur dass du dort nicht

                              select * from vwspotdata;
                              

                              sondern

                              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'));
                              

                              verwendest.
                              Welche Version von sqlite hast du auf dem PI?
                              Was mir gerade auffällt:

                              Versuche auch mal

                              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'));
                              
                              BastelritiusB 1 Antwort Letzte Antwort
                              0
                              • Rene_HMR Rene_HM

                                @bastelritius und wenn du manuell o.g. SQL string mal in der Datenbank laufen lässt, was passiert dann? Wie das geht, wird ja unter
                                https://github.com/SBFspot/SBFspot/wiki/Installation-Linux-SQLite#️-testing
                                erklärt. nur dass du dort nicht

                                select * from vwspotdata;
                                

                                sondern

                                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'));
                                

                                verwendest.
                                Welche Version von sqlite hast du auf dem PI?
                                Was mir gerade auffällt:

                                Versuche auch mal

                                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'));
                                
                                BastelritiusB Offline
                                BastelritiusB Offline
                                Bastelritius
                                schrieb am zuletzt editiert von
                                #225

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

                                @bastelritius und wenn du manuell o.g. SQL string mal in der Datenbank laufen lässt, was passiert dann? Wie das geht, wird ja unter
                                https://github.com/SBFspot/SBFspot/wiki/Installation-Linux-SQLite#️-testing
                                erklärt. nur dass du dort nicht

                                select * from vwspotdata;
                                

                                sondern

                                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'));
                                

                                verwendest.

                                Hier bringt mir die Datenbank folgendes:

                                sqlite> 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'));
                                04:03|0
                                05:03|0
                                

                                Welche Version von sqlite hast du auf dem PI?
                                Ich habe die Version SQLite version 3.27.2 2019-02-25 16:06:06

                                Was mir gerade auffällt:

                                Versuche auch mal

                                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'));
                                

                                Hier kommt das:

                                 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'));
                                04:03|0
                                05:03|0
                                05:03|0
                                05:03|0
                                sqlite>
                                

                                Was mir gerade komisch vorkommt ist der String für die Zeit.
                                Du fragst mit der Abfrage einen String mit 3 Nachkommastellen ab 1615699506.314. In der Datenbank hat der String aber keine Nachkommastellen 1615915807. Kann das ein Grund sein?

                                SBFspot version ist folgende:

                                SBFspot V3.7.1
                                Yet another tool to read power production of SMA solar inverters
                                (c) 2012-2020, SBF (https://github.com/SBFspot/SBFspot)
                                Compiled for Linux (LE) 32 bit with SQLite support
                                Commandline Args: -v -ad1 -am0 -ae1 -cfg/usr/local/bin/sbfspot.3/SBFspot.cfg
                                

                                Ich habe das mit dem Configtool installiert

                                W 1 Antwort Letzte Antwort
                                0
                                • BastelritiusB Bastelritius

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

                                  @bastelritius und wenn du manuell o.g. SQL string mal in der Datenbank laufen lässt, was passiert dann? Wie das geht, wird ja unter
                                  https://github.com/SBFspot/SBFspot/wiki/Installation-Linux-SQLite#️-testing
                                  erklärt. nur dass du dort nicht

                                  select * from vwspotdata;
                                  

                                  sondern

                                  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'));
                                  

                                  verwendest.

                                  Hier bringt mir die Datenbank folgendes:

                                  sqlite> 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'));
                                  04:03|0
                                  05:03|0
                                  

                                  Welche Version von sqlite hast du auf dem PI?
                                  Ich habe die Version SQLite version 3.27.2 2019-02-25 16:06:06

                                  Was mir gerade auffällt:

                                  Versuche auch mal

                                  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'));
                                  

                                  Hier kommt das:

                                   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'));
                                  04:03|0
                                  05:03|0
                                  05:03|0
                                  05:03|0
                                  sqlite>
                                  

                                  Was mir gerade komisch vorkommt ist der String für die Zeit.
                                  Du fragst mit der Abfrage einen String mit 3 Nachkommastellen ab 1615699506.314. In der Datenbank hat der String aber keine Nachkommastellen 1615915807. Kann das ein Grund sein?

                                  SBFspot version ist folgende:

                                  SBFspot V3.7.1
                                  Yet another tool to read power production of SMA solar inverters
                                  (c) 2012-2020, SBF (https://github.com/SBFspot/SBFspot)
                                  Compiled for Linux (LE) 32 bit with SQLite support
                                  Commandline Args: -v -ad1 -am0 -ae1 -cfg/usr/local/bin/sbfspot.3/SBFspot.cfg
                                  

                                  Ich habe das mit dem Configtool installiert

                                  W Offline
                                  W Offline
                                  Wene001
                                  schrieb am zuletzt editiert von
                                  #226

                                  Hi zusammen
                                  Versuch mich grad in die Materie des ioBroker einzuarbeiten. Da ich schon einige Jahre SBFspot nutze hab ich mir den tollen Adapter hier installiert.
                                  Super Sache...
                                  Leider funktioniert die Beschriftung der X-Achse nicht richtig in der heute Ansicht. Bei Jährlich, Monatlich und 30 Tage passts.
                                  Hat jemand Ideen ob ich das lösen kann, bzw ob das ein Bug ist ?

                                  LG Werner
                                  heute.JPG

                                  Rene_HMR 1 Antwort Letzte Antwort
                                  0
                                  • W Wene001

                                    Hi zusammen
                                    Versuch mich grad in die Materie des ioBroker einzuarbeiten. Da ich schon einige Jahre SBFspot nutze hab ich mir den tollen Adapter hier installiert.
                                    Super Sache...
                                    Leider funktioniert die Beschriftung der X-Achse nicht richtig in der heute Ansicht. Bei Jährlich, Monatlich und 30 Tage passts.
                                    Hat jemand Ideen ob ich das lösen kann, bzw ob das ein Bug ist ?

                                    LG Werner
                                    heute.JPG

                                    Rene_HMR Offline
                                    Rene_HMR Offline
                                    Rene_HM
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #227

                                    @wene001 was verwendest du denn als "Datumsformat" in den Einstellungen?

                                    1 Antwort Letzte Antwort
                                    0
                                    • W Offline
                                      W Offline
                                      Wene001
                                      schrieb am zuletzt editiert von Wene001
                                      #228

                                      %H:%M
                                      Interessanterweise passte die Anzeige am Nachmittag (wenn 12:00 auch angeschrieben steht) Heut Früh ist es wieder abgeschnitten
                                      Bei mir war nur 6:00 und 12:00 auf der Skala angegeben.

                                      Leider ist dies auch eine Stunde verschoben. Wie kann ich das auf MEZ+1 umstellen am besten mit automatischer Sommerzeitumschaltung.

                                      Ich hab auch in meinem "today" json File nur Stundenwerte? sollten hier nicht 15min drin stehen...kann man das iwo einstellen?
                                      Der Adapter startet alle 5min im Iobroker und das Json File aktualisiert sich auch alle 5 min und der letzte Stundenwert steigt alle 5 min an.

                                      Ideen dazu?

                                      LG Werner

                                      1 Antwort Letzte Antwort
                                      0
                                      • T Offline
                                        T Offline
                                        Tottbeck
                                        schrieb am zuletzt editiert von Tottbeck
                                        #229

                                        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_HMR 1 Antwort Letzte Antwort
                                        0
                                        • T 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_HMR Offline
                                          Rene_HMR Offline
                                          Rene_HM
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #230

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

                                          T 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          381

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe