Ich habe ein serielles Gerät welches ich in OH (Win) einbinden möchte. Dazu muss u.a. die RTS Leitung gesetzt werden (High / Low). Kann ich dies direkt aus Blockly machen? Hier habe ich nichts passendes gefunden ausser die Daten zum Beispiel über die serielle Schnittstelle einzulesen. Oder
gibt es dazu eine einfachere Lösung?
Ein kleines Beispiel wäre sehr hilfreich.
Danke
Kann Blockly die serielle Schnittstelle mit den Controllines setzen?
-
- Beiträge: 252
- Registriert: 31. Jan 2022 06:35
Kann Blockly die serielle Schnittstelle mit den Controllines setzen?
Ja, siehst Du, das hat ja nichts mit einer normalen seriellen Verbindung zu tun.
Da wird der Weg über GPIO tatsächlich die einfachste Variante sein. Es gibt entsprechende Geräte - je nach Lust und Laune von Taschengeld bis ausschreibungspflichtig...
- die man dann entweder über USB/Seriell/(sogar Parallelport) oder (durchaus eine Überlegung wert) über LAN/WLAN anbinden kann. Sowohl Windows als auch GNU/Linux können allgemein mit solchen Erweiterungen umgehen, aber wenn man eh neu anschafft, kann man auf eine möglichst einfache Einbindung achten.
Was die Anbindung an openHAB betrifft, so musst Du halt schauen, wie diese Module angesteuert werden wollen. Per LAN/WLAN geht das dann entweder über eine API oder über TCP/UDP, es gibt auch Selbstbaulösungen (z.B. ein Wemos D1 mit ein paar zusätzlichen Transistoren und Optokopplern) die dann sogar per MQTT angesteuert werden können.
Als Selbstbaulösung kommt durchaus auch ein Arduino oder ein Raspberry Pico in Frage (Letzterer ist leicht erhältlich und kostet irgendwas um 5 €), die bringen halt keine LAN Schnittstelle mit, man müsste sie also über USB an einen Host anschließen und ein kleines Programm schreiben, welches dann Schaltbefehle über die USB-Schnittstelle entgegen nimmt.
Gehe zur vollständigen AntwortDa wird der Weg über GPIO tatsächlich die einfachste Variante sein. Es gibt entsprechende Geräte - je nach Lust und Laune von Taschengeld bis ausschreibungspflichtig...

