NEWS
Zwei Homematic Adapter warum?
-
Hallo,
ich kämpfe mit den limitierten Ressourcen meines Raspberrys und frage mich seit einiger Zeit, warum es zwei Instanzen für die Homematic Anbindung geben muss.
Könnte man das nicht kombinieren und damit Memory sparen und gleichzeitig nur ein Setup zu haben?
Außerdem verstehe ich nicht, warum man immer die Call Back Adresse eingeben muss. Wäre es nicht sinnvoll hier immer die IP der ioBroker Maschine einzustellen?
-
Moin,
welche limitierten Ressourcen meinst Du und woher nimmst Du die Info, das sie limitiert oder zu knapp sind?
Von welchem Raspberry reden wir?
Wie viele Instanzen aller Adapter hast Du denn aktiv?
Die beiden HM-Adapter machen durchaus Sinn, da in der CCU auch zwei getrennte Logikschichten werkeln.
Die Rega ist empfindlich, was zu viele Abfragen angeht, sie stürzt dann ab.
Die Röcke-Schicht pushed hingegen jeden Veränderung an ioBroker und kann auch jeden Command von ioBroker sofort annehmen und umsetzen.
Gruß
Eric
Von unterwegs getippert
-
Danke für Feedback.
Also wurde wegen der Absturzfestigkeit diese Trennung gemacht. Dann besteht keine Hoffnung auf Änderungen.
MIt Resourcen meine ich das Memory. Ich habe einen Raspi 3 mit 1 GB und das ist sehr knapp für meine Anwendung.
Bei einfachen Adaptern bin ich schon dazu übergegangen, die Core Routine zu extrahieren und als Script auszuführen, um den Instanzierungsoverhead zu sparen. Z.B. bei dem "yr" und "Tankerkönig" Adapter war das ganz einfach möglich.
Weitere "Verrenkungen" habe ich beim sayit Adapter gemacht.
Klar irgendwann muss ich eine größere Plattform kaufen, aber was ich so über die Alternativen lese, finde ich nicht so toll oder die Kombination mit meinem Homematic RF Steckboard funktioniert nicht.
Was ganz gut läuft, ist ein Docker Image auf meiner Synology und auf dem Raspi läuft dann nur noch piVCCU.
So ganz gefällt mir das aber auch nicht, weil die Synology mehr als 15-20 Watt braucht.
… aber umsonst ist wohl der Tod.
-
Ich liege mit dem kleinen NUC bei 5,2 W. Das ist nach meiner Meinung absolut im Rahmen.
-
Die ganzen Aufteilungen bei Homematic machen so Sinn weil Protokolle, kommunikationsport und so anders sind. Weiterhin gibt es durchaus such große Installationen wo die aufteilung auch für die gesamtskalierung da ist.
Die Adapter zu zerreißen mürben sie als Skripte laufen zu haben und damit einige MB Speicher zu sparen ist schon ein stranger Ansatz. Irgendwie etwas gegen die Grundidee. Aber das musst du wissen. Und für so etwas bekommt man dann halt keinen Support bei Problemen.
Wenn dein System so groß und wichtig ist sollte es doch such rechtfertigbar sein noch einen zweiten Raspi im multihost betrieb oder eine performantere platform einmalig zu kaufen. Die Vorteile überwiegen - auch weil du dann auf standardkomponenten setzen kannst und nicht Adapter zerreißen musst.
…. aber das musst du für dich entscheiden.
Gesendet vom Handy ...
-
1GB RAM reicht schon eine ganze Weile.
Woran machst du fest dass der nicht reicht?
Betrachtest du etwa mem free statt mem available?
Rpc und rega sind getrennt, weil es auch via homegear oder rf-con oder gar occu die Möglichkeit gibt eine rega freie umgebung zu schaffen.
Außerdem brauchst du für jeden dienst eine rpc instanz. User die nur die rfd instanz bräuchten hätten dann unnötigerweise den Ballast für ip, wired, cuxd usw.
Das würde keine Ressourcen sparen, im Gegenteil!
Die Callback adresse ist spätestens bei Virtualisierung wie proxmox oder Docker notwendig und wurde deswegen eingeführt.
Gruß Rainer
-
> ich kämpfe mit den limitierten Ressourcen meines Raspberrys und frage mich seit einiger Zeit, warum es zwei Instanzen für die Homematic Anbindung geben muss.
Weil hm-rpc und hm-rega zwei verschiedene Protokolle sind.Wenn Raspi zu eng ist, dann solltest du OrangePi 2e plus oder Odroid C2 nehmen. (ca 50-60€)
Mann kann schmalen Kode mit C++ schreiben, aber VIEL langsamer.
Oder RAM-hungriges Kode mit JS und VIEL schneller.
Wir haben zweites gewählt, weil für smarthome sollten 50€ (und in deinem Fall sogar wenn du statt Raspi Odroid gekauft hättest dann 15€) KEINE Rolle mehr spielen. Die Schalter kosten VIEL mehr als 50€.
Tankerkönig und yr laufen nicht kontinuierlich und deine Arbeit war umsonst. Die Instanzen starten alle 5 oder 12 Minuten, holen die Daten und beenden sich.
-
> Außerdem verstehe ich nicht, warum man immer die Call Back Adresse eingeben muss. Wäre es nicht sinnvoll hier immer die IP der ioBroker Maschine einzustellen?
Meine Maschine hat 5 IP Adressen. Welche meinst du?Es gibt CCU als Container und die laufen unter 127.0.0.1. Es gibt CCU hinter dem Router und da muss man IP vom Router eingeben, die man erst rausfinden muss.
-
Hi,
MIt Resourcen meine ich das Memory. Ich habe einen Raspi 3 mit 1 GB und das ist sehr knapp für meine Anwendung. `
Du hast meine Fragen aber noch nicht beantwortet:Woran machst Du fest, das Deine Ressourcen knapp sind? Hatte Homoran auch schon gefragt.
Wie viele Instanzen hast Du laufen?
Gruß,
Eric
-
Danke für das qualifizierte Feedback.
Mir war schon klar, dass yr und Tankerkönig nicht permanent Speicher brauchen, aber wenn sie dann eben Laufen, dann brauchen sie eben doch Memory und dann muss der Raspi swappen und was dann die uSD Karte macht, wissen wir ja. Vielleicht bin ich hier auch zu paranoid.
Ich habe 16 Instanzen laufen. Gesamten RAM Nutzung wird mit 908 MB angezeigt, frei 76 MB/8%. Dazu kommt noch der piVCCU Container.
Die Anzeige wechselt aber. Ich hatte auch schon mal nur noch 5% frei.
Bisher hat die SD Karte klarglos mitgemacht. Habe eine 32 GByte Karte drin, weil ich mir gedacht habe, dass das Wearleveling des Flashspeichers dann etwas länger funktioniert. Die Karte hält jetzt ca. 1 Jahr.
Es ist schon klar, wenn ich noch weiter erweitern will/muss, muss ich etwas Größeres kaufen.
Wobei mich die 50-80 Euros für die alternativen Plattformen gar nicht so sehr schmerzen würden, sondern eher die Probleme, die ich mir aufgrund von wackligem Linuxunterbau oder sonstigen Themen dabei möglicherweise einfange.
Wenn ich zum Beispiel den Rock64 Threat ansehe, bekomme ich ziemlich Respekt und befürchte tagelange Umstellorigien.
NUC wäre eine Alternative, aber dann brauche ich immer noch das LAN HM Gateway oder meinen jetzigen Raspberry mit piVCCU.
Diesen Homematic USB Dongle gibt es wohl nicht mehr oder?
Dann würde ich in meinem Fall lieber den Synology Docker mit ioBroker starten. Probehalber hatte ich den mal 2 Tage ohne Probleme im Betrieb. Vermutlich geht die Synology dann nie mehr in den Festplattenruhezustand, was dann ca. 6 Watt mehr benötigt. Das ging von den Kosten auch noch und außerdem wäre es besser für die Standzeit der Harddisk.
-
Dazu kommt noch der piVCCU Container. `
Habe ich das bisher überlesen?Ich hatte auch schon mal nur noch 5% frei. `
auch hier bleibt die Frage:frei oder available?
Der Unterschied kann immens sein
Wenn ich zum Beispiel den Rock64 Threat ansehe, bekomme ich ziemlich Respekt und befürchte tagelange Umstellorigien. `
Der (die beiden) Rock64 läuft bei mir klaglos seit Monaten (Die Uptime von nur 12,9 Tage liegt daran, wenn man den falschen Stecker zieht
)
Der wäre allerdings nichts für piVCCU, da kämen "nur" der Odroid C2, der OrangePi plus2(e) oder das Tinkerboard in Frage
dann brauche ich immer noch das LAN HM Gateway oder meinen jetzigen Raspberry mit piVCCU.
Diesen Homematic USB Dongle gibt es wohl nicht mehr oder? `
Beide können kein HM-IP und genau NUR dafür gibt es ein neuen USB-Adapter.Gruß
Rainer
-
Das wird angezeigt
total used free shared buff/cache available Mem: 949452 740704 62824 4428 145924 149780 Swap: 102396 14336 88060
-
Was läuft denn da alles drauf
Nur piVCCU und ioBroker mit 16 Instanzen?
Oder hast du sehr viele Skripte?
Das swapping ist gar nicht gut für die Karte
Gruß
Rainer
-
Es laufen
1. piVCCU mit aktiviertem CUxD
2. die Adapter (siehe Bild).
3. Ich habe 17 Skripts mit 3495 lines of code
4. Ich habe 52 Homematic Geräte
5. ca 10 Sonoffs
6. 4 Amazon Echos
7. 3 Sonos
8. ein Harmony Hub
9. 6 Intertechno Schalter
Wenn Du noch Tips für mich hättest, wäre das super.
Ich habe mal den History Adapter ausgeschaltet, dass hat die Memory Situation ziemlich verbessert.
Bei TOP sehe ich "Java". Ist mir nicht klar, warum Java läuft. Damit mache ich eigentlich nichts.
2722_bildschirmfoto_2018-07-30_um_06.31.15.png
2722_bildschirmfoto_2018-07-30_um_06.31.35.png
2722_bildschirmfoto_2018-07-30_um_06.48.14.png
2722_bildschirmfoto_2018-07-30_um_06.54.19.png -
Ich habe den Prozess "Java" mal gekillt.
War folgenlos für ioBroker.
Jetzt sieht die Memory Situation so aus (siehe Bild).
Es stellt sich die Frage, wie ich dauerhaft auch nach Booten verhinderte, dass wieder Java gestartet wird.
Was mir auch nicht klar ist, warum in der Zeile swap immer noch 40.9 MB benutzt werden, obwohl ich jetzt ca. 185 MB frei habe.
2722_bildschirmfoto_2018-07-30_um_06.59.32.png -
Hi,
der HMServer innerhalb des piVCCU Containers ist Java. Mit LXC als Container Lösung wird das auch im Host als Java Prozess angezeigt. Wenn du den killst, dann killst du auch Teile der CCU was in dem Fall mind. dafür sorgt, dass HmIP und virtuelle Geräte nicht mehr funktionieren werden.
Viele Grüße
Alex