WebMatic Beta: Verlaufsdiagramme auf der CCU berechnet

alternative Weboberfläche für die HomeMatic-Zentrale (CCU)

Moderator: Co-Administratoren

Berni
Beiträge: 425
Registriert: 18.07.2011, 15:35
Kontaktdaten:

Re: WebMatic Beta: Verlaufsdiagramme auf der CCU berechnet

Beitrag von Berni » 04.04.2013, 09:52

Das wäre genau das was ich mir vorgestellt habe
Ich habe aber ein Prolem damit

Ich hab die webmatic.js auf der CCU erstetzt
das Script (Raum) geändert
die Variable angelegt
Variable neu.jpg
Variable neu.jpg (19.88 KiB) 2475 mal betrachtet
Das im Programm das Script eingefügt

Die Variable wird mit Werten gefüllt aber das Diagramm wird nicht angezeigt
Webmatic Anzeige.jpg
Webmatic Anzeige.jpg (15.04 KiB) 2475 mal betrachtet
Wo liegt mein Fehler? :?:
250 Kanäle in 117 Geräten und 29 CUxD-Kanäle in 3 CUxD-Geräten

LarsM
Beiträge: 202
Registriert: 08.05.2009, 22:36

Re: AW: WebMatic Beta: Verlaufsdiagramme auf der CCU berechn

Beitrag von LarsM » 04.04.2013, 10:57

Hast du die Variable Heizung_Buero auch zu den Favoriten hinzugefügt?

Gesendet von meinem MB526 mit Tapatalk 2
Gruß
Lars

84 Kanäle in 39 Geräten und 29 CUxD-Kanäle in 14 CUxD-Geräten:
2x HM-Sec-SC, 8x HM-CC-VD, 8x HM-CC-TC, 3x HM-Sec-WDS, 5x HM-Sec-RHS, 1x CUX28, 1x CUX40, 1x HM-WDS10-TH-O, 8x CUX02, 2x CUX06, 1x HM-CCU-1, 2x HM-RC-Key3-B, 3x HM-Sec-SD, 2x CUX03, 1x HM-WDS100-C6-O, 1x HM-Sec-SD-Team, 1x HM-OU-LED16, 2x HM-Sec-MDIR, 1x HM-WDC7000

Berni
Beiträge: 425
Registriert: 18.07.2011, 15:35
Kontaktdaten:

Re: WebMatic Beta: Verlaufsdiagramme auf der CCU berechnet

Beitrag von Berni » 04.04.2013, 14:53

Danke für eure Tipps
Ich habe in der Beschreibung jetzt Buero (h,l=10,h=22) allerdings wird nur der Wert des Stellantriebs eingelesen und angezeigt.
Die Temperatur und Luftfeuchtigkeit sind mit "0" in der Variablen

Hab es für einen anderen Raum nochmal angelegt - da klappt es so wie es sein soll.

Jetzt muss ich mal suchen was ich dort anders eingestellt habe :shock:

Thermostat und Stellantrieb sind jeweils dem Raum und dem Gewerk Heizung zugeordnet :?
250 Kanäle in 117 Geräten und 29 CUxD-Kanäle in 3 CUxD-Geräten

Berni
Beiträge: 425
Registriert: 18.07.2011, 15:35
Kontaktdaten:

Re: WebMatic Beta: Verlaufsdiagramme auf der CCU berechnet

Beitrag von Berni » 04.04.2013, 16:02

Ich habe jetzt für 3 Räume die Variablen angelegt
Einen Favoriten mit den 3 Variablen
Aber ich bekomme nur von einem Raum alles Werte angezeigt
Bei den beiden anderen wird nur der Stellantrieb richtig angezeigt
die Werte des Thermostaten sind alle auf 0
Die Thermostate sind den jeweiligen Räumen zugeordnet (keine Umlaute, keine Leerzeichen)
und dem Gewerk "Heizung"
Ich habe es mit allen 3 Räumen in einem Script versucht

Code: Alles auswählen

string logRooms = "Bad;Buero;Kinderzimmer";
und mit jeweils einem Programm für jeden Raum
das Ergebnis ist immer das Gleich
Nur für das Bad werden die Wert korrekt angezeigt

