NEWS
Werte werden teilweise nicht aktualisiert
-
Hallo zusammen,
nachdem ich immer wieder Probleme mit der Aktualität von Werten habe, wollte ich mal von euch hören, ob dies ein allgemeines Problem ist oder nur bei mir auftritt - und ob/wie man das in den Griff bekommen kann.
Ich fange mal an mit dem HomeMatic-Adapter. Ein Präsenzmelder soll mir den aktuellen Präsenzwert für die weitere Auswertung übermitteln, aber hier fängt es schon mit der Zuverlässigkeit an. Ein simpler Test mit Javascript und folgendem Code bringt merkwürdige Ergebnisse:
on({id: 'hm-rpc.1.000ABCDABCDEF.1.PRESENCE_DETECTION_STATE', change: "any"}, function (obj) { log('Status: ' + obj.newState.val); });
Hier würde ich erwarten, dass der Status zwischen true und false schwankt, evtl. sich auch mehrmals wiederholt. Tatsächlich ist es aber, dass im Log nur "false" auftaucht - und nur ganz selten ein "true". In der Objekttabelle ist der Status aber "true".
Wo kann der Fehler liegen? An Javascript? Am HomeMatic Adapter? An den Internas in ioBroker?Dann geht es weiter mit MQTT. Ich habe einen eigenen MQTT-Server und in ioBroker den Client integriert. Hier werden manchmal Werte zum MQTT Server gesendet und manche auch empfangen, aber eben auch nicht immer. Egal ob "Werte nur bei Änderungen senden" gesetzt ist, egal welcher QoS - ich habe schon zig Sachen ausprobiert, aber es wird nicht besser. Ganz besonders schlimm ist, wenn ich via MQTT Werte in ioBroker selbst synchronisieren möchte - z.B. Hue-Lampen mit HomeMatic verknüpfen. Das funktioniert ab und zu - ist aber weit entfernt von praxistauglich.
Damit setze ich ioBroker leider immer noch nicht so ein wie ich gerne möchte und irgendwie ist das Ganze auch ziemlich frustrierend...Mein ioBroker-Server ist übrigens eine virtuelle Maschine mit 4 GB RAM und 4 Kernen, die so vor sich hin dümpeln. RAM ist auch nicht voll, Swap fast gar nicht in Verwendung. Das waren so die Dinge, die bei anderen Probleme bereitet haben.
Interessanterweise ist es auch so, dass nach einem Neustart von ioBroker plötzlich wieder irgendwelche Dinge funktionieren, die vorher nicht funktioniert haben. Das ist natürlich nicht so der Hit...
Ist das bei euch auch so? Habt Ihr irgendwelche Workarounds im Einsatz, nutzt Ihr ioBroker auch richtig produktiv oder ist die Umgebung bei den meisten von euch nur eine Instanz zum Spielen? Ich frage etwas provokativ, denn mit dem Zustand meines Brokers kann ich mir einen produktiven Betrieb nicht vorstellen - ich hoffe, das geht auch anders und liegt nur an meiner Installation... deswegen hoffe ich auf viele Erfahrungswerte, Tips und Ratschläge!
Viele Grüße
-
Jetzt habe ich mal einen Test programmiert, um zu sehen ob die gesetzten Werte übereinstimmen... ich muss gestehen, ich bin entsetzt! 5 % "Verlust" sollte eigentlich nicht vorkommen...
Folgenden "Testaufbau" habe ich verwendet:
function wait(time) { return new Promise(resolve => { setTimeout(() => { resolve(); }, time); }); } async function testState() { var test_id = "isysbus.0.misc.test"; var teststate = false; var matches = 0; for (var i = 0; i < 100; i++) { log("Test #" + i); // Toggle teststate = !teststate; setState(test_id, teststate); await wait(50); if (getState(test_id).val == teststate) { matches++; } else { log("No match!"); } } log(matches + " Matches"); } testState();
Das Ergebnis: 95 Matches! 5x gingen Änderungen verloren!
Habt Ihr eine Idee, an was das liegen könnte?
-
Jetzt habe ich die Tests noch mal gemacht, nachdem ich den Server neu gestartet und alle nicht benötigten Adapter deaktiviert habe... die Erfolge liegen bei 97-98 %, darüber komme ich einfach nicht. Kann das sein?
Könnte mir von Euch evtl. jemand den Gefallen tun und meinen Code mal testen, ob jemand auf die 100 % kommt? Ich kann nicht glauben, dass das normal ist - denn das würde für mich das ganze System ad absurdum führen, wenn ich z.B. nicht mit Sicherheit mitbekommen würde, dass ein Alarm ausgelöst wird...Und irgendwo müsste doch mitprotokolliert werden, wenn ein Fehler auftritt und deswegen ein Wert nicht verarbeitet werden kann, oder? Wo könnte ich denn da am besten schauen?
Ich freue mich über jede Hilfe, langsam bin ich echt am Verzweifeln. Und ich würde gerne bei ioBroker bleiben, denn das System finde ich klasse. Nur muss es halt funktionieren...