Ankündigung

Einklappen
Keine Ankündigung bisher.

EibPC für Dummies: Webcharts

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

    EibPC für Dummies: Webcharts

    Hallo zusammen,

    da hier der Bedarf an simplen Anleitungen für den EibPC aufkam und das Handbuch in der aktuellen Form nicht unbedingt sofort verständlich ist, mache ich hier einmal den Anfang ein Thema hoffentlich für jeden verständlich zu beschreiben.

    Viele Grüße

    Michael


    WEBCHARTS

    1. Definition der Charts im Bereich [WebServer]:
    [highlight=epc]
    page(PageID_Wetter)[$$,$Wetter$]
    header(0)
    footer(0)
    design $black$
    mpchart(ID_Wetters_Regen_Chart)[SINGLE,SXY]($Regen L/m²$,LINE) \\
    mpchart(ID_Wetter_Wind_Chart)[SINGLE,SXY]($Wind km/h$,LINE)
    [/highlight]
    Dies sind zwei nebeneinanderliegende Charts auf der Webpage "Wetter". Das eine Chart zeigt die Regenmenge in L/qm an, das andere Chart den Wind in km/h. Beide haben jeweils die Standard Größe (Single) und zeichnen eine durchgehende Kennlinie (Line).

    Die IDs der Webpage und der Webelemente können direkt im Code definiert werden. Besser ist aber wie im o.g. Beispiel mit ID Variablen zu arbeiten und die IDs an einer zentralen Stelle zu definieren. Dies hat den Vorteil dass bei Änderung der Webpages bzw. Webelemente die Nummerierung der IDs an einer zentralen Stelle angepaßt werden kann.

    2. Zentrale Definition der IDs im Bereich [EibPC]
    [highlight=epc]
    // Webserver: Webpages
    PageID_Wetter = 1

    // Webserver: Wetter
    ID_Wetter_Regen_Chart = 1
    ID_Wetter_Wind_Chart = 2
    [/highlight]
    Die Kombination aus Webpage (hier 1) und Chart (hier 1 und 2) darf nur einmal im gesamten Code vorkommen, da sonst keine eindeutige Zuordnung von Werten möglich ist.

    3. Befüllen der Charts im Bereich [EibPC]
    [highlight=epc]
    // Regenmenge und Wind 24h-Chart alle 30 Minuten mit Daten füllen
    if mtime(00,00) or mtime(30,00) then \\
    mpchart(ID_Wetter_Regen_Chart, WebZeit, Wetterbericht_Regenmenge, 0, PageID_Wetter); \\
    mpchart(ID_Wetter_Wind_Chart, WebZeit, Wetterbericht_Wind, 0, PageID_Wetter) \\
    endif
    [/highlight]
    Es wird also jede halbe Stunde auf die Webpage 1 (PageID_Wetter) in die Charts 1 (ID_Wetter_Regen_Chart) und 2 (ID_Wetterbericht_Wind) ein Wert in die Kennlinie 0 (4 sind insgesamt pro Chart möglich: 0, 1, 2 und 3) geschrieben.

    WebZeit ist die Umrechnung der Uhrzeit in das für Charts stets erforderliche f16-Format.

    [highlight=epc]
    WebZeit = convert(convert(hour(), 0f32) + convert(minute(), 0f32) / 60f32, 0.0f16)
    [/highlight]

    Binäre Werte in Charts anzeigen (Schaltzustände visualisieren)
    Wenn anstatt einem f16 Wert z.B. der binäre Zustand eines Fensterkontakts in ein Chart geschrieben werden soll, mußt dieser vorher wie folgt umgewandelt werden:

    [highlight=epc]
    // Schaltzustände von Binär nach f16 umwandeln
    Fensterkontakt_Kueche_Chart = 0.0f16
    if Init == EIN \\
    and Fensterkontakt_Kueche == EIN then \\
    Fensterkontakt_Kueche_Chart = 1.0f16 \\
    else \\
    Fensterkontakt_Kueche_Chart = 0.0f16 \\
    endif

    // Schaltzustände bei Änderung in die Charts schreiben
    if change(Fensterkontakt_Kueche) then \\
    mpchart(ID_Fenster_Kueche_Chart, WebZeit, Fensterkontakt_Kueche_Chart, 0, PageID_Fenster) \\
    endif
    [/highlight]

    Wenn binäre Werte in Charts geschrieben werden sollen, empfiehlt sich statt der Darstellung als durchgehende Kennline die Darstellung als Säule (COLUMN):

    [highlight=epc]
    mpchart(ID_Fenster_Kueche_Chart)[SINGLE,SXY]($Fenster Küche$,COLUMN)
    [/highlight]

    #2
    Super

    Danke für die gute Erklärung / Übersicht....
    EPIX
    ...und möge der Saft mit euch sein...
    Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

    Kommentar


      #3
      dazu passend folgende Frage:

      der Wert der GA liegt als U08 (%) vor - mpchart "will aber" f16, so weit so trotzig

      ich "möchte" die Prozentdarstellung OHNE 3 Stellen hinter dem Komma - leider funktioniert dieser ANsatz nicht:
      mpchart(28,WebZeit,convert("Wasserschacht.Pegel-2/5/20",0f16)/255f16*100f16,0,99); \\
      und ein paar andere Versionen auch nicht

      Ich hätte einfach gerne eine ANzeige in % - ohne Kommastellen
      EPIX
      ...und möge der Saft mit euch sein...
      Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

      Kommentar

      Lädt...
      X