Problem mit Wochenplan

Hallo,

ich möchte in der Console einen einfachen Wochenplan erstellen und bekomme beim dritten Zeitabschnitt folgende Fehlermeldung:

Konnte Wochenplan nicht erstellen
Point hat denselben Start wie PointID 0 (Code: -32603)

Es gibt zwei Aktionen …
1: aus
2: ein

… und zwei Gruppen …
0: (Mo-Fr)
1: (Sa, So)

… sowie drei Start-Uhrzeiten:
0: 00:00 - 08:00 aus
1: 08:00 - 20:00 ein
2: 20:00 - 00:00 aus

Eigentlich recht simpel, aber wo liegt mein Fehler?

Zwischendurch springen die Uhrzeiten wohin sie wollen und das Eingabeformular macht was es will. Danach man muss alle Zeiten neu eingeben. Warum behalten die Felder nicht die vorherigen Werte?

Im Webfront-Editor werden die Werte ohne Fehlermeldung genommen, aber auch da verändert sich der erste Wert, wenn man den zweiten anpassen will. Viel unnütze Klickerei. Und aus dem dritten Endwert 00:00 wird automatisch ein 23:59 - für 1 Minute „ein“ um Mitternachnacht ist nicht gewünscht.

Das Erstellen eines Wochenplans über ein PHP-Script geht mit IPS_SetEventScheduleGroupPoint, aber es kommt auch die obige Fehlermeldung:

Point hat denselben Start wie PointID 1

Warum werden die PointIDs nirgendwo angezeigt? Wie soll man den Fehler zuordnen?

Das Editieren der Wochenpläne treibt mich genauso in den Wahnsinn, wie das Bedienen der Console über mein iPad.

Viele Grüße aus dem Unterallgäu
Harry

@Dr.Niels Kannst du mal schauen, ob du das nachstellen kannst?

paresy

Das ist die Fehlermeldung:

Das ist die Auswirkung im Webfront:

Der dritte Zeitabschnitt endet um 23:59 Uhr und damit gbt es eine „Ein“-Phase von 1 Minute.

Das sind die Erstellungsbefehle:

$grp = 0 für Mo-Fr und $grp = 1 für Sa/So

In der Console plötzlich diese Darstellung:

Gruß
Harry

Ergänzung als Tipp für die Fehlersuche:
Es hat den Anschein als würden editierte Zeitabschnitte im Hintergrund mit einer ID vorhanden sein, aber nicht mehr angezeigt. Sobald man den Wochenplan komplett löscht und neu anlegt scheint es zu passen.

Daher wäre es hilfreich die IDs im Eingabeformular anzuzeigen.

Auch gibt es ein Problem mit Zeiten die über Mitternacht hinweggehen. Gestern Nacht sind meine Rollos um 23:59 Uhr hoch- und um 0:00 Uhr wieder runtergefahren. Sehr ärgerlich!

Gruß
Harry

Kannst du mir vielleicht eine kleine Schritt-für-Schritt-Anleitung geben, wie man den Fehler verursacht? Ich habe gerade einen Wochenplan nach deinen Vorgaben erstellt, was ohne Fehler geklappt hat. Wahrscheinlich ist dein schrittweises Vorgehen ein anderes als meines, daher würde die Anleitung echt helfen.

Da gibt es nicht viel zu beschreiben. Ich bin entsprechend der Doku vorgegangen und habe dann mehrfach geändert und versucht die Werte anzupassen. Es sind 10 Rollos die ich einstellen wollte.

Wenn man neu anfängt und gleich alles richtig eingibt, dann funktioniert es auch bei mir. Das mit dem Editieren und dem ID-Fehler habe ich auch von einem befreundeten Anwender bestätigt bekommen.

Für eine detaillierte Schritt-für-Schritt-Anleitung habe ich im Moment keine Zeit und keinen Nerv. Ich habe alle Wochenpläne wieder rausgeworfen und bleibe bei meiner bisherigen Script-Lösung. Ich wollte nur Umsteigen, weil ich akut KNX-Probleme mit meiner SymBox habe und dort ein Timing-Problem der KNX-Schnittstelle vermute. Aber da ist paresy schon dran.

Viele Grüße aus dem Unterallgäu
Harry

Wenn du oder jemand anderes später sonst noch einmal Zeit findest zu beschreiben, wie ich das nachstellen kann, schaue ich mir das gerne noch einmal an. Ansonsten kann ich dann aktuell leider hier nicht weitermachen.

