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.
    • alex9926
      alex9926 last edited by

      Ja da hast du Recht. Gibt es für dieses Problem bereits eine Lösung? Ich habe mich 1 zu 1 an die Anleitung gehalten.

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

        Nur mal so: Bevor ihr SBFSpot benutzt (habe ich auch lange gemacht) prüft doch mal ob eurer SMA WR Modbus unterstützt.

        Meiner konnte das auch nach einem SW Upgrade und dann kann man die Daten in Echtzeit auslesen.

        1 Reply Last reply Reply Quote 0
        • M
          martinschm last edited by

          Hi,

          ab einer Version höher .49 oder 54 geht modbus wohl. Leider funktioniert bei mir das automatische Updaten nicht.

          Ich nehme jetzt den sma-speedwire Adapter, der geht übers lokale Netz (TCP/IP) und loggt sich mit Benutzername und Passwort in den WR ein und holt die Daten. Spart mir SBFspot und das Auslesen aus einer dritten Datenbank.

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

            Vielen Dank für die Tipps aber mir reicht das Auslesen mittels sbfspot. @Rene_HM Hast du einen Lösungsansatz parat? Ich habe auf der Seite leider nichts passendes gefunden.

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

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

              Hi,

              ab einer Version höher .49 oder 54 geht modbus wohl. Leider funktioniert bei mir das automatische Updaten nicht.

              Ich nehme jetzt den sma-speedwire Adapter, der geht übers lokale Netz (TCP/IP) und loggt sich mit Benutzername und Passwort in den WR ein und holt die Daten. Spart mir SBFspot und das Auslesen aus einer dritten Datenbank.

              Was für ein Automatisches Updaten funktioniert womit nicht?

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

                @alex9926 Eine echte Lösung habe ich nicht. Das Problem ist, dass sich das sqlite3 -package oft nicht einfach installieren lässt 😞 Ich habe beim Autor schon ein Ticket geöffnet, bisher aber ohne Reaktion...
                Ich installiere meist manuell, dann brauchts aber oft viele Anläufe, bis sich das package installieren lässt:

                auf einem Linux-System wäre das:

                cd /opt/iobroker/node_modules/iobroker.sbfspot 
                sudo npm install
                
                1 Reply Last reply Reply Quote 0
                • alex9926
                  alex9926 last edited by

                  Klappt leider nicht. Die Installation schlägt immer noch fehl. Hat da jmd. eine Idee?

                  1 Reply Last reply Reply Quote 0
                  • A
                    Andersmacher last edited by

                    Hallo in die Runde,
                    ich bin neu in diesem Forum und auch sonst Foren-unerfahren. Ich hoffe dennoch, ich "bekomme das hin" (;-).

                    Zuerst einmal ein Dank an Rene_HM, für die Arbeit, die er in die Entwicklung des Adapters gesteckt hat!!!

                    Ich habe in den letzten Wochen einen Raspi3B+ via noobs eingerichtet und darauf ioBroker installiert, weil ich
                    meinen SMA Wechselrichter Sunny TriPower 10.0 damit visualisieren möchte. Es hat so lange gedauert, weil ich mir
                    alles erst anlesen mußte. Grundsätzlich scheint nun alles zu funktionieren: Raspian, ioBroker, sqlite, sbfspot und
                    selbst der SBFspot-Adapter zeigt mir im ioBroker unter den Objekten realistische Werte z. B. für ETotal oder
                    Frequency. Im Log gibt es keine Fehlermeldungen und ich sehe regelmäßig, wenn der cronjob triggert, die erfolgreiche
                    Verbindungsaufnahme mit SBFspot.db, die abgesetzten Select-Statements, die Antworten darauf, sowie das abschließende "all done" und die Trennung von der DB. Alles ohne Fehler!

                    Ich kann im Vis jeden einzelnen Wert des Adapters z. B. mit Number- oder String-Widgets einblenden. Sie werden
                    korrekt angezeigt und aktualisiert.

                    Nur das sbfspot-Widget bleibt unsichtbar und zeigt als einzigen Hinweis, daß es in der View überhaupt existiert: "no
                    data available yet for sbfspot". Aber das kann ja wohl nicht stimmen, denn gemäß Log (siehe unten) sind doch offensichtlich Daten in der DB.

                    Ich arbeite mit FireFox64Bit auf einem Win7-Rechner (ja ich weiß, wird nicht mehr mit Sicherheitsupdates versorgt,
                    aber daran wird´s ja wohl nicht liegen (;-)). Mit anderen Browsern bleibt das Widget auch unsichtbar. Ich habe jetzt
                    tagelang systematisch alle (für mich) denkbaren Parametrierungen des Widgets durchprobiert. Vergebens.

                    Kann es sein, daß das Widget ein Problem mit dem Typ meines WR hat?

                    Auszug aus dem Log (Serial# von mir nur hier durch xyz ersetzt):

                    instance system.adapter.sbfspot.0 started with pid 4309
                    (4309) starting. Version 2.4.0 in /opt/iobroker/node_modules/iobroker.sbfspot, node: v10.19.0
                    (4309) start with sqlite
                    (4309) --- connecting to /mnt/usb/smadata/SBFspot.db
                    (4309) sqlite Database is connected ...
                    (4309) SELECT * from Inverters
                    (4309) rows [{"Serial":"xyz","Name":"SN: xyz","Type":"UNKNOWN TYPE","SW_Version":"01.01.18.R","TimeStamp":1584286802,"TotalPac":607,"EToday":0,"ETotal":774465,...
                    (4309) got data from UNKNOWN TYPE with ID xyz
                    (4309) SELECT * from SpotData where Serial =xyz ORDER BY TimeStamp DESC LIMIT 1
                    (4309) rows [{"TimeStamp":1584286802,"Serial":xyz,"Pdc1":192,"Pdc2":423,"Idc1":0.374,...

                    Oder habt Ihr noch andere Ideen?
                    Vielen Dank vorab für Eure Hilfe!

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

                      @Andersmacher Wenn die Daten im ioBroker sind, bekommen wir die auch in's widget 🙂
                      Kannst du mal zeigen, wie du das widget konfiguriert hast? Und dann wäre das Browser log hiflreich (unter firefox: web entwickler -> web console)

                      1 Reply Last reply Reply Quote 0
                      • A
                        Andersmacher last edited by

                        @Rene_HM Danke für die flotte Reaktion.
                        Was mir nach meinen ganzen Tests am erfolgversprechendsten schien:
                        Ich habe das Widget so genommen, wie es angeboten wird und nur drei Einstellungen vorgenommen.
                        sbfspot-Instanz: sbfspot.0
                        Seriennummer des Wechselrichters: meine wirkliche Wechselrichterseriennummer (im Screenshot 4711 genannt)
                        wählen: 30 Tage
                        Aber auch mit unglaublich vielen anderen von mir ausprobierten Einstellungskombinationen war das Widget nie zu sehen.
                        fdd0e3ac-ddb8-447f-9a66-537a914422a7-grafik.png

                        Das mit dem Browser-Log ist für mich Neuland. Ich hoffe der nachfolgende Screenshot ist das, was Du meinst:
                        4cd82050-4312-4b4d-96c1-329877f569d2-grafik.png
                        Unter dem Link "Weitere Information" steht:
                        40b4cd96-8db7-4f95-9d37-938edc072f9f-grafik.png

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

                          @Andersmacher Die Einstellungen sind okay, das log prinzipiell auch. Nur würde ich deutlich mehr Aktivitäten im log erwarten, deshalb bitte das log öffnen und dann einfach mal den Namen der Instanz in den Einstellungen ändern, aber zum Schluß wieder richtig einstellen.
                          Im ioBroker Objekt-Browser könntest du auch mal schauen, ob im Datenpunkt sbfspot.0.4711.history.last30Days vernünftige Daten stehen.

                          1 Reply Last reply Reply Quote 0
                          • A
                            Andersmacher last edited by

                            "Den Namen der Instanz ändern" ==> Falls Du nicht den Namen des Widgets (redet man hier von einer Widget-Instanz) meinst, gehts bei mir schon an die Grenzen. Den Namen von "sbfspot.0" kann ich doch nicht ändern - oder?
                            Inzwischen habe ich einen neuen Eintrag im Web-Log. Ich habe allerdings zwischenzeitlich auch etwas mit dem Browser "gearbeitet".
                            Im Datenpunkt sbfspot.0.4711.history.last30Days stehen keine Daten, sondern eine Formel:
                            [{"date":"2020-03-15","value":0}]
                            Wobei in einem MouseOver-Popup aber steht Bestätig: true, Zeitstempel..., Benutzer...
                            Davon hab ich auf die Schnelle keinen Screenshot hinbekommen.
                            Das neue Browser-Log:
                            78827959-de5b-4101-b901-de16072b2706-grafik.png
                            Entschuldige bitte die Zeit, die meine Antworten brauchen. Die Handhabung ist für mich noch ungewohnt.

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

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

                              Den Namen von "sbfspot.0" kann ich doch nicht ändern - oder?

                              doch, genau das wollte ich. Ich brauche einen Trigger, der das Zeichnen des widgets anstösst. Das passiert immer bei Änderungen in den Einstellungen. Dann sollte im log stehen, warum nicht gezeichnet werden kann. (und das sind in der Regel viel mehr Zeilen)

                              [{"date":"2020-03-15","value":0}]

                              Das sind Daten, aber nur ein Wert (Datum und Ertragswert). Hier würde ich aber 30 erwarten (wegen "letzte 30 Tage"). Kann es sein, dass du nur Daten von heute in der Datenbank hast? Warum dann aber Ertrag = 0? Bei mir war heute eigentlich guter Ertrag... Was sagt der Datenpunkt "sbfspot.0.xyz.history.today". Hat der mehr Werte?

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

                                @Rene_HM OK, jetzt hab ich hoffentlich verstanden, was Du meintest. Habe im Vis aus
                                sbfspot-Instanz: sbfspot.0
                                sbfspot-Instanz: Test.0
                                gemacht und wieder zurück geändert. Dabei gab´s dann jede Menge Einträge ins Browser-Log. Die habe ich per Screen-Shot nicht erwischt, weil die ja "durchrattern" und das Logfenster dabei scrollt. Daher hier der hoffentlich relevante Auszug:

                                22:12:47.731 bind sbfspot.0.4711.history.today edit.html:6743:29
                                22:12:47.732 ShowChart sbfspot  (w00003) edit.html:6383:29
                                22:12:47.734 Error: can't render tplSbfspotShowInstance w00003 on "PV-Anlage": conn.js:1142:17
                                22:12:47.735 Error: 0 - TypeError: $.plot is undefinedinit@http://192.168.x.y:8082/vis/edit.html?PV-Anlage#PV-Anlage:6763:21 conn.js:1142:17
                                22:12:47.738 Error: 1 - this.fn/<@tplSbfspotShowInstance.js:30:47 conn.js:1142:17
                                22:12:47.740 Error: 2 - txt@http://192.168.x.y:8082/vis/lib/js/can.custom.min.js:74:907 conn.js:1142:17
                                22:12:47.741 Error: 3 - this.fn@tplSbfspotShowInstance.js:25:10 conn.js:1142:17
                                22:12:47.742 Error: 4 - n.prototype.render@http://192.168.x.y:8082/vis/lib/js/can.custom.min.js:76:475 conn.js:1142:17
                                22:12:47.743 Error: 5 - n/<@http://192.168.x.y:8082/vis/lib/js/can.custom.min.js:76:256 conn.js:1142:17
                                22:12:47.743 Error: 6 - r@http://192.168.x.y:8082/vis/lib/js/can.custom.min.js:58:138 conn.js:1142:17
                                22:12:47.744 Error: 7 - renderTo@http://192.168.x.y:8082/vis/lib/js/can.custom.min.js:58:2982 conn.js:1142:17
                                22:12:47.745 Error: 8 - renderAs@http://192.168.x.y:8082/vis/lib/js/can.custom.min.js:58:3631 conn.js:1142:17
                                22:12:47.746 Error: 9 - e.template@http://192.168.x.y:8082/vis/lib/js/can.custom.min.js:58:1267 conn.js:1142:17
                                22:12:47.747 Error: 10 - renderWidget@http://192.168.x.y:8082/vis/js/vis.js:1610:33 conn.js:1142:17
                                22:12:47.748 Error: 11 - reRenderWidget@http://192.168.x.y:8082/vis/js/vis.js:1043:14 conn.js:1142:17
                                22:12:47.749 Error: 12 - reRenderWidgetEdit@http://192.168.x.y:8082/vis/js/visEdit.js:4231:14 conn.js:1142:17
                                22:12:47.749 Error: 13 - showInspect/<@http://192.168.x.y:8082/vis/js/visEditInspect.js:1711:38 conn.js:1142:17
                                22:12:47.750 Error: 14 - dispatch@http://192.168.x.y:8082/lib/js/jquery-1.11.2.min.js:3:8549 conn.js:1142:17
                                22:12:47.750 Error: 15 - add/r.handle@http://192.168.x.y:8082/lib/js/jquery-1.11.2.min.js:3:5252 conn.js:1142:17
                                22:12:47.750 Error: 16 - conn.js:1142:17
                                22:12:47.761 need to wait... (w00003) edit.html:6389:37
                                22:12:47.761 ShowChart sbfspot  (w00003) edit.html:6383:29
                                

                                Die letzten zwei Zeilen wiederholen sich dann immer.

                                Zu
                                [{"date":"2020-03-15","value":0}]

                                Auch bei den Today-Werten gibt es nur einen. Daß der letzte/aktuelle Todaywert Null ist, scheint bei meinem WR so zu sein. Auch wenn ich da via Browser drauf gehe und exportiere, ist der Wert erst nach Mitternacht verfügbar.
                                Aber auf Grund Deines Hinweises (die "Formel" an der Stelle muß mehr als einen Wert ergeben) muß ich mir wohl doch noch ´mal genauer anschauen, was in der DB wirklich steht. Dazu muß ich mich ersteinmal noch etwas mit der Abfragesprache beschäftigen. Dazu brauche ich einige Zeit, denn morgen geht die Woche ja wieder los.

                                Würde denn Dein Widget bei nur einem verfügbaren Wert sich gar nicht anzeigen/nicht gerendert werden können?

                                Vielen Dank erst´mal für die Hilfe bis hier und den Hinweis auf das lehrreiche Browser-Log!

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

                                  @Andersmacher bzgl. sbfspot bist du komplett der Anleitung unter https://github.com/SBFspot/SBFspot/wiki/Installation-Linux-SQLite inkl. https://github.com/SBFspot/SBFspot/wiki/Installation-Linux-SQLite#️-automation gefolgt?
                                  Wo loggst du dich ein, um zu prüfen, ob die Daten da sind (in den WR oder die Datenbank?)

                                  1 Reply Last reply Reply Quote 0
                                  • A
                                    Andersmacher last edited by

                                    @Rene_HM In den WR einloggen bringt aus meiner Sicht keine Erkenntis über das Vorhandensein von Daten in der DB. Daher hatte ich die "DB-Testing"-Befehle aus der Installanleitung benutzt und auch immer die erwarteten Antworten erhalten.

                                    Den Weg über die von Dir genannten Anleitungen bin ich auch gegangen, aber zuerst hatte ich die englische "SBFspot V3 install on Raspberry Pi EN 1.0.pdf" benutzt, die noch auf codeplex.com verweist, weil ich die neueren Anleitungen zunächst nicht kannte. Bei der englischen muß man zwar selber auf Idee kommen, vor dem Installieren erst zu kompilieren, um Erfolg zu haben aber aus meiner Sicht ist sie gleichwertig mit der von Dir benannten. Bei beiden muß man (ich) die SBFspot.cfg nachträglich noch manuell editieren, da das (halb)automatische Konfigurationsprogramm keine Eingabe eines Paßwortes für den Wechselrichter bietet.

                                    Letztlich hielt ich für wichtig, daß sqlite und SBFspot läuft und durch die regelmäßigen Cronjobs (Mit "Crontab -e" sehe ich bei mir z. B. über Putty im Editor folgende Einträge:

                                    */5 6-22 * * * /usr/local/bin/sbfspot.3/daydata
                                    55 05 * * * /usr/local/bin/sbfspot.3/monthdata

                                    ) getriggert wird. Das hatte ich (bevor ich mich überhaupt um den Adapter gekümmert habe) getestet, indem ich die CSV-Export-Dateien (sind bei mir im sbfspot.cfg aktiviert) angesehen habe und dort regelmäßige Einträge/Aktualisierungen vorgefunden habe.
                                    Jetzt, wo ich darüber schreibe, wurde mir klar, daß das kein Beweis für Datenbankeinträge war, denn die CSVs werden von sbfspot vermutlich nicht aus der Datenbank erzeugt, sondern beim Auslesen des WR.

                                    Daher habe ich heute den Raspi neu gestartet und wollte manuell die DB auslesen. Zunächst habe ich dabei jedoch bemerkt, daß ich heute plötzlich regelmäßig nach Cronjob-Trigger Fehlermeldungen im ioBroker-Log hatte:

                                    sbfspot.0 2020-03-16 20:15:02.253 error (1726) Error while performing Query in GetInverter. Error: SQLITE_READONLY: attempt to write a readonly database
                                    sbfspot.0 2020-03-16 20:15:02.220 debug (1726) SELECT * from Inverters
                                    sbfspot.0 2020-03-16 20:15:02.219 debug (1726) sqlite Database is connected ...
                                    sbfspot.0 2020-03-16 20:15:02.202 debug (1726) --- connecting to /mnt/usb/smadata/SBFspot.db
                                    sbfspot.0 2020-03-16 20:15:02.201 info (1726) start with sqlite
                                    sbfspot.0 2020-03-16 20:15:01.950 info (1726) starting. Version 2.4.0 in /opt/iobroker/node_modules/iobroker.sbfspot, node: v10.19.0

                                    Nachdem ich mich einmal manuell mit der db verbunden hatte und auch wunderbar manuell via "sqlite> select * from vwspotdata;" die Werte aus der db bekommen habe (Ich habe das als User pi probiert.), sind die Fehlermeldungen im ioBroker-Log weg und das Log zeigt den Verbindungs-/Abfrage-Ablauf, den ich gestern bereits gepostet hatte.

                                    Du hattest in einem früheren Post ´mal geschrieben, daß Du nur Get-Statements benutzt und therotisch kein Write-Zugriff auf die DB erforderlich ist. Aus der Fehlermeldung
                                    "Error while performing Query in GetInverter. Error: SQLITE_READONLY: attempt to write a readonly database"
                                    habe ich jedoch geschlossen, daß da vielleicht doch Rechte-Probleme existieren, die durch einmalige manuelle Verbindung gelöst werden. Ja, eigentlich kann ich das nicht glauben/erklären, aber um auf Nummer sicher zugehen, habe ich via "chmod a+w SBFspot.db" jedem Schreibrechte auf die DB gegeben. Hat aber zunächst nichts gebracht. Im ioBroker-Log standen weiterhin bei jedem Cronjob-Trigger
                                    "Error while performing Query in GetInverter. Error: SQLITE_READONLY: attempt to write a readonly database"
                                    und zwar solange, bis ich mich wieder einmalig manuell mit der DB verbinde. Nur um ganz sicher zu gehen, daß ich nichts mißinterpretiere, hier die Ausgabe der DB nach den entsprechenden Select-Befehlen:

                                    pi@raspberrypi:/mnt/usb/smadata $ sqlite3 SBFspot.db
                                    SQLite version 3.16.2 2017-01-06 16:32:41
                                    Enter ".help" for usage hints.
                                    sqlite> select * from inverters;
                                    4711|SN: 4711|UNKNOWN TYPE|01.01.18.R|1584386195|0|0|819929|576.145|549.187|OK|N/A|0.0
                                    sqlite> select * from vwspotdata;
                                    2020-03-16 20:16:35|2020-03-16 20:15:00|SN: 4711|UNKNOWN TYPE|4711|0|0|0.0|0.0|0.0|0.0|0|0|0|0.0|0.0|0.0|0.0|0.0|0.0|0|0|0|0|819929|0.0|576.145|549.187|0.0|OK|N/A|0.0
                                    2020-03-15 17:20:02|2020-03-15 17:20:00|SN: 4711|UNKNOWN TYPE|4711|96|214|0.203|0.393|473.58|546.13|92|101|102|0.529|0.559|0.612|219.27|224.35|223.21|310|295|95.2|0|774769|50.02|563.272|536.683|0.0|OK|Closed|0.0
                                    2020-03-15 17:15:02|2020-03-15 17:15:00|SN: 4711|UNKNOWN TYPE|4711|107|239|0.226|0.436|476.06|549.78|105|114|115|0.575|0.617|0.661|221.52|222.96|223.01|346|334|96.5|0|774743|50.01|563.188|536.599|0.0|OK|Closed|0.0
                                    2020-03-15 17:10:02|2020-03-15 17:10:00|SN: 4711|UNKNOWN TYPE|4711|119|270|0.238|0.498|505.91|543.78|119|130|129|0.623|0.674|0.71|221.12|223.6|223.86|389|378|97.2|0|774714|50.02|563.105|536.516|0.0|OK|Closed|0.0
                                    2020-03-15 17:05:02|2020-03-15 17:05:00|SN: 4711|UNKNOWN TYPE|4711|139|305|0.277|0.55|502.94|554.51|137|148|146|0.694|0.751|0.784|222.64|225.14|222.94|444|431|97.1|0|774680|50.04|563.022|536.433|0.0|OK|Closed|0.0
                                    2020-03-15 17:00:01|2020-03-15 17:00:00|SN: 4711|UNKNOWN TYPE|4711|151|331|0.299|0.595|506.63|558.23|148|162|161|0.741|0.808|0.837|221.62|225.05|224.79|482|471|97.7|0|774642|50.02|562.938|536.349|0.0|OK|Closed|0.0
                                    usw.

                                    Das bedeutet doch wohl, daß in der DB Daten sind - oder?

                                    Das obige chmod hat aber wohl bewirkt, daß nun nach einem Reboot des Raspi kein einmaliges manuelles Einloggen in die DB mehr erforderlich ist. Das ioBroker-Log bleibt auch so sofort fehlerfrei.

                                    Nur damit ich auch selber besser testen/versuchen kann und das besser verstehe und hier nicht anderen/Dir soviel Arbeit mache noch einmal meine von gestern:
                                    Würde Dein Widget sich nicht anzeigen / nicht zu sehen sein, wenn es keine Werte (oder eben nur einen Wert) aus der DB erhält?

                                    Die Fehlermeldung des Browsers von gestern ist auch heute unverändert vorhanden:

                                    21:59:38.129 sbfspot history (w00003) edit.html:6158:25
                                    21:59:38.130 bind sbfspot.0.4711.history.today edit.html:6743:29
                                    21:59:38.130 ShowChart sbfspot (w00003) edit.html:6383:29
                                    21:59:38.130 Error: can't render tplSbfspotShowInstance w00003 on "PV-Anlage": conn.js:1142:17
                                    21:59:38.131 Error: 0 - TypeError: $.plot is undefinedinit@http://192.168.x.y:8082/vis/edit.html?PV_Anlage#PV-Anlage:6763:21 conn.js:1142:17
                                    21:59:38.131 Error: 1 - this.fn/<@tplSbfspotShowInstance.js:30:47 conn.js:1142:17
                                    21:59:38.131 Error: 2 - txt@http://192.168.x.y:8082/vis/lib/js/can.custom.min.js:74:907 conn.js:1142:17

                                    Welchen Grund könnte es denn aus Deiner Sicht geben, daß das Widget nicht gerendert werden kann? Auch ohne Daten müßte man doch zumindest Achsen oder sonst etwas sehen können - oder?

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

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

                                      Das bedeutet doch wohl, daß in der DB Daten sind - oder?

                                      ja, zumindest in der vwspotdata - Tabelle. Ich hole die Daten aber aus der SpotData - Tabelle, sollte aber identisch sein...
                                      Aber warum stoppt bei dir das logging am 2020-03-15 um 17:20:02 und beginnt am 2020-03-16 um 20:16:35

                                      Bild1.PNG
                                      Wir müssen es erst mal schaffen, hier in der history vernünftige Daten zu haben. Dann schauen wir uns das widget an...

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

                                        @Rene_HM @Rene_HM Zu
                                        "Aber warum stoppt bei dir das logging am 2020-03-15 um 17:20:02 und beginnt am 2020-03-16 um 20:16:35"

                                        Ich habe momentan noch einen "kleinen Engpaß" bei meinen Ethernet-Ports, wenn ich am/mit dem Raspi bastel. Daher ist er (noch) nicht durchgehend an/am Netzwerk.

                                        Zeigt sich Dein Widget nur, wenn es lückenlose Daten in der DB hat?
                                        Falls dem so ist, wäre klar, warum das bei mir nicht klappt.

                                        Was ich bisher noch nicht erwähnt hatte, was mir nun langsam aber immer komischer vorkommt und ich mich daher frage, ob ich vielleicht ein ganz anderes / grundlegenderes Problem habe:

                                        Auch im VIS-Editor wird Dein Widget bei mir in keinster Weise optisch dargestellt. Daß es da ist kann man nur daran erkennen, daß man die Eigenschaftstabelle für das Widget am rechten Rand erhält, wenn man das Widget als "aktives Widget" links oben im Editor selektiert. Es gibt auch keinen Rahmen oder ähnliches, an dem man die Position des Widget sehen könnte.

                                        Ist dieses "Stealth-Verhalten" so gewollt?
                                        Wenn Ja, warum?
                                        Wenn Nein, was müßte man sehen können? Was wird bei anderen im VIS-Editor für das Widget angezeigt, solange man es editiert?

                                        Ich habe mich zwischenzeitlich mit sqlite beschäftigt und bin mir daher sicher, daß ich Daten in der DB habe, wie oben erklärt jedoch nicht lückenlos.
                                        Be-/verhindern Lücken die Arbeit Deines Adapters / die Darstellung Deines Widgets?

                                        Ich habe mir jetzt einmal die Daten näher angesehen, die in ioBroker/Objekte in der Spalte "Wert" stehen:

                                        Für "last12Months" stimmt der Wert (es ist ja nur einer, weil es offenbar die aufgelaufene erzeugte Menge ist) exakt mit dem Wert aus meinem WR überein.

                                        Für "last30Days" sehe ich dort je einen Wert für den 15., 16. und 19. März. Das könnte plausibel sein, weil ich in der aktuellen Konfiguration des Raspi tatsächlich nur an diesen Tagen Werte in der DB gespeichert habe. Was für mich nicht plausibel ist, ist, daß diese drei Werte alle Null sind.
                                        Wenn Du mir Dein SQL-Statement mitteilst, mit dem Du diese Werte ermittelst, würde ich das bei mir ´mal manuell auf die DB loslassen, um zu sehen, was genau es abfragt und da dann zurück kommt. Ich schließe noch immer die Möglichkeit nicht aus, daß mein WR eine andere Datenstruktur in die DB liefert, als Dein Adapter erwartet.

                                        Für "today" kann ich den Eintrag nicht interpretieren: [{"time":"09:03","value":0}]
                                        Erwartest Du hier eine Serie von Werten oder einen einzelnen Wert. Wenn letzteres, welchen Wert? Die momentan aktuelle Tageserzeugung?

                                        Für "years" ist es wieder plausibel. Da steht die bisher insgesamt vom WR erzeugte Menge, also der gleiche Wert, wie bei "last12Months", weil meine Anlage ja noch nicht solange läuft.

                                        Hier noch einmal jeweils die neueste Zeile aus der Ausgabe(struktur) eines aktuellen (17:06) "select * from vwSpotData;" (Zeitstempel im Klartext) im Vergleich zu einem "select * from SpotData;" (Zeitstempel offenbar als "Interger-Sekunden"):

                                        2020-03-19 17:15:02|2020-03-19 17:15:00|SN: 4711|UNKNOWN TYPE|4711|44|99|0.1|0.198|444.19|501.47|39|43|42|0.385|0.403|0.432|222.72|225.16|226.2|143|124|86.7|0|903639|49.99|611.446|583.194|0.0|OK|Closed|0.0

                                        1584634502| 4711|44|99|0.1|0.198|444.19|501.47|39|43|42|0.385|0.403|0.432|222.72|225.16|226.2| 0|903639|49.99|611.446|583.194|0.0|OK|Closed|0.0

                                        Ich habe zur besseren Vergleichbarkeit in die Ausgabe des von Dir benutzten "select * from SpotData;" einige Leerzeichen eingefügt. Kannst Du erkennen, ob sbfspot bzw. Dein Adapter/Widget mit der Datenstruktur meines WR klarkommen müßte?
                                        Warum ist es auch im Editor nicht zu sehen?

                                        Nur als Hinweis: Ich hatte den Adapter heute auf 5minütige (also nicht den Standardwert 15Minuten) Aktualisierung eingestellt, um beim Testen nicht so lange auf neue Daten warten zu müssen.

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

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

                                          Zeigt sich Dein Widget nur, wenn es lückenlose Daten in der DB hat?

                                          nein eigentlich nicht

                                          Auch im VIS-Editor wird Dein Widget bei mir in keinster Weise optisch dargestellt. Daß es da ist kann man nur daran erkennen, daß man die Eigenschaftstabelle für das Widget am rechten Rand erhält, wenn man das Widget als "aktives Widget" links oben im Editor selektiert. Es gibt auch keinen Rahmen oder ähnliches, an dem man die Position des Widget sehen könnte.

                                          Du hattest doch ganz am Anfang gesagt, dass die Meldung "keine Daten" im widget erscheint. Das ist solange der Fall, wie wirklich keine Daten in den Datenpunkten liegen. danach sollten eigentlich die vorhandenen Daten angezeigt werden. Wir haben aber zunächst die u.g. Probleme zu lösen, das hier ist der letzte Punkt in der Kette...

                                          Be-/verhindern Lücken die Arbeit Deines Adapters / die Darstellung Deines Widgets?

                                          nein.

                                          Für "last12Months" stimmt der Wert (es ist ja nur einer, weil es offenbar die aufgelaufene erzeugte Menge ist) exakt mit dem Wert aus meinem WR überein.

                                          genau, wenn dein sbfspot weniger als einen Monat läuft, kannst du maximal einen Monatswert drin haben

                                          Für "last30Days" sehe ich dort je einen Wert für den 15., 16. und 19. März. Das könnte plausibel sein, weil ich in der aktuellen Konfiguration des Raspi tatsächlich nur an diesen Tagen Werte in der DB gespeichert habe. Was für mich nicht plausibel ist, ist, daß diese drei Werte alle Null sind.

                                          und da ist ein Problem. Es gibt einen EToday, der den Ertrag pro Tag zum jeweiligen Zeitpunkt aufzeichnet. Am Ende des Tages steht also der Ertrag des Tages da drin.

                                          Für "today" kann ich den Eintrag nicht interpretieren: [{"time":"09:03","value":0}]

                                          das heisst, um 9:00Uhr stand der Ertrag bei 0kWh. Eigentlich erwarte ich hier alle 5 oder 15 Minuten (je nachdem wie häufig sbfspot vom cron aufgerufen wurde) einen neuen Wert. Nur so kann ich ja den Tagesverlauf darstellen. Ein Wert pro Tag ist einfach zu wenig. Kannst du mal schauen, ob sbfspot wirklich per cron regelmässig aufgerufen wird.? Du hattest ja gesagt, dass du der Anleitung gefolgt bist. Das hier ist der Punkt:

                                          Create cron jobs:
                                          
                                          ## SBFspot
                                          */5 6-22 * * * /usr/local/bin/sbfspot.3/daydata
                                          

                                          "select * from SpotData;"

                                          1584634502| 4711|44|99|0.1|0.198|444.19|501.47|39|43|42|0.385|0.403|0.432|222.72|225.16|226.2| 0|903639|49.99|611.446|583.194|0.0|OK|Closed|0.0

                                          Die Struktur in der Tabelle ist

                                          Timestamp; Serial; PDC1; PDC2; IDC1, IDC2; UDC1; UDC2; PAC1, PAC2; PAC3; IAC1; IAC2; IAC3; UAC1; UAC2; UAC3; EToday, ETotal; Frequency; OperatingTime; FeedInTime; BT_Signal; Status; GridRelay; Temperature
                                          

                                          und damit ist klar, warum bei Today immer 0 steht. In der DB steht bei EToday 0...

                                          Warum das so ist, sehen wir evtl. in den logs von sbfspot... oder der WR liefert den Wert wirklich nicht...

                                          1 Reply Last reply Reply Quote 0
                                          • A
                                            Andersmacher last edited by

                                            @Rene_HM Zu "Widget im VIS sichtbar?":
                                            Ich meine, ich hatte es so formuliert, daß im VIS (Runtime) sinngemäß "keine aktuellen Daten vorhanden" angezeigt wird. Aber nicht "in einem" Widget, sondern "anstelle" (jedenfalls nur ein String, keinerlei Grafik) und dem ist auch so.
                                            Im Vis-Editor hingegen ist gar nichts zu sehen.

                                            Aus meinem Post vom 16.03.2020:
                                            Mit "Crontab -e" sehe ich bei mir z. B. über Putty im Editor folgende Einträge:

                                            */5 6-22 * * * /usr/local/bin/sbfspot.3/daydata
                                            55 05 * * * /usr/local/bin/sbfspot.3/monthdata

                                            Das ist auch heute noch so.
                                            Das bedeutet doch, daß die Cronjobs laufen - oder?
                                            Und ich sehe ja auch alle 5 Minuten neue Werte in der Ausgabe eines manuell abgesetzten "select * from vwSpotData;".

                                            Im Log von sbfspot sehe ich keinerlei Fehlereinträge. Der Wert für EToday ist aber jedesmal mit 0.000kWh gelogt. Auszug aus dem Log:

                                            Energy Production:
                                            EToday: 0.000kWh
                                            ETotal: 896.318kWh
                                            Operation Time: 605.78h
                                            Feed-In Time : 577.53h

                                            Ich hatte also offenbar richtig in Erinnerung, daß dieser Wert immer Null ausgibt.
                                            Wenn das WR-bedingt so sein sollte, wird man das nicht ändern können. Aber ich verstehe dann trotzdem nicht, daß sich Dein Widget nicht zeigt und sei es eben mit Null-Werten.

                                            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

                                            805
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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