Smart Home Einsteiger - Programmierung mit CCU-Programmen oder besser mit RedMatic?

Node-RED als CCU3/RaspberryMatic Addon, WebApp, HomeKit, ...

Moderator: Co-Administratoren

rewe0815
Beiträge: 176
Registriert: 30.09.2010, 09:40
Hat sich bedankt: 1 Mal
Danksagung erhalten: 3 Mal

Re: Smart Home Einsteiger - Programmierung mit CCU-Programmen oder besser mit RedMatic?

Beitrag von rewe0815 » 26.02.2019, 14:17

Gerti hat geschrieben:
26.02.2019, 13:59
Sowas geht im Rega Programm mit einem simplen und logischen Dreizeiler.
Stimmt. Aber mach mal z.B. ein dynamisches offene Fenster - Script, was automatisch auf neue/wegfallende Aktoren reagieren soll oder mit Alexa interagiert oder oder oder.
Sobald die Scripts komplexer werden ist die Rega inkl. der HM-Scripts sicher nicht mehr einfacher und nach meiner Erfahrung (10 Jahre HM) weit instabiler.
Überhaupt, wenn es um die Kommunikation mit der Außenwelt geht, ist das i.d.R in Node-Red kein Problem. Zu allen möglichen Systemen/Datenbanken etc. gibt es spezialisierte Nodes. In HM bricht man sich da regelmäßig einen ab.

Ach ja, nicht unbedingt objektiv, nur meine persönliche Meinung :D

methodus
Beiträge: 67
Registriert: 05.07.2011, 20:17

Re: Smart Home Einsteiger - Programmierung mit CCU-Programmen oder besser mit RedMatic?

Beitrag von methodus » 26.02.2019, 15:22

Eigentlich kann die Stabilität und Sicherheit von RedMatic nicht besser sein als ReGa selbst, da soweit ich das überblicken kann, RedMatic auch nur auf die ReGa zugreift und die API adaptiert. Eine derartige Lösung kann also nur so stark sein, wie das schwächste Glied. Man kommt um die Logik-Schicht der CCU nicht umher, sollte also meines Erachtens auch wissen, wie sie funktioniert.

Aber: es ist eine schwache Sprache, die keine moderne Sprachkonstrukte mitbringt, die komplexe Logiken ermöglicht. RedMatic macht das ganze visualisierbar, was für Einsteiger reichen sollte.

Ich bin außerdem der Meinung, dass die Leistungsfähigkeit eines Raspi 3 ausreichend ist, um komplexe Programme ausführen zu können und nicht jeder eine Parallelinfrastruktur mit OpenHAB oder ioBroker aufbauen will. Addons, die das auf der CCU2/3 bzw. Raspimatic erledigen können, sind für mich die beste Option, da es die Komplexität der Systeme, die gewartet werden müssen in Grenzen hält. Wie häufig füge ich z.B. ein neues Gerät hinzu? Wie häufig schaue ich mir tatsächlich irgendwelche Verlaufsgrafiken an? Letztlich Smart Home in erster Linie eins: funktionieren. Jeder Rechner mehr, jedes Addon, jedes Programm erhöht die Wahrscheinlichkeit eines Ausfalls aufgrund verschiedener Fehler. Wer das nicht überblicken kann/will, sollte daher so viele Variablen wie möglich aus dem Spiel lassen und mit den Bordmitteln arbeiten.

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: Smart Home Einsteiger - Programmierung mit CCU-Programmen oder besser mit RedMatic?

Beitrag von hobbyquaker » 26.02.2019, 15:35

