Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage(n) zu MPCHART anhand eines Beispiel

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

    Frage(n) zu MPCHART anhand eines Beispiel

    hallo,
    ich probiere nun auch seit ein paar tage mit dem eippc herum. einiges klappt "ganz gut", bei anderen sachen komm ich gar nicht weiter.

    der spezielle fall:
    ich möchte eine seite erstellen auf der elektrische verbrauchsdaten wiedergegeben werden (eib/knx zähler von lingg&janke).
    links oben im fenster soll der aktuelle zählerstand angezeigt werden
    rechts daneben ein graph die tägliche gesamt-wirkleistungsverbrauchskurve anzeigt.(die werte vom gesamtwirkleistungsverbrauch sollen dabei vorzugsweise für spätere auswertungen auch im flash gespeichert werden.)
    rechts außen soll das aktuelle datum mit der zeit stehen.
    darunter soll jeweils der 24stündige stromverbrauch (pro phase L1-L3) angezeigt werden
    darunter soll jeweils die 24stündige wirkleistungsverbrauch (pro phase L1-L3) angezeigt werden
    darunter soll jeweils der 24stündige spannungsverlauf (pro phase L1-L3) angezeigt werden.

    könnte jemand so nett sein und mir einen entsprechenden code erstellen? wenn ich so einen fertigen code-baustein habe sehe ich vieleicht eher die zusammenhänge.

    die gruppenadressen lauten:
    "Zählerstand-5/2/0"
    "Wirkleistung gesamt-5/2/1"
    "Wirkleistung L1-5/2/2"
    "Wirkleistung L2-5/2/3"
    "Wirkleistung L3-5/2/4"
    "Strom L1-5/2/5"
    "Strom L2-5/2/6"
    "Strom L3-5/2/7"
    "Spannung L1-5/2/8"
    "Spannung L2-5/2/9"
    "Spannung L3-5/2/10"

    besten dank im voraus
    Angehängte Dateien

    #2
    Zitat von macflei Beitrag anzeigen
    ich möchte eine seite erstellen auf der elektrische verbrauchsdaten wiedergegeben werden (eib/knx zähler von lingg&janke).
    links oben im fenster soll der aktuelle zählerstand angezeigt werden
    rechts daneben ein graph die tägliche gesamt-wirkleistungsverbrauchskurve anzeigt.
    Poste doch schon mal, was Du hast. Dann liese sich das einfacher vorschlagen.
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #3
      das mit dem zählerstand habe ich hinbekommen. naja so fast . wenn der eipc neu startet, habe ich das info-symbol drin. sobald der erste wert gelesen und angezeigt wird bekomme ich jedoch das temperatursymbol.

      das ist der code bzw. das was ich habe

      [highlight=epc]
      //Uhrzeit im Sekundentakt aktualisieren
      if cycle(0,1) then webdisplay(0,settime(),CLOCK,INACTIVE,GREY)endif
      //alle 60 Sek. wird der Zählerstand abgefragt
      if stime(58) then read("Zählerstand-5/2/0") endif
      if stime(59) then webdisplay(3,"Zählerstand-5/2/0",7,DISPLAY,GREEN) endif
      //alle 5 Sek. wird die Gesamtleistung abgefragt und im Chart mitprotokolliert
      if stime(5) then read("Wirkleistung gesamt-5/2/1") endif
      if stime(7) then webchart(10,convert("Wirkleistung gesamt-5/2/1",10u08),$00:00$c14,$24:00$c14) endif
      //alle 45 Sek. wird die Leistung L1 abgefragt und im Chart mitprotokolliert
      if stime(44) then read("Wirkleistung L1-5/2/2") endif
      if stime(46) then webchart(11,convert("Wirkleistung L1-5/2/2",11u08),$00:00$c14,$24:00$c14) endif
      //alle 44 Sek. wird die Leistung L2 abgefragt und im Chart mitprotokolliert
      if stime(44) then read("Wirkleistung L2-5/2/3") endif
      if stime(46) then webchart(12,convert("Wirkleistung L2-5/2/3",12u08),$00:00$c14,$24:00$c14) endif
      //alle 44 Sek. wird die Leistung L3 abgefragt und im Chart mitprotokolliert
      if stime(44) then read("Wirkleistung L3-5/2/4") endif
      if stime(46) then webchart(13,convert("Wirkleistung L3-5/2/4",13u08),$00:00$c14,$24:00$c14) endif
      //alle 44 Sek. wird die Strom L1 abgefragt und im Chart mitprotokolliert
      if stime(45) then read("Strom L1-5/2/5") endif
      if stime(47) then webchart(14,convert("Strom L1-5/2/5",14u08),$00:00$c14,$24:00$c14) endif
      //alle 45 Sek. wird die Strom L2 abgefragt und im Chart mitprotokolliert
      if stime(45) then read("Strom L2-5/2/6") endif
      if stime(47) then webchart(15,convert("Strom L2-5/2/6",15u08),$00:00$c14,$24:00$c14) endif
      //alle 45 Sek. wird die Strom L3 abgefragt und im Chart mitprotokolliert
      if stime(45) then read("Strom L3-5/2/7") endif
      if stime(47) then webchart(16,convert("Strom L3-5/2/7",16u08),$00:00$c14,$24:00$c14) endif
      //alle 57 Sek. wird die Spannung L1 abgefragt und im Chart mitprotokolliert
      if stime(55) then read("Spannung L1-5/2/8") endif
      if stime(57) then webchart(17,convert("Spannung L1-5/2/8",17u08),$00:00$c14,$24:00$c14) endif
      //alle 57 Sek. wird die Spannung L2 abgefragt und im Chart mitprotokolliert
      if stime(55) then read("Spannung L2-5/2/9") endif
      if stime(57) then webchart(18,convert("Spannung L2-5/2/9",18u08),$00:00$c14,$24:00$c14) endif
      //alle 57 Sek. wird die Spannung L3 abgefragt und im Chart mitprotokolliert
      if stime(55) then read("Spannung L3-5/2/10") endif
      if stime(57) then webchart(19,convert("Spannung L3-5/2/10",19u08),$00:00$c14,$24:00$c14) endif
      [WebServer]
      button(0)[Clock]$Uhrzeit$ None chart(10)[$0 W$,$1000 W$,$2000 W$,$6000 W$] NONE button(3)[INFO]$Zählerstand kW/h$
      line $L1-L3 Stromverbrauch $
      chart(11)[$0 A$,$5 A$,$10 A$,$20 A$] chart(12)[$0 A$,$5 A$,$10 A$,$20 A$] chart(13)[$0 A$,$5 A$,$10 A$,$20 A$]
      line $L1-L3 Leistungsverbrauch$
      chart(14)[$0 W$,$200 W$,$1000 W$,$3000 W$] chart(15)[$0 W$,$200 W$,$1000 W$,$3000 W$] chart(16)[$0 W$,$200 W$,$1000 W$,$3000 W$]
      line $L1-L3 Spannung$
      chart(17)[$200 V$,$230 V$,$260 V$] chart(18)[$200 V$,$230 V$,$260 V$] chart(19)[$200 V$,$230 V$,$260 V$]
      [/highlight]
      und wie es aussieht s.screen. ein paar kleine pünktchen....mehr nicht
      das mit der zeitscala stimmt auch irgendwie nicht.

      irgendwie alles noch sehr weit von dem, was ich mitr vorstelle
      Angehängte Dateien

      Kommentar


        #4
        Völlig OT, stört aber immer wieder:

        Es gibt kW/h nicht.

        Das sind kWh!!

        Man kann auch keine Leistung verbrauchen
        Gruß Matthias
        EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
        - PN nur für PERSÖNLICHES!

        Kommentar


          #5
          Stimmt Matthias; leider ist das kaum auszurotten.

          Könnt ihr nicht in die Foren-SW einen Filter einbauen, der Posts bis zur Korrektur nicht speichern lässt?

          Grüße,
          Markus

          Kommentar


            #6
            Zitat von macflei Beitrag anzeigen
            das mit dem zählerstand habe ich hinbekommen. naja so fast . wenn der eipc neu startet, habe ich das info-symbol drin
            1. Das Infosymbol verschwindet automatisch alsbald der Webserver wieder initialisiert ist (so ca. 10 Sekunden).
            2. Das Chart wird mit jedem stime() neu gefüllt. Mit der von Dir gewünschten 24 Std. Darstellung hat das wenig zu tun. Der Speicher des Charts geht 48 Werte zurück, wenn Du da alle Sekunden reinschreibst, ist das nix..
            Daher müsstest Du 1/2 Stundenwerte schreiben, am besten noch mitteln. Einfach (ohne Mittelung).
            [highlight=epc]
            HalbeStunde= mtime(30,00) or mtime(0,0)
            if HalbeStunde then read("Wirkleistung L2-5/2/3") endif
            if after(HalbeStunde,1000u64) then webchart(10,convert("Wirkleistung gesamt-5/2/1",10u08),$00:00$c14,$24:00$c14) endif
            [/highlight]
            Eine bessere Darstellung ist mit den neueren Charts möglich (siehe auch den Beispielcode in https://knx-user-forum.de/code-schni...server-v2.html).
            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
            Enertex Produkte kaufen

            Kommentar


              #7
              hallo,
              wie genau kann ich 2 verlaufskurven im einem mpchat darstellen?
              wenn ich folgendes eingeben
              PHP-Code:
              [WebServer]
              mpchart(VisuHeizID)[DOUBLE,SXY]($Heizung %$,LINEmpchart(TempVisuID)[DOUBLE,SXY]($Ist Temperatur$,LINEDOTS)
               
              [
              EibPC]
              WebZeit=convert(convert(hour(),0f32)+convert(minute(),0f32)/60f32,0f16)
              if (
              mtime(00,00) or mtime(15,00) or mtime(30,00) or mtime(45,00)) then {
               
              mpchart(VisuHeizID,WebZeit,convert("EG Essen-Küche Stellgröße-3/0/6",0f16)/2.549f16,0,EsszimmerID);
               
              mpchart(TempVisuID,WebZeit,"EG Essen-Küche Ist-Temperatur-2/0/6",0,EsszimmerID); 

              erscheint der mpchart so wie er soll.


              möchte ich jedoch im rechten mpchart noch eine 2 verlaufskurve anzeigen lassen .....

              PHP-Code:
              [WebServer]
              mpchart(VisuHeizID)[DOUBLE,SXY]($Heizung %$,LINEmpchart(TempVisuID)[DOUBLE,SXY]($Ist Temperatur$,LINEDOTS,$Soll Temperatur$,LINE)
               
              [
              EibPC]
              WebZeit=convert(convert(hour(),0f32)+convert(minute(),0f32)/60f32,0f16)
              if (
              mtime(00,00) or mtime(15,00) or mtime(30,00) or mtime(45,00)) then {
               
              mpchart(VisuHeizID,WebZeit,convert("EG Essen-Küche Stellgröße-3/0/6",0f16)/2.549f16,0,EsszimmerID);
               
              mpchart(TempVisuID,WebZeit,"EG Essen-Küche Ist-Temperatur-2/0/6",0,EsszimmerID);
               
              mpchart(TempVisuID,WebZeit,"EG Essen-Küche Soll-Temperatur-2/1/6",0,EsszimmerID); 
              haut es mit der anzeige nicht so richtig hin.

              kann mir bitte jemand weiterhelfen und sagen wo der fehler liegt?

              danke

              Kommentar


                #8
                Hallo,

                du musst in der zweiten Anweisung auch den Index von 0 auf 1 ändern.

                Also von:

                mpchart(TempVisuID,WebZeit,"EG Essen-Küche Soll-Temperatur-2/1/6",0,EsszimmerID);

                auf:

                mpchart(TempVisuID,WebZeit,"EG Essen-Küche Soll-Temperatur-2/1/6",1,EsszimmerID);

                Gruß


                Kommentar


                  #9
                  ah..ok
                  und bei einem weiteren (3ten) verlauf dann

                  Code:
                   
                  mpchart(TempVisuID,WebZeit,"Gruppenadress-X/X/X",[COLOR=red]2[/COLOR],EsszimmerID);
                  ???


                  danke

                  Kommentar


                    #10
                    Ja, genau.

                    Zitat aus dem Handbuch v15 auf Seite 171:


                    Ein mpchart stellt vier verschiedene Grafen dar. Index (0,1,2,3) gibt an, welcher Graf angesprochen wird.



                    MfG

                    Kommentar


                      #11
                      ja so ist das mit handbüchern ....

                      *ironiemodus_ON*
                      manche versteht man nicht, bei manchen brauch man ewig bis man findet was man brauch und wiedrum andere sind einfach zu "aufgebläht" geschrieben
                      *ironiemodus_OFF*

                      Kommentar


                        #12
                        Zitat von macflei Beitrag anzeigen
                        ah..ok
                        und bei einem weiteren (3ten) verlauf dann
                        Code:
                         
                        mpchart(TempVisuID,WebZeit,"Gruppenadress-X/X/X",[COLOR=red]2[/COLOR],EsszimmerID);
                        ???
                        Sic est!
                        offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                        Enertex Produkte kaufen

                        Kommentar


                          #13
                          ist es eigendlich auch möglich das die anzeige ab 00:00 komplett neu startet bzw. "leer" startet.
                          quasi das man z.b. die temperaturwerte vom "vortag" nicht mehr mit drin hat.



                          EDIT:
                          hat sich wohl erledigt.
                          die verbrauchswerte vom "vortag" werden ja scheinbar nur innerhalb der ersten 24h mit angezeigt. danach ist ende der verbrauchskurve = ende momentane aufzeichnung.
                          vieleicht schwer zur verstehen .... was ich da schreibe. wie gesagt, es gibt ja auch kein problem

                          Kommentar


                            #14
                            Zitat von macflei Beitrag anzeigen
                            ist es eigendlich auch möglich das die anzeige ab 00:00 komplett neu startet bzw. "leer" startet.
                            quasi das man z.b. die temperaturwerte vom "vortag" nicht mehr mit drin hat.
                            Da müsstest Du um kurz nach Mitternacht eben den letzten wert 47mal reinschreiben.
                            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                            Enertex Produkte kaufen

                            Kommentar


                              #15
                              hat sich überschnitten ....... mein edit und deine antwort

                              mit den "ersten 24h" meine ich die ersten 24h nachdem der eibc startet oder neu startet.

                              danke

                              Kommentar

                              Lädt...
                              X