NEWS
USB-Port to IP oder MAXCube mit maxcul-Adapter via LAN
-
Hallo,
da ich den MAX Cube auf culfw umgeflasht habe zu einem MAX Cul und diesen dann via LAN bereiben wollte, habe ich mal das Forum durchsucht und leider keine Lösung gefunden. Also hieß es, selbst nachdenken und eine Lösung finden.Diese Lösung möchte ich euch nun hier als meinen ersten Beitrag im Forum zur Verfügung stellen!
Ziel: Einbinden eines MAX-Cube (Firmware culfw via LAN) an den Adapter maxcul.
Vorraussetzungen: Iobroker läuft direkt auf einer Linux-Maschine oder in einer virtuellen Maschine (VM). Auch im LCX-Container funktioniert diese Anleitung. Der MAX-Cube muss eine feste IP-Adresse im Netzwerk haben.Sicherheitshinweis: evtl. zerschießt ihr euch das gesamte System. Also vorher unbedingt ein Backup erstellen! Die Anwendung der Anleitung erfolgt auf eigenes Risiko.
Testsystem ist ein NUC11I3 mit Proxmox 7.3.4. iobroker in einer amd64-VM unter Debian 11 bullseye
1.)
Das Tool socat muss installiert werden. [https://installati.one/debian/11/socket/]
Im Terminal (Putty) oder direkt in der Kommandozeile auf der VM die Befehle eingeben.zuerst bringen wir mal unser System auf den neusten Stand mit:
sudo apt update && sudo apt upgrade
dann installieren wir Socat mit:
sudo apt-get -y install socat
2.)
Aufruf-Skript für Socat erstellen mitsudo nano /usr/local/bin/avsp.sh
Hierher folgendes Script kopieren und in Zeile 7-10 die eigenen Daten eingeben:
#!/bin/bash # # add Virtual Serial Port (avsp) # # # CUBE_IP=192.168.178.78 # enter the fix IP of your Cube CUBE_PORT=2323 # enter the Port of your Cube BAUD=57600 # Baudrate to virtual serial Port SER_PORT=/dev/virtualcom0 # Link to virtual serial Port # socat pty,link=$SER_PORT,raw,b$BAUD tcp:$CUBE_IP:$CUBE_PORT& sudo chmod 666 $SER_PORT sleep 2 iobroker restart maxcul.0 # restart Instanz of Adapter for vsp
Den Editor nano mit Strg-X J und Enter beenden.
nun das Script ausführbar machen:
sudo chmod +x /usr/local/bin/avsp.sh
Nun kann man mit testen beginnen.
Hier sind noch folgende Befehle hilfreich:ps aux | grep socat
Zeigt die Prozess-ID der im Hintergrund laufenden Prozesse von socat an.
kill -9 Prozess-ID
Beendet den im Hintergrund laufenden Prozell mit der Prozess-ID.
Der max-cul-Adapter sollte zum konfigurieren gestoppt werden.
Hier nun die Daten aus dem Aufrufskript Zeile 8-10 konfigurieren.
Beim Start kann man den Aufbau der Verbindung im Protokoll der Instanz hervorragend beobachten.3.)
Da nach einem Neustart das Script jedesmal von Hand gestartet werden muss, ist ein Autostart sinnvoll.
Hier bietet sich der Systemdienst förmlich an, da man hier auf Netzwerkverfügbarkeit warten kann.Dazu erstellen wir die notwendige Servicedatei mit:
sudo nano /etc/systemd/system/avsp.service
mit folgenden Inhalt:
[Unit] Description=ad a virual serial Port linked to configurated IP After=network.target [Service] Type=forking Restart=always RestartSec=15 ExecStart=/usr/local/bin/avsp.sh [Install] WantedBy=multi-user.target
Den Editor nano mit Strg-X J und Enter beenden.
Mit diesem Befehl den Daemon mit dem neuen Service-File neu laden.
sudo systemctl daemon-reload
Hiermit den Service aktivieren.
sudo systemctl enable test.service
Nach einem Neustart der VM sollte nun alles laufen.
Ein besonderer Dank geht an Elton & Ingo für die Unterstützung.
Gruß Jens
edit am 05.01.23: Tippfehler beseitigt und sudo ergänzt
-
@jenne
Super, vielen Dank für das Teilen!
Ich habe vor ca 2 Monaten mit meinem MAX! Projekt angefangen. Ich bin dann allerdings extra dafür den Umweg über FHEM gegangen.
Brauchst du bei deiner Variante die Hersteller Software noch für das Pairing?
LG phil82 -
@phil82 Nein, einfach den Datenpunkt maxcul.0.info.enablePairingMode auf true setzen und los geht es. Aber das Pairing ist sehr tricky. Oft brauchte ich mehere Versuche.
-
@jenne , ich betreibe den Maxcul schon fast 3 Jahre. Ich habe mir dann eine Art Repeater mit einem D1 Mini gebaut (Um die Reichweite zum Keller zu erhöhen). Das ging nur mit dem Fhem Adapter und funktionierte auch. Aber durch einen Bug in dem Adapter, der nie behoben wurde, geschweige das ich mal eine Antwort bekommen habe, war das ganze Projekt für mich damals gestorben. Danke für deine eventuelle Lösung. Ein Cun Modus wäre natürlich der goldene Weg. Bei mit läuft IOB in einer Linux Umgebung auf einen PI 4. Werde mal die Tage alles zusammen suchen.
Platine habe schon ...Cul:
btw....den Cube habe ich mir damals nicht geschossen. Da ich von Anfang an den CUL betreibe.
-
Nur als Info:
Ich habe den MAX-Cube bei mir auch schon einige Zeit laufen. Zuerst hatte ich ihn per USB und MAX-Cul "direkt" am ioBroker. Dann habe ich ihn umgeflasht auf die Version für 4 Transmitter (die ich allerdings noch nicht eingelötet habe). Wenn man aber die 4 Transmitter irgendwann auch nutzen will, sollte man bedenken, daß das dann wohl nicht mehr via MAX-Cul oder -Cun mit ioBroker direkt klappt, sondern wenn ich es richtig durchschaut habe, nur noch über den "Umweg" fhem. Hintergrund ist, daß der MAX-Adapter für ioBroker wohl nur einen "Port"/Transmitter im Cube ansprechen kann. Läuft bei mir jetzt daher via fhem (als "Vorbereitung" auf die 4 Transmitter) aber noch nicht perfekt, wegen Reichweiteproblemen und weil die Thermostate, die da dran hängen, sehr "speziell" in Ihren Rückmeldezeiten sind. -
@andersmacher sagte in USB-Port to IP oder MAXCube mit maxcul-Adapter via LAN:
Nur als Info:
Läuft bei mir jetzt daher via fhem (als "Vorbereitung" auf die 4 Transmitter) aber noch nicht perfekt, wegen Reichweiteproblemen und weil die Thermostate, die da dran hängen, sehr "speziell" in Ihren Rückmeldezeiten sind....und genau deswegen ist das Repeater Projekt (wenn mal das so beschreiben kann) von mir an Acta gelegt worden. Meine Regierung saß zweimal im kalten als ich von der Arbeit kam. Das war ein absolutes NoGo. Auf eine Frage hin an den Dev. im Fhem-Adapter Thread bekam ich bis heute keine Antwort.
Ich habe schon mein D1 Mini wieder geflasht, nun noch die o.a Prodzedur durchfüren und dann testen. Dann könnte auch mein CUL an die Seite gelegt und den Repeater an eine zentrale Stelle im Haus installiert werden. -
Einiges ist unklar.
Erstmal sollte vor den Befehlen überall Sudo davor.
Bevor sich einige das System als root umbiegen,
dann hat sich in der Zeile folgender Fehler eingeschlichen:chmod +x /usr/local/bin avsp.sh
Dort fehlt ein Slash nach dem bin und das Leerzeichen muss weg.
Dann ist unklar wie der serielle Port einzusetzen ist.
SER_PORT=/dev/virtualcom0
Da benötigt man ein bisschen mehr Input.
Ich setze dort das
/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
ein.
Das ist ja auch die serielle Schnittstelle für den Cul. Die fällt ja dann auch später weg.
Muss das/dev/virtualcom0
nicht erstmal definiert werden?
Wenn ja wo? Den gibt es auf dem PI4 nicht. -
@esp8266 sagte in USB-Port to IP oder MAXCube mit maxcul-Adapter via LAN:
Den gibt es auf dem PI4 nicht.
Hallo,
direkt auf einem PI4 habe ich das so nicht testen können. Aber es sollte eigentlich laufen.
Den virtuellen COM-Port erzeugt das Tool SOCAT mit dem angegebenen Namen. Hier kann du einen X-beliebigen Namen nehmen.
Auf meinen System mußte vorher nichts weiter definiert werden.PS.: Den fehlenden / habe ich noch eingefügt. Danke für den Hinweis.
Gruß Jens
-
@jenne , danke. Jetzt läuft es auch auf dem Pi 4. Es mussten einige Änderungen gemacht werden.
Bei mir musste folgendes installiert werden:sudo apt-get -y install socat
und nicht wie oben beschrieben socket.
Ich weiß nicht ob das bei dir auch der Fall ist (Fehler eingeschlichen?),
denn es wird in der avsp.sh auf socat zugegriffen.
Dann habe ich den Link so benannt:/dev/ttyACM0
Nun wurde der Link erzeugt und konnte jetzt mit dem Adapter auf die Schnittstelle zugreifen Kann jetzt meine Geräte steuern ohne neues Pairing.
Jetzt kann die Bridge überall im Haus befestigt werden. Ich Suche mir den besten Standort aus. Damit ich alle Fensterkontakte und Thremostate optimal empfangen kann.
So geht es natürlich auch, mit selbstgestricktem USB A Stecker zu USB Micro Stecker Adapter
Die blaue LED blinkt geauso im Sekundentakt wie beim original CUL und lässt sich abschalten.
-
Hallo Zusammen,
probiere iobroker neu aus, und versuche meine Max Thermostate über einen Cube zum Laufen zu bringen,
Die Installation hat soweit funktioniert, die Thermostate werden alle angezeigt.
Sobald ich versuche einen Wert zu senden erscheint im Log "Not enough credits(0). Wait for more...", trotz dessen das welche vorhanden sind.
Des weiteren tauchen Meldungen auf wie "received unknown data: 20274" auf.
Hier scheinen ja die Credits gemeldet zu werden, trotzdem wird nicht gesendet.Hat hier jemand eine Idee?
Danke
-
@rmd , ja. Deine serielle Schnittstelle ist nicht mehr verfügbar. Zufällig ein Systemupdate gemacht? Dort wird ein defektes Udev Paket eingespielt. Dann gehen die Schnittstellen nicht mehr.
Mehr dazu da: https://forum.iobroker.net/topic/65017/zigbee-conbee2-funktioniert-nach-update-nicht-mehr-udev?_=1687560123007 -
Hallo,
bleibt mir dann wahrscheinlich nur der Umweg über fhem übrig.
Trotzdem Danke! -
@rmd , warum das. Es liegt am Betriebssytem. Welches hast du?
-
@rmd sagte in USB-Port to IP oder MAXCube mit maxcul-Adapter via LAN:
Hallo,
bleibt mir dann wahrscheinlich nur der Umweg über fhem übrig.
Trotzdem Danke!Wenn du Bullseye benutzt, dann läuft auch Fhem darüber....und wird auch nicht gehen.
-
Debian bullseye, alles frisch.
Nein, fhem funktioniert. Gerade getestet. -
@rmd sagte in USB-Port to IP oder MAXCube mit maxcul-Adapter via LAN:
Debian bullseye, alles frisch.
Kein Wunder. Dann folge dem Link oben und lies die Anweisungen.
-
-
@rmd sagte in USB-Port to IP oder MAXCube mit maxcul-Adapter via LAN:
Debian bullseye, alles frisch.
So frisch wie hier?
https://forum.iobroker.net/topic/65017/zigbee-conbee2-funktioniert-nach-update-nicht-mehr-udev
-
Hallo,
hab erst jetzt die Antwort bemerkt, sry.
Hier erstmal die Ausgabe von lsusb, allerdings ist der Cube über LAN verbunden.Bus 001 Device 006: ID 413c:2003 Dell Computer Corp. Keyboard SK-8115 Bus 001 Device 005: ID 04e7:0050 Elo TouchSystems 2216 AccuTouch® Touchmonitor Interface Bus 001 Device 004: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse Bus 001 Device 003: ID 0424:ec00 Microchip Technology, Inc. (formerly SMSC) SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9514 Microchip Technology, Inc. (formerly SMSC) SMC9514 Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Den Verlauf aus dem Link habe ich gelesen und auch probiert, allerdings klappt es nicht.
In fhem wird der Adapter problemlos eingebunden und funktioniert auch.Danke
-
@rmd , von welchem Adapter sprechen wir hier? Vom Maxcul Adapter oder MaxCubeAdapter.
Für den Maxcul Adapter muss die Schnittstelle umgebogen werden, wie in dem Thread beschrieben.
Beim Maxcube weiß ich nichts davon, da ich nie ein Cube besessen habe. Der muss doch wohl auch umgeflasht sein auf culfw...keine Ahnung.