Deye SUN600G3-EU Wechselrichter einrichten

Gedankenprotokoll
Einrichten des Deye 600
Was mir geholfen hat:
Solarman App runterladen und einen Account anlegen (bestätigen) die richtige Seriennummer eintragen, das scannen klappte bei mir nicht.
Es gibt zwei Seriennummer die richtige zum hinzufügen ist die mit 4X beginnt nicht die mit 22xx/23xx.
ggf das hier anschauen:

Das verbinden/konfigurieren per WLAN über die APP hat bei mir nicht geklappt.
Was hilft ist es die Konfig direkt im Wechselrichter zu machen:
– Alle bekannten WLANs der Umgebung am Handy/Tablet/Laptop trennen/bzw das automatische Verbinden ausschalten -> man darf nicht in ein WLAN eingebucht werden.
– Der AP des Wechselrichters ist aktiv wenn Strom vom PV kommt -> keine Sonne -> kein WLAN
Steckdose reicht nicht!
– Dann sucht man das WLAN des Wechselrichters
Es beginnt mit AP_4xxxxxxxxxx (die Nummer die man eben in der App als Logger eingetragen hat)
Das Kennwort für AP_4xxxx ist 12345678 – man bekommt eine IP Adresse aus dem 10.10.100.x Netz
Dann die 10.10.100.254/index_cn.html ansteuern; User und Benutzername sind „admin“
Über „Wizard“ das eigene Heimnetz finden und auf der zweiten Seite das WLAN Kennwort eingeben, damit sich der Wechselrichter verbinden kann.
Der Wechselrichter schickt alle 5 Minuten seinen Daten in die Cloud und sollte dann in der App oder via home.solarmanpv.com/ (Account aus der APP) einsehbar sein.

Klappt das alles machen wir das ganze sicherer:
wir laden die aktuellere Firmware vom update server http://47.254.36.66/0_D0002_18/MW3_16U_5406_1.53.bin
(Es gibt auch eine 1.56 und 1.57 letztere ist bei mir sehr instabil)
und spielen sie via „upgrade“ ein -> danach restartet sich der Logger. -> wieder auf die Startseite
Dann ändert man das Kennwort von Admin auf etwas besseres
Dann versteckt man den AP sobald der Wechselrichter Kontakt zum Heimnetz hat
http:///config_hide.html
Die IP findet man auf der Wb

VirtualBox VM unter Linux erweitern

Bei mir läuft seit Ewigkeiten die WinSol Software in einer VM auf meinem Flurserver.
Heute war die Platte voll, also was tun?

# VBoxManage showmediuminfo /opt/VirtualBox\ VMs/Winsol/Winsol.vdi
UUID:           aaaaaaa-aaaa-aaaaa-aaaaaaa-aaaaaaaaaaaaaaa
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /opt/VirtualBox VMs/Winsol/Winsol.vdi
Storage format: VDI
Format variant: dynamic default
Capacity:       20000 MBytes
Size on disk:   19773 MBytes
Encryption:     disabled
Property:       AllocationBlockSize=1048576
In use by VMs:  Winsol (UUID: xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx)

dynamic default, gut..
resizen und starten

# VBoxManage modifyhd /opt/VirtualBox\ VMs/Winsol/Winsol.vdi --resize 40000
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
# VBoxHeadless --startvm "Winsol" &

Danach war am Ende der Platte unallozierter Speicherplatz eine 500MB Partion dazwischen.
um die Partition zu erweitern muss der leere Platz neben der bisherigen Partition liegen, das geht wohl mit gparted ich hab das im Windows mittels der Freien Version von Minitool Partition Wizard genmacht. https://www.partitionwizard.com/offline-download.html
Zum Verschieben der Partition taugt es alles andere geht auch mit Windows mitteln. Der Installer versucht einem penetrant die Pro Version unterzuschieben und andere Testversionen anzudrehen.. aufpassen

VPN mit Fritzbox und Android 12

Mit neuerem Android wird die nur noch IPSEC/IKEv2 unterstützt.
Die Fritzboxen konnten bisher nur IKEv1.
Eine Verbindung klappt dann nicht, nur bei einem Update des Smartphones werden die alten VPN Verbingungen wohl übernommen, alternativ kann die myfritzApp helfen.