methodus hat geschrieben:
26.02.2019, 15:22
Eigentlich kann die Stabilität und Sicherheit von RedMatic nicht besser sein als ReGa selbst, da soweit ich das überblicken kann, RedMatic auch nur auf die ReGa zugreift und die API adaptiert. Eine derartige Lösung kann also nur so stark sein, wie das schwächste Glied. Man kommt um die Logik-Schicht der CCU nicht umher, sollte also meines Erachtens auch wissen, wie sie funktioniert.
Das ist nicht richtig. RedMatic kommunziert per BinRPC direkt mit rfd/hs485d/cuxd und per XMLRPC direkt mit hmipserver (genauso wie es die Rega selbst oder der Neo Server übrigens auch macht). Die Rega spielt dabei keine Rolle, die kann auch komplett abschmieren und alles läuft weiter. Einzig beim Start ist die Rega ein mal im Spiel, da werden die Namen von Geräten/Kanälen sowie ihre Zuordnung zu Räumen/Gewerken von der Rega abgefragt, solange sie sich nicht Ändern ist das auch nur 1x nötig, diese Infos werden von RedMatic gecached. Ansonsten ist sie komplett verzichtbar.
methodus hat geschrieben:
26.02.2019, 15:22
Ich bin außerdem der Meinung, dass die Leistungsfähigkeit eines Raspi 3 ausreichend ist, um komplexe Programme ausführen zu können
Klar - wenn man die Rechenleistung betrachtet auf jeden Fall. Aber WebUI-Programme sind in ihren Möglichkeiten nun mal arg eingeschränkt und das freundlichste was mir zu Rega-Script einfällt ist "mangelhaft" ;)
methodus hat geschrieben:
26.02.2019, 15:22
sollte daher so viele Variablen wie möglich aus dem Spiel lassen und mit den Bordmitteln arbeiten.
In diesem konkreten Fall möchte der User aber eine Alexa-Anbindung realisieren, das lässt sich mit Bordmitteln schlicht nicht machen. Er wird also eine - wie auch immer geartete - 3rd Party Lösung nutzen müssen - und dann bin ich eben weiterhin der Meinung dass er auch die Programmierung mit der (eh schon notwendigen) 3rd Party Lösung machen sollte. Ich propagiere hier nicht explizit RedMatic, ich halte auch Home Assisstant, ioBroker, OpenHAB und ähnliche Lösungen für einen guten Weg - auch wenn externe Lösungen - wie von Dir richtig angemerkt - gegenüber einem Addon noch zusätzliche Point of Failures ins Spiel bringen.

rewe0815
Beiträge: 176
Registriert: 30.09.2010, 09:40
Hat sich bedankt: 1 Mal
Danksagung erhalten: 3 Mal

Re: Smart Home Einsteiger - Programmierung mit CCU-Programmen oder besser mit RedMatic?

Beitrag von rewe0815 » 26.02.2019, 18:29

methodus hat geschrieben:
26.02.2019, 15:22
...Addons, die das auf der CCU2/3 bzw. Raspimatic erledigen können, sind für mich die beste Option, da es die Komplexität der Systeme, die gewartet werden müssen in Grenzen hält....
Da hat wohl jeder so seine Erfahrungen gemacht;-) Ich setze HM seit 10Jahren ein. Seit ich die CCU2 ohne jegliche addOn's vor sich hin brabbeln lasse ist Ruhe und die hat nie wieder rumgezickt. Da laufen nur noch sehr wenige Scripte auf der HM (eigentlich nur Direktverbindungssachen). Alle anderen Funktionalitäten werden mit Node-Red / Javascript per BinRPC extern gemacht (erst Raspi, inzwischen Rock64). Node-Red + die HM-Nodes sind eigentlich ein ziemliches Dream-Team. Da sind dann Dinge wie:
- Mail
- Telegram
- DB (bei mir InfluxDB)
- Visualisierung
- Alexa - Anbindung
- u.u.u
sehr einfach realisierbar. Inzwischen hängt noch ioBroker dazwischen, weil es damit noch einfacher ist HM mit Fremdsystemen (SonOff, Alexa, Zigbee, eigene Hardware u.v.a.) zu verbinden.
ioBroker, influxdb, Grafana, mqtt, node-red laufen in eigenen Docker-Containern auf einem Rock64. Da hält sich der Wartungsaufwand in Grenzen, wenn man die Container geschickt einsetzt. Sämtliche Bewegungsdaten landen in einem gemeinsamen Hostverzeichnis. Nur das wird gesichert. Schließlich lassen sich die Container jederzeit per Knopfdruck neu erstellen. Auch auf einem anderen Rechner!
Zusammengefasst: Lass die HM als Datenschleuder auf einer eigenen Hardware (CCU/Raspi) laufen und macht den Rest extern, dann geht auch nichts kaputt;-)
Und dafür ist die CCU2 allemal super geeignet.

