NEWS
[neuer Adapter] solarviewdatareader
-
Re: [neuer Adapter] solarviewdatareader
Hallo,
ich habe eine neue Version auf github veröffentlicht. Es hat sich etwas an den Objekten geändert und die Checksummen Berechnung wurde optimiert. Bevor ihr die neue Version installiert, sollte die alte Instanz gelöscht werden. Nach der Neuinstallation und Einrichtung des Adapters sollten die neuen Objekte angelegt werden. Ihr könnt aber auch manuell die Objekte löschen und die Instanz neu starten. Viel Spaß beim Testen.
-
@afuerhoff Hallo Achim,
ich habe die neue Version, so wie du geschrieben hast, installiert, die Objekte wurden erzeugt, bleiben aber leer.
Ich habe die Installation mehrfach wiederholt, die Objekte bleibt aber leer.
Da ich nicht den Standartport zur Abfrage des Solarview benutze, sondern den Port 15005, habe ich es auch so in der Instanz eingetragen. Erst startet die Verbindung mit dem richtigen Port, anschließend steht im Log: "error: Error: connect ECONNREFUSED 10.50.6.15:15000", obwohl ich 15005 eingetragen habe.Gruß Rainer
-
@afuerhoff Hallo Achim,
ich habe es grade nochmals getestet und den Port im smap auf 15000 eingestellt, nun läuft es.
Es wird anscheinend nicht durchgehend der in der Instanz eingetragene Port benutzt.Gruß Rainer
-
@steinkuhl sagte in [neuer Adapter] solarviewdatareader:
@afuerhoff Hallo Achim,
ich habe es grade nochmals getestet und den Port im smap auf 15000 eingestellt, nun läuft es.
Es wird anscheinend nicht durchgehend der in der Instanz eingetragene Port benutzt.Gruß Rainer
Hallo Rainer,
Fehler ist behoben. Beim Umbau des Telnet Client nicht aufgepasst. Danke für die Fehlermeldung.
Gruß Achim -
@afuerhoff Hallo Achim,
Danke für die schnelle Hilfe, jetzt funktioniert es wieder richtig. Danke !!!
Gruß Rainer
-
Ich hänge mich mal hier an. Bei mir läuft solarview nach wie vor auf einer FB mit OS 7.01. Ich nutze einen RS 485 zu Ethernetkonverter. Es gibt nur Netzeinspeisung. Der Konverter hat den Port 1470 und kann nicht verändert werden, die IP und den Port vom Konverter habe ich im Addon eingetragen. ioBroker läuft als Addon auf einer Raspeberrymatic 3.47.10.20190713 auf einem Tinkerboard S mit 2GB RAM. Der Adapter ist installiert, aber es werden keine Daten gelesen.
Müssen für die FritzBox besondere Daten berücksichtigt werden,
so steht es in der start.sh für solarview -fb:-i 127.0.0.1 -p 11200
-
@Triceratops
Hallo,
das mit dem Konverter verstehe ich nicht. Solarview läuft doch auf der Fritzbox. Du musst doch nur die IP der Fritzbox auf der Solarview läuft und den Port von Solarview angeben. -
@afuerhoff So einfach ist das nicht. Der Konverter holt die Daten via RS485 ab, der WR kann von Solarview via Ethernet nicht ausgelesen werden. Die Fritzbox IP (192.168.178.1) und verschiedene Ports (88, 11200) habe ich bereits probiert, ebenfalls ohne Ergebnis.
-
@Triceratops
Aus meiner Sicht ist da der Gedankenfehler. Ich lese ja nicht direkt den Wechselrichter aus. Sondern benutze die Schnittstelle von Solarview.
Wie Solarview an die Daten kommt ist dem Adapter egal. -
@afuerhoff Hallo,
soweit ich weiss, gibt es innerhalb des Solarview noch die Softwareverbindung zwischen Wechselrichter und dem Solarview, die Schnittstelle mit Namen "SMAP", die bedient die Wechselrichterabfrage.
Gruß Rainer
-
@Triceratops
Wenn Solarview generell läuft und die Daten von Solarview ausgelesen und auch in der Weboberfläche dargestellt werden, dann muss nur noch der TCP Server wie oben beschrieben aktiviert werden. Dann kann der Adapter entsprechend mit IP-Adresse und Port (von Solarview) konfiguriert werden. Mit einem Telnet Client kann man die Schnittstelle, wie in der Solarview Anleitung beschrieben, auch selber testen. Ich hab das mal unter Windows mit dem Telnet Client gemacht.Bitte melde dich, ob du es hinbekommen hast.
-
Ich habe den TCP-Server, wie beschrieben, aktiviert. Wenn ich dann telnet fritz.box 15000 eingebe, kommen 3 Punkte, das Eingeben von 00* beendet sofort die Session. Auch mit Putty geht es nicht. Natürlich ist die Fritzbox viel sicherer als früher, so dass evt. die Zugangskennung erwartet wird.
Jedenfalls werden keine Daten nach ioBroker geladen. -
@Triceratops
Hallo, was wird denn im Log angezeigt. Das wäre hilfreich.Hast du nach dem Ausführen des telnet Befehls unter Windows sofort 00* eingegeben?
Dann sollte so eine Antwort von Solarview kommen.
Evtl. hast du Probleme mit dem Escape Zeichen in telnet. Einfach mal nur telnet eingeben und danach "set ?". Unter escape ist dann das escape-Zeichen zu sehen. Bei mir stand das z.B. auf 0. Ich habe es einfach mal auf x gesetzt. Das escape Zeichen kannst du mit der Option -ex setzen -> telnet -ex xxx.xxx.xxx.xxx 15000
Danach hat bei mir die Abfrage mit telnet funktioniert.
-
Danke für die Hinweise:
telnet set ? ergibt:telnet [-a][-e Escapezeichen][-f Protokolldatei][-l Benutzer][-t Begriff] [Host [Port]] -a Automatische Anmeldung. Identisch mit Option -l, verwendet aber den Namen des angemeldeten Benutzers. -e Escapezeichen, um Telnet-Clientbefehlseingabe einzugeben. -f Dateiname zur Protokollierung des Clients. -l Legt den Anmeldebenutzernamen für das Remotesystem fest. Erfordert, dass das Remotesystem TELNET ENVIRON unterstützt. -t Legt den Terminaltyp fest. Unterstützt werden nur: vt100, vt52, ansi und vtnt. Host Legt den Hostnamen bzw. die IP-Adresse des Remotecomputers fest, mit dem eine Verbindung hergestellt werden soll. Port Legt die Portnummer bzw. den Dienstnamen fest.
Die Ausführung des telnet Befehles (Win 10) ergibt folgendes:
C:\Users\Joachim>telnet 192.168.178.1 15000 Verbindungsaufbau zu 192.168.178.1...Es konnte keine Verbindung mit dem Host hergestellt werden, auf Port 15000: Verbindungsfehler
Sofortige Eingabe von 00* bewirkt nichts, führt nur zu obiger Ausschrift. Möglicherweise macht Fritz OS 7.01 den "Laden" dicht. Ich habe noch einen Telnetzugang zu OS 7.01.
Das Log schreibt nach Neustart des Adapters folgendes aus:host.localhost 2019-07-24 22:19:52.615 info instance system.adapter.solarviewdatareader.0 started with pid 24033 host.localhost 2019-07-24 22:19:50.111 info instance system.adapter.solarviewdatareader.0 terminated with code 156 () host.localhost 2019-07-24 22:19:50.085 info stopInstance system.adapter.solarviewdatareader.0 killing pid 30191 host.localhost 2019-07-24 22:19:50.085 info stopInstance system.adapter.solarviewdatareader.0 host.localhost 2019-07-24 22:19:50.085 info object change system.adapter.solarviewdatareader.0
-
So, nun noch das nächste von Telnet
Willkommen Das Escapezeichen ist 'CTRL++' Microsoft Telnet> set ? bsasdel RÜCKTASTE wird als ENTF gesendet. crlf Neue Zeile - Beim Betätigen der Eingabetaste wird CR & LF gesendet. delasbs ENTF wird als RÜCKTASTE gesendet. escape x x ist ein Escapezeichen, um Telnet-Clientbefehlseingabe einzugeben. localecho Aktiviert "localecho". logfile x x ist die aktuelle Clientprotokolldatei. logging Aktiviert Protokollierung. mode x x ist die Konsole bzw. der Datenstrom. ntlm Aktiviert NTLM-Authentifizierung. term x x ist ANSI, VT100, VT52 oder VTNT. Microsoft Telnet>
-
@Triceratops
Telnet müsste eine Verbindung mit dem Solarview Server herstellen können. Das ist bei dir nicht der Fall. Daher kann auch der Adapter keine Verbindung herstellen.
Es scheint, als ob der TCP-Server nicht läuft.
Hast du Solarview nach der Konfiguration des TCP-Servers neu gestartet?
Steht in der start.sh -> ./solarview-fb ......... -TCP 15000? -
Klaro, habe ich gemacht, siehe hier (aus start.sh
... -sp 587 -tls -enc -TCP 15000
Seit mindestens Juni 2012 (V 3.6 vom 22.06.2012) gibt es diese Einstellmöglichkeit. Hier mal ein passender Auszug aus der Dokumentation von Manfred Richter:
SolarViewFB – Installationsanleitung – V 3.6 vom 22.06.2012 ... einstellen, http://www.solarview.info/solarview_fb/ würde meine Anlage anzeigen. Diese URL ist die gleiche, die Sie auch beim www.sonnenertrag.eu – Export verwenden. mit der Sie Ihre externe SolarView-Webseite normalerweise aufrufen, z.B. TCP-Server Solarview@Fritzbox verfügt über einen TCP-Server, den Sie abfragen können, um damit z.B. Daten für eine FHEM zu gewinnen. Sie müssen dazu in der start.sh - Datei den Parameter -TCP 15000 anfügen, dann können Sie über diesen Port (der variiert werden kann) nach einem Neustart die momentanen Daten abfragen. Zum Testen geben Sie dann an einem PC folgendes ein: telnet fritz.box 15000 bzw. telnet<<ip-adresse-fritzbox>> 15000 und dann schnell (Die Verbindung wird nach 3 Sekunden sonst wieder geschlossen) die Zeichenfolge 00* ein. Damit werden die momentanen Werte der Gesamtanlage ausgegeben. mit 01*, 02* etc.
Seit dem sind 7 Jahre vergangen, und die Welt hat sich weiter gedreht ... Damals war eine FB 7490 noch nicht einmal am Horizont erkennbar. Gut möglich, dass ein TCP-Server am Start gehindert wird.
Ich meine, ein Datenaustausch via FTP wäre eine Alternative und liese sich u. U. einfacher realisieren. -
@Triceratops sagte in [neuer Adapter] solarviewdatareader:
Ich meine, ein Datenaustausch via FTP wäre eine Alternative und liese sich u. U. einfacher realisieren.
Hallo, aufgrund der Restriktionen bei neueren Firmware Ständen der Fritzbox bin ich damals auf den Raspberry Pi umgestiegen. Damit läuft es ohne Probleme. Evtl. kannst Du mal Kontakt mit Manfred Richter aufnehmen. Vielleicht hat er noch einen Tipp.
-
An dieser Stelle höre ich auf, es mit der FB zu versuchen. Interessant wäre evt. ein Auslesen der *.csv-Dateien mittels der JS-Scriptengine.
-
@afuerhoff said in [neuer Adapter] solarviewdatareader:
https://github.com/afuerhoff/ioBroker.solarviewdatareader
Heute versuchte ich, den Solardatareader auf einem NanoPC-T4 mit Armbian zu installieren, Adresseingabe im Reiter beliebig:
$ ./iobroker url " https://github.com/afuerhoff/ioBroker.solarviewdatareader" --debug
install "
npm install " --production --save --prefix "/opt/iobroker" (System call)
/bin/sh: 1: Syntax error: Unterminated quoted string
ERROR: host.nanopct4 Cannot install ": 2
ERROR: process exited with code 25
Das Ganze endet mit einer Fehlermeldung. Und bei Installation "von Github" verschwindet alles ohne Installation.