Die Rettung naht in Form eines updates für die Fritzbox. Mit der 7.50 (oder entsprechenden Versionen) bekommt man sowohl Support für IPSec Android 12, aber auch Support für Wireguard (das wird ein anderer Beitrag).

Hat man sein FritzOS aktualisiert, dann kann man nun IPSec/IKEv2 PSK nutzen um sich daheim einzuwählen – die aktuelle Adresse der Fritzbox muss entweder über den Myfritz Dienst oder über dynamische dns Dienste wie spdyn.de oder no-ip bekannt sein.

Klappt der Verbindungsaufbau, aber es fliessen keine Daten, dann kann es bei der Telekom am APN liegen.

Ich hatte ein Problem mit meinem neuen Pixel 6a Smartphones, und Android 12 – die VPN Verbindung stand, aber es flossen keine Daten (es wurde nichts empfangen)

Hier gibt es eine Lösung/workaround von AVM der besagt, dass man den telekom APN einfach ändern muss:
Einstellungen -> Netzwerk&Internet -> SIM-Karten ->telekom ->(runterscrollen) Zugangspunkte(APNs) -> “internet.v6.telekom” antippen.
Ändern des APN in “internet.telekom” und danach im „3 Punkt Menü speichern“

Volkszähler Daten aus dem Stromzähler auslesen

Ziel auslesen eines Smartmeters (EMH-ED300L) -> Vorbereitung für PV -> Wieviel „Watt“ brauchen wir denn und wie verteilt sich das?
Ich habe genutzt:
– USB-IR Lesekopf (von hichi aus dem PV Forum)
– RasPi mit Volkszähler Image

Als erstes den PIN vom Versorger besorgt, damit die Infrarotschnittstelle Daten ausgibt.
Mit einer Taschenlampe musste man den PIN eingeben – komisches Konstrukt, aber berührungslos. nichts für Leute mit zittrigen Händen.

Pi mit SD Karte und Volkszähler Image (Download von der Webseite volkszaehler.org) schreiben mit dem Raspberry Imager.

Feste DHCP IP vergeben und Erreichbarkeit getestet, Passwort geändert, so muss ich nicht im Keller stehen um zu konfigurieren.

USB Lesekopf an der Frontplatte anbringen und am Pi anschliessen.
Udev Rule erstellen, damit der Lesekopf immer unter einem bestimmten Namen

udevadm info --query=all --name=/dev/ttyUSB0

Uns interessiert die „Serial Short“

root@raspberrypi:/home/pi# udevadm info --query=all --name=/dev/ttyUSB0
P: /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.3/1-1.1.3:1.0/ttyUSB0/tty/ttyUSB0
N: ttyUSB0
[..]
E: ID_MODEL_ENC=CP2102\x20USB\x20to\x20UART\x20Bridge\x20Controller
E: ID_MODEL_ID=ea60
E: ID_REVISION=0100
E: ID_SERIAL=Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001
E: ID_SERIAL_SHORT=0001
[..]

Udev Rule erstellen, dann wird der Lesekopf immer unter dem gleichen namen ansprechbar, auch wenn an einem anderen USB Port angesteckt:

vi /etc/udev/rules.d/99-usb-ir-lesekopf.rules
SUBSYSTEM=="tty", ENV{ID_SERIAL_SHORT}=="0001", SYMLINK+="usb-ir-lesekopf0"

Danach Volkszähler konfigurieren – zum start erstmal eine minimal Config erstellen (meters -> enabled, protocol sml und verbosity auf 15) und schauen, ob was ankommt:
/etc/vzlogger.conf

