2023-08-13 Homematic IP Node-RED Schreibtisch

Relaybox unterm Tisch

Höhenverstellbarer Schreibtisch fernsteuern.

Für meine Hausautomatisation verwende ich eine ⎇Homematic IP CCU3 und programmiere diese mit ⎇Node-RED.

Als ich bei einem Freund sah, wie der seinen Tisch dank ⎇LINAK Desk Panel DPG per PC fernsteuern kann, wollte ich das für meinen Bürotisch auch. Unklarheiten darüber, ob ein DPG1M mit meinem bei Inhofer erworbenen "UP&DOWN 3 73815 Arbeitstisch" bzw. dessen Motor "EL, Series 2009 H 1 / M1.25 - MVL-000021-01" kompatibel ist, wurden durch dessen Erwerb ausgeräumt. Sind nicht kompatibel. Nach der Öffnung der Steuerung meines Tisches (Also das "Fernsteuerungsteil" für den Benutzer, nicht die Elektronik im Motorbereich!) wurde auch klar warum. Das ist eine völlig passive Box. Je Fahrtrichtung werden lediglich zwei potentialfreie Drähte zusammen geführt.
Steuerung am Tisch

Steuerung geöffnet 1

1 -
2 runter
3 -
4 hoch

Steuerung geöffnet 2

Steuerung geöffnet RJ11

Es genügen also zwei Relais, um es zumindest rudimentär mit Homeatic steuern zu können. Mir genügen im Prinzip zwei Positionen. Eine Sitz- und ein Stehposition. Für die Stehposition fährt der Tisch komplett aus. Damit "kalibriert" er sich automatisch auf eine bekannte Position. Wer das Projekt nachbauen möchte und bedarf für mehrere Positionen hat, die sich zudem nicht an einer Totalen ausrichten sollen, wird wohl Sensoren einbeziehen müssen. (Evtl. HmIP-SWDM-2. Vielleicht geht auch was mit HmIP-STV.)
Hier also was ich gebaut habe.

Teileliste:
1x ⎇Homematic IP Relay Bausatz HmIP-PCBS2
1x ⎇5V Netzteil
1x ⎇Delock Steckverbinder DC 5,5 x 2,1 x 9,5 mm Buchse
1x ⎇Strapubox Kunststoff-Gehäuse 2062 ABS 85 x 65 x 27 mm
2x ⎇RJ11 Buchse / MEBP 6-4S (6P4C)
1x "Kurzes RJ11-Telefonkabel" / Modularanschlusskabel 6P4C
1x Etwas Kabel (⎇z.B.)
1x Doppelseitiges Klebeband

Werkzeug:
- Lötkolben und Lötzinn
- Abisolierzange oder Dergleichen
- Schere
- Messer
- Kreuzschlitzschraubendreher
- Eine Möglichkeit ein Kunststoffgehäuse zu bearbeiten. (Ich hab diesmal mit einem Teppichmesser, einer Laubsäge und einer Vierkantfeile gearbeitet.)
- Bohrmaschinen
- So ein Platinenhalter/Lötassistent-Dingsbums, der einem Kabel halten kann.
- Heißklebepistole
- Multimeter

HmIP-PCBS2 Bausatz verlöten und testen.

Grundidee
Wie es im Gehäuse aussehen soll.

Gehäuse bearbeiten
Box 1

Box 2

Wenn eine Seite passt, die Andere auflegen und die Öffnung per Messer markieren.
Box 3

Sicherstellen das die Strombuchse die Platine nicht berührt.
Box 4

Das Signal der bisherigen Tischsteuerung durchschleifen, damit bei Bedarf auch weiterhin der Tisch manuell gesteuert werden kann.
RJ11-Buchsen verlöten

Dann die Kabel, die zu den Relais gehen sollen, anbringen. Unterschiedliche Farben würden das Leben einfacher machen.
RJ11-Buchsen verlöten

Das Ganze rein kleben...
Box 5

...und verkabeln.
Box 6

Box 7

Box 8

Letzter Test
Testen

Box am Tisch befestigt.
Box am Tisch befestigt

Node-RED Flow
Node-RED Flow Editor

Node-RED Dashboard
Node-RED Dashboard

Ich weiß jetzt gar nicht, wie sinnvoll es ist den Code überhaupt zu teilen, da er nicht besonders universell geschrieben ist und jeder einen anderen Bedarf haben wird. Hier ist er trotzdem.

Download: HmIP-PCBS2_Schreibtisch.json

Wie oben schon geschrieben, arbeite ich bei der Ausrichtung für komplett Ausgefahren (und komplett Eingefahren) mit Totalen. Damit braucht die Anlage die momentane Höhe des Tisches gar nicht zu wissen. (Wer die Steuerung nicht kennt, der Motor wird beim erreichen der Totalen abgeschaltet. Ob der Benutzer oder ein Relais weiter drückt spielt keine Rolle. Da läuft kein Motor heiß oder sonst was.) Was heißt das: Um von komplett eingefahren, sich komplett auszufahren, benötigt der Tisch ca. 16 Sekunden. Das kann, je nachdem wie viel Gewicht beförder werden muss, leicht variieren. Das heißt, man betätigt das zuständige Relais einfach 18 Sekunden (ca. 16 plus Sicherheitsmarge) und ist anschließend garantiert in der Endposition. Egal wo der Tisch vorher war. Dasselbe gilt fürs Einfahren. Da tut sich der Motor leichter, da wird das Relais nur 17 Sekunden betätigt.
Einzig bei der Mittel-/Sitzposition sind genaue Angaben nötig. Man muss wissen wo der Tisch sich befindet und für wie viele Millisekunden er sich bewegen muss.

Code

Möchte man zwischen verschiedenen variablen Punkten hin und herfahren, sehe ich keinen weg an Sensoren vorbei. (1. Da man vermutlich nicht so genau messen kann. 2. Da die Ausführungszeit je nach Auflagegewicht so oder so variable ist. 3. Da die CCU3 kein Echtzeit-Betriebssystem verwendet. 4. Das Funkprotokoll gar nicht garantieren kann, das zu dem exakten Zeitpunkt, zu dem gesendet werden soll, gesendet werden kann/darf.) Die Position, wo der Code denkt das sich der Tisch befindet, und wo er sich tatsächlich befindet, wird mit der Zeit auseinander laufen. Ja klar könnte man natürlich jedes mal, oder nach X Vorgängen, in eine Totale fahren, dann weiß man die Position wieder... aber ne Lösung mit Sensoren ist doch interessanter. ;-)
Die langweiligste Lösung ist, vor dem Einkauf auf LINAK Kompatibilität zu achten.

⍈Homepage

#