Andii
Beiträge: 70
Registriert: 07.02.2019, 10:08
Wohnort: Willich
Danksagung erhalten: 3 Mal

Re: Smart Home Einsteiger - Programmierung mit CCU-Programmen oder besser mit RedMatic?

Beitrag von Andii » 27.02.2019, 10:12

Danke für die zahlreichen Antworten und die kontroverse Diskussion. Ich werde dann mal versuchen, meine Rollladensteuerung (verschiedene Gruppen, Berücksichtigung Sonneruntergangszeit, Beschattung abhängig vom Sonnenstand) mit Redmatic zu realisieren. Hat das schon jemand gemacht? Ein Tutorial konnte ich leider nicht finden.

Eine weitere grundlegende Verständnisfrage habe ich noch: Der CCU3 lag ja die Lizenz für den AIO CREATOR NEO bei. Ist es zutreffend, dass man damit (lediglich) eine Art hübsches Dashboard erstellen kann? Denn ein Dashboard kann ich ja auch mit Redmatic erstellen. Ist Redmatic also mächtiger als der AIO CREATOR NEO? Oder wie ist das "Konkurrenzverhältnis" zwischen den beiden?

Hypnos
Beiträge: 460
Registriert: 06.01.2018, 12:48
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 57 Mal
Danksagung erhalten: 39 Mal

Re: Smart Home Einsteiger - Programmierung mit CCU-Programmen oder besser mit RedMatic?

Beitrag von Hypnos » 27.02.2019, 10:15

Gerti hat geschrieben:
26.02.2019, 02:31
Ich will nicht in Abrede stellen, dass die Rega nicht das gelbe vom Ei ist, trotzdem kann ich kaum nachvollziehen, wieso es mit Redmatic stabiler und zuverlässiger laufen soll?
Ich nutze ausschließlich die Rega, habe derzeit etwa 130 Programme mit ca. 160 Skripten auf der CCU laufen und das läuft seit über zwei Jahren völlig stabil und zuverlässig.
Ich habe 227 Kanäle in 83 Geräten. Als ich angefangen habe umzustellen hatte ich mehr als 160 Programme mit Scripten. Die größten Scripte waren an die 600 Zeilen lang (mein eigenes Service Meldungen hatte 535 Zeilen).

Das ist natürlich meine subjektive Meinung, aber ich habe gefühlt wirklich jedes problem der ReGa mitgemacht:
Wenn ich Programme sehr oft editiert hatte, hatte ich das Problem, das diese nicht mehr getriggert wurden. Ein 1:1 neu Anlegen und das Problem war behoben.

Elseif hat mehrere Fehler. Mal funktioniert damit der letzte else-zweig nicht oder mehrfach oder es gab Probleme damit in Schleifen.

System.exec hatte einen Fehler, wenn man das "&" am ende (wie hier empfohlen) verwendet hatte. Klar, kann man auch CuXd nehmen, aber wenn ich für einen solche Grundfunktion ein AddOn nehme, kann ich auch die komplette Logik über ein AddOn laufen lassen.

Bestimmte Sonderzeichen oder Fehler in Scripts haben die ReGa regelmäßig zum Absturz (oder Neustart der CCU) gebracht, das auch im Script-testen Fenster. (Gefühlt ist das aber besser geworden.)

Auch mit der letzten Version scheint es wieder Probleme mit der ReGa zu geben.