{
"retry" : 0,                /* how long to sleep between failed requests, in seconds */
"verbosity" : 15,           /* between 0 and 15 */
"log" : "/var/log/vzlogger/vzlogger.log",/* path to logfile, optional */
"local" : {
        "enabled" : false,  /* should we start the local HTTPd for serving live readings? */
        "port" : 8081,      /* the TCP port for the local HTTPd */
        "index" : true,     /* should we provide a index listing of available channels? */
        "timeout" : 30,     /* timeout for long polling comet requests, 0 disables comet, in seconds */
        "buffer" : 600      /* how long to buffer readings for the local interface, in seconds */
},
"meters" : [{
        "enabled" : true,   /* disabled meters will be ignored */
        "protocol" : "sml", /* use 'vzlogger -h' for list of available protocols */
        "device" : "/dev/usb-ir-lesekopf0",
        },
]}
systemctl start vzlogger
tail -f /var/log/vzlogger/vzlogger.log
[..]
Dec 22 15:26:26][]     Startup done.
[Dec 22 15:26:26][mtr0] Config.local: 0
[Dec 22 15:26:27][mtr0] Got 4 new readings from meter:
[Dec 22 15:26:27][mtr0] Reading: id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=70862637.00 ts=1671719187367
[Dec 22 15:26:27][mtr0] Reading: id=1-0:1.8.1*255/ObisIdentifier:1-0:1.8.1*255 value=36159417.50 ts=1671719187367
[Dec 22 15:26:27][mtr0] Reading: id=1-0:1.8.2*255/ObisIdentifier:1-0:1.8.2*255 value=34703219.50 ts=1671719187367
[Dec 22 15:26:27][mtr0] Reading: id=1-0:16.7.0*255/ObisIdentifier:1-0:16.7.0*255 value=1553.80 ts=1671719187367
[Dec 22 15:26:28][mtr0] Got 4 new readings from meter:
[Dec 22 15:26:28][mtr0] Reading: id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=70862637.60 ts=1671719188732
[Dec 22 15:26:28][mtr0] Reading: id=1-0:1.8.1*255/ObisIdentifier:1-0:1.8.1*255 value=36159418.10 ts=1671719188732
[Dec 22 15:26:28][mtr0] Reading: id=1-0:1.8.2*255/ObisIdentifier:1-0:1.8.2*255 value=34703219.50 ts=1671719188732
[Dec 22 15:26:28][mtr0] Reading: id=1-0:16.7.0*255/ObisIdentifier:1-0:16.7.0*255 value=1560.00 ts=1671719188732
[Dec 22 15:26:30][mtr0] Got 4 new readings from meter:
[..]

-> Es kommen sekündlich neue Daten und mein Meter gibt folgende OBIS Codes aus.

1-0:1.8.0 (Gesamtzählerstand)
1-0:1.8.1 Zählerstand HT
1-0:1.8.2 Zählerstand NT
1-0:16.7.0 Aktuelle Leistung in Watt

Kommt hier nichts muss man erstmal suchen -> ggf die IR Diode nicht richtig platziert, debuggen nach volkszähler wiki

Jetzt muss man einen (oder mehrere) Kanäle anlegen, mich interessiert nur die Leistung, also lege ich im Frontend auf der Webseite (-> http:\\IP_des_PI) einen Kanal an:
„Kanal hinzufügen“ -> Elektrische Energie (Leistungswerte) – öffentlich -> Stil Step, Name“Haus 1-0:16.7.0 Leistung“
Es wird eine UUID angezeigt (bekommt man auch nachträglich über das blaue „i“) die benötigt man für die vzlogger.conf

Man ergänzt die in der vzlogger.conf: indem man hinter die device Zeile den/die neuen Kanäle hängt:

{
"retry" : 0, /* how long to sleep between failed requests, in seconds */
"verbosity" : 15 , /* between 0 and 15 */
"log" : "/var/log/vzlogger/vzlogger.log", /* path to logfile, optional */

"local" : {
"enabled" : false, /* should we start the local HTTPd for serving live readings? */
"port" : 8081, /* the TCP port for the local HTTPd */
"index" : true, /* should we provide a index listing of available channels if no UUID was requested? */
"timeout" : 30, /* timeout for long polling comet requests, 0 disables comet, in seconds */
"buffer" : 600 /* how long to buffer readings for the local interface, in seconds */
},

"meters" : [{
         "enabled" : true, /* disabled meters will be ignored */
         "protocol" : "sml", /* see 'vzlogger -h' for list of available prot$ */
         "device" : "/dev/usb-ir-lesekopf0",
         "channels": [{
         "uuid" : "f0014260-8295-11ed-aaad-e54ab8ec0d75 <-UUID aus dem Frontend",
         "middleware" : "http://localhost/middleware.php",
         "identifier" : "1-0:16.7.0" /* Leistung */
         }]
         }
]}

nochmal starten und log anschauen:

