Seite 4 von 8 ErsteErste ... 23456 ... LetzteLetzte
Ergebnis 46 bis 60 von 112

Thema: EIB Linux Web Visualisierung

  1. #46
    Registriert seit
    Mar 2006
    Ort
    Wiesbaden
    Alter
    55
    Beiträge
    35
    Zitat Zitat von jef2000 Beitrag anzeigen
    Jean-François,
    Dir ein spätes, ganz herzliches Dankeschön!!

    Die Packages haben sich im Gegensatz zum mssii-Satz problemfrei installieren lassen.

    Nun habe ich wieder einige Zeit gebraucht, um die richtigen Parameter für den Start der Deamons für eibd und linknx (mit Siemens N148/21 IP-Schnittstelle) zu finden - damit nicht alle so lange probieren müssen wie ich:
    Code:
     # eibd -d/root/eibd.log -t3 -i ipt:192.168.178.21:3671
    Nun bin ich aber schon in der Lage, sowohl über mein Handy als auch über eine PSP (Playstation Portable meines Sohnes) das Licht in unserer Wohnung vom Sofa aus zu steuern und den Status einzusehen.

    Seeehr cool!

    Ich denke, ich brauche noch mindestens eine weitere Nacht, bis ich Euch mehr als einen Proof of Concept zeigen kann...

    Grüsse
    Dirk

  2. #47
    Registriert seit
    Nov 2007
    Ort
    Kelkheim
    Beiträge
    26
    Besteht denn prinzipiell die Möglichkeit eine DS207+ oder auch eine DS107+ ohne die N148 an den EIB zu koppeln, sondern ähnlich wie bei der OpenWRT-Lösung über eine BCU2? Wenn denn eine serielle Schnittstelle vorhanden ist, oder zB mit Hilfe der verfügbaren USB-Schnittstellen.

    Oder müsste ich dann einmal einen OpenWRT mit BCU2 und eibd nutzen und die DS107 mit linknx auf das eibd des OpenWRT zugreifen lassen?

  3. #48
    Registriert seit
    Jan 2008
    Ort
    Braine-l'Alleud (Belgium)
    Alter
    45
    Beiträge
    37
    Im Prinzip ist es möglich eibd mit eine KNX/USB schnitstelle zu benutzen. Aber damit habe ich keine erfahrung. USB schnitstelle des DS107 verhaltet sich genau wie die USB schnitstelle eines linux PC.

    Gruss,

    Jean-François

  4. #49
    jonofe ist offline Registrierter Benutzer
    Registriert seit
    Mar 2005
    Ort
    Willich-Anrath, NRW
    Alter
    53
    Beiträge
    318

    Pfeil

    Also ich verwende eibd mit USB, allerdings auf einem normalen Linux PC. Läuft super stabil. Hier der Aufruf, den ich verwende:

    Code:
    usbport=$(findknxusb | /bin/sed -e '1 d' -e 's/device //' | /bin/cut -d':' -f1-2)
    /usr/bin/eibd  -d -D -i -S -T usb:$usbport
    --

    Grüße Andre

  5. #50
    Registriert seit
    Jan 2008
    Ort
    Braine-l'Alleud (Belgium)
    Alter
    45
    Beiträge
    37
    Zitat Zitat von jonofe Beitrag anzeigen
    Also ich verwende eibd mit USB, allerdings auf einem normalen Linux PC. Läuft super stabil.
    Hallo,

    Welche BCU und USB schnitstelle hast du?

    Gruss,

    Jean-François

  6. #51
    jonofe ist offline Registrierter Benutzer
    Registriert seit
    Mar 2005
    Ort
    Willich-Anrath, NRW
    Alter
    53
    Beiträge
    318
    Zitat Zitat von jef2000 Beitrag anzeigen
    Hallo,

    Welche BCU und USB schnitstelle hast du?

    Gruss,

    Jean-François
    Es ist die ...

    Siemens KNX/EIB – USB-Schnittstelle N148/11
    5WG1 148-1AB11



    Grüße

    Andre

  7. #52
    Registriert seit
    Mar 2006
    Ort
    Wiesbaden
    Alter
    55
    Beiträge
    35
    Ich denke, ich brauche noch mindestens eine weitere Nacht, bis ich Euch mehr als einen Proof of Concept zeigen kann...
    Der Schwerpunkt meiner Anwendung bleibt zunächst die Steuerung von Licht/Rolläden aus der Ferne (über Handy-Webbrowser) und vom Sofa (über die PSP). Dafür brauche ich eine hohe Informations- und Funktionsdichte. Ich habe also auf Visualisierung verzichtet und mich in Abkürzungen geübt. Auch der Status zum Objekt ist keine Extra-Information sondern wird über entsprechende Anders-Formattierung des Umschalt-Links dargestellt.
    Bei Türkontakten ist natürlich nur der Status einsehbar, dito bei Raumtemperatur.
    Besonderheit ist der elektrische Türöffner: bei aus versehen zugeschlagener Tür und innen vergessenem Schlüssel brauche ich keinen Schlüsseldienst mehr, sondern es reicht ein Handy mit Webbrowser. Der Schutz mit PIN reicht, weil bei geplanter Abwesenheit und nachts eh abgeschlossen wird.



    Bei allen Funktionen baue ich auf Linknx von jef auf.
    Jedoch bin ich mir nicht ganz sicher, ob ich es 100% richtig nutze, denn:

    Jean-François, was kann ich tun, um die vielen für o.g. Screenaufbau nötigen knxread-Aufrufe zu beschleunigen?

    Ich dachte, wenn ich ein Objekt mit dem log=...-Attribut über "persist" logge, dann geht das knxread auf das Filesystem und liesst den letzten Status der Gruppenadresse ganz schnell aus, statt eine Anfrage auf den Bus zu senden und die Antwort abzuwarten?!
    Die zig Objekte in meinem Beispiel brauchen aber trotzdem recht lange, um den Status zu ermitteln, daher glaube ich, dass das knxread nicht auf das Filesystem geht - obwohl der Status da drin stünde. Korrekt?

    Danke nochmal für die Mühe mit der Bereitstellung von eib/linknx/pthsem für "synoware" an Dich, jef!!

    Grüsse
    Dirk

  8. #53
    Registriert seit
    Jan 2008
    Ort
    Braine-l'Alleud (Belgium)
    Alter
    45
    Beiträge
    37
    Hallo,

    Wenn du knxread und knx(s)write benützt, hast du direkt zugriff auf eibd. Kein Linknx ist dafür nötig. Die Gründ für Linknx entwicklung war gerade diese Object-read beschleunigung. In Linknx gibt's ein cache für die aktuelle Wert jede Objekt. Um linknx zu benutzen, musst du ein TCP verbindung auf linknx port (default: 1028) und dann XML Antrag machen. Wie es im Wiki erklärt ist:
    http://linknx.wiki.sourceforge.net/I...ng+with+Linknx

    Ein PHP Beispiel gibt's hier:
    http://linknx.sourceforge.net/files/example-php.txt


    Gruss,

    Jean-François

  9. #54
    Remoti ist offline Registrierter Benutzer
    Registriert seit
    Jan 2008
    Ort
    Germany
    Beiträge
    9
    Hi,

    nach einer Unterhaltung mit einem der EIB/KNX nutzten will hat sich ein Frage ergeben:

    Es sollen mehrere Fenster mit Rolläden ausgestatt werden und die mit KNX verbunden werden.

    Dann soll am PC die Weckzeit (hochfahren) und die Nachtzeit (runter) eingestellt werden können.

    Wenn dies geschehen ist, könnte ich dann rein theoretisch das KNX Kabel zu dem Rolladen abschneiden und er würde immer noch zu den eingestellten Zeiten hoch und runter fahren?

    Oder speichert das der Rolladen gar nicht selber?

    Mir geht es darum, was passiert wenn der PC spinnt, geht dann nix mehr?

    Oder kann ich dann nur nicht mehr eingreifen?

    Gruß.

  10. #55
    Registriert seit
    Mar 2006
    Ort
    Wiesbaden
    Alter
    55
    Beiträge
    35
    Zitat Zitat von Remoti Beitrag anzeigen
    Oder speichert das der Rolladen gar nicht selber?
    Hast Du mal so ganz grundsätzliche Doku zu EIB gelesen?

    Rolläden können nichts "speichern", Rollädenmotoren auch nicht.
    Auch Aktoren, die einen Rolladenmotor schalten, speichern keine Schaltzeiten, sondern schalten, wenn sie einen Befehl dazu (zur passenden Gruppenadresse) bekommen.

    Der Schalt-Befehl muss von einem Taster (Sensor) oder einer zeitgesteuerten Logik (PC, Control-Panel, etc.) kommen. Wenn die Logik ausfällt, passiert auch nichts automatisches. Dann müsste man halt per Taster den Schaltbefehl auslösen.

    Gruss
    Dirk

  11. #56
    Registriert seit
    Mar 2006
    Ort
    Wiesbaden
    Alter
    55
    Beiträge
    35
    Zitat Zitat von jef2000 Beitrag anzeigen
    Hallo,
    Wenn du knxread und knx(s)write benützt, hast du direkt zugriff auf eibd. Kein Linknx ist dafür nötig.
    Wir haben uns missverstanden, ich nutze Deine php-function "knxread", die wiederum das linknx anspricht:
    Code:
    function knxread($fp, $name)
    {
        $in = "<read><object id='$name'/></read>\n\4";
    ...
    Nicht direkt eibd.

    Ich habe mittlerweile auch rausgefunden, warum bei einem Seitenaufbau, in dem ich den Status von insgesamt 27 Objekten darstelle und dafür die 27mal die o.g. php-function aufrufe, über 3 Sekunden vergehen.

    Ich habe festgestellt, dass im Normalfall die Funktion knapp 40ms braucht, aber in Einzelfällen über 1000ms (je Status!) verbraucht wurden.

    Das lag daran, dass ich zufällig ein "/"-Zeichen (slash) in den Objektnamen hatte, was auch durchaus alles funktioniert hat. Nur hat das wohl Probleme gemacht beim Erzeugen und Append der persist-Log-Dateien.
    Nachdem ich die Objektnamen um den slash bereinigt hatte und alle Objekte mal geschaltet hatte, ging der Seitenaufbau (27 Objekt-Statusabfragen) in rund 1080ms.

    @jef:
    Interessant finde ich nun noch, dass die linknx-interne (gecachte) Status-Ermittlung je Objekt immerhin knapp 40ms dauert:
    Code:
    EG_Wohnen_Ist start - last : 0.00084
    EG_Wohnen_Ist ende - last : 0.03921
    Hier erfolgt doch kein Buszugriff, was ist dennoch der Performance-intensive Teil dabei? Das XML-Parsing?

    Grüsse,

    Dirk

  12. #57
    Registriert seit
    Nov 2007
    Ort
    Kelkheim
    Beiträge
    26
    Meines Wissens besteht bei Linknx doch auch die Möglichkeit alle Schaltvorgänge in eine mySQL-Datenbank abzulegen. Sucht man dort den letzten Eintrag (Timestamp) für das jeweilige Objekt raus, müsste es doch wesentlich schneller gehen. Dann hätte man auch gleich noch ein Logbuch.

  13. #58
    Registriert seit
    Jan 2008
    Ort
    Braine-l'Alleud (Belgium)
    Alter
    45
    Beiträge
    37
    Zitat Zitat von dschloss Beitrag anzeigen
    Interessant finde ich nun noch, dass die linknx-interne (gecachte) Status-Ermittlung je Objekt immerhin knapp 40ms dauert:
    Ich sehe auch 40ms fur jede Ermittlung, aber nicht die Erste.
    Es ist nicht an XML-Parsing gebunden, weil es gibt auch 40ms wenn ich einfach "x" anstelle des XML sende. (und "<error>Couldn't load document from string <ticpp.cpp@747></error>" bekomme)

    Wenn du eine einzelne Ermittlung ausführt, kriegst du die reale Verarbeitungszeit. Und wenn du mehrere Ermittlungen nacheinander ausführt, dann dauert jede zusätzliche Ermittlung 40ms mehr.

    Wurde es einfacher für dich eine Ermittlung wie:
    Code:
    <read><objects/></read>
    um alle objekt Werte zu lesen?
    Oder etwas wie:
    Code:
    <read><objects>
    <object id="abc"/>
    <object id="def"/>
    ...
    <object id="xyz"/>
    </objects></read>
    und antwort:
    Code:
    <read status="success"><objects>
    <object id="abc" value="on"/>
    <object id="def" value="15"/>
    ...
    <object id="xyz" value="21.40"/>
     </objects></read>
    Gruss,

    Jean-François

  14. #59
    Registriert seit
    Mar 2006
    Ort
    Wiesbaden
    Alter
    55
    Beiträge
    35
    jef, was sind das nur für unmenschliche Zeiten, zu denen Du dich täglich noch mit EIB beschäftigst...

    Zitat Zitat von jef2000 Beitrag anzeigen
    Wurde es einfacher für dich eine Ermittlung wie:
    Code:
    <read><objects/></read>
    um alle objekt Werte zu lesen?
    ...
    Das wäre perfekt, wenn es genau die x-mal 40ms spart.
    Aber ich habe es getestet und sehe, dass es nicht geht und Du wohl über eine mögliche zukünftige Version sprichst, oder?
    Da auf meiner Synology Ds207+ nur eine Synoware Version läuft, wäre ich hier doppelt auf Deinen Support angewiesen. Bei Deiner Auslastung traue ich mich gar nicht, darum zu bitten...

    cni sagte mir, Du hast auch einen Modus zum Schreiben der persist-Daten in mysql in Deine letzte Version eingebaut? Wäre natürlich auch klasse.

    Gruss,
    Dirk

  15. #60
    Registriert seit
    Jan 2008
    Ort
    Braine-l'Alleud (Belgium)
    Alter
    45
    Beiträge
    37
    Zitat Zitat von dschloss Beitrag anzeigen
    Aber ich habe es getestet und sehe, dass es nicht geht und Du wohl über eine mögliche zukünftige Version sprichst, oder?
    Ja, ich muss es noch entwickeln.
    Zitat Zitat von dschloss Beitrag anzeigen
    Da auf meiner Synology Ds207+ nur eine Synoware Version läuft, wäre ich hier doppelt auf Deinen Support angewiesen. Bei Deiner Auslastung traue ich mich gar nicht, darum zu bitten...
    Kein problem

    Zitat Zitat von dschloss Beitrag anzeigen
    cni sagte mir, Du hast auch einen Modus zum Schreiben der persist-Daten in mysql in Deine letzte Version eingebaut? Wäre natürlich auch klasse.
    Ja, aber nur ein test-build, und auf seinem NAS verursacht es ein core-dump...
    Das Problem ist dass linknx musst sich mit libmysqlclient.so verbinden, und diese lib hängt von die eingerichtet Mysql Version ab.

    Gruss,

    Jean-François

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •