NEWS
Neuer Adapter: SMA Wechselrichter mit sbfspot
-
Kannst du von der console vom browser das log schicken? (gern auch per PN)
Im chrome unter "weitere Tools" und dann "Entwicklertools" aktivieren. Dann vis evtl. im edit-Mode neu laden. Evtl. reichen die logs schon zur Fehleranalyse, falls nicht, baue ich noch ein paar schnell ein…
-
Ich habe in der Zwischenzeit das widget komplett überarbeitet.
Es gibt nun nur noch einen Graph pro widget, da man sowieso immer nur einen vernünftig darstellen kann. In den Einstellungen kann man einstellen, was man darstellen will. Damit werden ein paar Grundeinstellungen automatisch angepasst (OID und Zeit/Datumsformat).
Außerdem wird die OID auch nach Änderung der WR-Seriennummer neu erstellt, vorher war das nur bei Änderung der Instanz der Fall.
Falls die Einstellung im widget sich nach dem update nicht ändert, hilft ein````
iobroker upload visDer Adapter ist nun auch für admin3 nutzbar…
-
Kann mir einer erklären was die Auswahl bei "Zeitinterval" bewirkt?
-
Hallo, super Adapter. Endlich vernünftig Daten auswerten.
Aber mit der Darstellung des Widget gibt es bei mir Probleme. Leider finde ich den Fehler nicht. Alle Json in den Objekt History enthalten Werte. Für die 30-Tage sind der Juni, Juli und August enthalten. Im Widget wird aber bei 5 Labels 3x Juli und 3x August dargestellt?! Dazu kommt, dass die Darstellung auf Mobilgeräten gar nicht da ist, sondern nur über dem Browser des PC. Weiß leider überhaupt nicht, wo ich da ansetzen soll.
Falls einer eine Idee hat…
Gruß
Heiko
Noch etwas aufgefallen: Ich habe die Daten in eine Tabelle übernommen. Dabei werden die Werte der einzelnen Jahre jedes mal summiert, sodass für 2018 jetzt die Gesamtleistung meiner Anlage angezeigt wird. Ähnlich ist es für die Monate, wobei in der Grafik die Werte richtig sind. :roll:
Hier noch ein Auszug aus der Log
2018-08-01 15:40:01.339 - debug: sbfspot.0 objectDB connected 2018-08-01 15:40:01.426 - debug: sbfspot.0 statesDB connected 2018-08-01 15:40:01.554 - info: sbfspot.0 starting. Version 2.2.3 in /opt/iobroker/node_modules/iobroker.sbfspot, node: v8.11.3 2018-08-01 15:40:01.797 - info: sbfspot.0 start with sqlite 2018-08-01 15:40:01.798 - debug: sbfspot.0 --- connecting to /home/pi/smadata/SBFspot.db 2018-08-01 15:40:01.799 - debug: sbfspot.0 sqlite Database is connected ... 2018-08-01 15:40:01.800 - debug: sbfspot.0 SELECT * from Inverters 2018-08-01 15:40:01.831 - debug: sbfspot.0 rows [{"Serial":2100138924,"Name":"SN: 2100138924","Type":"SB 4000TL-20","SW_Version":"02.07.00.R","TimeStamp":1533130564,"TotalPac":2485,"EToday":18.797,"ETotal":37093.8,"OperatingTime":36300.3,"FeedInTime":35006.2,"Status":"OK","GridRelay":"Closed","Temperature":62.73}] 2018-08-01 15:40:01.832 - info: sbfspot.0 got data from SB 4000TL-20 with ID 2100138924 2018-08-01 15:40:01.847 - debug: sbfspot.0 SELECT * from SpotData where Serial =2100138924 ORDER BY TimeStamp DESC LIMIT 1 2018-08-01 15:40:01.865 - debug: sbfspot.0 rows [{"TimeStamp":1533130564,"Serial":2100138924,"Pdc1":1647,"Pdc2":872,"Idc1":6.606,"Idc2":3.145,"Udc1":249.41,"Udc2":277.5,"Pac1":2485,"Pac2":0,"Pac3":0,"Iac1":10.776,"Iac2":0,"Iac3":0,"Uac1":230.6,"Uac2":0,"Uac3":0,"EToday":18797,"ETotal":37093775,"Frequency":50,"OperatingTime":36300.3,"FeedInTime":35006.2,"BT_Signal":81.9608,"Status":"OK","GridRelay":"Closed","Temperature":62.73}] 2018-08-01 15:40:01.869 - debug: sbfspot.0 SELECT strftime('%Y-%m-%d', datetime(TimeStamp, 'unixepoch')) as date, Max(`EToday`) as ertrag FROM `SpotData` WHERE `Serial` = '2100138924' AND TimeStamp>= 1530538801.869 AND TimeStamp<= 1533130801.869 Group By strftime('%Y-%m-%d', datetime(TimeStamp, 'unixepoch')) 2018-08-01 15:40:02.077 - debug: sbfspot.0 rows [{"date":"2018-07-02","ertrag":27161},{"date":"2018-07-03","ertrag":24967},{"date":"2018-07-04","ertrag":24397},{"date":"2018-07-05","ertrag":24304},{"date":"2018-07-06","ertrag":14496},{"date":"2018-07-07","ertrag":25048},{"date":"2018-07-08","ertrag":24221},{"date":"2018-07-09","ertrag":13764},{"date":"2018-07-10","ertrag":7438},{"date":"2018-07-11","ertrag":4915},{"date":"2018-07-12","ertrag":17338},{"date":"2018-07-13","ertrag":13165},{"date":"2018-07-14","ertrag":24257},{"date":"2018-07-15","ertrag":26095},{"date":"2018-07-16","ertrag":25615},{"date":"2018-07-17","ertrag":24028},{"date":"2018-07-18","ertrag":23337},{"date":"2018-07-19","ertrag":25005},{"date":"2018-07-20","ertrag":20363},{"date":"2018-07-21","ertrag":9957},{"date":"2018-07-22","ertrag":19872},{"date":"2018-07-23","ertrag":23823},{"date":"2018-07-24","ertrag":23948},{"date":"2018-07-25","ertrag":20011},{"date":"2018-07-26","ertrag":24071},{"date":"2018-07-27","ertrag":23244},{"date":"2018-07-28","ertrag":10078},{"date":"2018-07-29","ertrag":18836},{"date":"2018-07-30","ertrag":20182},{"date":"2018-07-31","ertrag":22392},{"date":"2018-08-01","ertrag":18797}] 2018-08-01 15:40:02.094 - debug: sbfspot.0 SELECT strftime('%Y-%m-%d', datetime(TimeStamp, 'unixepoch')) as date, ETotal FROM `SpotData` WHERE `Serial` = '2100138924' ORDER by `TimeStamp` ASC LIMIT 1 2018-08-01 15:40:02.105 - debug: sbfspot.0 prepare: rows [{"date":"2018-06-26","ETotal":36329858}] 2018-08-01 15:40:02.106 - debug: sbfspot.0 2018-06-26 36329858 2018-08-01 15:40:02.109 - debug: sbfspot.0 SELECT strftime('%H-%i', datetime(TimeStamp, 'unixepoch')) as time, Max(`EToday`) as ertrag FROM `SpotData` WHERE `Serial` = '2100138924' AND TimeStamp>= 1533074402.109 AND TimeStamp<= 1533130802.109 Group By strftime('%H-%i', datetime(TimeStamp, 'unixepoch')) 2018-08-01 15:40:02.149 - debug: sbfspot.0 rows [{"time":null,"ertrag":18797}] 2018-08-01 15:40:02.154 - debug: sbfspot.0 SELECT strftime('%Y', datetime(TimeStamp, 'unixepoch')) as date, Max(`ETotal`) as ertrag, Min(`ETotal`) as startertrag FROM `SpotData` WHERE `Serial` = '2100138924' Group By strftime('%Y', datetime(TimeStamp, 'unixepoch')) 2018-08-01 15:40:02.246 - debug: sbfspot.0 rows [{"date":"2018","ertrag":37093775,"startertrag":0}] 2018-08-01 15:40:02.246 - debug: sbfspot.0 2009 705434.1359223301 2018-08-01 15:40:02.247 - debug: sbfspot.0 2010 4938038.951456311 2018-08-01 15:40:02.247 - debug: sbfspot.0 2011 9170643.766990293 2018-08-01 15:40:02.247 - debug: sbfspot.0 2012 13403248.582524274 2018-08-01 15:40:02.247 - debug: sbfspot.0 2013 17635853.398058254 2018-08-01 15:40:02.248 - debug: sbfspot.0 2014 21868458.213592235 2018-08-01 15:40:02.248 - debug: sbfspot.0 2015 26101063.029126216 2018-08-01 15:40:02.248 - debug: sbfspot.0 2016 30333667.844660196 2018-08-01 15:40:02.248 - debug: sbfspot.0 2017 34566272.66019417 2018-08-01 15:40:02.248 - debug: sbfspot.0 2018 73423633 2018-08-01 15:40:02.249 - debug: sbfspot.0 [{"year":2009,"value":705434},{"year":2010,"value":4938038},{"year":2011,"value":9170643},{"year":2012,"value":13403248},{"year":2013,"value":17635853},{"year":2014,"value":21868458},{"year":2015,"value":26101063},{"year":2016,"value":30333667},{"year":2017,"value":34566272},{"year":2018,"value":73423633}] 2018-08-01 15:40:02.250 - debug: sbfspot.0 SELECT strftime('%Y-%m', datetime(TimeStamp, 'unixepoch')) as date, Max(`ETotal`) as ertrag FROM `SpotData` WHERE `Serial` = '2100138924' AND TimeStamp>= 1501538402.25 AND TimeStamp<= 1533130802.25 Group By strftime('%Y-%m', datetime(TimeStamp, 'unixepoch')) 2018-08-01 15:40:02.375 - debug: sbfspot.0 rows [{"date":"2018-06","ertrag":36441049},{"date":"2018-07","ertrag":37074975},{"date":"2018-08","ertrag":37093775}]
-
Dazu kommt, dass die Darstellung auf Mobilgeräten gar nicht da ist, sondern nur über dem Browser des PC. `
Du meinst die ioBroker.vis Android App? Das ist klar, da dort die widgets in die app "hineinkompiliert" werden müssen. Dieser pull request ist noch offen…Ich nutze die App nicht mehr. Stattdessen nutze ich meine eigene (siehe [viewtopic.php?f=35&t=9716]. Die kann auch die vis anzeigen, braucht aber kein update, wenn mal ein widget neu ist…
Im Widget wird aber bei 5 Labels 3x Juli und 3x August dargestellt?! `
Kannst du davon mal einen screen shoot posten?Dabei werden die Werte der einzelnen Jahre jedes mal summiert, sodass für 2018 jetzt die Gesamtleistung meiner Anlage angezeigt wird. Ähnlich ist es für die Monate, wobei in der Grafik die Werte richtig sind. `
sbfspot speichert die Werte in dieser Art. Für die Grafik berechne ich die Differenz… -
> Kannst du davon mal einen screen shoot posten?
In der json wird Juni, Juli und August angezeigt. Ok, das mit der app werde ich mir mal genauer anschauen. Hast du für die Berechnung der Differenz ein Script was du mir zur Verfügung stellen könntest ?
Danke schon mal
-
Das Problem mit den "doppelten" Datumswerten liegt daran, dass nicht genügend Datenpunkte zur Darstellung verfügbar sind. In den Graph-Einstellungen kann man angeben, wieviele Ticks auf der X-Achse dargestellt werden sollen. Wenn dieser Wert größer ist, als die zur Verfügung stehenden Daten, erzeugt flot solche "doppelten" Werte.
Als Lösung sehe ich drei Möglichkeiten:
-
warten, bis genügend Werte in der Datenbank vorhanden sind
-
manuell Daten für die Vergangenheit in die Datenbank eintragen
-
update der Adapter-Version: in Adapter - Version 2.2.4 (derzeit nur auf github) habe ich die Anpassung eingebaut (d.h. ich reduziere die Ticks)
-
-
> 2) update der Adapter-Version: in Adapter - Version 2.2.4 (derzeit nur auf github) habe ich die Anpassung eingebaut (d.h. ich reduziere die Ticks)
Getestet, das sieht schon besser aus.
Welche Möglichkeit gibt es das im vis darzustellen? Die Widgets werden ja nur auf dem PC dargestellt und nicht auf Tablets. Wäre das ein großer Aufwand das in einer nächsten Version einzubinden?
Ansonsten läuft alles super.
Danke dafür
Gruß
-
im browser werden die widgets auch auf einem tablet angezeigt. Wie gesagt, Ich verwende dafür meine app
https://play.google.com/store/apps/details?id=eu.rg_engineering.hometabremote. Im Prinzip nutze ich auch da auch einen browser…
Den pull request für die vis app mache ich noch...
-
Super,
vielen Dank für deine Mühe
-
Hallo, irgendwie bin ich zu blöd den SBFspot-Adapter im IoBroker einzurichten. Benutze SBFspot (nun 3.50) schon lange, der läuft autark fehlerfrei mit Ausgabe auf PVOutput.org und PV-Log/Powerdoo per FTP-upload. SQL-Datenbank ist also vorhanden.
Was muß ich nun konkret noch tun um das in IoBroker einzubinden? Adapter installieren, sqlite und Pfad auswählen und später im vis-Widget "SBFspot.0" als Instanz auswählen, fertig oder ? Habe den Adapter schon gelöscht und neu hinzugefügt.
system.adapter.sbfspot.0 sbfspot instance alive sbfspot.0.alive state indicator.state false connected sbfspot.0.connected state indicator.state inputCount raspberrypi - inputs level state state 0 events/15 seconds memHeapTotal sbfspot.0.memHeapTotal state indicator.state 15.03 MB memHeapUsed sbfspot.0.memHeapUsed state indicator.state 7.18 MB memRss sbfspot.0.memRss state indicator.state 31.8 MB outputCount raspberrypi outputs level state state 8 events/15 seconds uptime sbfspot.0.uptime state indicator.state 1 seconds
Active und connected im Adapter stehen auf "false". Hier der Log:
host.raspberrypi 2019-01-12 11:45:07.453 info instance system.adapter.sbfspot.0 terminated with code 0 (OK) sbfspot.0 2019-01-12 12:45:07.429 debug cleaned everything up... sbfspot.0 2019-01-12 12:45:07.420 debug cleaned everything up... sbfspot.0 2019-01-12 12:45:07.416 debug cleaned everything up... sbfspot.0 2019-01-12 12:45:01.420 error Error while performing Query. sbfspot.0 2019-01-12 12:45:01.400 debug SELECT * from Inverters sbfspot.0 2019-01-12 12:45:01.399 debug sqlite Database is connected ... sbfspot.0 2019-01-12 12:45:01.399 debug --- connecting to /home/pi/smadata/SBFspot.db sbfspot.0 2019-01-12 12:45:01.398 info start with sqlite sbfspot.0 2019-01-12 12:45:01.198 info starting. Version 2.2.5 in /opt/iobroker/node_modules/iobroker.sbfspot, node: v8.15.0 sbfspot.0 2019-01-12 12:45:01.081 debug statesDB connected sbfspot.0 2019-01-12 12:45:01.012 debug objectDB connected
Danke
-
Laut log läuft dein Adapter, kann aber die Datenbank-Abfrage nicht ausführen.
Der Adapter versucht ein
SELECT * from Inverters
und meldet dann
Error while performing Query.
Dazu folgende Fragen:
-
sbfspot läuft auch mit sqlite und nicht evtl. mit mySQL?
-
sbfspot und der Adapter laufen auf dem gleichen Raspi?
-
stimmt der Pfad zur Datenbank bei sqlite (z.Bsp. /home/pi/sbfspot/smadata/SBFspot.db)
-
kann der Adapter darauf zugreifen (evtl. Rechte-Problem)
-
-
Danke für die Rückmeldung, die ersten drei Fragen kann ich mit Ja beantworten.
Bedeutet das denn nicht, dass er die Datenbank gefunden hat und einliest ?
sbfspot.0 2019-01-12 12:45:01.399 debug sqlite Database is connected ... sbfspot.0 2019-01-12 12:45:01.399 debug --- connecting to /home/pi/smadata/SBFspot.db
Kann es sein das etwas beim einlesen der Daten nicht klappt. Das Ding ist ja mittleweile fast 10MB groß.
Auf die Datenbank habe alle Leserechte, sollte auch reichen.
pi@raspberrypi:~/smadata $ ls -l total 9300 drwxr-xr-x 3 pi pi 4096 Jan 6 12:58 2016 drwxr-xr-x 3 pi pi 20480 Jan 6 12:58 2017 drwxr-xr-x 3 pi pi 12288 Jan 6 12:58 2018 drwxr-xr-x 3 pi pi 4096 Jan 12 00:02 2019 drwxr-xr-x 2 pi pi 4096 Jan 12 09:30 logs -rw-r--r-- 1 pi pi 9472000 Jan 12 16:45 SBFspot.db
Die Datenbank scheint aber OK, wird ja auch noch regelmäßig erweitert.
pi@raspberrypi:~/smadata $ sqlite3 SBFspot.db SQLite version 3.16.2 2017-01-06 16:32:41 Enter ".help" for usage hints. sqlite> pragma integrity_check; ok sqlite>
-
Ich habe ein Sunny-Beam an dem 2 Wechselrichter per Funk (nicht Bluetooth) hängen.
Gibt es eine Möglichkeit das Sunny-Beam in den iobroker zu integrieren? Evtl. kann ich es auch per USB an den iobroker-Rechner hängen.
-
Bedeutet das denn nicht, dass er die Datenbank gefunden hat und einliest ? `
nein, leider nicht. sqlite gibt keine Rückmeldung, ob wirklich connected.An der Größe sollte es nicht liegen, wenn ich auch mit sqlite keine wirkliche Erfharung habe. Ich betreibe das Teil mit mySQL. Das sollte aber keinen Unterschied machen
Kann es sein das etwas beim einlesen der Daten nicht klappt `
soweit kommen wir ja gar nicht, da schon die einfache Abfrageselect * from Inverters
mit Fehlermeldung quittiert wird. Aber die Abfrage könntest du mal im Terminal absetzen,
wenn du den sqlite> Prompt hast. Wenn wir hier nicht weiterkommen, baue ich die Fehlerbehandlung nochmal um,
so dass wir Fehlercode sehen…
-
Ich habe ein Sunny-Beam an dem 2 Wechselrichter per Funk (nicht Bluetooth) hängen. `
Der Adapter ist ausschliesslich als Interface zu einer Datenbank konzipiert, die von sbfspot gefüllt wird. Wenn also sbfspot kein Interface anbietet, kann es der Adapter auch nicht. Welche Interfaces bieten denn deine WR? speedwire? -
soweit kommen wir ja gar nicht, da schon die einfache Abfrage
select * from Inverters
mit Fehlermeldung quittiert wird. Aber die Abfrage könntest du mal im Terminal absetzen,
wenn du den sqlite> Prompt hast. Wenn wir hier nicht weiterkommen, baue ich die Fehlerbehandlung nochmal um,
so dass wir Fehlercode sehen… `
Hier der Aufruf in der Kommando-Zeile:
pi@raspberrypi:~/smadata $ sqlite3 SBFspot.db SQLite version 3.16.2 2017-01-06 16:32:41 Enter ".help" for usage hints. sqlite> select * from Inverters; 2100080719|SN: 2100080719|SB 5000TL-20|03.01.05.R|1547413323|0|406|49909956|38952.2|38193.3|OK|N/A|0.0 sqlite>
-
Hallo zusammen,
ich hänge mich hier mal mit dran, habe exakt das gleiche Problem wie der TE. Auf Kommandozeilenebene funktioniert alles, aber der Adapter bleibt immer mit der Meldung
sbfspot.0 2019-01-14 18:00:01.617 error Error while performing Query. sbfspot.0 2019-01-14 18:00:01.609 debug SELECT * from Inverters sbfspot.0 2019-01-14 18:00:01.609 debug sqlite Database is connected ... sbfspot.0 2019-01-14 18:00:01.609 debug --- connecting to /home/pi/smadata/SBFspot.db
hängen. Da wäre ich ebenfalls für einen Tip dankbar.
Norbert
-
Hm, keiner eine Idee?
-
Wenn wir hier nicht weiterkommen, baue ich die Fehlerbehandlung nochmal um,
so dass wir Fehlercode sehen… `
Hilft es evtl. wenn ich Dir meine SBFspot.db zukommen lassen ?