systemctl start vzlogger
tail -f /var/log/vzlogger/vzlogger.log
[Dec 23 08:52:05][mtr0] Got 4 new readings from meter:
[Dec 23 08:52:05][mtr0] Reading: id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=70890821.30 ts=1671781925108
[Dec 23 08:52:05][mtr0] Reading: id=1-0:1.8.1*255/ObisIdentifier:1-0:1.8.1*255 value=36174328.40 ts=1671781925108
[Dec 23 08:52:05][mtr0] Reading: id=1-0:1.8.2*255/ObisIdentifier:1-0:1.8.2*255 value=34716492.90 ts=1671781925108
[Dec 23 08:52:05][mtr0] Reading: id=1-0:16.7.0*255/ObisIdentifier:1-0:16.7.0*255 value=1013.00 ts=1671781925108
[Dec 23 08:52:05][chn0] Adding reading to queue (value=1013.00 ts=1671781925108)
[Dec 23 08:52:05][chn0] ==> number of tuples: 1
[Dec 23 08:52:05][chn0] compare: 1671781923743 1671781925108
[Dec 23 08:52:05][chn0] copied 1/1 values for middleware transmission
[Dec 23 08:52:05][chn0] JSON request body: [ [ 1671781925108, 1013 ] ]
[Dec 23 08:52:05][chn0] CURL: Found bundle for host localhost: 0x74a07ed0 [serially]
[Dec 23 08:52:05][chn0] CURL: Can not multiplex, even if we wanted to!
[Dec 23 08:52:05][chn0] CURL: Re-using existing connection! (#0) with host localhost
[Dec 23 08:52:05][chn0] CURL: Connected to localhost (::1) port 80 (#0)
[Dec 23 08:52:05][chn0] CURL: Sent 27 bytes: '[ [ 1671781925108, 1013 ] ]'
[Dec 23 08:52:05][chn0] CURL: upload completely sent off: 27 out of 27 bytes
[Dec 23 08:52:05][chn0] CURL: Mark bundle as not supporting multiuse
[Dec 23 08:52:05][chn0] CURL: Received 26 bytes: '{"version":"0.3","rows":1}'
[Dec 23 08:52:05][chn0] CURL: Connection #0 to host localhost left intact
[Dec 23 08:52:05][chn0] CURL Request succeeded with code: 200
[Dec 23 08:52:05][chn0] emptied all (1) values

Man sieht jetzt auch die CURL requests mit dem der Datenwert in die Datenbank/an die Middleware) geschickt wird.

In der Weboberfläche kann man nach kuzer Zeit die ersten Daten bewundern.
Danach das logging im vzlogger.conf von „15“ auf „0“ stellen, da sonst sehr viel geloggt wird (schlecht für die Haltbarkeit der SSD). ggf testen ob der Pi auch einen Reboot übersteht und die vzlogger dann automatisch anspringt

Sehr geholfen hat mir:
https://wiki.volkszaehler.org/howto/emh_pv-anlage
https://wiki.volkszaehler.org/howto/debug

Joomla zeigt nach Update auf PHP7 nur „Error“

Kunde wollte PHP von 5.X auf 7.2 aktualisieren (Vorraussetzung für neue Joomla Version) danach zeigte die Webseite zeigte nur noch ein „Error“
Logfiles waren unscheinbar, keine Auffälligkeiten, zurückwechseln auf PHP5.x machte die Seite wieder erreichbar.

Also andersrum: Joomla Installation upgegraded und auf den letzten Stand (3.9) gebracht, danach wechsel auf PHP7.2 -> gleiches verhalten.

Am Ende stellt sich raus, das alte Password Hash Verfahren nicht mit dem neuen PHP mag/kompatibel ist.
Nach langem Suchen reichte es das PW für die Datenbank neu zu setzen und schon funktionierte wieder alles.

Roaming Anrufe landen auf der Mailbox

Sollte man das Problem haben, dass alle Anrufe aufs Handy auf der Mailbox landen, kann es folgende Ursache haben:

Hat man Roaming aktiviert UND VoLTE funktioniert das uU nicht.,

Deaktiviert man VoLTE kann man auch wieder angerufen werden.
Lustigerweise funktionierten bei mir (VodafoneIT 4G Netz) abgehende Anrufe problemlos.