Luxtronik WP Steuerung auslesen (Alpha Innotec, Novelan, evtl. auch Buderus)

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Musicman
    Extension Master
    • 07.11.2017
    • 102

    #91
    Hi wieslr

    Ich denke du kannst das Programm von Niggo so einfach verwenden. Die Beschreibungen hier im Forum sind leider nicht so deutlich, etwas mehr ausholen hätte man können, auch wenn es logisch ist. Ich habe das selbst eben auch realisiert und bei mir funktionierts.

    1) Ja, ich denke schon. Ich habe Firmware Version 1.8 und mache es auch so
    2) Im Beispiel Code von Niggo steht ziemlich am Schluss die Zuordnung der Virtuellen Eingänge. Beispiel:
    setio("VI13",brauchwasser);
    Wenn du jetzt in Loxone Config einen neuen Virtuellen Eingang einfügst, dann schau was bei dem neuen Eingang beim grauen Text "Anschluss" steht. Steht dort z.B. VI2, dann musst du bei der Zeile oben auch VI2 eintragen:
    setio("VI2",brauchwasser);
    Das ist die Zuordnung, die stimmen muss, sonst geht nichts. Der virtuelle Eingang muss zudem ein analoger Eingang sein, also der Haken bei "Als Digital Eingang verwenden" musst du entfernen.
    3) Der Programmbaustein muss mit nichts verbunden werden
    4) Das sieht korrekt aus
    5) Das liegt daran, dass du JAVA installiert haben musst. Bei mir geht es z.B. nur im Internet Explorer, also versuchs mal damit

    Ich persönlich habe den Code noch entrümpelt, da ich an weniger Dingen interessiert bin. Leider ist meine Abfrage nicht immer korrekt, weiss jemand an was das liegt, wenn zwischendurch falsche Werte ausgelesen werden? Die Statistik mit Mittelwertbildung ist dann auch nicht hilfreich. Wie sind eure Erfahrungen?

    Kommentar

    • Roger-b
      LoxBus Spammer
      • 23.04.2016
      • 222

      #92
      Ich hatte den sehr kompetenten Techniker von AIT Schweiz bei mir da ich keine Daten vom ModBus erhielt, er hat rausgefunden das die neueste Software von AIT WP leider einen BUG hat bei ModBus.. runtergestuft und es funktioniert einwandfrei..


      Gesendet von iPhone mit Tapatalk

      Kommentar


      • Benjamin Jobst
        Benjamin Jobst kommentierte
        Kommentar bearbeiten
        Weißt du, welche Firmware da bei dir betroffen ist?
    • Bouni
      LoxBus Spammer
      • 01.09.2015
      • 291

      #93
      Roger-b Das was wir hier machen verwendet nicht die ModBus Schnittstelle die AIT zu horendem Preis anbietet! Wir lesen die Daten aus dem Webinterface aus.

      Kommentar

      • Musicman
        Extension Master
        • 07.11.2017
        • 102

        #94
        Habt ihr auch das Problem, dass immer wieder Fehler auftauchen und dann eine Fehlermeldung per e-Mail eintrifft (Loxone Could Mailer Einstellung "Für Fehlermeldungen verwenden" ist aktiviert.
        Ich habe nicht herausgefunden, wie ich Fehlermeldungen spezifisch ignorieren kann und wäre über einen Tipp dankbar

        Kommentar

        • goldbrunner
          Smart Home'r
          • 24.07.2017
          • 45

          #95
          Hallo Zusammen,

          das Programm aus dem ersten Post funktioniert grundsätzlich sehr gut.
          Habe Novelan Luxtronik2 - V3.79. -> Port 8889

          Es waren lediglich noch ein paar Leerzeichenfehler im Code.

          Code:
          #define BUFF_SIZE 1500
          #define RD_BLOCK_SIZE 4
          
          char szTmpBuffer;
          int nCnt;
          int nBytesReceived = 0;
          int i = 0;
          unsigned char szBuffer[1500];
          int nLen;
          int wert1;
          int wert2;
          int wert3;
          int wert4;
          float vorlauf;
          float ruecklauf;
          float ruecklauf_soll;
          float ruecklauf_ext;
          float heizgas;
          float aussentemperatur;
          float soletemperaturEIN;
          float soletemperaturAUS;
          float MischkreisFBH;
          float MischkreisFBHsoll;
          float Wassertasche;
          float Solarspeicher;
          float brauchwasser;
          float Status;
          float Zaehler_BetrZeitVD1;
          float WMZHeiz;
          float WMZWW;
          float WMZPV;
          float WP_BZ_akt;
          
          while(TRUE)
          {
          STREAM* stream = stream_create("/dev/tcp/192.168.0.41/8889",0,0);
          if (stream != NULL)
          { 
          i=0;
          printf("Novelan READ");
          szBuffer[0] = 0x00;
          szBuffer[1] = 0x00; 
          szBuffer[2] = 0x0b;
          szBuffer[3] = 0xbc;
          stream_write(stream,szBuffer,4);
          stream_flush(stream);
          printf("Stream 3004");
          szBuffer[0] = 0x00;
          szBuffer[1] = 0x00; 
          szBuffer[2] = 0x00;
          szBuffer[3] = 0x00; 
          stream_write(stream,szBuffer,4); 
          stream_flush(stream);
          printf("Stream 0");
          nLen = stream_read(stream,szBuffer,4,1000);
          printf("Read Feedback"); 
          printf("Novelan Len=%d",nLen); 
          nLen = stream_read(stream,szBuffer,4,1000);
          printf("Read Status"); 
          printf("Novelan Len=%d",nLen); 
          nLen = stream_read(stream,szBuffer,4,1000);
          printf("Read Länge"); 
          printf("Novelan Len=%d",nLen); 
          
          
          nLen = stream_read(stream,szBuffer,sizeof(szBuffer),1000) ;
          printf("Novelan Len=%d",nLen); 
          stream_close(stream);
          printf("Novelan 40= %d",szBuffer[40]);
          szTmpBuffer=(szBuffer[40]);
          wert1=(szTmpBuffer);
          printf("Novelan 41= %d",szBuffer[41]);
          szTmpBuffer=(szBuffer[41]);
          wert2=(szTmpBuffer);
          printf("Novelan 42= %d",szBuffer[42]);
          szTmpBuffer=(szBuffer[42]);
          wert3=(szTmpBuffer); 
          printf("Novelan 43= %d",szBuffer[43]);
          szTmpBuffer=(szBuffer[43]);
          wert4=(szTmpBuffer);
          vorlauf=(wert1*256*256*256+wert2*256*256+wert3*256+wert4)*0.1;
          printf("Novelan Vorlauf= %f",vorlauf);
          
          printf("Novelan 44= %d",szBuffer[44]);
          szTmpBuffer=(szBuffer[44]);
          wert1=(szTmpBuffer);
          printf("Novelan 45= %d",szBuffer[45]);
          szTmpBuffer=(szBuffer[45]);
          wert2=(szTmpBuffer);
          printf("Novelan 46= %d",szBuffer[46]);
          szTmpBuffer=(szBuffer[46]);
          wert3=(szTmpBuffer); 
          printf("Novelan 47= %d",szBuffer[47]);
          szTmpBuffer=(szBuffer[47]);
          wert4=(szTmpBuffer);
          ruecklauf=(wert1*256*256*256+wert2*256*256+wert3*256+wert4)*0.1;
          printf("Novelan Rücklauf= %f",ruecklauf);
          
          printf("Novelan 48= %d",szBuffer[48]);
          szTmpBuffer=(szBuffer[48]);
          wert1=(szTmpBuffer);
          printf("Novelan 49= %d",szBuffer[49]);
          szTmpBuffer=(szBuffer[49]);
          wert2=(szTmpBuffer);
          printf("Novelan 50= %d",szBuffer[50]);
          szTmpBuffer=(szBuffer[50]);
          wert3=(szTmpBuffer); 
          printf("Novelan 51= %d",szBuffer[51]);
          szTmpBuffer=(szBuffer[51]);
          wert4=(szTmpBuffer);
          ruecklauf_soll=(wert1*256*256*256+wert2*256*256+wert3*256+wert4)*0.1;
          printf("Novelan Rcklauf= %f",ruecklauf_soll);
          
          printf("Novelan 52= %d",szBuffer[52]);
          szTmpBuffer=(szBuffer[52]);
          wert1=(szTmpBuffer);
          printf("Novelan 53= %d",szBuffer[53]);
          szTmpBuffer=(szBuffer[53]);
          wert2=(szTmpBuffer);
          printf("Novelan 54= %d",szBuffer[54]);
          szTmpBuffer=(szBuffer[54]);
          wert3=(szTmpBuffer); 
          printf("Novelan 55= %d",szBuffer[55]);
          szTmpBuffer=(szBuffer[55]);
          wert4=(szTmpBuffer);
          ruecklauf_ext=(wert1*256*256*256+wert2*256*256+wert3*256+wert4)*0.1;
          printf("Novelan ruecklauf_ext= %f",ruecklauf_ext);
          
          printf("Novelan 56= %d",szBuffer[56]);
          szTmpBuffer=(szBuffer[56]);
          wert1=(szTmpBuffer);
          printf("Novelan 57= %d",szBuffer[57]);
          szTmpBuffer=(szBuffer[57]);
          wert2=(szTmpBuffer);
          printf("Novelan 58= %d",szBuffer[58]);
          szTmpBuffer=(szBuffer[58]);
          wert3=(szTmpBuffer); 
          printf("Novelan 59= %d",szBuffer[59]);
          szTmpBuffer=(szBuffer[59]);
          wert4=(szTmpBuffer);
          heizgas=(wert1*256*256*256+wert2*256*256+wert3*256+wert4)*0.1;
          printf("Novelan heizgas= %f",heizgas);
          
          printf("Novelan 60= %d",szBuffer[60]);
          szTmpBuffer=(szBuffer[60]);
          wert1=(szTmpBuffer);
          printf("Novelan 61= %d",szBuffer[61]);
          szTmpBuffer=(szBuffer[61]);
          wert2=(szTmpBuffer);
          printf("Novelan 62= %d",szBuffer[62]);
          szTmpBuffer=(szBuffer[62]);
          wert3=(szTmpBuffer); 
          printf("Novelan 63= %d",szBuffer[63]);
          szTmpBuffer=(szBuffer[63]);
          wert4=(szTmpBuffer);
          aussentemperatur=(wert1*256*256*256+wert2*256*256+wert3*256+wert4)*0.1;
          printf("Novelan aussentemperatur= %f",aussentemperatur);
          
          printf("Novelan 68= %d",szBuffer[68]);
          szTmpBuffer=(szBuffer[68]);
          wert1=(szTmpBuffer);
          printf("Novelan 69= %d",szBuffer[69]);
          szTmpBuffer=(szBuffer[69]);
          wert2=(szTmpBuffer);
          printf("Novelan 70= %d",szBuffer[70]);
          szTmpBuffer=(szBuffer[70]);
          wert3=(szTmpBuffer); 
          printf("Novelan 71= %d",szBuffer[71]);
          szTmpBuffer=(szBuffer[71]);
          wert4=(szTmpBuffer);
          brauchwasser=(wert1*256*256*256+wert2*256*256+wert3*256+wert4)*0.1;
          printf("Novelan Brauchwassertemp.= %f",brauchwasser);
          
          printf("Novelan 76= %d",szBuffer[76]);
          szTmpBuffer=(szBuffer[76]);
          wert1=(szTmpBuffer);
          printf("Novelan 77= %d",szBuffer[77]);
          szTmpBuffer=(szBuffer[77]);
          wert2=(szTmpBuffer);
          printf("Novelan 78= %d",szBuffer[78]);
          szTmpBuffer=(szBuffer[78]);
          wert3=(szTmpBuffer); 
          printf("Novelan 79= %d",szBuffer[79]);
          szTmpBuffer=(szBuffer[79]);
          wert4=(szTmpBuffer);
          soletemperaturEIN=(wert1*256*256*256+wert2*256*256+wert3*256+wert4)*0.1;
          printf("Novelan soletemperaturEIN= %f",soletemperaturEIN);
          
          printf("Novelan 80= %d",szBuffer[80]);
          szTmpBuffer=(szBuffer[80]);
          wert1=(szTmpBuffer);
          printf("Novelan 81= %d",szBuffer[81]);
          szTmpBuffer=(szBuffer[81]);
          wert2=(szTmpBuffer);
          printf("Novelan 82= %d",szBuffer[82]);
          szTmpBuffer=(szBuffer[82]);
          wert3=(szTmpBuffer); 
          printf("Novelan 83= %d",szBuffer[83]);
          szTmpBuffer=(szBuffer[83]);
          wert4=(szTmpBuffer);
          soletemperaturAUS=(wert1*256*256*256+wert2*256*256+wert3*256+wert4)*0.1;
          printf("Novelan soletemperaturAUS= %f",soletemperaturAUS);
          
          printf("Novelan 84= %d",szBuffer[84]);
          szTmpBuffer=(szBuffer[84]);
          wert1=(szTmpBuffer);
          printf("Novelan 85= %d",szBuffer[85]);
          szTmpBuffer=(szBuffer[85]);
          wert2=(szTmpBuffer);
          printf("Novelan 86= %d",szBuffer[86]);
          szTmpBuffer=(szBuffer[86]);
          wert3=(szTmpBuffer); 
          printf("Novelan 87= %d",szBuffer[87]);
          szTmpBuffer=(szBuffer[87]);
          wert4=(szTmpBuffer);
          MischkreisFBH=(wert1*256*256*256+wert2*256*256+wert3*256+wert4)*0.1;
          printf("Novelan MischkreisFBH= %f",MischkreisFBH);
          
          printf("Novelan 88= %d",szBuffer[88]);
          szTmpBuffer=(szBuffer[88]);
          wert1=(szTmpBuffer);
          printf("Novelan 89= %d",szBuffer[89]);
          szTmpBuffer=(szBuffer[89]);
          wert2=(szTmpBuffer);
          printf("Novelan 90= %d",szBuffer[90]);
          szTmpBuffer=(szBuffer[90]);
          wert3=(szTmpBuffer); 
          printf("Novelan 91= %d",szBuffer[91]);
          szTmpBuffer=(szBuffer[91]);
          wert4=(szTmpBuffer);
          MischkreisFBHsoll=(wert1*256*256*256+wert2*256*256+wert3*256+wert4)*0.1;
          printf("Novelan MischkreisFBHsoll= %f",MischkreisFBHsoll);
          
          printf("Novelan 104= %d",szBuffer[104]);
          szTmpBuffer=(szBuffer[104]);
          wert1=(szTmpBuffer);
          printf("Novelan 105= %d",szBuffer[105]);
          szTmpBuffer=(szBuffer[105]);
          wert2=(szTmpBuffer);
          printf("Novelan 106= %d",szBuffer[106]);
          szTmpBuffer=(szBuffer[106]);
          wert3=(szTmpBuffer); 
          printf("Novelan 107= %d",szBuffer[107]);
          szTmpBuffer=(szBuffer[107]);
          wert4=(szTmpBuffer);
          Wassertasche=(wert1*256*256*256+wert2*256*256+wert3*256+wert4)*0.1;
          printf("Novelan Wassertasche= %f",Wassertasche);
          
          printf("Novelan 108= %d",szBuffer[108]);
          szTmpBuffer=(szBuffer[108]);
          wert1=(szTmpBuffer);
          printf("Novelan 109= %d",szBuffer[109]);
          szTmpBuffer=(szBuffer[109]);
          wert2=(szTmpBuffer);
          printf("Novelan 110= %d",szBuffer[110]);
          szTmpBuffer=(szBuffer[110]);
          wert3=(szTmpBuffer); 
          printf("Novelan 111= %d",szBuffer[111]);
          szTmpBuffer=(szBuffer[111]);
          wert4=(szTmpBuffer);
          Solarspeicher=(wert1*256*256*256+wert2*256*256+wert3*256+wert4)*0.1;
          printf("Novelan Solarspeicher= %f",Solarspeicher);
          
          printf("Novelan 224= %d",szBuffer[224]);
          szTmpBuffer=(szBuffer[224]);
          wert1=(szTmpBuffer);
          printf("Novelan 225= %d",szBuffer[225]);
          szTmpBuffer=(szBuffer[225]);
          wert2=(szTmpBuffer);
          printf("Novelan 226= %d",szBuffer[226]);
          szTmpBuffer=(szBuffer[226]);
          wert3=(szTmpBuffer); 
          printf("Novelan 227= %d",szBuffer[227]);
          szTmpBuffer=(szBuffer[227]);
          wert4=(szTmpBuffer);
          Zaehler_BetrZeitVD1=(wert1*256*256*256+wert2*256*256+wert3*256+wert4)/3600;
          printf("Novelan Zaehler_BetrZeitVD1= %f",Zaehler_BetrZeitVD1);
          
          printf("Novelan 320= %d",szBuffer[320]);
          szTmpBuffer=(szBuffer[320]);
          wert1=(szTmpBuffer);
          printf("Novelan 321= %d",szBuffer[321]);
          szTmpBuffer=(szBuffer[321]);
          wert2=(szTmpBuffer);
          printf("Novelan 322= %d",szBuffer[322]);
          szTmpBuffer=(szBuffer[322]);
          wert3=(szTmpBuffer); 
          printf("Novelan 323= %d",szBuffer[323]);
          szTmpBuffer=(szBuffer[323]);
          wert4=(szTmpBuffer);
          WP_BZ_akt=(wert1*256*256*256+wert2*256*256+wert3*256+wert4);
          printf("Novelan WP_BZ_akt= %f",WP_BZ_akt);
          
          printf("Novelan 476= %d",szBuffer[476]);
          szTmpBuffer=(szBuffer[476]);
          wert1=(szTmpBuffer);
          printf("Novelan 477= %d",szBuffer[477]);
          szTmpBuffer=(szBuffer[477]);
          wert2=(szTmpBuffer);
          printf("Novelan 478= %d",szBuffer[478]);
          szTmpBuffer=(szBuffer[478]);
          wert3=(szTmpBuffer); 
          printf("Novelan 479= %d",szBuffer[479]);
          szTmpBuffer=(szBuffer[479]);
          wert4=(szTmpBuffer);
          Status=(wert1*256*256*256+wert2*256*256+wert3*256+wert4);
          printf("Novelan Status= %f",Status);
          
          printf("Novelan 604= %d",szBuffer[604]);
          szTmpBuffer=(szBuffer[604]);
          wert1=(szTmpBuffer);
          printf("Novelan 605= %d",szBuffer[605]);
          szTmpBuffer=(szBuffer[605]);
          wert2=(szTmpBuffer);
          printf("Novelan 606= %d",szBuffer[606]);
          szTmpBuffer=(szBuffer[606]);
          wert3=(szTmpBuffer); 
          printf("Novelan 607= %d",szBuffer[607]);
          szTmpBuffer=(szBuffer[607]);
          wert4=(szTmpBuffer);
          WMZHeiz=(wert1*256*256*256+wert2*256*256+wert3*256+wert4)*0.1;
          printf("Novelan WMZHeiz= %f",WMZHeiz);
          
          printf("Novelan 608= %d",szBuffer[608]);
          szTmpBuffer=(szBuffer[608]);
          wert1=(szTmpBuffer);
          printf("Novelan 609= %d",szBuffer[609]);
          szTmpBuffer=(szBuffer[609]);
          wert2=(szTmpBuffer);
          printf("Novelan 610= %d",szBuffer[610]);
          szTmpBuffer=(szBuffer[610]);
          wert3=(szTmpBuffer); 
          printf("Novelan 611= %d",szBuffer[611]);
          szTmpBuffer=(szBuffer[611]);
          wert4=(szTmpBuffer);
          WMZWW=(wert1*256*256*256+wert2*256*256+wert3*256+wert4)*0.1;
          printf("Novelan WMZWW= %f",WMZWW);
          
          printf("Novelan 612= %d",szBuffer[612]);
          szTmpBuffer=(szBuffer[612]);
          wert1=(szTmpBuffer);
          printf("Novelan 613= %d",szBuffer[613]);
          szTmpBuffer=(szBuffer[613]);
          wert2=(szTmpBuffer);
          printf("Novelan 614= %d",szBuffer[614]);
          szTmpBuffer=(szBuffer[614]);
          wert3=(szTmpBuffer); 
          printf("Novelan 615= %d",szBuffer[615]);
          szTmpBuffer=(szBuffer[615]);
          wert4=(szTmpBuffer);
          WMZPV=(wert1*256*256*256+wert2*256*256+wert3*256+wert4)*0.1;
          printf("Novelan WMZPV= %f",WMZPV);
          
          setio("VI6",vorlauf);
          setio("VI7",ruecklauf);
          setio("VI8",ruecklauf_soll);
          setio("VI9",ruecklauf_ext);
          setio("VI10",heizgas);
          setio("VI11",aussentemperatur);
          setio("VI12",soletemperaturEIN);
          setio("VI13",soletemperaturAUS);
          setio("VI14",Status);
          setio("VI15",brauchwasser);
          setio("VI16",MischkreisFBH);
          setio("VI17",MischkreisFBHsoll);
          setio("VI18",Wassertasche);
          setio("VI19",Solarspeicher);
          setio("VI20",Zaehler_BetrZeitVD1);
          setio("VI21",WP_BZ_akt);
          setio("VI22",WMZHeiz);
          setio("VI23",WMZWW);
          setio("VI24",WMZPV);
          setio("VI25",1);
          
          }
          else
          {
          printf("Novelan no connection");
          setio("VI25",0);
          } 
          sleeps(60); // wait 60 second
          }
          Gruß
          Smarthome: Miniserver Gen. 1, Extension, Relais-Extension, Tree-Extension, 1-Wire-Extension, Tree BWM, KNX (Aktoren, DImmer und DI's), 1-Home (Alexa) (im Test)
          Technik: Loxberry, Froggit WH2600, Novelan WP, Marantec-Torantrieb, Eigenbau Türsprechstelle mit ieGeek-cam + Touch-Display

          Kommentar

          • Musicman
            Extension Master
            • 07.11.2017
            • 102

            #96
            Zitat von goldbrunner

            Es waren lediglich noch ein paar Leerzeichenfehler im Code.
            Was meinst du damit? Kannst du ein Beispiel machen?

            Kommentar

            • goldbrunner
              Smart Home'r
              • 24.07.2017
              • 45

              #97
              Beispiel von Post 1:
              ruecklauf_soll=(wert1*256*256*256+wert2*256*256+we rt3*256+wert4)*0.1;

              Sollte aber sein:
              ruecklauf_soll=(wert1*256*256*256+wert2*256*256+wert3*256+wert4)*0.1;

              Gruß
              Smarthome: Miniserver Gen. 1, Extension, Relais-Extension, Tree-Extension, 1-Wire-Extension, Tree BWM, KNX (Aktoren, DImmer und DI's), 1-Home (Alexa) (im Test)
              Technik: Loxberry, Froggit WH2600, Novelan WP, Marantec-Torantrieb, Eigenbau Türsprechstelle mit ieGeek-cam + Touch-Display

              Kommentar

              • Gast

                #98
                goldbrunner
                Danke für die Erklärung. Dieser Fehler kam mehrfach vor und ich habe ihn überall korrigiert.
                Leider klappt das Programm dennoch nicht und ich krieg nur 0-Werte aus den virtuellen Eingängen (dort habe den Digitalen Eingang deaktiviert).
                Auch heißen die virtuellen Eingänge exakt gleich wie Variablen im Programm. Und auch habe ich die VI-Werte der virtuellen Eingänge entsprechend im Programm korrigiert ... dennoch nur 0-Werte!

                WIIIIEEESSSSOOOO???

                Kommentar

                • goldbrunner
                  Smart Home'r
                  • 24.07.2017
                  • 45

                  #99
                  Was zeigt der Loxone Log? Werden da die Daten angezeigt?
                  Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Loxlog.JPG
Ansichten: 1783
Größe: 50,5 KB
ID: 159931
                  Smarthome: Miniserver Gen. 1, Extension, Relais-Extension, Tree-Extension, 1-Wire-Extension, Tree BWM, KNX (Aktoren, DImmer und DI's), 1-Home (Alexa) (im Test)
                  Technik: Loxberry, Froggit WH2600, Novelan WP, Marantec-Torantrieb, Eigenbau Türsprechstelle mit ieGeek-cam + Touch-Display

                  Kommentar

                  • Gast

                    Wie komm ich zu dem Loxone Log? Komm mir grade richtig doof vor ... aber wenns hilft?!

                    Kommentar

                    • goldbrunner
                      Smart Home'r
                      • 24.07.2017
                      • 45

                      Schau mal in der Loxone Config Fußzeile ;-)
                      Smarthome: Miniserver Gen. 1, Extension, Relais-Extension, Tree-Extension, 1-Wire-Extension, Tree BWM, KNX (Aktoren, DImmer und DI's), 1-Home (Alexa) (im Test)
                      Technik: Loxberry, Froggit WH2600, Novelan WP, Marantec-Torantrieb, Eigenbau Türsprechstelle mit ieGeek-cam + Touch-Display

                      Kommentar

                      • Gast

                        Hallo Goldbrunner,

                        danke für Deine Klarstellung bzgl. Config Fusszeile (bin nur Anwender mit etwas Probierkünsten, nicht mehr).
                        Hab diese "aktiviert" bzw. sichtbar gemacht und das gesamte Programm (nicht nur den Inhalt des Programmbausteines) in den Miniserver geladen.
                        Dabei hat das Programm an zwei Stellen halt gemacht, da die entsprechende Zuordnung fehlte (vor lauter Komponenten-Herumkopiererei hab ich wohl die Textbausteine nicht korriegiert).
                        Jetzt endlich krieg ich Wert in der LiveView angezeigt (bzw. Werte ungleich 0).

                        Sodala, jetzt werde ich ebenso die vielen Novelan-Reads entfernen und mich dann an die Bausteine ranmachen, die bei meiner LWP von Bedeutung sind.

                        Vielen Dank an Goldbrunner und auch allen, die sich vorab schon die Mühe gemacht haben.
                        PS: Ich werde die Daten nicht zum Auswerten und Berechnen verwenden sondern lediglich gewisse Stati abrufen und muss damit nicht dauernd zur LWP laufen und herumsuchen.

                        Kommentar

                        • mpeyer
                          Smart Home'r
                          • 29.11.2017
                          • 52

                          Zitat von Bouni
                          Auf einen weiteren Wunsch hin, beschreibe ich hier mal mein Setup udn wie ich vorgegangen bin.

                          Ich habe im Keller in meinem Netzwerkschrank einen kleinen Server mit Arch Linux als OS auf dem ich Node Red, InfluxDB und Grafana installiert habe.

                          Code:
                          yaourt -S nodejs
                          npm install -g node-red
                          yaourt -S influxdb
                          yaourt -S grafana
                          Das ganze sollte auch auf einem anderen Rechener wie z.B. einem RaspberryPi ohne weiteres möglich sein, dort variieren je nach OS einfach die Befehle evtl. ein wenig aber das Internet hilf auch dabei zuverlässig weiter.

                          Da node-red nicht per default einen service mitbringt muss man ein systemd unit file anlegen (gesetzt dem Fall man verwendet systemd, aber auch wenn nicht muss man das selbe für sein OS tun, nur eben an die dortigen Gegebenheiten angepasst).

                          Ich habe einen neuen Benutzer und das unit file angelegt:
                          Code:
                          sudo useradd -d node-red
                          sudo touch /etc/systemd/system/node-red.service
                          Das hier muss in das eben angelegte node-red.service
                          Code:
                          [Unit]
                          Description=Node-RED is a tool for wiring together hardware devices, APIs and online services in new and interesting ways.
                          After=syslog.target network.target
                          Documentation=http://nodered.org/
                          
                          [Service]
                          ExecStart=-/usr/bin/node-red
                          WorkingDirectory=/home/node-red
                          User=node-red
                          Group=node-red
                          Nice=10
                          Restart=on-failure
                          KillSignal=SIGINT
                          
                          [Install]
                          WantedBy=multi-user.target
                          Dann ein reload:
                          Code:
                          sudo systemctl daemon-reload
                          sudo systemctl enable node-red.service
                          sudo systemctl start node-red.service
                          Nun läuft node-red und die Web GUI ist auf Port 1880 erreichbar, z.B. http://192.168.178.100:1880

                          Nun müssen auch noch influxdb und grafana gestartet werden:
                          Code:
                          sudo systemctl enable influxdb.service
                          sudo systemctl start influxdb.service
                          sudo systemctl enable grafana.service
                          sudo systemctl start grafana.service
                          Als nächstes installieren wir den Luxtronik2 node:

                          Code:
                          sudo npm install -g node-red-contrib-luxtronik2-ws
                          Anschliessend nochmal node-red neu starten:

                          Code:
                          systemctl restart node-red.service
                          Nun in der Weboberfläche von node-red den influxdb node installieren, dazu auf Menü -> Manage Palette -> install und in der Suche influx eingeben, anschkliessend auf install klicken.

                          Als letzten Schritt den oben geposteten Flow importieren: Menü -> Import -> Clipboard

                          Im Flow müssen natürlich noch die IP/Passwort der Luxtronik als auch die IP/Passwort der InfluxDB angepasst werden, aber das sollte selbsterklärend sein.
                          Hallo zusammen
                          Ich versuche seit Stunden dies auf meinem Loxberry zum Laufen zu bringen. Doch scheitere ich schon kläglich ganz zu beginn. Mein Loxberry kennt leider kein yaourt. Auf Windows-seite kenn ich mich gut aus, aber hier hab ich leider meine Mühe.
                          Wäre evtl. jemand bereit, die Anleitung von Bouni auf Raspberry / Loxberry umzuschreiben? Oder mir zumindest auf die Sprünge helfen, wie ich yaourt drauf bringen könnte?
                          Gruss, Marc

                          Kommentar

                          • Bouni
                            LoxBus Spammer
                            • 01.09.2015
                            • 291

                            mpeyer Loxberry setzt auf einem Raspbian auf, dort gibt es kein yaourt, dafür ein apt-get install (https://www.raspberrypi.org/document...oftware/apt.md)

                            Kommentar

                            • mpeyer
                              Smart Home'r
                              • 29.11.2017
                              • 52

                              Zitat von Bouni
                              mpeyer Loxberry setzt auf einem Raspbian auf, dort gibt es kein yaourt, dafür ein apt-get install (https://www.raspberrypi.org/document...oftware/apt.md)
                              Besten Dank Bouni , das hat mir schon sehr weitergeholfen. Mittlerweile konnte ich node-red, influxdb und grafana erfolgreich installieren - obwohl bei grafana hatte ich noch meine Mühe, da der Weg via "sudo apt-get install grafana" zu einem blank login screen führte (falls andere das Problem haben, ist es das: https://community.grafana.com/t/inst...nk-screen/2534) und kann gelöst werden, indem hier der Anleitung "Install Stable" gefolgt wird: http://docs.grafana.org/installation...install-stable

                              Ich konnte dann auch Luxtronik2 installieren und den influxdb Node in node-red hinzufügen. Die Services laufen alle. Nun bin ich eigentlich beim letzten Schritt:
                              >Als letzten Schritt den oben geposteten Flow importieren: Menü -> Import -> Clipboard
                              >Im Flow müssen natürlich noch die IP/Passwort der Luxtronik als auch die IP/Passwort der InfluxDB angepasst werden, aber das sollte selbsterklärend sein.
                              IP, Passwort der Luxtronik -> klar
                              IP, Passwort der InfluxDB: IP klar, aber Passwort? woher bekomme ich das Passwort und wo muss das hin im Flow? Nehme an ganz gegen das ende wo du type:influxdb und hostname:127.0.0.1 hast irgendwo... und andere Frage: die db heatpump - wird die automatisch durch node-red angelegt oder muss ich die vorher noch manuell erstellen? irgendwas zu beachten?

                              Gruss Marc

                              Kommentar

                              Lädt...