Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Habe auch seit 3 Wochen den Huawei WR laufen. Habe mir Solaranzeige auf einem Docker eingerichtet. Der fragt das ab und gibt die Werte die ich haben will in eine InfluxDB und gleichzeitig über MQTT raus.
Aufgrund des Timings ist eine Edomi native Abfrage schwierig.
Hast du hier trotzdem mal die Timing-Einstellungen? Ich bekomme über den oben genannten LBS zwar Werte aber eher sporadisch und nicht wirklich regelmäßig.
Ich habe das auch für einen 33KTL-A über Edomi gemacht. Die Einstellungen kann ich dir heute Abend rein stellen. Es war am Anfang ein bisschen problematisch die Modbusabfrage nicht zu überlasten. So läufts aber jetzt stabil.
So, jetzt bin ich soweit. Die Baustelle hier nimmt aktuell etwas viel Zeit in Anspruch
Ich habe die Abfragen zeitlich etwas auseinandergezogen, damit der LBS Edomi nicht so stark auslastet. Du bekommst es mit der Menge an Abfragen locker hin einen Futro S900 voll auszulasten.
EDIT:
Die Modbusregister stammen übrigens alle aus der Huawei Doku. Ich habe den 33KTL-A zusammen mit dem Smartlogger 1000a, der dann per LAN angebunden ist.
gibt's hier neue Erfahrungswerte? Die Lösung von Chris1985 funktioniert wohl nur mit dem Smartlogger, aber nicht mit dem SmartDongleA5. Über Modbus-Tools bekomme ich generell Werte ausgelesen. Die bekannten LBS 19001030 und 19001586 funktionieren jedoch nicht, anscheinend weil die von Huawei geforderte Pause zwischen Connect und Read nicht eingehalten wird (https://knx-user-forum.de/forum/proj...36#post1738236).
Bin für jeden Tipp dankbar.
Danke und Grüße
Marcus
EDIT: konnte das Thema lösen, indem ich einen sleep(5) in die modbusmaster.php zwischen connect und read der FC3 gesetzt habe. Hat von da an sofort funktioniert; über die Langzeitstabilität kann ich natürlich noch nichts sagen.
Code:
/**
* readMultipleRegisters
*
* Modbus function FC 3(0x03) - Read Multiple Registers.
*
* This function reads {@link $quantity} of Words (2 bytes) from reference
* {@link $referenceRead} of a memory of a Modbus device given by
* {@link $unitId}.
*
*
* @param int $unitId usually ID of Modbus device
* @param int $reference Reference in the device memory to read data (e.g. in device WAGO 750-841, memory MW0 starts at address 12288).
* @param int $quantity Amounth of the data to be read from device.
* @return false|Array Success flag or array of received data.
*/
function readMultipleRegisters($unitId, $reference, $quantity){
$this->status .= "readMultipleRegisters: START\n";
// connect
$this->connect();
sleep(5);
// send FC 3
$packet = $this->readMultipleRegistersPacketBuilder($unitId, $reference, $quantity);
$this->status .= $this->printPacket($packet);
$this->send($packet);
// receive response
$rpacket = $this->rec();
$this->status .= $this->printPacket($rpacket);
// parse packet
$receivedData = $this->readMultipleRegistersParser($rpacket);
// disconnect
$this->disconnect();
$this->status .= "readMultipleRegisters: DONE\n";
// return
return $receivedData;
}
ich hab den sleep(5) drin.. den delay im LBS auf 30000
er ruft ein paar Stunden ab.. dann gibts irgendwann ein Connection timeout und dann kommt nur noch Müll zurück 😒
Probier ich dann mit dem Programm modbuspoll64 kommt Server busy
ich test jetzt mal mit sleep(10) und delay 40000
Welche Register fragst du ab? Bei manchen Registern bekomm ich komische Werte als ob die Reihenfolge nicht passt..
Bsp. Register 30000 .. soll den Wechslerichter Typ auspucken als String... Rückgabe ist: UNS0020-LKT10M1 statt: SUN2000-KTL10M1
Hi,
den LBS19001586 hätte ich gern versucht.. allerdings bin ich noch auf PHP 6... somit fällt der raus.
Ich bin aber jetzt schon ein ganzes Stück weiter.. habe den LBS 19001030 als Grundlage genommen und ihn an mehreren Stellen modifiziert.
Grund war das die Datentypen nicht ordentlich "umgewandelt" wurden. Habe ein Teil der Datentyp Umwandlungen dann aus dem LBS 19001580 "geklaut".
Mit einem ordentlichen Sleep nach dem Connect komme ich jetzt relativ gut an die Daten.
Kann den LBS bei Bedarf bereitstellen.
Ich habe mich auf dem 19001030 bezogen. Da ich momentan 35 Register abfrage, aber die Kaskadierung mehrere LBS nicht ordentlich lief, wurde der hinsichtlich Registeranzahl ein bisschen aufgebohrt. Die 35 Register macht er in ca. 45 Sekunden (inkl. Huawei-Sleep), also ist eine minütlich Abfrage möglich.
blaky
Da ich auch eine modifizierte Variante des 19001030 (bis zu 40 Register in einem Rutsch), bin ich an deinen inhaltlichen Verbesserung sehr interessiert. Kamen die falschen Daten bei dir nur in Strings vor (habe nie Strings abgerufen, daher ist das mir nicht aufgefallen)? Hast du den Sleep im LBS integriert oder nutzt du auch die editierte modbusmaster.php?
Danke für eure Rückmeldungen. Ich bin noch nicht ganz so weit. Hatte mir die „KNX-Schnittstelle für Huawei SUN2000-Wechselrichter“ von elausys bestellt und werde dann jetzt mal schauen, wo ich lande und was ich dann noch bräuchte…
Die hatte ich mir auch angeschaut, inhaltlich ist alles dabei "was man so braucht". Ich wollte die ganzen Daten aber ungern minütlich über den Bus schleusen, daher hatte ich mir's als Backup-Lösung vorgehalten, wenn ich's mittels Edomi nicht hinbekommen hätte.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar