Erstellte Forenantworten
-
AutorBeiträge
-
adminAdministrator
Das ist vermutlich nur die Meldung, dass das Setzen eines Bits (aufgrund fehlender Verbindung) fehlgeschlagen ist, also nur ein Folgefehler. Die Eigentliche Grund für den Verbindungsabbruch muss irgendwo früher auftauchen. Poste bitte mal das komplette Logfile. Du sagst, dass du die Logo ca. 30 Minuten ohne Probleme über die LogoControl-Web Oberfläche steuern kannst, also der Methodenaufruf mit deinem „Schalter“ einwandfrei funktioniert und dann nach einiger Zeit (30 min?) nichts mehr geht, korrekt? Spielst du in dieser Zeit ein neues Schaltprogramm auf die Logo oder setzt sie in den Stop-Modus?
adminAdministratorNein, da ist mir nichts bekannt. Bei mir läuft LogoControl quasi seit Monaten ohne Neustart. Das einzige Problem, dass ich mal hatte ist, dass die Prozessorauslastung sporadisch auf 100% ansteigt und LogoControl zwar noch funktioniert, aber nur noch sehr träge ist. Die Ursache dafür habe ich aber noch nicht gefunden.
Kannst du mal bitte auf dem Raspi ins Log unter /tmp/LogoControl.log schauen? Evtl. steht hier was verdächtiges drin…
adminAdministratorHi, die Ursache liegt dann vermutlich bei deinem PC, im speziellen, dass er die Namensauflösung nicht hinbekommt. Ist dein PC mit mit einer festen IP konfiguriert? Stimmen dort die Einstellungen für DNS und Gateway-Adresse? Kannst du andere Geräte im Netzwerk von deinem PC mit Namen erreichen? Was für eine Windows-Version läuft denn auf dem PC?
adminAdministratorHi Florian,
ist das ein Bewegungsmelder vom Homematic-Sytem? Ich selbst habe aktuell nur die Funksteckdosen, sowie die Fensterkontakte davon im Einsatz. Dafür passt auch das FHEM-Perl-Skript. Es kann daher gut sein, dass du an dem Perl-Skript für deine Zwecke die ein oder andere Anpassung machen musst. Dazu ein paar Hintergründe zur Funktionsweise des Skripts:
Dein Bewegungsmelder ist ein ziemlich einfacher Anwendungsfall, da ja nur Informationen von FHEM zu LogoControl übertragen werden müssen und nicht wie bei der Funksteckdose in beide Richtungen. Generell funktioniert das aktuell so, dass FHEM mit dem universellen notify alle Events aller Geräte die mit HM_ beginnen abfängt und in der benutzerdefinierten 99_logoUtils.pm behandelt werden. Diese schaut dann ob im „comment“ des Geräts ein „LogoStateAddress=“ steht. Ist dies der Fall wird abhängig vom neuen Zustand des Geräts bei „on“ oder „open“ die LogoControl-Url http://localhost:8088/rest/bytes/$1/bits/$2?set=1 und bei „off“ oder „closed“ die Url http://localhost:8088/rest/bytes/$1/bits/$2?set=0 aufgerufen. Dieser spezielle Rest-Aufruf schreibt direkt in den VM-Speicher der Logo. Das heißt es muss in LogoControl nichts konfiguriert (kein Device/Attribut angelegt) werden, der Wert kann dann direkt über einen Netzwerkeingang in dein Schaltprogramm einbezogen werden. Das einzige was du nun machen müsstest, ist, das Perl-Skript soweit anzupassen, dass es auch die Zustände des Bewegungsmelders unterstützt. Schau mal ins Log was der Bewegungsmelder so alles an Events liefert. Soweit ich nach kurzer Recherche herausgefunden habe schickt er bei Bewegung ein „motion“ Event, da könntest du das Bit im Logo-VM auf 1 setzen. Die Frage ist, wie du es nach einiger Zeit nicht erkannter Bewegung wieder zurück auf 0 setzen um ein erneutes auslösen detektieren zu können?! Evtl. einen Timer in FHEM definieren, aber da kenne ich mich mit FHEM zu wenig aus…
Alternativ fällt mir noch die Möglichkeit ein in LogoControl ein Dummy-Device für den Bewegungsmelder mit einer Methode „Motion Detected“ anzulegen und diese Methode mit einem einfachen HTTP-Get „http://localhost:8088/rest/devices/1/methods/1“ beim FHEM „motion“ event aufzurufen. Methoden setzen das Bit in der Logo ja nur für 250ms auf 1, so dass eine erneute Auslösung des BM dann kein Problem mehr wäre. Schau mal, ob du mit diesen Infos weiterkommst, ansonsten melde dich nochmal…
Viele Grüße,
TobiasadminAdministratorHi,
also wenn die Fritzbox den korrekten Namen schon anzeigt, dann hat die Umbenennung des Hostnamens auf „logocontrol“ schon geklappt. Scheint also ein Problem mit der Namensauflösung (Umsetzung von logocontrol auf 192.168.1.70) zu sein. Hast du noch einen anderen PC, Notebook, Tablet… auf dem du mal „http://logocontrol:8088“ versuchen kannst? Alternativ: funktioniert denn http://logocontrol.fritz.box:8088 ?
Viele Grüße,
TobiasadminAdministratorHi,
ich fürchte ich kann dir hier nicht wirklich helfen. Für die Windows-Version von LogoControl verwende ich direkt die win32 Variante der libnodave.dll welche im Zip von Sourceforge enthalten war. Für den ARM des Raspi’s musste ich zwar die die Lib selbst bauen, aber die entsprechende libnodave.so habe ich direkt auf dem Raspi mit GCC und dem mitgelieferten Makefile erzeugt, also keinen Cross-Compiler verwendet. Windows Universal Apps hab ich noch nie gebaut, kenne mich also nicht aus wie dort nativer Code (cross)-kompiliert und dann mit der App gelinkt wird. Sorry…
Viele Grüße,
TobiasadminAdministratorOk, danke für die Rückmeldung. Der Fix wird dann auch in die nächste „offizielle“ Version integriert.
adminAdministratorTest mal bitte folgende Version und gib kurz Rückmeldung ob das den Fehler behoben hat:
adminAdministratorWelche Vermutung hast du?
…dass es ein alter Bug in LogoControl ist und an der Art liegt, wie LogoControl den VM-Speicher intern puffert. Der Fehler tritt z.B. auch nicht dann auf, wenn du Ausgänge einer Client-Logo schaltest, sondern nur bei der Server-Logo. Ich schau mir das bei Gelegenheit nochmal an und versuche es zu fixen…
adminAdministratorHi,
kannst du mal prüfen, ob das von dir geschilderte Verhalten auch beim Schalten von Q5 (entspricht ja 942.4) über die Logo auftritt? Also nicht den Ausgang über eine LogoControl-Methode schalten, sondern über den Taster/Schalter (oder mit was auch immer du deinen Q5 normal ohne LogoControl schaltest) versuchen.
Hab da so eine Vermutung…
adminAdministratorHi,
sind dein vServer und deine Logo per VPN verbunden? Ansonsten würde ich das ganze lieber sein lassen. Grund LogoControl verbindet sich über den Port 102, welcher für die S7-Kommunikation (also Verbindung der Logos untereinander, mit einer S7 oder HMI…) genutzt wird. Hier gibt es aber keinerlei Verschlüsselung oder Benutzerauthentifizierung. Diesen Port ins Internet freizugeben halte ich für eine ganz schlechte Idee, weil sonst jeder ohne Benutzer und Passwort Zugriff auf deine Logo hat. Entweder du betreibst LogoControl auf einem Rechner innerhalb deines lokalen Netzwerks oder du bekommst lokales Netzwerk und vServer per VPN gekoppelt.
adminAdministratorHi,
analoge Werte können leider nicht über die Schreib-/Leseoperationen der Ethernet-Konfiguration übertragen werden, dort gibt es nur (digitale) Ein-/Ausgänge/Merker. Keine Ahnung warum Siemens das nicht zulässt, finde ich persönlich nicht konsequent. Hast du eine 0ba7 oder 0ba8? Ab der Logo 0ba8 ist es nämlich immerhin möglich per Drag&Drop in der Zwei-Fensteransicht einfach eine Verbindung von einem Analog-Block (z.B. einem gewünschen Analogausgang) deiner Client Logo in den Schaltplan der Server-Logo zu ziehen. LogoSoft legt dann für dich automatisch einen Netzwerkausgang hinter dem Analog-Block des Clients an und auf der Server-Logo im Zielfenster einen Netzwerkeingang. Den Netzwerkeingang auf der Server-Logo kannst du dann problemlos wieder mit LogoControl abfragen (NAI1=1262, NAI2=1264… siehe Tabelle „VM Adressen für Ein-/Ausgänge/Merker der LOGO 0ba8“ auf meiner Seite). Alternativ legst du auf Client-Seite hinter deinem zu übertragenden Analogwert einfach einen Netzwerkausgang an und schreibst dort mit der Option „Remote-Gerät“ direkt in den VM der Server-Logo an Adresse VWx. Oder per Option „Lokaler VM“ zuerst in den lokalen VM und dann per Ethernet-Konfiguration manuell übertragen.
Wenn du eine 0ba7 hast wird es leider komplizierter. Dort gibt es nur den Trick mit der Parameter-VM-Zuordnungstabelle. Du legst hinter deinen zu übertragenden Analogwert-Block einen Analogverstärker-Block und schreibst diesen Analogverstärker in der Parameter-VM-Zuordnungstabelle (Parameter: Ax, verstärkt) zuerst in deinen lokalen VM an eine beliebige Adresse VWx. Diese Adresse (2 Bytes, schreiben) überträgst du dann per Ethernet-Konfiguration auf die Server-Logo.
adminAdministratorNein, das ist aktuell nicht möglich. Auf der Feature-Wunschliste steht aber die Formatierungsmöglichkeit für Anzeige-Werte (auch Umrechnen von Werten, z.B. Ganzzahl in Minuten und Sekunden) weit oben. Es braucht nur noch einen kalten, dunklen Wintertag und etwas Langeweile bis ich es umsetze 😉
adminAdministratorOk, danke für die Liste. Ich hatte schon so eine Vermutung aufgrund deiner Fehlerbeschreibung und deine Zuordnung Ausgang zu LogoControl-ID bestätigt das nun: du bist bei den Speicheradressen der Ausgänge um eins „verrutscht“:
Q9 hat die Adresse 1065.0 und nicht 1065.1
Q10 ist 1065.1 und nicht 1065.2
Q11 ist 1065.2 und nicht 1065.3
usw.Schau dir die Tabelle „VM Adressen für Ein-/Ausgänge/Merker der LOGO 0ba8“ auf der Seite Konfiguration nochmal an.
adminAdministratorWelches Device ist bei dir denn Q10 und Q11?
-
AutorBeiträge