Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ankündigung
Einklappen
Keine Ankündigung bisher.
LBS 19000925 HOMEMATIC-EDOMI-Master und alle darauf basierenden LBSen
HOMEMATIC-EDOMI-Master 19000925
HM-Universal-LBS 19001252
wenn ich etwas an der CCU2 ändere ist es in 2 Sekunden im Edomi
Dauert es wirklich so lange oder schaust du nur auf den Ausgang A2.
A2 sagt eigentlich nur aus wann das letzte Event angekommen ist (für die Reinitialisierung)
Bei meinen Tür und Fensterkontakten geht das ohne merkliche Verzögerung auf die Visu.
Ev. Sendeverzögerung beim Sollwert?
Dauert es wirklich so lange oder schaust du nur auf den Ausgang A2.
A2 sagt eigentlich nur aus wann das letzte Event angekommen ist (für die Reinitialisierung)
Bei meinen Tür und Fensterkontakten geht das ohne merkliche Verzögerung auf die Visu.
Ev. Sendeverzögerung beim Sollwert?
Ich hab ein anderes Problem wenn ich diese logik
HOMEMATIC-EDOMI-Master 19000925
HM-Universal-LBS 19001252
verwende geht alles
bei dieser logik bekomme ich keine daten automatisch übertragen wenn ich etwas auf der CCU2 ändere
Homematic Event Receiver v0.1 19001435
Homematic Generic Device v0.5 19001436
bei E10-E13 Trigger alle 5 Minuten bekomme ich die daten alle 5 Minuten
Dauert es wirklich so lange oder schaust du nur auf den Ausgang A2.
A2 sagt eigentlich nur aus wann das letzte Event angekommen ist (für die Reinitialisierung)
Bei meinen Tür und Fensterkontakten geht das ohne merkliche Verzögerung auf die Visu.
Ev. Sendeverzögerung beim Sollwert?
Hab den 19000925 seit einem halben Jahr in Betrieb und hatte damit keine Probleme.
Als ich die LBSen entwickelt habe wollte ich die Kommunikation auch über Message Queues lösen, bin daran leider gescheitert, da ich auch noch mit anderen Problemchen zu kämpfen hatte.
Als alles funktionierte (ca. 60 Datenpunkte am Start) , der Bedarf an Homematic mit Edomi sich in grenzen hielt und ich mit meinen Scripten (bzw. Dateien) zufrieden war habe ich es dabei belassen.
Habe kein HMIP System darum habe ich mich nur mit BidCos-RF beschäftigt.
Nanosonde hat eine Multiversion die beide handelt entwickelt (1435 und 1436).
Er legt sich da mächtig ins Zeug und wird diese sicher auch noch mit eurer Hilfe Debuggen.
Ich bleib mal bei meinen LBSen, werde aber spätestens auf die LBSen von Nanosonde umsteigen wenn ich mir ein HMIP Gerät anschaffe.
Die Lösung über Message Queues ist einfach eleganter.
Weiterhin ist mir aufgefallen, dass einige deiner Bausteine auf einmal in der Kategorie "Ohne" statt "Homematic" im Download-Bereich angesiedelt sind. Bei der SuFu nach "Homematic" werden diese dann nicht gefunden.
Werde mich demnächst mal zwecks nachzurüstender Fensterkontakte mit der Materie beschäftigen müssen. Bin im Zuge dessen auch auf den RGBW Conroller HM-LC-RGBW-WM gestoßen. Hat sich schon mal jemand mit einem LBS dafür beschäftigt? Es sollte doch über die CCU2 eine Steuerung mit Edomi/KNX möglich sein, oder?
Könnte allerdings aufgrund von Farbwahl, Dimmer, etc. etwas komplizierter werden. Falls es geht, werde ich mich irgendwann auch damit beschäftigen. Allerdings frühestens in einem Jahr - vorher komme ich nicht dazu mich selbst einzuarbeiten - außer es hat bis dahin jemand schon was entwickelt ...
Hm, liegt vielleicht daran, das ich einige händisch geändert habe Die Kategorie habe ich eigentlich angelegt, nur scheint das System diese zu ignorieren.
Den Fehler gab es meine ich schon in Verbindung mit anderen LBS.
Vielleicht mal direkt nach der Fehlermeldung + EDOMI das Forum durchforsten. Ich finde gerade nicht den richtigen Faden.
der LBS hatte bei mir nach dem Umzug vom klassischen Edomi zu dem großartigen Rocky Linux ProxMox-/LXC-Template (http://knx-user-forum.de/forum/proje...x86_64-aarch64) von starwarsfan einige Probleme. Ich konnte alles u.a. dank chatgpt fixen. Der oben beschriebene Fehler mit dem fehlerhaften numeric value war auch dabei. Im Folgenden eine Anleitung für alle, die auch auf das Template umsteigen und den LBS 19000925 verwenden.
Im RockyLinux-LXC läuft Edomi mit PHP 7.4. Der HOMEMATIC-EDOMI-Master braucht außerdem XML-RPC (PHP-Extension), damit die CCU Events per XML-RPC an Edomi pushen kann.
Im Template ist nach einem Restore/Backup zwar die LBS-Datei + homematic.class.php + XML-RPC-Server-PHP meist schon am richtigen Ort, aber häufig hakt es an:
Wenn die Homematic-Anbindung grundsätzlich läuft, tauchen im Edomi-Log bei PHP 7.4 typischerweise diese Meldungen auf:
Fehlercode 8: A non well formed numeric value encountered
Fehlercode 2: count(): Parameter must be an array or an object that implements Countable
Hier editieren: /usr/local/edomi/admin/lbs/LBS19000925.php (siehe oben unter 2.)
Wer mag, kann die Datei nochmal wegsichern, ich habe wegen des Snapshot darauf verzichtet.
5.1 Fix 1: microtime numerisch machen (Fehlercode 8) am Besten über die Suchfunktion die Stellen suchen
Im ###[EXEC]### Block:
Ändern von:
Code:
$start=microtime();
zu:
Code:
$start=microtime(true);
Und alle Vorkommen von ändern von:
Code:
(microtime()-$start)
zu:
Code:
(microtime(true)-$start)
5.2 Fix 2: count() nur auf Arrays anwenden (Fehlercode 2)
Ebenfalls im EXEC-Teil nach dem Laden der JSON-Dateien absichern:
Code:
$hm=File_Get_Array_From_JSON($pfad_hm_data); //DIESER TEIL IST SCHON DA
if (!is_array($hm)) { $hm = array(); } //NEU
$lbs=File_Get_Array_From_JSON($pfad_lbs_data); //DIESER TEIL IST SCHON DA
if (!is_array($lbs)) { $lbs = array(); } //NEU
Außerdem noch prüfen: $out darf nicht null sein (sonst wird $lbs später null):
Code:
$out=array();
statt $out=null
Als nächstes zwischen
Code:
{
$out[]=$name; // Index startet von 0
}
$lbs=$out;
}
und
Code:
if (!is_array($lbs)) { $lbs = array(); }
einfügen:
Code:
if (!isset($hm[0]) || !is_array($hm[0])) {
logging('Keine gültigen HM-Events im Array (hm[0] fehlt/ist kein Array).');
sql_disconnect();
return;
}
Zuletzt nach
Code:
$lbs_output=null;
for($i=0; $i<count($hm[0]); $i++) // Events werden nacheinander abgearbeitet
{
for($i2=0; $i2<count($lbs); $i2++) // LBS_IDs werden abgearbeitet
{
und vor
Code:
for($i3=0; $i3<count($lbs[$i2]); $i3++) // LBS Ausgänge werden abgearbeitet
einfügen
Code:
if (!isset($lbs[$i2]) || !is_array($lbs[$i2])) { continue; }
Damit verschwinden die count()-Warnings dauerhaft.
6. Datei speichern und Projekt aktivieren
Ich hoffe das hilft anderen weiter. Bei mir läuft nach diesen Anpassungen der LBS ohne Fehlermeldungen. Die Homematic-Geräte funktionieren.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar