Ankündigung

Einklappen
Keine Ankündigung bisher.

MisterHouse & Temperaturabfrage über DS1920

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    HS/FS MisterHouse & Temperaturabfrage über DS1920

    Hallo KNX'ler,

    ich suche eine Möglichkeit Temperaturen aus einer *.log Datei in MisterHouse zu importieren bzw möchte ich das MH mit diesen Werten arbeiten (rechnen & darstellen) kann.

    Hintergrund: Die Temperaturen erfasse ich an der zweiten Seriellen Schnittstelle des MH-Servers mit 'digigtemp' und mehreren 'DS1920-Fühlern'.

    Mit digitemp erzeuge ich in regelmäßigen Abständen eine Textdatei die MH nun einlesen müßte - leider weiß ich nicht wie ich das in dem MH-Code konfigurieren soll.

    Auf der Seite 'http://marc.merlins.org/perso/homeha/post_2009-12-23_Temperature-monitoring-and-graphing-with-1wire-devices_-digitemp_-misterhouse_-and-cacti.html' ist das ganze schon beschrieben allerdings finde ich keine Info wie MH das Logfile importiert.

    Ich hoffe mir kann da jemand Helfen.

    #2
    warum lässt du den mh nicht per skript selber die temperatur die temperatur erfassen und die daten in einer rrd-datenbank speichern? damit kannst du mit bordmitteln alles erschlagen...einlesen, speichern und darstellen

    stichwort : owserver und rrd

    ansonsten schau mal z.b. hier : SELFHTML: Perl / Dateien lesen und schreiben
    ABB SA/Sx.16.5S, BJ RCP 6136/100C-101, 1wire
    SOMFY Animeo KNX, eibd und misterhouse auf IBM netvista 8364
    , SB Radio, Archos 7 HomeTablet

    Kommentar


      #3
      Zitat von tombu Beitrag anzeigen
      Hallo KNX'ler,

      ich suche eine Möglichkeit Temperaturen aus einer *.log Datei in MisterHouse zu importieren bzw möchte ich das MH mit diesen Werten arbeiten (rechnen & darstellen) kann.

      Mit digitemp erzeuge ich in regelmäßigen Abständen eine Textdatei die MH nun einlesen müßte - leider weiß ich nicht wie ich das in dem MH-Code konfigurieren soll.
      Hmm, also, ich bin mir nicht sicher, ob das der beste Ansatz ist. Wenn du das jedoch so wie beschrieben umsetzen willst, ist das - Perl-Programmierkenntnisse vorausgesetzt - nicht allzu schwierig: Du schreibst dir einfach ein Code-File, das die Logdatei öffnet und extrahierst mit Perlmitteln die gewünschten Werte. Beachte, dass das Code-File per default zyklisch ausgeführt wird.



      Allerdings habe ich auf die Schnelle gesehen, dass es für den Umgang mit One-Wire schon Klassen gibt:

      Unter code/examples gibt es auch eine onewire_xap.pl. Vielleicht kommst du über diesen Ansatz weiter. Genau angeschaut habe ich mir die Klassen noch nicht.

      Gruß,
      thoern

      Kommentar


        #4
        Vielleicht auch mal hier nachlesen:

        http://misterhouse.wikispaces.com/1-Wire+Examples

        Gruß,
        thoern

        Kommentar


          #5
          Altzheimer...

          Ich sag jetzt nicht, dass ich schon mal einen Thread zum Thema gestartet hatte:

          https://knx-user-forum.de/knx-eib-fo...sterhouse.html

          Kommentar


            #6
            Hallo tombu,

            misterhouse bietet Funktionen für Dateioperationen an. Schau Dir einmal file_changed und file_tail an, damit sollte sich deine Forderung lösen lassen.

            Grüße
            Werner

            Kommentar


              #7
              Hallo,

              habe bisher eine Lösung mit
              realisiert (benutzen der Suchfunktion hier führt auch zum CodeBeispiel).

              Allerdings bekomme ich nur vernünftige Werte, wenn ich den USB-1Wire Adapter direkt abfrage (mit der Wartezeit, die mir meinen ganzen Misterhouse anhält), mit dem owfsserver bekomme ich es nicht hin.

              Genau aus obigen Gründen heraus bin ich im Moment dabei die von dir vorgeschlagene Lösung umzusetzen:

              OWFS läuft unabhängig von mh und schreibt die Werte in eine Datei. mh liest diese Datei und braucht nicht auf die langsamen Temperaturgeber zu warten. (Eigentlich sollte die Nutzung von owfsserver dieses auch schon entkoppeln, aber das funktioniert bei mir nicht.) (Hierzu gab es auch schon Artikel im Forum).

              Gruss McTao (Andreas)

              Kommentar


                #8
                Hallo,

                Zitat von McTao Beitrag anzeigen
                Allerdings bekomme ich nur vernünftige Werte, ...
                Was sind denn vernünftige Werte?

                Grüße
                Werner

                Kommentar


                  #9
                  owfs verwenden.. digitemp ist IMHO eine Schönwetter-Applikation
                  vernünftige Werte: 85,0° ignorieren, denn das sind nach Maxim Lesefehler..

                  Edit: und die DS1920 sind seit Urzeiten EOL..

                  Makki
                  EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                  -> Bitte KEINE PNs!

                  Kommentar


                    #10
                    Zitat von Werner Beitrag anzeigen
                    Was sind denn vernünftige Werte?
                    Hast recht wenn die Werte übermittelt werden, war der Inhalt schon vernünftig (also richtige Temperaturwerte). Aber das zum lesen dieser Werte mh komplett stehen blieb und nicht mehr ansprechbar war (teilweise bis zu mehreren Minuten) war dann nicht mehr akzeptabel.

                    Gestern habe ich deshalb folgende Lösung umgesetzt:
                    Ich habe mein TemperaturOWFS.pl aus dem codeVerzeichnis von mh genommen und als eigenständiges Script in meine crontab übernommen.

                    Das übermitteln der Temperaturwerte mache ich jetzt (nicht wie geplant über eine Datei) mit groupswrite. D.h. die Temperaturen werden von einem externen Prozess (bei dem es egal ist, wie lange er dauert) auf den Bus gesendet.

                    Ergebnis: mh wird nicht mehr ausgebremst beim lesen der Temperaturwerte und läuft wieder so flüssig wie es ohne owfs mal war.

                    Umsetzung: Lesen der Daten mit ow.pm (ow::init und ow::read) und konvertieren der Daten dann zu EIS5 (code aus EIB_Item) und senden dieser dann per groupswrite auf den Bus.

                    Gruss McTao (Andreas)
                    Ich lese die Daten mit

                    Kommentar


                      #11
                      Hallo,
                      Zitat von McTao Beitrag anzeigen
                      Aber das zum lesen dieser Werte mh komplett stehen blieb und nicht mehr ansprechbar war (teilweise bis zu mehreren Minuten) war dann nicht mehr akzeptabel.
                      Welchen Busmaster verwendest Du? Ich kann das mit einem DS9490 nicht bestätigen. Ich lese jetzt versuchsweise alle 30 sek aus und mh läuft ohne Probleme.
                      Grüße
                      Werner

                      Kommentar


                        #12
                        Zitat von Werner Beitrag anzeigen
                        Hallo,

                        Welchen Busmaster verwendest Du? Ich kann das mit einem DS9490 nicht bestätigen. Ich lese jetzt versuchsweise alle 30 sek aus und mh läuft ohne Probleme.
                        Ich nutze auch den DS9490 an einem Debian XEN System. Ich habe noch keinen Grund gefunden, warum es so langsam ist, habe aber noch folgende Testmöglichkeiten (komme nur nicht dazu):
                        Hochwertigere Kabel und aktive power zu verwenden. (Ich vermute daran liegts).

                        Bin aber mit der asyncronen Lösung, welche seit Freitag läuft erst mal gut zufrieden.

                        Gruss McTao (Andreas)

                        Kommentar


                          #13
                          Hallo,

                          prima das so viele auf meine Frage antworten - leider verstehe nur Bahnhof.

                          '1-Wire' bzw 'owfs' setzt das die Zusatzsoftware von 'owfs.org' vorraus ?

                          Wenn ja was muss ich denn jetzt alles auf meinem Linux-System installieren und kompilieren und keine Ahnung was damit ich die Beispielscripte aus den Examples benutzen kann ??? Und wie greift MH auf diese Informationen zu ???

                          Wäre super wenn mir da jemand Ansatzweise den Zusammenhang erklären könnte - da ich leider kein LinuxGURU bin.

                          Für ein paar Tipps schon mal Danke im Vorraus.

                          Kommentar


                            #14
                            Hallo,
                            Zitat von tombu Beitrag anzeigen
                            prima das so viele auf meine Frage antworten - leider verstehe nur Bahnhof.
                            Keine Sorge, das wird besser. In ein paar Jahren verstehst Du zwar immer noch Bahnhof, aber es stört Dich nicht mehr
                            Zitat von tombu
                            '1-Wire' bzw 'owfs' setzt das die Zusatzsoftware von 'owfs.org' vorraus ?
                            owfs - Ja.
                            Zitat von tombu
                            Wenn ja was muss ich denn jetzt alles auf meinem Linux-System installieren und kompilieren und keine Ahnung was damit ich die Beispielscripte aus den Examples benutzen kann ???
                            Du findest sicher eine Anleitung für deine Distribution im Internet. Für Ubuntu zB. hier.
                            Zitat von tombu
                            Und wie greift MH auf diese Informationen zu ???
                            zB. mit Owfs_Item.pm

                            Das Problem mit Open Source ist nicht ob etwas geht, sondern dass es meistens auf viele Arten geht. Wenn Du eibd und misterhouse bereits am laufen hast und Werte von digitemp bekommst, würde ich fürs Erste die Lösung von Andreas empfehlen.
                            Zitat von McTao
                            Das übermitteln der Temperaturwerte mache ich jetzt (nicht wie geplant über eine Datei) mit groupswrite.
                            Die Temperaturwerte gehen dann über den Bus und nicht übers Filesystem.

                            Grüße
                            Werner

                            Kommentar


                              #15
                              2.8p0 (bzw. alles >2.7p34) habe ich bis heute nicht ansatzweise halbwegs stabil in allen Umgebungen ans rennen gebracht; owfs aus dem source zu machen kann auch leicht anstrengend werden, für x86 gibts nen einfachen Ausweg

                              Wie immer der Disclaimer: nicht alle packages in dem repository sind ungefährlich, man weiss bitte was man tut (owfs alleine sollte schon ungefährlich sein)

                              Makki
                              EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                              -> Bitte KEINE PNs!

                              Kommentar

                              Lädt...
                              X