Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Binding für Viessmann Heizungen

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

    [Featurewunsch] - √ - Binding für Viessmann Heizungen

    Hallo zusammen,

    ich habe die letzte Zeit verstärkt im Internet nach einer Möglichkeit gesucht meine Viessmann Wärmepumpe an den KNX anzuschließen. Leider ist mir die Viessmann Lösung viel zu teuer.

    Nun bin ich auf folgende Seite gestoßen:
    http://openv.wikispaces.com/vcontrold

    Ich habe mir einen optischen Adapter besorgt und das Programm vcontrold auf einem Raspberry installiert. Sei ein paar Stunden kann ich Daten von meiner Heizung vclient abfragen. Schön wäre es wenn ich die Informationen in openHAb bzw. KNX bekommen würde.

    Da ich nicht Java programmieren kann, nun meine unverschämte Frage an euch. Hat jemand Lust ein Binding für openHab zu programmieren das die Kommunikation zur Heizung übernimmt, ohne dass vcontrold benötigt wird?

    PS: Ein Issues habe ich bereits erstellt --> #477

    Gruß
    mepi0011
    Gruß

    #2
    Hi ,

    Hab es mit einem kleine shell script gelöst.
    Per cron werden die daten in txt file geschrieben und per exec binding ausgelsen und im openhab angezeigt


    Gruss

    Kommentar


      #3
      Zitat von theneon Beitrag anzeigen
      Hi ,

      Hab es mit einem kleine shell script gelöst.
      Per cron werden die daten in txt file geschrieben und per exec binding ausgelsen und im openhab angezeigt


      Gruss
      Hallo theneon,

      kannst du bitte dein Shell-Script und wie du es mit der exec-Binding realisiert hast veröffentlichen?

      Gruß
      mepi0011

      Kommentar


        #4
        cron :
        */5 * * * * /usr/local/bin/vclient -h 127.0.0.1:3002 -c getTempA,getTempWWist,getTempKist,getBrennerStatus ,getBrennerStarts,getTempSpu,getPumpeStatusZirku,g etSolarStatusWW -s /mnt/share/heizung/last_all.txt

        item :
        Number HeizungTempKist "Kesseltemperatur1 [%.1f °C]" <temperature> (Heizung_Chart){ exec="<[/usr/local/bin/openv_values@@3:60000:REGEX((.*?))]" }

        script openv_value

        !/bin/bash
        tail -1 /mnt/share/heizung/last_all.txt | cut -d';' -f$1

        Kommentar


          #5
          Hallo theneon,

          vielen Dank für Informationen. Diese Lösung finde ich clever! :-)

          Kannst du mir bitte noch erklären was folgender Code genau macht?

          Zitat von theneon Beitrag anzeigen
          @@3:60000:REGEX((.*?))]" }
          Wie wird sichergestellt dass der Wert des item in regelmäsigen Abständen aktualisiert wird? Muss noch eine Regel erstellt werden und wie muss diese aussehen?


          PS: kennst du folgendes Projekt openv4j - OpenV4j? Dieses müsste doch direkt eingebunden werden können z.B in Regeln?


          Gruß
          mepi0011

          Kommentar


            #6
            Zitat von mepi0011 Beitrag anzeigen
            Hallo theneon,

            vielen Dank für Informationen. Diese Lösung finde ich clever! :-)

            Kannst du mir bitte noch erklären was folgender Code genau macht?



            Wie wird sichergestellt dass der Wert des item in regelmäsigen Abständen aktualisiert wird? Muss noch eine Regel erstellt werden und wie muss diese aussehen?


            PS: kennst du folgendes Projekt openv4j - OpenV4j? Dieses müsste doch direkt eingebunden werden können z.B in Regeln?


            Gruß
            mepi0011

            Hi ,

            nein das Projekt kenne ich nicht ... Muss ich mir mal anschauen....
            Aktuell wird nicht sicher gestellt ob die Daten kommen , muss aber sagen es läuft seit ca einem Jahr ohne Probleme.

            Bei mir sieht die Anbindung so aus

            http://openv.wikispaces.com/Bauanleitung+3.3V+TTL -> Raspi1 (openhab)

            Wichtig beim TTL Adapter sollte ein PL2303 verwendet werden , bei dem im Beispiel hatte ich mit Linux Probleme bzw abstürze.

            Hatte mir damals überlegt ein eigenes Binding zu schreiben , aber da es so stabil läuft hatte ich bis jetzt nicht Zeit und Notwendigkeit .

            Wegen dem Eintrag bei den Items das ist neue Syntax mit openhab 1.3

            https://code.google.com/p/openhab/wiki/ExecBinding

            die 60000 ist das Refresh interval und die Regex die Transformation ( Aktuell nimm alles)

            Kommentar


              #7
              Hi,

              Zitat von mepi0011 Beitrag anzeigen
              vielen Dank für Informationen. Diese Lösung finde ich clever! :-)
              ich auch :-)

              Dennoch, sollten noch weitere Wünsche bzgl. Viessmann bestehen. Bitte ich ein Issue im Issuetracker einzutragen.

              Gruß,

              Thomas E.-E.
              Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

              Kommentar


                #8
                Zitat von teichsta Beitrag anzeigen
                Hi,



                ich auch :-)

                Dennoch, sollten noch weitere Wünsche bzgl. Viessmann bestehen. Bitte ich ein Issue im Issuetracker einzutragen.

                Gruß,

                Thomas E.-E.
                Hallo Thoms,
                Ein Issue habe ich bereits erstellt! Siehe #477

                Gruß
                Mepi0011

                Kommentar


                  #9
                  Habe es auch nach diesem Prinzip gelöst. Die Anzeige in openhab funktioniert

                  Wo ich aber scheitere ist die Übergabe der Werte auf KNX

                  Code:
                  Number HeizungTempA            "Aussentemperatur [%.1f °C]"   (Heizung)                {exec="<[/etc/vcontrold/client/OH_openv_values@@1:60000:REGEX((.*?))]",knx="9.001:10/1/111"}
                  Number HeizungTempWWist        "WW ist [%.1f °C]"             (Heizung)                {knx="10/1/111",exec="<[/etc/vcontrold/client/OH_openv_values@@2:60000:REGEX((.*?))]"}
                  Number HeizungTempWWsoll       "WW soll [%.1f °C]"            (Heizung)                {exec="<[/etc/vcontrold/client/OH_openv_values@@3:60000:REGEX((.*?))]",knx="10/1/122"}
                  Habe schon einiges versucht vielleicht kann mir jemand einen Tipp geben.

                  Liegt es am Zahlenformat?

                  Code:
                  2015-11-07 16:30:18.973 [INFO ] [runtime.busevents             ] - HeizungTempWWist state updated to 47.500000
                  2015-11-07 16:30:19.088 [INFO ] [runtime.busevents             ] - HeizungTempWWsoll state updated to 60.000000
                  2015-11-07 16:30:19.201 [INFO ] [runtime.busevents             ] - HeizungTempA state updated to 9.000000
                  Es funktioniert auch nicht wenn ich von Hand die Werte 47.5,60.0,9.0 in die last_all.txt eintrage.

                  Ich bitte um Unterstützung

                  Schönen Gruß Gernot

                  Kommentar


                    #10
                    Hallo zusammen,

                    super, dass das Thema Viessmann / Vitocal + Openhab hier aufgegriffen wird, ich hatte die Hoffnung schon aufgegeben.

                    Im Moment kann ich meine Vitocal auslesen, das mache ich mit dem Optolink USB Adapter und einem kleinen selbstgestrickten .net Progrämmchen, das wiederum per REST die Daten an Openhab schickt. Das ganze ist aber noch im Bastelstatus - und in .net realisiert, was ja nicht als binding für openHab taugt.
                    Wenn ich hier mithelfen kann, ein "echtes" binding zu erstellen bin ich auf jeden Fall dabei!


                    Hat jemand von euch schon einmal probiert, Befehle an die Vitocal zu schicken (mal abgesehen von der Value Request Message)?
                    Ich fände es extrem praktisch, wenn ich per openhab Logik die 1x Warmwasserbereitung anstoßen könnte. den entsprechenden Menüpunkt in meiner Vitotronic gibts natürlich zum aktivieren per Hand im Heizungskeller.



                    Kommentar


                      #11
                      Zitat von murelli146 Beitrag anzeigen
                      Liegt es am Zahlenformat?
                      ....
                      Es funktioniert auch nicht wenn ich von Hand die Werte 47.5,60.0,9.0 in die last_all.txt eintrage.
                      Hallo Gernot,

                      leider visualisiere ich die Daten nur auf openHAB und kann dir da nicht direkt weiterhelfen.

                      Ich vermute es liegt am Datentyp, siehe https://github.com/openhab/openhab/wiki/KNX-Binding

                      Welchen Datentyp erwartet deine Anzeige / Aktor auf der KNX Seite?

                      Um das Problem zu lösen, würde ich mich schrittweise vortasten und versuchen mit Hilfe einer Rule Daten auf den KNX zu senden.
                      Die Rule könnte beispielsweise Zufallszahlen senden oder den Wert der Heizung in ein anderes Zahlentyp wandeln und an den KNX senden.

                      Beispiel für eine Regel mit Zufallszahlen:

                      Code:
                      import org.openhab.core.library.types.*
                      
                      rule Zufallswert
                      when
                        Time cron "0/30 * * * * ?" // Abfrage alle 30 Sehunden
                      then
                        HomeTotalPower.sendCommand((Math::random * -8000).intValue+3000)
                      end
                      Gruß
                      mepi0011

                      PS: Die Lösung würde mich interessieren!
                      Zuletzt geändert von mepi0011; 17.11.2015, 21:37.

                      Kommentar

                      Lädt...
                      X