CloudMatic Diagramme

Betriebssystem unabhängige Weboberfläche für die HomeMatic Steuerung

Moderator: Co-Administratoren

Antworten
bannwada
Beiträge: 163
Registriert: 14.11.2007, 08:02
Wohnort: Schweiz-Luzern

CloudMatic Diagramme

Beitrag von bannwada » 10.02.2018, 16:24

Guten Tag,

Leider funktioneren die Diagramme noch nicht.....
Ich habe die Einstellungen auf der CCU2 so vorgenommen wie es in der Anleitung steht.

Das Programm _CM_diagram_logger_ fehlt
Dies ist notwendig für das Mitschreiben der im Diagramm anzuzeigenden Daten. Bitte legen Sie dazu ein Programm mit dem Namen _CM_diagram_logger_ auf Ihrer CCU mit den Einstellungen wie im Folgenden dargestellt an und kopieren den untenstehenden Programmcode unverändert hinein. Danach diese Seite neu laden.
01.jpg
2.jpg

Code: Alles auswählen

!V1.0
!CloudMatic Diagrammlogger
!(c) EASY SmartHome GmbH

object logVar = dom.GetObject("_CM_diagrams_");
if (logVar)
{
  string logValues = logVar.Value();
  integer maxEntries = 365;
  time now = system.Date("%Y-%m-%d %H:%M:%S").ToTime();
  real nowSeconds = now.ToInteger();

  string logVal;
  foreach(logVal, logValues.Split(";"))
  {
    string stringDP = logVal.StrValueByIndex(",", 0);
    string valueStringName = logVal.StrValueByIndex(",", 1);
    real digits = logVal.StrValueByIndex(",", 2);
    string diffMinutes = logVal.StrValueByIndex(",", 3);
    integer active = logVal.StrValueByIndex(",", 4);

    if (active != 0)
    {
      real timeDiffSeconds = -1;
      if (diffMinutes != "d")
      {
        timeDiffSeconds = diffMinutes.ToInteger() * 60;
      }
      string valueDP = dom.GetObject(stringDP).Value().ToString(digits);

      var valueString = dom.GetObject(valueStringName);
      real timeDiagram = valueString.Timestamp().ToInteger();

      boolean doLog = false;
      if ((timeDiffSeconds >= 0) && ((nowSeconds - timeDiagram) > (timeDiffSeconds - 30))) { doLog = true; }
      if ((timeDiffSeconds == -1) && (now.Hour() == 23) && (now.Minute() >= 54)) { doLog = true; }

      if (doLog)
      {
        string newEntryString = "," # now.ToString() # "," # valueDP;
        if ((valueString.Variable() == "???") || (valueString.Variable() == ""))
        { 
            string initString = "2" # newEntryString;
            valueString.State(initString); 
        }
        else
        {
          string valueStringV = valueString.Variable();
          string valueStringBuf = valueStringV.Substr(valueStringV.Find(",")+1,valueStringV.Length()-valueStringV.Find(","));
          integer lastEntry = valueStringV.StrValueByIndex(",",0).ToInteger();
          integer nextEntry = lastEntry +1;
          if (nextEntry >  maxEntries) {nextEntry = 1;}
          string value;
          integer valueCounter = 0;
          integer rowCounter = 1;
          string valueStringNew = nextEntry.ToString();
          string entryString = "";
          foreach (value,valueStringBuf.Split(","))
          {
             valueCounter = valueCounter + 1;
             entryString = entryString # "," # value;
             if (valueCounter == 2) 
             {
                if ( rowCounter == nextEntry ) {entryString = newEntryString;}
                valueStringNew = valueStringNew # entryString;
                entryString = "";
                valueCounter = 0;
                rowCounter = rowCounter + 1;
             }
          }

          if (rowCounter < nextEntry)
          {
            valueStringNew = valueStringNew # newEntryString;
          }
          valueString.State(valueStringNew);
        }
      }
    }
  }
}
Die Variable _CM_diagrams_ fehlt
Bitte legen Sie die Variable in der WebUI als Zeichenkette an und laden danach diese Seite neu.
03.jpg

--------------------------------------------
158 Kanäle in 80 Geräten (CCU2 + Historian + CloudMatic SmartHome):
1x HM-WDS100-C6-O, 4x HM-Sec-Win, 20x HM-LC-Sw1-FM, 9x HM-LC-Bl1-FM, 10x HM-Sec-SC, 1x HM-Sec-Key-S, 7x HM-LC-Sw2-FM, 2x HM-WDS30-T-O, 4x HM-WDS40-TH-I, 2x HM-LC-Dim1T-FM, 1x HM-Sec-RHS, 3x HM-OU-CF-Pl, 3x HM-Sec-SC-2, 1x HM-LC-Sw1-SM, 1x HM-Sec-SD-Team, 1x HM-RC-Sec3-B, 2x HM-PB-4Dis-WM, 1x HM-RC-12, 2x HM-RC-Key4-2, 3x HM-RC-Key3-B
--------------------------------------------

bannwada
Beiträge: 163
Registriert: 14.11.2007, 08:02
Wohnort: Schweiz-Luzern

Re: CloudMatic Diagramme

Beitrag von bannwada » 10.02.2018, 16:32

Folgendes wurde in der CloudMatic Diagramme eingestellt :
04.jpg
05.jpg
In der View wurde folgendes eingestellt :
06.jpg
Im CSV sieht so aus :
07.jpg
07.jpg (6.55 KiB) 6431 mal betrachtet
Nach dem ersten Start des CCU2 Programs sieht es so aus :
08.jpg
08.jpg (7.16 KiB) 6431 mal betrachtet
Danach sieht es in der CloudMatic so aus..Die Einstellungen gehen verloren ? Leider geht dann nichts mehr...logischerweise :(
09.jpg
WAS MACHE ICH FALSCH ?

Danke und Gruss
bannwada

--------------------------------------------
158 Kanäle in 80 Geräten (CCU2 + Historian + CloudMatic SmartHome):
1x HM-WDS100-C6-O, 4x HM-Sec-Win, 20x HM-LC-Sw1-FM, 9x HM-LC-Bl1-FM, 10x HM-Sec-SC, 1x HM-Sec-Key-S, 7x HM-LC-Sw2-FM, 2x HM-WDS30-T-O, 4x HM-WDS40-TH-I, 2x HM-LC-Dim1T-FM, 1x HM-Sec-RHS, 3x HM-OU-CF-Pl, 3x HM-Sec-SC-2, 1x HM-LC-Sw1-SM, 1x HM-Sec-SD-Team, 1x HM-RC-Sec3-B, 2x HM-PB-4Dis-WM, 1x HM-RC-12, 2x HM-RC-Key4-2, 3x HM-RC-Key3-B
--------------------------------------------

bannwada
Beiträge: 163
Registriert: 14.11.2007, 08:02
Wohnort: Schweiz-Luzern

Re: CloudMatic Diagramme

Beitrag von bannwada » 12.02.2018, 13:13

Antwort :
vielen Dank für Ihre Nachricht. Bitte beachten Sie, dass Sie für die Verwendung von Diagrammen in der SmartHome-Oberfläche sowohl das Programm _CM_diagrams_ als auch die Systemvariable _CM_diagram_logger_ benötigen. Darüber hinaus benötigen Sie für jedes Diagramm, welches Sie erstellen möchten, eine eigene (separate) Systemvariable, in welcher die Daten für das Diagramm erfasst werden.

Möchten Sie ein Diagramm über die Temperatur erstellen, benötigen Sie zu dem oben genannten Programm und der Systemvariable also beispielsweise noch eine Systemvariable "Temperatur" vom Typ Zeichenkette. Diese wählen Sie dann im Diagramm in der SmartHome-Oberfläche als Datenquelle aus.

Bitte prüfen Sie dies noch einmal und beobachten, ob das Diagramm nun korrekt angezeigt wird. Wir werden in den nächsten Tagen eine Anleitung dazu in unserer Knowledge Base veröffentlichen, in welcher dies noch einmal genau nachvollzogen werden kann.

​Sollten Sie noch Fragen oder weiteren Beratungsbedarf haben, stehen wir Ihnen selbstverständlich gerne innerhalb unserer Geschäftszeiten zur Verfügung.

Mit freundlichen Grüßen / Kind regards,

Ihr Team vom EASY SmartHome Support

--------------------------------------------
158 Kanäle in 80 Geräten (CCU2 + Historian + CloudMatic SmartHome):
1x HM-WDS100-C6-O, 4x HM-Sec-Win, 20x HM-LC-Sw1-FM, 9x HM-LC-Bl1-FM, 10x HM-Sec-SC, 1x HM-Sec-Key-S, 7x HM-LC-Sw2-FM, 2x HM-WDS30-T-O, 4x HM-WDS40-TH-I, 2x HM-LC-Dim1T-FM, 1x HM-Sec-RHS, 3x HM-OU-CF-Pl, 3x HM-Sec-SC-2, 1x HM-LC-Sw1-SM, 1x HM-Sec-SD-Team, 1x HM-RC-Sec3-B, 2x HM-PB-4Dis-WM, 1x HM-RC-12, 2x HM-RC-Key4-2, 3x HM-RC-Key3-B
--------------------------------------------

Benutzeravatar
Moonrider
Beiträge: 66
Registriert: 25.08.2017, 13:17

Re: CloudMatic Diagramme

Beitrag von Moonrider » 13.02.2018, 14:53

Bei mir läuft es einwandfrei. Deine Log Variable ist falsch. Du darfst nicht die Var verwenden, die du anlegen sollst, sondern zusätzlich eine VAR z.B. log_Aussentemp,

dann gehts
1.JPG
2.JPG
So long

Marcus

b.eng@t-online.de
Beiträge: 6
Registriert: 08.10.2018, 20:29

Re: CloudMatic Diagramme

Beitrag von b.eng@t-online.de » 01.12.2018, 19:16

Hallo Moonrider,

danke für deinen Hinweis, dass man bei Temperatur eine neue LOG-Variable benötigt.
Leider bin ich mit dieser Information alleine immer noch nicht erfolgreich.
Kannst du mit noch erklären wie die diese Log_Temperatur Variable dann befüllt wird?
Muss man dann in dem Programm _CM_diagramm_logger_ bzw. im dort eingefügten Script noch etwas ändern?
"object logVar = dom.GetObject("_CM_diagrams_");" ersetzen durch ("log_Temperatur") ?

Kannst du mir vielleicht alle deiner Schritte einmal kopieren.
Und was ist, wenn man 2 Digramme aus zwei verschiedenen Temperaturen erzeugen möchte.
Was muss man alles duplizieren.

Vorab vielen Dank für die Hilfe.

Gruß BE

Tobi_g
Beiträge: 7
Registriert: 28.12.2018, 23:02

Re: CloudMatic Diagramme

Beitrag von Tobi_g » 06.01.2019, 14:24

Hallo Zusammen

Ich habe auch eine kurze Frage. Bei mir funktioniert das ganze einwandfrei. Ich nutze das Script um die Temperaturmessungen anzuzeigen. Nun würde ich aber gerne anzeigen lassen wann die Heizung eingeschaltet ist und wann nicht und dies gerne so genau wie möglich. Das heisst 5 Minuten sind ein zu grosser abstand. Es handelt sich um eine kleine Ferienwohnung und eine Ölheizung. Diese wird manchmal nur für kurze Zeit eingeschaltet (so 2min zB). Um Optimierungspotenzial zu finden möchte ich gerne aufzeichnen wann und wie lange die Heizung jeweils läuft. Lässt sich das irgendwie darstellen? Oder ist das Hardcodiert auf 5min? Oder lässt sich das wiederum nur für alle Grafiken im selben Abstand anzeigen (immer 5min)?

Falls jemand helfen kann, herzlichen Dank schon im Voraus

Grüsse Tobi

Antworten

Zurück zu „CloudMatic“