Hinter RedMatic steht Node-Red. Ein von IBM unterstütztes von vielen hundert Entwicklern und Testern gelebtes System. Da hat eine Firma wie EQ3 einfach nicht die Ressourcen für Qualitätskontrolle.
Roland M. hat geschrieben:
26.02.2019, 10:45
Einem Anfänger würde ich dringend raten, das System erst einmal kennen zu lernen, also auch die Programmierung auf der CCU. So verhindert man auch sich mehrerer Baustellen gleichzeitig aufzureißen und dann vielleicht gar nicht wissen, in welchem Bereich ein Fehler überhaupt zu suchen ist.
Ein Anfänger benötigt mit jedem System eine Lernkurve und er muss die Eigenheiten/Besonderheiten eines jeden Systemes kennen lernen. Ich würde jedoch gerade einen Anfänger zu RedMatic raten, da ich hier den Einstieg bedeutend einfacher halte als die ReGa (ist meine subjektive Meinung).
Wie schon geschrieben, das Problem mit der Fehlersuche hat man nicht, wenn man nur ein System nutzt. grade hier bei habe ich aber die Erfahrung gemacht, das die Debugging Möglichkeiten in Node Red viel besser sind als in ReGa Scripten und programmen. (Ja, kenne mich damit aus. Habe auch viel genutzt: gelogte systemvariablen, logging in das systemlog, etc...)
Gerti hat geschrieben:
26.02.2019, 13:59
Habe mir auch ein paar Videos zu Redmatic angesehen und halte das für eine durchaus schöne Alternative, aber einfacher ist es unter Garantie nicht.
Ich hatte da ein Video zu einem einfachen Beispiel gesehen (imho ein Taster, der eine Lampe toggeln sollte) und dachte nur so "Oh Gott Agathe", dass ist doch alles viel zu kompliziert. Sowas geht im Rega Programm mit einem simplen und logischen Dreizeiler.
Ich weiß nicht welches video du gesehen hast. Ich habe einen Wiki Artikel genau dazu erstellt und sehe hier keinen großen Unterschied in der Komplexität:
45623821-de23b200-ba88-11e8-94ee-053888e7bac5.png
45623821-de23b200-ba88-11e8-94ee-053888e7bac5.png (22.18 KiB) 13345 mal betrachtet
44587420-2ebe2d00-a7b3-11e8-8f43-9019480b0600.png
44587420-2ebe2d00-a7b3-11e8-8f43-9019480b0600.png (16.46 KiB) 13345 mal betrachtet
In RedMatic ist man hier frei. Man kann Beispielsweise dieses beispiel auch nur mit nur 3 Nodes in Reihe abbilden (Taster - Function - Licht).
Als Anfänger ist man auch immer versucht mit möglichst wenig Nodes aus zukommen. Ich bin jedoch ein verfechter, das dieser Ansatz nicht der Beste ist.
Mit vielen Nodes sieht der Flow auf den ersten Blick vielleicht chaotischer aus, ist aber auf der anderen Seite später viel nachvollziehbarer. (Wird auch von IBM so empfohlen.)

Wenn wir im ReGa - RedMatic Vergleich sind, kann ich auch ein paar Beispiele zeigen :D
Lichtsteuerung (waren bei mir mal 3 ReGa Programme):
ccu-balkon.png
jetzt neu unter RedMatic:
rm-balkon.png
Lüftungssteuerung (waren mal 5 Rega Programme nötig):
ccu-ventilation.png
jetzt neu unter RedMatic:
rm-ventilation.png
Im besonderen bei der Verbindung verschiedener Systeme (wired Taster, Funk Lampe oder umgekehrt, auch wenn man soweit möglich virtuelle Kanäle nutzt) kann ich sagen, das die Flows in RedMatic viel einfacher werden.

Wie schon von anderen geschrieben spielt RedMatic/Node-Red den größten Vorteil aus, wenn man noch andere Systeme einbinden will. So ist direkte MiLight Anbindung ohne extra TCL Scripte möglich. Direkte MQTT Unterstützung. (Ich habe meine 6 Esp8266 auf MQTT umgestellt und lass diese über Redmatic als Logikschicht laufen.)
Demnächst kommt noch die Zigbee Anbindung (läuft bei mir als Tester schon). Damit kann man dann direkt IKEA TRADFRI, OSRAM LIGHTIFY, Philips Hue, und sehr viel mehr direkt mit einem CC2531 USB stick von der CCu aus steuern und auch direkt mit den Homematic Komponenten verbinden.

Für RedMatic/Node-Red benötigt man die entsprechende Zeit zur Einarbeitung. Das ist/war mit den ReGa Programmen nicht anders. Wenn ihr euch an die ReGa Eigenarten gewöhnt habt, euch dort auskennt und keine Probleme habt, spricht auch nichts dagegen da zu bleiben.

Wie schon geschrieben, das ist meine sehr subjektive Meinung und nach dieser würde ich einen Anfänger eher zu RedMatic raten.

Gruß
Hypnos

Hypnos
Beiträge: 460
Registriert: 06.01.2018, 12:48
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 57 Mal
Danksagung erhalten: 39 Mal

Re: Smart Home Einsteiger - Programmierung mit CCU-Programmen oder besser mit RedMatic?

Beitrag von Hypnos » 27.02.2019, 10:35

Andii hat geschrieben:
27.02.2019, 10:12
Danke für die zahlreichen Antworten und die kontroverse Diskussion. Ich werde dann mal versuchen, meine Rollladensteuerung (verschiedene Gruppen, Berücksichtigung Sonneruntergangszeit, Beschattung abhängig vom Sonnenstand) mit Redmatic zu realisieren. Hat das schon jemand gemacht? Ein Tutorial konnte ich leider nicht finden.
Ja, natürlich
Rollladen.png
Du triffst auch einen wunden Punkt. Ich hab immer noch auf meiner ToDo im RedMatic Wiki einen Artikel zur Rollladensteuerung zu erstellen.
Andii hat geschrieben:
27.02.2019, 10:12
Eine weitere grundlegende Verständnisfrage habe ich noch: Der CCU3 lag ja die Lizenz für den AIO CREATOR NEO bei. Ist es zutreffend, dass man damit (lediglich) eine Art hübsches Dashboard erstellen kann? Denn ein Dashboard kann ich ja auch mit Redmatic erstellen. Ist Redmatic also mächtiger als der AIO CREATOR NEO? Oder wie ist das "Konkurrenzverhältnis" zwischen den beiden?
Ich bin kein NEO experte und hab es nie ausprobiert. Ich hab aber irgendwo gelesen, das es da auch eine logikschickt- Komponente gibt. In wieweit diese bei der Lizenz dabei ist, weiß ich nicht.
Ich denke aktuell hat AIO CREATOR gegenüber RedMatic Vorteile in der Visualisierung. Hier kannst du einfach Oberflächen erstellen. Da kann das RedMatic/Node-Red Dashboard nicht mithalten.
Ich könnte mir aber vorstellen, das RedMatic in der EInbindung anderer Nicht-Homematic Komponenten Vorteile hat. Bei AIO CREATOR kostet das einerseits Geld, andererseits hat die Open Source Community schneller mal etwas in Node-Red angebunden als eine Kommerzielle Firma.

Wenn du eine Lizenz hast, spricht nichts dagegen, das du erst mal AIO CREATOR ausprobierst.

rewe0815
Beiträge: 176
Registriert: 30.09.2010, 09:40
Hat sich bedankt: 1 Mal
Danksagung erhalten: 3 Mal

Re: Smart Home Einsteiger - Programmierung mit CCU-Programmen oder besser mit RedMatic?

Beitrag von rewe0815 » 27.02.2019, 10:37

@Hypnos
Kann ich alles genauso unterschreiben, was du sagst;-)
Hypnos hat geschrieben:
27.02.2019, 10:15
In RedMatic ist man hier frei. Man kann Beispielsweise dieses beispiel auch nur mit nur 3 Nodes in Reihe abbilden (Taster - Function - Licht).
Als Anfänger ist man auch immer versucht mit möglichst wenig Nodes aus zukommen. Ich bin jedoch ein verfechter, das dieser Ansatz nicht der Beste ist.
Mit vielen Nodes sieht der Flow auf den ersten Blick vielleicht chaotischer aus, ist aber auf der anderen Seite später viel nachvollziehbarer.
Na ja, den Fuction-node sollte man als Anfänger nicht unbedingt bemühen. Und selbst als Fortgeschrittener gibt es gute Gründe, Function-nodes sparsam einzusetzen.
Allerdings spricht nach m.M.nichts dagegen das Ganze als Taster - Change - Licht zu realisieren.
Klar kann man für "true"-> true und "false" -> false 2 change-nodes einsetzen. Aber warum? Schließlich ist der change-node dafür gemacht, mehrere solcher Operationen nacheinander auszuführen. Also ein change im Beispiel reicht völlig.
Man kann es auch übertreiben. Das tut weder der Performance noch der Übersichtlichkeit gut. Und ich denke, dass die Menge an nodes in manchen (youtube)Beispielen überflüssig sind und Anfängern eher das Gefühl geben, das NR kompliziert ist.

Zum Debugging währe noch zu sagen, das NR wesentlich bessere Möglichkeiten bietet. Selbst purer Javascript-Code im Functions-node (oder auch in beliebigen anderen Nodes) läßt sich problemlos mit einem "echten" Debugger debuggen.

Aber es stimmt schon, die Lernkurve ist nicht ohne.
Ich kann diesbezüglich nur raten, sich erstmal mit der Philosophie von NR intensiv vertraut zu machen. Danach ist das eigentliche visuelle Coden recht einfach. Aber dieses strenge Flow-Paradigma muss man halt erst mal verinnerlichen.

Gruß
rewe0815

Hypnos
Beiträge: 460
Registriert: 06.01.2018, 12:48
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 57 Mal
Danksagung erhalten: 39 Mal

Re: Smart Home Einsteiger - Programmierung mit CCU-Programmen oder besser mit RedMatic?

Beitrag von Hypnos » 27.02.2019, 10:59

rewe0815 hat geschrieben:
27.02.2019, 10:37
Allerdings spricht nach m.M.nichts dagegen das Ganze als Taster - Change - Licht zu realisieren.
Klar kann man für "true"-> true und "false" -> false 2 change-nodes einsetzen. Aber warum? Schließlich ist der change-node dafür gemacht, mehrere solcher Operationen nacheinander auszuführen. Also ein change im Beispiel reicht völlig.
Natürlich kann man es so machen und es spricht nichts dagegen.

Es spricht auch nichts gegen Taster (value Node) - get Value - Change (wechseln) - Licht (value Node) oder viele andere Möglichkeiten.

Das Beispiel im Wiki hat das Ziel für Einsteiger zu sein und auch für weiteren Ausbau adaptierbar zu sein. :wink:
Somit kann man den true oder false Zweig dann beliebig weiter ausbauen.
[edit]Rechtschreibfehler[edit]
Zuletzt geändert von Hypnos am 27.02.2019, 11:15, insgesamt 1-mal geändert.

rewe0815
Beiträge: 176
Registriert: 30.09.2010, 09:40
Hat sich bedankt: 1 Mal
Danksagung erhalten: 3 Mal

Re: Smart Home Einsteiger - Programmierung mit CCU-Programmen oder besser mit RedMatic?

Beitrag von rewe0815 » 27.02.2019, 11:04

Hypnos hat geschrieben:
27.02.2019, 10:59
Es spricht auch nichts gegen Taster (value Node) - get Value - Change (wechseln) - Licht (value Node) oder viele andere Möglichkeiten.
Na, das währe dann ja eher noch komplizierter :lol: Wollte eher zeigen, wie man es übersichtlich UND einfach halten kann. Aber sicher, jeder wie er mag.

Antworten

Zurück zu „RedMatic“