Was die Anbindung an openHAB betrifft, so musst Du halt schauen, wie diese Module angesteuert werden wollen. Per LAN/WLAN geht das dann entweder über eine API oder über TCP/UDP, es gibt auch Selbstbaulösungen (z.B. ein Wemos D1 mit ein paar zusätzlichen Transistoren und Optokopplern) die dann sogar per MQTT angesteuert werden können.
Als Selbstbaulösung kommt durchaus auch ein Arduino oder ein Raspberry Pico in Frage (Letzterer ist leicht erhältlich und kostet irgendwas um 5 €), die bringen halt keine LAN Schnittstelle mit, man müsste sie also über USB an einen Host anschließen und ein kleines Programm schreiben, welches dann Schaltbefehle über die USB-Schnittstelle entgegen nimmt.
- udo1toni
- Beiträge: 15247
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Kann Blockly die serielle Schnittstelle mit den Controllines setzen?
RTS/CTS ist Layer 1, das wird wenn, dann in der Schnittstelle gesetzt. openHAB kennt beim Serial Binding keinen Parameter dazu.
Blockly wird nur bereits empfangene Daten zu Gesicht bekommen bzw. diese an den Prozess abgeben, der die serielle Schnittstelle ansteuert.
Blockly ist eher Layer 5 oder Layer 6, denke ich (ich bin nicht sonderlich gut im OSI-Schichtenmodell)
Blockly wird nur bereits empfangene Daten zu Gesicht bekommen bzw. diese an den Prozess abgeben, der die serielle Schnittstelle ansteuert.
Blockly ist eher Layer 5 oder Layer 6, denke ich (ich bin nicht sonderlich gut im OSI-Schichtenmodell)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 252
- Registriert: 31. Jan 2022 06:35
Re: Kann Blockly die serielle Schnittstelle mit den Controllines setzen?
ja danke für die Antwort. Ich habe ein Python Terminal gefunden welches ich u.U. via commando von OH starten könnte. Um die RTS Leitung zu bedienen muss ich eine Tastenkombination drücken wie "CTRL + R". Somit funktioniert es einwandfrei.
Frage:
Könnte ich diese Tastenkombination auch einfach von OH aus senden? Wenn ja, wie würdest du das machen?
Danke
Frage:
Könnte ich diese Tastenkombination auch einfach von OH aus senden? Wenn ja, wie würdest du das machen?
Danke
- udo1toni
- Beiträge: 15247
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Kann Blockly die serielle Schnittstelle mit den Controllines setzen?
Wenn überhaupt, ginge das allenfalls indirekt, man müsste also ein Programm schreiben, welches beim Aufruf aus der Liste der vorhandenen Prozesse den heraussucht, an den es den Tastendruck senden soll, sich anschließend mit diesem Prozess verbindet, den Tastendruck absetzt und wieder beendet.
Aber Du müsstest ja die gesamte Kommunikation für diesen Kanal laufen lassen. Ich habe ehrlich gesagt keinen Schimmer, wie man das lösen muss.
Um was für ein Gerät handelt es sich denn? Hardware Handshake ist eigentlich seit Jahren total unüblich.
Falls die Leitung in unüblicher Weise verwendet wird (also um etwas tatsächlich zu schalten, was eigentlich gar nichts mit der seriellen Kommunikation zu tun hat) könntest Du einen GPIO Adapter anschließen (auf dem Raspberry wäre der schon vorhanden...) und Dir ein "Spezialkabel" basteln, bei dem RTS auf einen der GPIO Pins gezogen ist. Dann könntest Du diesen Pin gezielt über ein Switch Item ein- und ausschalten.
Aber Du müsstest ja die gesamte Kommunikation für diesen Kanal laufen lassen. Ich habe ehrlich gesagt keinen Schimmer, wie man das lösen muss.
Um was für ein Gerät handelt es sich denn? Hardware Handshake ist eigentlich seit Jahren total unüblich.
Falls die Leitung in unüblicher Weise verwendet wird (also um etwas tatsächlich zu schalten, was eigentlich gar nichts mit der seriellen Kommunikation zu tun hat) könntest Du einen GPIO Adapter anschließen (auf dem Raspberry wäre der schon vorhanden...) und Dir ein "Spezialkabel" basteln, bei dem RTS auf einen der GPIO Pins gezogen ist. Dann könntest Du diesen Pin gezielt über ein Switch Item ein- und ausschalten.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 252
- Registriert: 31. Jan 2022 06:35
Re: Kann Blockly die serielle Schnittstelle mit den Controllines setzen?
Danke für die Antwort. Nun es ist ein 4-Zonen Verstärker bei dem jede Zone ein- oder ausgeschaltet werden kann über einen Triggerkabel. Das heisst ich habe mir genau ein solches Kabel gebastelt welches es mir erlaubt per RTS jede Zone ein- oder auszuschalten.
Das heisst ich habe jetzt zwei Kabel für die 4 Zonen welche ich dann jeweils über das RTS / Break bedienen kann. Diese Controllines sind natürlich nur per seriellen Port verfügbar sodass ich zuerst den Port öffnen muss bevor ich diesen dann schalten kann.
Jetzt stehe ich gerade dermassen an wie ich das nun per OH lösen kann. Wenn ich das mit einem Terminalprogramm prüfe funktioniert es super.
Das heisst ich habe jetzt zwei Kabel für die 4 Zonen welche ich dann jeweils über das RTS / Break bedienen kann. Diese Controllines sind natürlich nur per seriellen Port verfügbar sodass ich zuerst den Port öffnen muss bevor ich diesen dann schalten kann.
Jetzt stehe ich gerade dermassen an wie ich das nun per OH lösen kann. Wenn ich das mit einem Terminalprogramm prüfe funktioniert es super.
- udo1toni
- Beiträge: 15247
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Kann Blockly die serielle Schnittstelle mit den Controllines setzen?
Ja, siehst Du, das hat ja nichts mit einer normalen seriellen Verbindung zu tun.
Da wird der Weg über GPIO tatsächlich die einfachste Variante sein. Es gibt entsprechende Geräte - je nach Lust und Laune von Taschengeld bis ausschreibungspflichtig...
- die man dann entweder über USB/Seriell/(sogar Parallelport) oder (durchaus eine Überlegung wert) über LAN/WLAN anbinden kann. Sowohl Windows als auch GNU/Linux können allgemein mit solchen Erweiterungen umgehen, aber wenn man eh neu anschafft, kann man auf eine möglichst einfache Einbindung achten.
Was die Anbindung an openHAB betrifft, so musst Du halt schauen, wie diese Module angesteuert werden wollen. Per LAN/WLAN geht das dann entweder über eine API oder über TCP/UDP, es gibt auch Selbstbaulösungen (z.B. ein Wemos D1 mit ein paar zusätzlichen Transistoren und Optokopplern) die dann sogar per MQTT angesteuert werden können.
Als Selbstbaulösung kommt durchaus auch ein Arduino oder ein Raspberry Pico in Frage (Letzterer ist leicht erhältlich und kostet irgendwas um 5 €), die bringen halt keine LAN Schnittstelle mit, man müsste sie also über USB an einen Host anschließen und ein kleines Programm schreiben, welches dann Schaltbefehle über die USB-Schnittstelle entgegen nimmt.
Da wird der Weg über GPIO tatsächlich die einfachste Variante sein. Es gibt entsprechende Geräte - je nach Lust und Laune von Taschengeld bis ausschreibungspflichtig...

Was die Anbindung an openHAB betrifft, so musst Du halt schauen, wie diese Module angesteuert werden wollen. Per LAN/WLAN geht das dann entweder über eine API oder über TCP/UDP, es gibt auch Selbstbaulösungen (z.B. ein Wemos D1 mit ein paar zusätzlichen Transistoren und Optokopplern) die dann sogar per MQTT angesteuert werden können.
Als Selbstbaulösung kommt durchaus auch ein Arduino oder ein Raspberry Pico in Frage (Letzterer ist leicht erhältlich und kostet irgendwas um 5 €), die bringen halt keine LAN Schnittstelle mit, man müsste sie also über USB an einen Host anschließen und ein kleines Programm schreiben, welches dann Schaltbefehle über die USB-Schnittstelle entgegen nimmt.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet