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.
Auch ist eine Anwenderschnittstelle und eine Debug/Serviceschnittstelle nicht das selbe, da nur erstere für die Verwendung durch den Endkunden vorgesehen ist.
Meines Wissens ist nirgends geschrieben, dass der Betrieb der Serviceschnittstelle für den Endkunden untersagt ist oder dass dies zum sofortigen Garantieverlust führt. Es gibt einen Fachmann-Bereich in der Menü-Hierarchie der WP, der explizit von Fachhandwerkern/Technikern benutzt werden darf. Solche Einstellungen werden vom Plugin nicht offengelegt.
Ist die Buchse bei mir evtl. an einem anderen Platz oder habe ich die falsche Buchse genommen?
Wenn das Plugin funktioniert, dann wird es schon die richtige Buchse sein.
Nur der USB-Anschluß befindet sich in einem Bereich, wo es nebenan 230V gibt. Deswegen ist die Abschaltung der Anlage zum Anschließen des USB erforderlich, wenn es unbedingt der USB-Anschluß sein muss.
Meines Wissens ist nirgends geschrieben, dass der Betrieb der Serviceschnittstelle für den Endkunden untersagt ist oder dass dies zum sofortigen Garantieverlust führt.
Wenn ich mal Klugscheisser spielen darf:
Bedienungsanleitung Kapitel 2.1 und 2.2.
Debug/Serviceschnittstellen werden in Bedienungs und Installationsanleitungen für Endkunden eher selten bis nie erwähnt.
Solange sich die Probleme für alle Beteiligten in Grenzen halten wird auch nichts passieren. Wo kein Kläger da kein Richter, sagt man. Damit dies so bleibt würde ich persönlich zusätzliche Schutzmaßnahmen ergreifen (Überspannungsfeinschutz, USV, etc.). Besser wäre eine vollkommene galvanische Trennung: USB Isolator. Entstörfilter. Galvanische Trennung: Amazon.de: Musikinstrumente
Und jetzt höre ich mal auf den Spielverderber zu spielen und wünsche allen hier einen schönen Rutsch und viel Erfolg beim jeweiligen SmartHome Projekt!
Der Parameter relHumidity ist bei mir auch 0. Ich vermute, dass die relative Feuchtigkeit nicht ständig überwacht wird, sondern nur, wenn die Feuchteshutzlüftung aktiv ist und die Lüftungsstufe 0 seit mehr als 24h eingestellt ist (Anleitung, Kapitel 7.2.1).
Es ist auch nicht auszuschließen, dass der Parameter im fhem-Code nicht richtig decodiert wird.
also ich hab noch nicht alles durchgelesen und bin grad eher zufällig darüber gestolpert - aber ich schicke schon mal ein freudiges DANKE raus
Die Bastel-Liste ist soeben einen Punkt länger geworden...
Ich hätte eine Frage an die Python-Kenner - wie kann man die Queues so tunen, dass sie effizient werden.
Ich wollte wissen, wie viel CPU-Last mein Plugin verursacht, und habe den Profiler benutzt. Auf den ersten Blick könnte man das Ergebnis so deuten, dass die Funktionen PortHandler.py:readData() und ThzProtocol.py:_sendGetRequest() sehr stark zu Buche schlagen:
Wenn man aber genau hinschaut, verbringen die erwähnten Funktionen scheinbar viel Zeit in den Operationen get von queues.py sowie poll & acquire von multiprocessing. Ich habe die entsprechenden Zeilen im Log rot markiert.
Ist meine Interpretation korrekt?
Falls ja, was kann man besser/anders machen?
PS: Meiner Ansicht nach ist ein zweiter python-Thread zwingend erforderlich, um die asynchronen Operationen am seriellen Port gut im Griff zu haben.
ich habe gerade folgende Warning in meinem Protokoll gefunden:
Code:
2015-01-10 00:44:03,815 WARNING Main Item thz.heatingCircuitPumpOn: value 0.00758832040839552 does not match type bool. Via SQLite None -- item.py:set:447
Macht das ein Problem oder kann ich es so lassen? Normalerweise hat das Item den Wert 1 oder 0.
leider kann ich die Frage nicht einfach so beantworten, dazu müsste man den Code wirklich kennen.
Meinst du den Code von python Bibliotheken? Die Frage ist - mache ich was falsch, wenn die Queues zur Kommunikation zwischen den Threads so benutzte? Ich hätte einfach nicht erwartet, dass python standardmäßig irgendwas pollen würde. Semaphoren & Co. werden doch schon seit Jahrzehnten effizienter implementiert.
Dazu kann das Plugin ja einfach in der run - Methode bleiben.
Das hatte ich probiert, aber dann macht smarthome.py aus irgendeinem Grund nach der Instanziierung vom thz-Plugin nicht mehr weiter. Daher habe ich einen eigenen Thread angelegt.
Macht das ein Problem oder kann ich es so lassen? Normalerweise hat das Item den Wert 1 oder 0.
Das scheint etwas mit der Mittelwertbildung vom SQLite-Plugin zu tun. Denn das thz-Plugin liefert für diesen Parameter gundsätzlich 0 oder 1. Daher wäre es eher eine Frage an Marcus (mknx).
Meinst du den Code von python Bibliotheken? Die Frage ist - mache ich was falsch, wenn die Queues zur Kommunikation zwischen den Threads so benutzte? Ich hätte einfach nicht erwartet, dass python standardmäßig irgendwas pollen würde. Semaphoren & Co. werden doch schon seit Jahrzehnten effizienter implementiert.
Erst mal Deinen und dann den von den Bibliotheken.
Das hatte ich probiert, aber dann macht smarthome.py aus irgendeinem Grund nach der Instanziierung vom thz-Plugin nicht mehr weiter. Daher habe ich einen eigenen Thread angelegt.
Code:
def run (....):
self.alive = True
while self.alive:
# loop here
time.sleep(0.1)
def stop(...):
self.alive = False
Dann bleibt Dein Plugin in einem separaten Thread.
Das scheint etwas mit der Mittelwertbildung vom SQLite-Plugin zu tun. Denn das thz-Plugin liefert für diesen Parameter gundsätzlich 0 oder 1. Daher wäre es eher eine Frage an Marcus (mknx).
So ohne Kontext wer da was macht ist es schwierig etwas dazu zu sagen.
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