eigentlich wollte ich die Tage das Modul für die Zertifizierung vorbereiten und als Stable freischalten lassen.
Dabei ist mir ein Fauxpas meinerseits aufgefallen, welcher die hinterlegte Bundle-ID betrifft.
Da das Modul nur als Beta bisher im Store ist, war das Symcon Team so nett es für mich anzupassen (spezieller Danke an @Dr. Niels).
Also, wenn ihr mein Modul schon installiert habt bitte folgendes machen:
[ol]
[li]Installiertes Modul löschen (2 Wege)[/li][LIST=A]
[li]via kleinem Scriptaufruf => [/li]```php
SC_DeleteModule(12345 /* ID des Store Control */, ‚de.wilkware.ips.module.contactsensor‘);
[li]alternativ kann man auch den Ordner unter modules/.store manuell löschen (d[i]e.wilkware.ips.module.contactsensor[/i]).[/li][/ol]
[li]Modul erneut installieren (Suchstring : '[i]Toolmatic Contact Sensor[/i]')[/li][li]Bereits angelegt Instanzen sollten weiterhin funktionieren![/li][/LIST]
Sorry für den Aufwand! Bei Fragen kommt gern auf mich zu!
Als Dankeschön sollte es dann die Stable Version mit einigen Erweiterungen geben :loveips:
Danke & Ciao
Heiko
gerade kam die Meldung rein das die Einreichung für die Stable-Version erfolgreich war.
Damit hat die Toolmatic-Reihe wieder ein neues Mitglied im Store - Danke ans Symcon-Team!
Hier nochmal der Funktionsumfang:
Überwachen von bis zu 4 Kontaktsensoren (z.B. pro Raum)
Verzögertes Absenken der Heizung entsprechend eingestellter Zeit
Schalten von bis zu 2 Heizkörpern (Thermostaten bzw. Ventilantrieben)
Bedingtes Schalten in Abhängigkeit …
der Ventilstellung / Ventilöffnung
der Differenz zwischen Aussen- und Innentemperatur
Wiederholtes Testen der Bedingungen nach einstellbarer Zeit
Automatisches Aufheben der Absenkung unabhängig von Zustand der Sensoren
auch hier haben Renovierungsarbeiten zugeschlagen und hat dabei eine komplett neue Meldungsverwaltung mit sich gebracht!
Changeloge der BETA v2.0.20221204:
NEU: Konfigurationsformular überarbeitet und vereinheitlicht
NEU: Kompatibilität auf 6.0 hoch gesetzt
NEU: Meldungswesen komplett überarbeitet und erweitert
FIX: Interne Bibliotheken überarbeitet und vereinheitlicht
FIX: Dokumentation überarbeitet
WICHTIG: Die Einstellungen der Meldungsverwaltung haben sich „fast“ komplett verändert und erweitert und sind nicht Rückwärtskompatible (sorry) - also bitte entsprechend den eigenen Wünschen wieder setzen!
Ja genau, dann kann die Absenkung damit also nicht erfolgen, schade
Die Möglichkeit das man ein Skript hinterlegt gibt es nicht oder habe ich da etwas übersehen?
Ich habe noch eine Frage dazu, wie genau funktioniert denn bei der Absenkung der Weg zurück?
Also wenn das Fenster geöffnet wird, sorgt folgendes dafür das mein Heizkörper komplett ausgeschalten wird.
if ("WINDOW_STATE" == 0)
{
HM_WriteValueFloat(23546,"MANU_MODE", 1);
}
Wenn ich das Fenster dann wieder schließe, würde ich ja gerne wieder mein Automatikprogramm setzen.
if ("WINDOW_STATE" == 1)
{
HM_WriteValueBoolean(23546,"AUTO_MODE", true);
}
Das wird aber dann nicht nochmal abgefragt oder? Wie ist das denn normal bei deinem Modul geplant?
über ‚MANU_MODE‘ kann man die manuelle Temp schreiben:
Typ: float
Minimaler Wert: 4.5
Maximaler Wert: 30.5
Standardwert: 20.0
Einheit: °C
Ich würde das hier probieren …
// zurück in Auto-Modus
HM_WriteValueBoolean($IPS_DeviceID,'AUTO_MODE',true);
// Absenken per Manuel Modus
HM_WriteValueFloat($IPS_DeviceID,'MANU_MODE',12.0);
Also das Script wird vom Modul beim Öffnen und dann wieder beim Schließen aufgerufen!
Beim öffnen des Fensters werden 30 Sekunden gewartet und dann wird die Absenkung (Skript startet) vollzogen.
Wenn ich das Fenster schließe, reagiert das Skript sofort, allerdings passiert nichts, es scheint als wenn das Fenster immer noch als geöffnet betrachtet wird.
Der Fensterkontakt hat den Status aber korrekt gewechselt. Woran kann das liegen?
Das Skript das ich in deinem Modul hinterlegt habe sieht wie folgt aus:
if ("WINDOW_STATE" == 1)
{
HM_WriteValueBoolean(23546,"AUTO_MODE", true);
}
if ("WINDOW_STATE" == 0)
{
HM_WriteValueFloat(23546,"MANU_MODE", 1);
}
Da ich eine Verzögerung von 30 Sekunden eingestellt habe, wird danach richtigerweise in den Manuellen Modus geschaltet.
Wenn ich dann das Fenster schließe, wird ohne Verzögerung das Skript ausgeführt, scheinbar kommt vom Fensterkontakt hier nicht schnell genug geschlossen und somit wird nicht in den Automatik Modus zurückgeschaltet.
Ahh, jetzt verstehe ich was los ist Zwar nicht aus Deiner Erklärung, aber aus Deinem Script … das ist leider nicht ganz richtig! Der „WINDOW_STATE“ wird als Array-Wert übergeben, deshalb hatte ich ja extra die Screenshots vom Array mitgeschickt.
Dein Script muss ungefähr so aussehen …
if ($_IPS["WINDOW_STATE"] == 1)
{
HM_WriteValueBoolean(23546,"AUTO_MODE", true);
}
if ($_IPS["WINDOW_STATE"] == 0)
{
HM_WriteValueFloat(23546,"MANU_MODE", 1);
}
Sonst ist das ja eine normaler Stringvergleich mit 0 bzw. 1 und der schlägt bei == 0 wohl zu