Hat noch wer einen Tipp wonach ich suchen könnte? :(
250 Kanäle in 117 Geräten und 29 CUxD-Kanäle in 3 CUxD-Geräten

LarsM
Beiträge: 202
Registriert: 08.05.2009, 22:36

Re: WebMatic Beta: Verlaufsdiagramme auf der CCU berechnet

Beitrag von LarsM » 04.04.2013, 18:05

Vorsicht! Nicht je Raum ein Programm, sondern ein Programm für alle Räume. Deswegen definierst du ja die Variable

Code: Alles auswählen

string logRooms = "Bad;Buero;Kinderzimmer";
Das dann zeitgesteuert alle 5 Minuten antriggern.
Gruß
Lars

84 Kanäle in 39 Geräten und 29 CUxD-Kanäle in 14 CUxD-Geräten:
2x HM-Sec-SC, 8x HM-CC-VD, 8x HM-CC-TC, 3x HM-Sec-WDS, 5x HM-Sec-RHS, 1x CUX28, 1x CUX40, 1x HM-WDS10-TH-O, 8x CUX02, 2x CUX06, 1x HM-CCU-1, 2x HM-RC-Key3-B, 3x HM-Sec-SD, 2x CUX03, 1x HM-WDS100-C6-O, 1x HM-Sec-SD-Team, 1x HM-OU-LED16, 2x HM-Sec-MDIR, 1x HM-WDC7000

Berni
Beiträge: 425
Registriert: 18.07.2011, 15:35
Kontaktdaten:

Re: WebMatic Beta: Verlaufsdiagramme auf der CCU berechnet

Beitrag von Berni » 04.04.2013, 18:55

Das mit den "einzelnen Programmen" war nur eine Verzweiflungstat
Auch wenn ich nur mit einem Programm arbeite erhalte ich nur für das Bad alle Werte
Alle anderen Räume zeigen nur den Wert für den Stellantrieb - die Thermostatwerte sind alle 0
250 Kanäle in 117 Geräten und 29 CUxD-Kanäle in 3 CUxD-Geräten

LarsM
Beiträge: 202
Registriert: 08.05.2009, 22:36

Re: WebMatic Beta: Verlaufsdiagramme auf der CCU berechnet

Beitrag von LarsM » 04.04.2013, 19:09

Poste doch mal ein paar Screenshots (Systemvariablen Heizung_xxxx, Räume) und den Inhalt von 2 deiner Variablen Heizung_xxxx (am besten die Heizung_Bad (funktioniert) und Heizung_Buero (funktioniert ja nicht)).
Sonst drehen wir uns hier nur im Kreis.
Gruß
Lars

84 Kanäle in 39 Geräten und 29 CUxD-Kanäle in 14 CUxD-Geräten:
2x HM-Sec-SC, 8x HM-CC-VD, 8x HM-CC-TC, 3x HM-Sec-WDS, 5x HM-Sec-RHS, 1x CUX28, 1x CUX40, 1x HM-WDS10-TH-O, 8x CUX02, 2x CUX06, 1x HM-CCU-1, 2x HM-RC-Key3-B, 3x HM-Sec-SD, 2x CUX03, 1x HM-WDS100-C6-O, 1x HM-Sec-SD-Team, 1x HM-OU-LED16, 2x HM-Sec-MDIR, 1x HM-WDC7000

Berni
Beiträge: 425
Registriert: 18.07.2011, 15:35
Kontaktdaten:

Re: WebMatic Beta: Verlaufsdiagramme auf der CCU berechnet

Beitrag von Berni » 04.04.2013, 19:14

OK - Screenshots kommen dauert nur ein bisschen
Ich bin schon am "durchdrehen" weil ich einfach keinen Unterschied finde :oops:
250 Kanäle in 117 Geräten und 29 CUxD-Kanäle in 3 CUxD-Geräten

Berni
Beiträge: 425
Registriert: 18.07.2011, 15:35
Kontaktdaten:

Re: WebMatic Beta: Verlaufsdiagramme auf der CCU berechnet

Beitrag von Berni » 04.04.2013, 19:48

Inhalt Variabel Büro

Code: Alles auswählen

50;2013-04-04 15:34:02,0.0,0.0,0.000000,17;2013-04-04 15:36:02,0.0,0.0,0.000000,17;2013-04-04 15:38:02,0.0,0.0,0.000000,17;2013-04-04 15:40:31,0.0,0.0,0.000000,17;2013-04-04 15:42:01,0.0,0.0,0.000000,17;2013-04-04 15:44:02,0.0,0.0,0.000000,17;2013-04-04 15:46:01,0.0,0.0,0.000000,17;2013-04-04 15:47:14,0.0,0.0,0.000000,17;2013-04-04 15:50:18,0.0,0.0,0.000000,17;2013-04-04 15:55:22,0.0,0.0,0.000000,17;2013-04-04 16:00:27,0.0,0.0,0.000000,17;2013-04-04 16:05:19,0.0,0.0,0.000000,17;2013-04-04 16:11:22,0.0,0.0,0.000000,17;2013-04-04 16:15:28,0.0,0.0,0.000000,17;2013-04-04 16:20:37,0.0,0.0,0.000000,17;2013-04-04 16:25:40,0.0,0.0,0.000000,17;2013-04-04 16:30:40,0.0,0.0,0.000000,17;2013-04-04 16:35:18,0.0,0.0,0.000000,11;2013-04-04 16:40:10,0.0,0.0,0.000000,11;2013-04-04 16:45:10,0.0,0.0,0.000000,11;2013-04-04 16:50:10,0.0,0.0,0.000000,11;2013-04-04 16:55:45,0.0,0.0,0.000000,0;2013-04-04 17:00:20,0.0,0.0,0.000000,0;2013-04-04 17:05:19,0.0,0.0,0.000000,0;2013-04-04 17:10:23,0.0,0.0,0.000000,0;2013-04-04 17:12:49,0.0,0.0,0.000000,0;2013-04-04 17:15:18,0.0,0.0,0.000000,0;2013-04-04 17:20:17,0.0,0.0,0.000000,0;2013-04-04 17:25:10,0.0,0.0,0.000000,19;2013-04-04 17:30:10,0.0,0.0,0.000000,21;2013-04-04 17:35:10,0.0,0.0,0.000000,21;2013-04-04 17:40:10,0.0,0.0,0.000000,21;2013-04-04 17:45:10,0.0,0.0,0.000000,17;2013-04-04 17:50:10,0.0,0.0,0.000000,16;2013-04-04 17:55:10,0.0,0.0,0.000000,16;2013-04-04 18:00:10,0.0,0.0,0.000000,16;2013-04-04 18:05:09,0.0,0.0,0.000000,16;2013-04-04 18:10:10,0.0,0.0,0.000000,16;2013-04-04 18:15:10,0.0,0.0,0.000000,16;2013-04-04 18:20:09,0.0,0.0,0.000000,16;2013-04-04 18:25:10,0.0,0.0,0.000000,15;2013-04-04 18:30:17,0.0,0.0,0.000000,17;2013-04-04 18:35:18,0.0,0.0,0.000000,19;2013-04-04 18:40:10,0.0,0.0,0.000000,21;2013-04-04 18:45:09,0.0,0.0,0.000000,21;2013-04-04 18:50:10,0.0,0.0,0.000000,19;2013-04-04 18:55:09,0.0,0.0,0.000000,17;2013-04-04 19:00:10,0.0,0.0,0.000000,16;2013-04-04 19:05:17,0.0,0.0,0.000000,16;2013-04-04 19:10:19,0.0,0.0,0.000000,16
Inhalt Variable Bad

Code: Alles auswählen

64;2013-04-04 15:01:07,19.0,19.8,44,19;2013-04-04 15:02:02,19.0,19.8,44,19;2013-04-04 15:04:01,19.0,19.9,44,19;2013-04-04 15:06:06,19.0,19.9,44,19;2013-04-04 15:08:03,19.0,19.9,44,19;2013-04-04 15:10:37,19.0,19.9,44,19;2013-04-04 15:12:01,19.0,20.0,44,19;2013-04-04 15:14:02,19.0,20.0,44,13;2013-04-04 15:16:50,19.0,20.0,44,13;2013-04-04 15:18:01,19.0,20.0,44,13;2013-04-04 15:20:42,19.0,20.0,44,13;2013-04-04 15:22:07,19.0,20.0,44,13;2013-04-04 15:34:02,19.0,20.1,44,13;2013-04-04 15:36:02,19.0,20.2,44,13;2013-04-04 15:38:02,19.0,20.2,44,13;2013-04-04 15:40:31,19.0,20.2,44,13;2013-04-04 15:42:01,19.0,20.2,44,13;2013-04-04 15:44:02,19.0,20.2,44,7;2013-04-04 15:46:01,19.0,20.2,44,7;2013-04-04 15:47:10,19.0,20.2,44,7;2013-04-04 15:48:02,19.0,20.2,44,7;2013-04-04 15:50:18,19.0,20.2,44,8;2013-04-04 15:55:23,19.0,20.2,44,8;2013-04-04 16:00:28,19.0,20.2,43,8;2013-04-04 16:05:19,19.0,20.3,43,8;2013-04-04 16:11:25,19.0,20.3,43,8;2013-04-04 16:15:28,19.0,20.3,43,2;2013-04-04 16:20:37,19.0,20.4,43,2;2013-04-04 16:25:40,19.0,20.4,43,2;2013-04-04 16:30:41,19.0,20.4,43,2;2013-04-04 16:35:19,19.0,20.4,43,0;2013-04-04 16:40:10,19.0,20.4,43,0;2013-04-04 16:45:10,19.0,20.4,43,0;2013-04-04 16:50:10,21.0,20.4,43,0;2013-04-04 16:55:45,21.0,20.4,43,36;2013-04-04 17:00:21,21.0,20.4,44,36;2013-04-04 17:05:19,21.0,20.4,44,36;2013-04-04 17:10:24,21.0,20.5,44,36;2013-04-04 17:12:49,21.0,20.5,44,36;2013-04-04 17:15:18,21.0,20.5,44,36;2013-04-04 17:20:17,21.0,20.6,45,36;2013-04-04 17:25:10,21.0,20.6,45,36;2013-04-04 17:30:10,21.0,20.6,45,36;2013-04-04 17:35:10,21.0,20.7,45,36;2013-04-04 17:40:10,21.0,20.7,45,36;2013-04-04 17:45:10,21.0,20.7,45,36;2013-04-04 17:50:10,21.0,20.7,45,36;2013-04-04 17:55:10,21.0,20.7,45,30;2013-04-04 18:00:10,21.0,20.8,45,30;2013-04-04 18:05:09,21.0,20.8,45,30;2013-04-04 18:10:10,21.0,20.7,44,30;2013-04-04 18:15:10,21.0,20.8,44,29;2013-04-04 18:20:09,21.0,20.8,44,29;2013-04-04 18:25:10,21.0,20.8,44,29;2013-04-04 18:30:17,21.0,20.8,44,29;2013-04-04 18:35:18,21.0,20.8,45,29;2013-04-04 18:40:10,21.0,20.8,45,29;2013-04-04 18:45:09,21.0,20.8,45,29;2013-04-04 18:50:10,21.0,20.8,46,29;2013-04-04 18:55:09,21.0,21.0,49,30;2013-04-04 19:00:10,21.0,21.1,53,29;2013-04-04 19:05:17,21.0,21.4,57,27;2013-04-04 19:10:19,21.0,21.7,59,24;2013-04-04 19:15:24,21.0,21.8,56,24
So wird es in Webmatic angezeigt
Bad:
Anzeige Bad.jpg
Buero:
Anzeige Buero.jpg
Die Variablen werden so "gefüllt"
Anzeige Variablen Webmatic.jpg
So sind die Variablen im WebUI angelget
Bad:
Variabel Bad.jpg
Büro:
Variabel Buero.jpg
Das Programm das das ganze füllt
Programm.jpg
und das Zeitmodul des Programms
Programm Zeitmodul.jpg
und zu guter Letzt noch die beiden Thermostat
Bad
Thermostat Bad.jpg
Buero
Thermostat Buero.jpg
Script

Code: Alles auswählen

    !Diagrammverlauf Heizung
    !Skript zum protokollieren der Heizungsdate eines Raums. Je Raum darf dabei nur ein
    !Regler vorhanden sein und die an diesen Regler angelernten Stellantriebe müssen
    !auch diesem Raum zugeordnet sein. Skript ist vorbereitet auf die max. vier Stellantriebe,
    !ich glaube aber, dass die eh alle gleich geregelt werden, weshalb nur einer aktiv ist.

    !Liste von Räumen mit Thermostatreglern und Stellantrieben zum Protokollieren
    string logRooms = "Buero;Bad";
    !Name der Systemvariablen ist prefix<raumname>
    string prefix = "Heizung_";
    integer maxEntries = 288; ! max Eintraege im Umlaufpuffer festlegen. z.B. alle 5 Minuten für 24h = 288.
    !----------------------------------------------------------------------------------------------------------------------------

    time now = system.Date("%Y-%m-%d %H:%M:%S").ToTime();
    ! Zum durchhangeln durch die Kanäle eines Raums
    string chn_s;
    var chn;
    ! dito für die Datenpunkte des Kanals
    string dp_s;
    var dp;
    string logVal;

    foreach(logVal, logRooms.Split(";"))
    {
      ! Die zu protokollierenden Datenpunkte initialisieren
      string vvs1 = "";
      string vvs2 = "";
      string vvs3 = "";
      string vvs4 = "";
      string setp = "";
      string temp = "";
      string hmdt = "";
      ! Die Systemvariable, wohin gespeichert wird ermitteln
      var sysVar = dom.GetObject(prefix # logVal);
      var room = dom.GetObject(logVal);

      !Alle Räume durchklappern
      foreach(chn_s, room.EnumUsedIDs()) {
        chn = dom.GetObject(chn_s);
        !und innerhalb eines Raums alle Kanäle
        foreach(dp_s, chn.DPs()){
          dp = dom.GetObject(dp_s);
          if(dp.HssType() == "VALVE_STATE"){
            if(vvs1 == ""){
              vvs1 = dp.Value().ToString();}
            else{
              if(vvs2 == ""){vvs2 = dp.Value().ToString();}
              else{
                if(vvs3 == ""){vvs3 = dp.Value().ToString();}
                else{
                  if(vvs4 == ""){vvs4 = dp.Value().ToString();}
                }
              }
            }
          }
          if(dp.HssType() == "SETPOINT"){
            setp = dp.Value().ToString();
            !Kürzen auf eine Nachkommastelle
            setp = setp.Substr(0, setp.Find(".")+2);
          }
          if(dp.HssType() == "TEMPERATURE"){
            temp = dp.Value().ToString();
            !Kürzen auf eine Nachkommastelle
            temp = temp.Substr(0, temp.Find(".")+2);
          }
          if(dp.HssType() == "HUMIDITY"){
            hmdt = dp.Value();
          }
        }
      }
      !Nicht gefundene Stellregler mit 0 initialisieren
      if(vvs1 == ""){vvs1="0";}
      if(vvs2 == ""){vvs2="0";}
      if(vvs3 == ""){vvs3="0";}
      if(vvs4 == ""){vvs4="0";}

      !Hier wird der neue Eintrag zusammengebastelt
      string newEntry = now.ToString() # "," # setp # "," # temp # "," # hmdt # "," # vvs1; 
      string newString;
      string clpString;
      string oldString = sysVar.Variable();

      if(sysVar.Variable() == "???"){
        newString = "1;"#newEntry;
      }
      else{
        ! erstes Feld enthält den Zähler aktuell
        integer cnt = oldString.StrValueByIndex(";",0).ToInteger();
        ! cnt entfernen: alles ab dem ersten ";"
        integer i = oldString.Find(";");
        integer l = oldString.Length();
        clpString = oldString.Substr(i+1,l-i+1);
        if(cnt < maxEntries){
          cnt = cnt + 1;
        }
        else{
         !Umlaufpuffer voll, erstes Element entfernen
          i = clpString.Find(";");
          l = clpString.Length();
          clpString = clpString.Substr(i+1,l-i+1);
        }
        !neues Element hinten dranhängen
        newString = cnt # ";" # clpString # ";" # newEntry;
      }
    !  WriteLine(newString);
      sysVar.State(newString);
    }
ich hoffe das "erschlägt" jetzt nicht :oops:
Aber ich finde einfach keinen "Fehler"
250 Kanäle in 117 Geräten und 29 CUxD-Kanäle in 3 CUxD-Geräten

LarsM
Beiträge: 202
Registriert: 08.05.2009, 22:36

Re: AW: WebMatic Beta: Verlaufsdiagramme auf der CCU berechn

Beitrag von LarsM » 04.04.2013, 20:16

Offensichtlich liefert das Thermostat im Büro keine Werte (nur 0), der Stellantrieb schon.
Bekommst du denn im WebUI vernünftige Werte von dem angezeigt? Was ist der entsprechende Inhalt des XML-Output.
Der Fehler ist definitiv beim Auslesen des Büro-Thermostaten zu suchen.

Gesendet von meinem MB526 mit Tapatalk 2
Gruß
Lars

84 Kanäle in 39 Geräten und 29 CUxD-Kanäle in 14 CUxD-Geräten:
2x HM-Sec-SC, 8x HM-CC-VD, 8x HM-CC-TC, 3x HM-Sec-WDS, 5x HM-Sec-RHS, 1x CUX28, 1x CUX40, 1x HM-WDS10-TH-O, 8x CUX02, 2x CUX06, 1x HM-CCU-1, 2x HM-RC-Key3-B, 3x HM-Sec-SD, 2x CUX03, 1x HM-WDS100-C6-O, 1x HM-Sec-SD-Team, 1x HM-OU-LED16, 2x HM-Sec-MDIR, 1x HM-WDC7000

Antworten

Zurück zu „WebMatic“