Alles klar. Danke.
Da ich momentan keine Wochenpläne mehr benutze kann der Fehler drin bleiben.

Gruß Harry

Ich habe auch ein „00:00 Uhr -Problem“ beim Wochenplan. Es ist mir schlicht nicht möglich einen Zeitraum einzugeben, der über 00.00 Uhr hinausgeht. Was geht ist bspw. 2100 bis 0000. Oder auch 0000 bis 0300. Wenn ich aber bspw. versuche einen Zeitraum von 2100 bis 0300 einzustellen, stellt sich der Beginn immer sofort auf 0000 so bald ich ein Ende nach 0000 Uhr wähle.
Die Schritte im einzelnen:

  1. Beginn auf 2100 einstellen
  2. Ende auf 0300 einstellen (schon bei bei Scrollen über 0000 Uhr hinaus bei der Ende-Einstellung, scrollt die Beginn-Uhrzeit automatisch auf 0000 Uhr)

Das ist aber an der Stelle korrekt, da du beim Wochenplan ja immer Tageweise einstellst. D.h. wie von dir beschreiben bis 00:00 und im nächsten Tag ab 00:00. Der Wochenplan optimiert das intern aber natürlich weg, sodass bei gleicher Aktion nicht um 0:00 geschaltet wird.

paresy

Hi paresy,
danke für die Klarstellung. Und ja: Es ist genau wie du beschreibst. Kann mein vermeintliches Problem jetzt auch nicht mehr nachstellen. Da befand sich das Problem wohl mal wieder 70cm vor dem Bildschirm :wink:
:upside_down_face:

1 „Gefällt mir“

Hallo,

ich hab mit meinem sehr simplen Wochenplan auch das Problem, dass sich mein Verbraucher irrtümlicherweise immer um 0:00 Uhr einschaltet.

So sieht die Konfiguration aus:

Was mache ich falsch?

Grüße
Björn

Und im Webfront? Vielleicht ist der Zeitbereich zu klein um ihn zu sehen?
Also 0:00 bis 0:01 an und dann 0:02 aus bis…
Michael

Hier noch ein Screenshot aus der Visu, ich hab jetzt extra noch den Kontrast maximiert - eine zusätzliche Schaltzeit kann ich da nicht erkennen…

Grüße
Björn

Hast du schon mal in die Aus Bereiche reingeklickt und den Zeitraum kontrolliert?
Michael

Ja, hab ich grad nochmal kontrolliert, das passt alles exakt so wie ich es möchte…

Björn

Macht es für die Ausführung des Wochenplans einen Unterschied, wenn ich die zu schaltende Variable bereits selbst vor Ablauf des Einschaltzeitraums auf AUS schalte? Das kommt regelmäßig vor, hätte ich aber jetzt nicht als relevant eingestuft…

Dann dürfte sie ja höchstens noch mal auf aus geschaltet werden :sweat_smile:
Sonst mal diese Ausgabe vom Script Posten, da sollte man sehen ob im Plan irgendwas merkwürdig ist.

$e = IPS_GetEvent(hier die objektID vom Wochenplan rein);
var_dump($e);

Michael

Das wäre das Ergebnis:

array(26) {
  ["EventID"]=>
  int(23975)
  ["EventType"]=>
  int(2)
  ["EventActive"]=>
  bool(true)
  ["EventLimit"]=>
  int(0)
  ["EventConditions"]=>
  array(0) {
  }
  ["TriggerType"]=>
  int(0)
  ["TriggerVariableID"]=>
  int(0)
  ["TriggerValue"]=>
  string(0) ""
  ["TriggerSubsequentExecution"]=>
  bool(true)
  ["CyclicDateType"]=>
  int(0)
  ["CyclicDateValue"]=>
  int(0)
  ["CyclicDateDay"]=>
  int(0)
  ["CyclicDateDayValue"]=>
  int(0)
  ["CyclicDateFrom"]=>
  array(3) {
    ["Day"]=>
    int(0)
    ["Month"]=>
    int(0)
    ["Year"]=>
    int(0)
  }
  ["CyclicDateTo"]=>
  array(3) {
    ["Day"]=>
    int(0)
    ["Month"]=>
    int(0)
    ["Year"]=>
    int(0)
  }
  ["CyclicTimeType"]=>
  int(0)
  ["CyclicTimeValue"]=>
  int(0)
  ["CyclicTimeFrom"]=>
  array(3) {
    ["Hour"]=>
    int(0)
    ["Minute"]=>
    int(0)
    ["Second"]=>
    int(0)
  }
  ["CyclicTimeTo"]=>
  array(3) {
    ["Hour"]=>
    int(0)
    ["Minute"]=>
    int(0)
    ["Second"]=>
    int(0)
  }
  ["ScheduleActions"]=>
  array(2) {
    [0]=>
    array(6) {
      ["ID"]=>
      int(1)
      ["Name"]=>
      string(20) "Cafébar einschalten"
      ["Color"]=>
      int(16728800)
      ["ScriptText"]=>
      string(0) ""
      ["ActionID"]=>
      string(38) "{FCE37F48-DA3F-45DD-AC77-71343792CC2D}"
      ["ActionParameters"]=>
      array(1) {
        ["VALUE"]=>
        bool(true)
      }
    }
    [1]=>
    array(6) {
      ["ID"]=>
      int(2)
      ["Name"]=>
      string(20) "Cafébar ausschalten"
      ["Color"]=>
      int(40580)
      ["ScriptText"]=>
      string(0) ""
      ["ActionID"]=>
      string(38) "{FCE37F48-DA3F-45DD-AC77-71343792CC2D}"
      ["ActionParameters"]=>
      array(1) {
        ["VALUE"]=>
        bool(false)
      }
    }
  }
  ["ScheduleGroups"]=>
  array(2) {
    [0]=>
    array(3) {
      ["ID"]=>
      int(1)
      ["Days"]=>
      int(31)
      ["Points"]=>
      array(3) {
        [0]=>
        array(3) {
          ["ID"]=>
          int(2)
          ["Start"]=>
          array(3) {
            ["Hour"]=>
            int(0)
            ["Minute"]=>
            int(0)
            ["Second"]=>
            int(0)
          }
          ["ActionID"]=>
          int(2)
        }
        [1]=>
        array(3) {
          ["ID"]=>
          int(3)
          ["Start"]=>
          array(3) {
            ["Hour"]=>
            int(6)
            ["Minute"]=>
            int(30)
            ["Second"]=>
            int(0)
          }
          ["ActionID"]=>
          int(1)
        }
        [2]=>
        array(3) {
          ["ID"]=>
          int(1)
          ["Start"]=>
          array(3) {
            ["Hour"]=>
            int(22)
            ["Minute"]=>
            int(0)
            ["Second"]=>
            int(0)
          }
          ["ActionID"]=>
          int(2)
        }
      }
    }
    [1]=>
    array(3) {
      ["ID"]=>
      int(5)
      ["Days"]=>
      int(96)
      ["Points"]=>
      array(3) {
        [0]=>
        array(3) {
          ["ID"]=>
          int(3)
          ["Start"]=>
          array(3) {
            ["Hour"]=>
            int(0)
            ["Minute"]=>
            int(0)
            ["Second"]=>
            int(0)
          }
          ["ActionID"]=>
          int(2)
        }
        [1]=>
        array(3) {
          ["ID"]=>
          int(1)
          ["Start"]=>
          array(3) {
            ["Hour"]=>
            int(7)
            ["Minute"]=>
            int(0)
            ["Second"]=>
            int(0)
          }
          ["ActionID"]=>
          int(1)
        }
        [2]=>
        array(3) {
          ["ID"]=>
          int(2)
          ["Start"]=>
          array(3) {
            ["Hour"]=>
            int(23)
            ["Minute"]=>
            int(0)
            ["Second"]=>
            int(0)
          }
          ["ActionID"]=>
          int(2)
        }
      }
    }
  }
  ["EventScript"]=>
  string(0) ""
  ["EventActionID"]=>
  string(0) ""
  ["EventActionParameters"]=>
  array(0) {
  }
  ["LastRun"]=>
  int(1702963800)
  ["NextRun"]=>
  int(1703019600)
}
<?php
$e = IPS_GetEvent(23975);
var_dump($e);
//Skript hier einfügen

Das schaut aber genauso gut aus wie in der Konsole und Webfront…
Kann mich was anderes das Gerät einschalten und somit die Ursache sein?
Andere Idee hätte ich sonst auch nicht mehr :no_mouth:
Michael