NEWS
Script Hilfe für Abfrage Serielle Kommunikation gesucht!
-
@etzeste13 sagte in Script Hilfe für Abfrage Serielle Kommunikation gesucht!:
@wendy2702
Hallo Wendy vielen Dank für deine Antwort, das erklärt schon mal sehr viel.Bzgl der Schnittstellenzuweiseung: Mein Thema ist, dass ich den RasPi rel häufig auch neu starten muss, da sich das LOG-Programm der PV Anlage manchmal aufhängt und dann ein Neustart nötig wird.
Werde deshalb versuchen mittels einer udev Regel die Zuweisungen der Schnittstelle fix zu machen. So was habe ich auch schon mal wo gelesen.... muss ich mich halt im Detail damit beschäftigen.Bzgl Datenpunkten: OK, dann werde ich dein Skript mal durchlaufen lassen auf der neuen JavaSkript-Instanz, dann sehe ich ja wo und wie die Datenpunkte angelegt werden. Wenn es unter der neue JAvaScript-Instanz am RasPi3 liegt ist das ja auch OK.
Die Solltemeratur der Räume möchte ich gar nicht ändern, sondern ich will die Solltemeratur von Warmwasser und Raumtemperatur in Abhängigkeit der Verfügbaren Energie von der PV-Anlage ändern. Ist tagsüber noch Energie von der PV vorhanden aber eigentlich kein Bedarf mehr, will ich diese zusätzliche Energie in der Fußbodenheizung bzw im Warmwasser speichern und dafür in der Nacht nicht heizen. Dazu muss ich eben diese beiden Parameter in der Regelung anheben. Ich denke das geht irgendwie mit dem Wert den du in die Variable "buffer" schreibst. Wie das aber genau geht konnte ich nicht aus dem Code lesen... vlt kannst du das ein bisschen genauer erklären....;-)
lg Etze
Damit hatte ich mich auch mal beschäftigt, aber da die WP ja einen eigenen Zähler getrennt von der PV hat, speise ich lieber ein, bevor ich den Kompressor unnötig laufen lasse. Sobald ich keine Vergütung mehr bekomme, werde ich mir einen zweiten Wasserspeicher besorgen und dann mittels Heizstab "speichern"...
-
@axel-koeneke sagte in Script Hilfe für Abfrage Serielle Kommunikation gesucht!:
Damit hatte ich mich auch mal beschäftigt, aber da die WP ja einen eigenen Zähler getrennt von der PV hat, speise ich lieber ein, bevor ich den Kompressor unnötig laufen lasse
Guter Hinweis!
Ich habe nur einen Zähler und bei richtigem Wetter speise ich halt ein und kann die WP trotzdem laufen lassen. Das mit dem Heizstab hatte ich auch schon überlegt. Vielleicht mal den weg angehen und statt Kompressor den eingebauten aber nicht angeschlossenen Heizstab verwenden.
-
@wendy2702 sagte in Script Hilfe für Abfrage Serielle Kommunikation gesucht!:
@axel-koeneke sagte in Script Hilfe für Abfrage Serielle Kommunikation gesucht!:
Damit hatte ich mich auch mal beschäftigt, aber da die WP ja einen eigenen Zähler getrennt von der PV hat, speise ich lieber ein, bevor ich den Kompressor unnötig laufen lasse
Guter Hinweis!
Ich habe nur einen Zähler und bei richtigem Wetter speise ich halt ein und kann die WP trotzdem laufen lassen. Das mit dem Heizstab hatte ich auch schon überlegt. Vielleicht mal den weg angehen und statt Kompressor den eingebauten aber nicht angeschlossenen Heizstab verwenden.
Der ist aber leider nur in der Quelle installiert, also vor dem Kompressor, wenn ich mich nicht irre.
Das Ding müsste aber im Speicher sein. Für uns WP Besitzer ist es schon blöd das wenn wir die Sonne am meisten brauchen, sie nicht da ist und im Sommer brauche ich sie nicht... -
@axel-koeneke
Stimmt natürlich, dass man auch einspeisen könnte, aber wenn ich den aufwand schon treibe, wäre es schon wünschenswert wenn man das steuern kann weil man fürs einspeise nicht wirklich was bekommt. Denke wenn ich die Solltemp - sofern Energie da ist - um 2 Grad am Nachmittag erhöhe um bei Sonnenuntergang wieder runterschalte ich in der Nacht den Bedarf doch deutlich reduzieren kann, und dann mein PV-Speicher nicht so schnell leergesaugt wird. Aber so weit bin ich ja noch nicht und das ist dann nur mehr interne Regelung.Will gerade die WP mit dem USB-Adapter verbinden und hätte da eine Frage. Habt Ihr ein voll- Beschaltetes Null-Modem Kabel verwendet, oder nur RX und TX ausgekreuzt? Und habt ihr den SUB-D stecker an der Anschlussbox der Wärmepumpe verwendet? Wenn ja ist die Belegung Standard RS-232?
lgEtze
-
@etzeste13 Ich hatte noch null Modem Kabel und denke die sind Voll Beschaltet.
Ich habe diesen Adapter genommen: USB Adapter
Und daran nur das Null Modem Kabel.
-
@axel-koeneke sagte in Script Hilfe für Abfrage Serielle Kommunikation gesucht!:
Der ist aber leider nur in der Quelle installiert, also vor dem Kompressor, wenn ich mich nicht irre.
Stimmt, jetzt wo du es sagst erinnere ich mich. Schon zu lange her das ich mich damit beschäftigt habe.
-
Hallo Wendy, danke fürs Feedback, ich hab den gleichen Adapter. Dann werde ich mal Null-Modem Kabel basteln und die nächsten Tage testen. lg
-
Ich habe jetzt mal alles in Betrieb genommen. Datenpuntke wurden angelegt und auch der Zugriff auf die Serielle Schnittstelle dürfte passen, aber die Rohdaten ergeben keinen Sinn. Hast du vielleicht einen Tipp voran das liegen kann? Anbei der Log...
javascript.1 2022-02-04 21:19:58.945 info (1051) script.js.common.Wärmepumpe.Abfrage_Wärmepumpe: port closed javascript.1 2022-02-04 21:19:58.943 info (1051) Stop script script.js.common.Wärmepumpe.Abfrage_Wärmepumpe javascript.1 2022-02-04 21:19:51.792 info (1051) script.js.common.Wärmepumpe.Abfrage_Wärmepumpe: Data received: 000000000000000000800000808000800000808080000080000000000000008000000080000080000000008000000000000000000000008000008080008000008 javascript.1 2022-02-04 21:19:03.405 info (1051) script.js.common.Wärmepumpe.Abfrage_Wärmepumpe: Data received: 800000000000000080000000800000800000000080000000000000000000000080000080800080000080808000008000000000000000800000008000008000000 javascript.1 2022-02-04 21:18:22.660 info (1051) script.js.common.Wärmepumpe.Abfrage_Wärmepumpe: Data received: 000000000000000000008000008080008000008080800000800000000000000080000000800000800000000080000000000000000000000080000080800080008 javascript.1 2022-02-04 21:17:33.978 info (1051) script.js.common.Wärmepumpe.Abfrage_Wärmepumpe: Data received: 008000000000000000800000008000008000000000800000000000000000000000800000808000800000808080000080000000000000008000000080000080000 javascript.1 2022-02-04 21:16:59.936 info (1051) script.js.common.Wärmepumpe.Abfrage_Wärmepumpe: Daten send javascript.1 2022-02-04 21:16:59.931 info (1051) script.js.common.Wärmepumpe.Abfrage_Wärmepumpe: Connected javascript.1 2022-02-04 21:16:59.927 info (1051) script.js.common.Wärmepumpe.Abfrage_Wärmepumpe: registered 0 subscriptions and 0 schedules javascript.1 2022-02-04 21:16:59.926 warn (1051) at script.js.common.Wärmepumpe.Abfrage_Wärmepumpe:146:3 javascript.1 2022-02-04 21:16:59.925 warn (1051) at script.js.common.Wärmepumpe.Abfrage_Wärmepumpe:5:1 javascript.1 2022-02-04 21:16:59.925 warn (1051) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20) javascript.1 2022-02-04 21:16:59.922 warn (1051) State "javascript.1.Waterkotte.Daten.Abfrage_Error" not found javascript.1 2022-02-04 21:16:59.902 info (1051) Start javascript script.js.common.Wärmepumpe.Abfrage_Wärmepumpe javascript.1 2022-02-04 21:16:57.041 info (1051) Stop script script.js.common.Wärmepumpe.Abfrage_Wärmepumpe
lg Etze
-
@etzeste13 Kann viele Ursachen haben.
Nullmodem Kabel ist falsch belegt
"Modem" ist in der WP deaktiviert
Das Flachbandkabel am Resümat zur RS232 Buchse ist ab
USB Seriell Adapter hat einen Fehler
.
.
.Um zu Testen ob dein Adapter und das Kabel funktioniert kannst du es mal mit dieser SW Versuchen:
-
@wendy2702
Hallo Wendy,hast du das Waterkotte Control bei dir am RasPi probiert? Ich kriegs bei mir am RasPi3B nicht zum laufen. Ich denke die ursache ist das ich als Java Version "1.8.0_312" angezeigt bekomme. Ich kriege aber auch per update keine höhere Version hin, weil ich angeblich die aktuellste Version drauf habe.
Kennst du das Problem?
Vlt noch eine andere Frage zur Aktivierung des Modems. Ich habe im Service-Menü des Resümat die Einstellungen:
6.02 Modem Anzahl Klingelzeichen auf 0 gestellt
6.03 Fremdzugriff Freigabe auf 1 gestellt.Sind das die richtigen Einstellungen für den Zugriff per RS232?
lg Etze -
@etzeste13 Moin,
Ich hatte die Software nur auf einem Windows Laptop getestet um sicherzustellen das Kabel und Adapter ok sind.
Fremdzugriff muss auf „0“
Bei meinen ersten Versuchen war das Flachbandkabel nicht am Resümat.
-
Ich habe nun die Rohdaten erhalten unter Datenpunkt "javascript.1.Waterkotte.Daten.Abfrage_Rohdaten" nämlich folgenden Wert:
ff100200171fbe180b0603021f2ac16640911219406dda4840d11010d241841ed241e748d34101004042dedc57415238dec20000704129f1d340c771dc40b4050041ae86dc419b6c724100000000c30b9f4086bd3741d11010d241841ed24100009041841ed241dedc5741011f09060216f2f2a24629329346eb94fc44000000000e170f090b0711170f090b070000000000da78000009063614081a091402a32000001954e4401954e440a737dd4084c0a340daf3c741a187c841485131414d28f54102000000a041000000000000000024b902000020200001000003f30000000000000000000808000000000000000127008b0127002835121003d7allerdings wird es nicht auf die angelegten Datenpunkte aufgeteilt. Wie triggerst du dein ParserSkript?
lg Etze
-
@etzeste13 Das Parser / Auswertung Script läuft immer.
-
@wendy2702
ich habe gesehen, das in deinem Script die Instanz für für"Javaskript" 2 ist. ich werde nochmal das Skript durchgehen und nachsehen ob ich hier vergessen haben was anzupassen. Das wichtigt ist mal das ich die Daten bekomme, den Rest schaffe ich sicher auch noch.Zur Doku für Alle: Ich konnte die Verbindung mit dem USB RS232 Adapter herstellen und zwar ist kein komplettes NullModem-Kabel nötig sondern "nur" RX und TX. Ich habe folgende Beschaltung verwendet:
und bei der Wärmepumpe die Menüpunkte wie folgt verwendet:
6.02 Modem Anzahl Klingelzeichen auf 0 gestellt
6.03 Fremdzugriff Freigabe auf 1 gestellt.so bekommt man zumindest mal die Rohdaten.
vG Etze
-
@etzeste13 dann scheint der Menüpunkt Fremdzugriff entweder keine Funktion zu haben oder du hast eine andere Software Version im Resümat.
Bei mir ist das JavaScript 2 weil der PI ein Slave ist.
-
@wendy2702
Hallo Wendy,also nun scheint alles soweit zu funktionieren.Die Datenpunkte werden befüllt, und die wichtigsten Daten scheinen nach der ersten Kontrolle auch Sinn zu machen. Ich habe nun einfach nochmal die JavaScript Inszanz vom Slave gelöscht, und nochmals unter Instanz .2 installiert, damit es mit deiner Konfi zusammenpasst. Dann habe ich noch den Port des USB-RS232 Adapters definiert:
const port = new SerialPort("/dev/serial/by-path/platform-3f980000.usb-usb-0:1.3:1.0-port0", {
und nun gehts.
Log sieht wie folgt aus.... und da ist mir aufgefallen, dass Ihm der "Error" Datenpunkt fehlt. Ist dieser wichtig? Bzw passt der Log deiner Erfahrung nach?
javascript.2 2022-02-06 10:53:08.152 info (6752) script.js.common.Wärmepumpe.Abfrage_Wärmepumpe: port closed javascript.2 2022-02-06 10:53:08.150 info (6752) Stop script script.js.common.Wärmepumpe.Abfrage_Wärmepumpe javascript.2 2022-02-06 10:53:05.033 info (6752) script.js.common.Wärmepumpe.Daten-Parser: Temp aussen ist:5.65 javascript.2 2022-02-06 10:53:05.028 info (6752) script.js.common.Wärmepumpe.Daten-Parser: Daten split:1fbe javascript.2 2022-02-06 10:53:05.027 info (6752) script.js.common.Wärmepumpe.Daten-Parser: Daten split: ff 10 02 00 17 1f be 18 0b 06 03 02 1f 9c de b4 40 dd c5 1b 40 00 86 a5 40 98 52 ce 41 0f a1 cf 41 11 7a d0 41 01 00 40 42 aa 71 48 41 52 javascript.2 2022-02-06 10:53:05.024 info (6752) script.js.common.Wärmepumpe.Daten-Parser: Daten:ff100200171fbe180b0603021f9cdeb440ddc51b400086a5409852ce410fa1cf41117ad04101004042aa7148415238dec20000704165f2a440bde9ad40f8f3e9408c05df411142684 javascript.2 2022-02-06 10:53:05.016 info (6752) script.js.common.Wärmepumpe.Abfrage_Wärmepumpe: Data received: ff100200171fbe180b0603021f9cdeb440ddc51b400086a5409852ce410fa1cf41117ad04101004042aa7148415238dec20000704165f2a440bde9ad40f8f3e940 javascript.2 2022-02-06 10:53:04.663 info (6752) script.js.common.Wärmepumpe.Abfrage_Wärmepumpe: Daten send javascript.2 2022-02-06 10:53:04.652 info (6752) script.js.common.Wärmepumpe.Abfrage_Wärmepumpe: Connected javascript.2 2022-02-06 10:53:04.628 info (6752) script.js.common.Wärmepumpe.Abfrage_Wärmepumpe: registered 0 subscriptions and 0 schedules javascript.2 2022-02-06 10:53:04.624 warn (6752) at script.js.common.Wärmepumpe.Abfrage_Wärmepumpe:147:3 javascript.2 2022-02-06 10:53:04.623 warn (6752) at script.js.common.Wärmepumpe.Abfrage_Wärmepumpe:5:1 javascript.2 2022-02-06 10:53:04.621 warn (6752) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20) javascript.2 2022-02-06 10:53:04.614 warn (6752) State "javascript.2.Waterkotte.Daten.Abfrage_Error" not found javascript.2 2022-02-06 10:53:04.595 info (6752) Start javascript script.js.common.Wärmepumpe.Abfrage_Wärmepumpe
lg Etze
-
@etzeste13 den Error habe ich mir selber angelegt. Habe dann ein kleines Blocky was den prüft und falls true die JS Instanz neu startet damit der COM Port wieder funktioniert
-
Hallo Wendy,
hast du das Script schon unter V10 zum laufen gebracht?
Also Serialport V10.x.x. Da hat sich wohl einiges in der Syntax geändert.
Habe nur das hier gefunden: https://serialport.io/docs/guide-upgrade komme aber nicht wirklich weiter damit.
VG
Axel -
@axel-koeneke ich habe die V10 noch nicht installiert…. Zumindest nicht bewusst.
Wie bist du daran gekommen?
-
@wendy2702 Ich habe mutig wie immer, aus der Repo JS 4 installiert...
Dabei hat er auch die Java NPM Module aktualisiert. V10 ist jetzt Standard.
Kennst du einen Weg die V9 manuell zu installieren?