Module Wochenschaltuhr / weekly timer

Ich wollte euch mein Zweites Modul vorstellen.
Dieses basiert auf dem Wochenplan.

Man kann sich über das Konfigurationsformular den Wochenplan zusammenstellen und erzeugen lassen.
Außerdem können die Aktionen und die dazugehörigen Offset Zeiten eingestellt werden.

Übers Web Front habt ihr die Möglichkeit die Startzeiten zu ändern oder diese wieder zurückzusetzen.

Mehr Infos findet ihr in der Git Readme.
https://github.com/Matzel687/IPSWochenschaltuhr.git

Gruß Matzel

Hi
Wollte das Modul für die Bewässerung zweckentfremden… aber ich bekomm beim erstellen vom Skript die Fehlermeldung:
IDent may contain only letters… on line 193

Wäre toll, wenn man auch die Aktionen gleich mitdefinieren könnte. Ich werde wohl eine zweite Schaltuhr -Instranz nutzen, um das Problem mit doppelten Wochentagen zu umgehen (Ich habe Bewässerungszyklen am Morgen und am Abend)

Danke für Deinen Einsatz und das Modul
Michael

Hi,

kann es sein das du im Namen der Wochenschaltuhr Umlaute hast?

Ich nutze den Namen gleichzeitig als Ident, damit jeder die Objekte nach seinen Vorstellungen umbenennen kann.
Laut der IPS Doku sind aber im Ident nur folgende Zeichen gültig.
„a…z“,„A…Z“,„0…9“,"_

Gruß Matzel

Und warum nutzt du keinen statischen Text als Ident um deine Óbjekte zu finden ?
Also nur ‚ActionScript‘ und dann ‚ActionSchedule‘ oder so ?

Das hat doch mit dem Namen gar nix zu tun :slight_smile:

Also z.B.


//alt
               $Ident = $this->ReadPropertyString("Alarmname");      //Wochenplan Name
                $ParentID = @IPS_GetObjectIDByIdent($Ident,$this->InstanceID );
                $EreignisID = @IPS_GetObjectIDByIdent($Ident, $ParentID);  //Wochenplan ID
// neu
                $ScriptID = @IPS_GetObjectIDByIdent('ActionScript',$this->InstanceID );
                $EreignisID = @IPS_GetObjectIDByIdent('Schedule', $ScriptID );  //Wochenplan ID

Genauso ist das automatisch angelegte Script nicht unter RPi bzw. ohne Kompatibilitätsfunktionen lauffähig.
Da ist noch $IPS_SENDER statt $_IPS[‚SENDER‘] :smiley:

Michael

Es gibt einen kleinen Bugfix,

die Ident’s sind jetzt fest und $IPS_SENDER habe ich in $_IPS[‚SENDER‘] geändert

Danke für die Änderungen. Damit kann ich nun endlich mal auf Raspberry testen.

Gruss
Mike Lima

Hallo,

habe noch einen Fehler gefunden. Fix ist online

Gruß Matzel

Guten Morgen zusammen,

ich nutze dieses Modul und würde gerne folgendes realisieren. Leider reichen meine PHP-Kenntnisse dafür noch nicht aus.

Wochenplan ist angelegt: Mo - Fr von 06:00 - 8:00 Uhr
Bedingungen die zu prüfen sind: „Wochenschaltuhr Ein“ und „TV Aus“
Auslöser soll ein Bewegungsmelder sein, welcher als Ereignis das Script ausführen soll
Dann „Sonos Play“

<?
                    #This script was created automatically by the module.
                    #If the script is updated through the module configurator,
                    #will be overwritten !!
                    #Please backup the contents before
                        if($_IPS["SENDER"] == "TimerEvent"){
                            switch ($_IPS["ACTION"]) {
                                case 1:        #Radio Wecker An
                                if ((34903 /*[Programme\Wochenschaltuhr\Radio Wecker\Weekly timer On / Off]*/ == true) and (13419 /*[Hardware\Ping\TV]*/ == false))
                                {
                                    SNS_Play(22465 /*[Hardware\Sonos]*/);
                                }
                                break;
                                case 2:        #Radio Wecker Aus
                                {
                                }
                                break;}
                        }   
                        ?>

Leider funktioniert das Script nicht. Vielleicht kann mir jemand erklären was ich falsch mache.

Beste Grüße
Kai

Hallo Kai,

probiere es mal hiermit. Damit sollte morgens um 6:00 Uhr dein Sonos angehen, wenn dein TV Aus ist.
Ob der Wochenplan an ist brauchst du nicht abfragen. Das Skript wird vom Wochenplan getriggert. Wenn der Wochenplan aus ist passiert auch nichts.

 <?
                    #This script was created automatically by the module.
                    #If the script is updated through the module configurator,
                    #will be overwritten !!
                    #Please backup the contents before
                        if($_IPS["SENDER"] == "TimerEvent"){
                            switch ($_IPS["ACTION"]) {
                                case 1:        #Radio Wecker An
                                if (GetValueBoolean(13419) == false)
                                {
                                    SNS_Play(22465 /*[Hardware\Sonos]*/);
                                }
                                break;
                                case 2:        #Radio Wecker Aus
                                {
                                }
                                break;}
                        }   
                        ?> 

Gruß Matzel

Hallo Matzel,

vielen Dank für deine Hilfe.

Dein Skript funkioniert, nur leider startet die Sonos damit immer um 6:00 Uhr. Sie soll aber erst ausgeführt werden, wenn eine Bewegung zw. 6:00 und 8:00 Uhr erkannt wird.

Ich habe den Bewegungsmelder als Ereignis auf das Skript gelegt. Leider passiert damit nichts.

Beste Grüße
Kai

Hallo,

ich bekomme leider folgende Meldung beim Anlegen der Instanz in der 4.4

Deine Spracheinstellungen des IPS-Host sind ungültig.
Stell mal von xxx@euro auf de.utf-8 dann sollte es funktionieren.
Ist ein bekannter IPS Fehler.
Michael

dpkg-reconfigure locales
Generating locales (this might take a while)…
de_DE.UTF-8… done
en_US.UTF-8… done
Generation complete.

War schon auf UTF :frowning:

Magst du mir mal ein Logfile vom Start deines IP-Symcon hochladen?

Insbesondere die ersten 20-30 Zeilen wären relevant vom LocalePool.

paresy

11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | Creating...
11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | IP-Symcon Kernel Version: 4.4
11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | IP-Symcon Kernel Revision: d17dd9ec390fafa24b5b85a880880791f0f3d379
11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | IP-Symcon Kernel Build: 10/29/17
11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | IP-Symcon Kernel WorkingDir: /var/lib/symcon/
11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | IP-Symcon Kernel SystemDir: /usr/share/symcon/
11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | IP-Symcon Kernel LogDir: /var/log/symcon/
11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | IP-Symcon System: linux (x64)
11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | Boost Version: 1_58
11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | cURL Version: libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3
11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | Git2 Version: 0.26.0
11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | SSH2 Version: 1.5.0
11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | ZLIB Version: 1.2.8
11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | RapidJSON Version: 1.1.0
11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | OpenSSL Version: OpenSSL 1.0.2g  1 Mar 2016
11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | OpenSSL CertDir: /usr/lib/ssl/certs
11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | XML2 Version: 20903
11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | XML2 Threads: Yes
11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | PHP Version: 5.6.32
11/03/17 17:46:28 | 00000 | MESSAGE | Kernel               | Initializing...
11/03/17 17:46:28 | 00000 | MESSAGE | LocalePool           | Creating...
11/03/17 17:46:28 | 00000 | MESSAGE | LocalePool           | Detected locale: 
11/03/17 17:46:28 | 00000 | MESSAGE | LocalePool           | Invalid locale
11/03/17 17:46:28 | 00000 | MESSAGE | LicensePool          | Creating...
11/03/17 17:46:28 | 00000 | MESSAGE | Settings             | Creating...

Denke der Ausschnitt reicht oder? :slight_smile:

Jupp. Du hast scheinbar auf dem Pi die Sprache gar nicht gesetzt. Ich werde zum nächsten Update (4.4) einbauen, dass zumindest die Fehlermeldung nicht kommt und das Modul nutzbar ist.

paresy

Hallo zusammen,

ich komm mit dem Modul irgendwie nicht weiter…:banghead:

So wie ich es verstehe dürfte die Variable ID 13941 (Radio Wecker Ein / Aus) doch nur auf True gesetzt werden, wenn die Variable 34903 (Weekly Timer On / Off) auf On steht.

Es wird aber, egal in welchem Zustand sich der Weekly Timer befindet, die Variable 13941 auf True gesetzt.

:confused::confused::confused:

Vielleicht kann mir jemand auf die Sprünge helfen.

Beste Grüße
Kai

Hi,

so zur Info.
Modul funkt unter Version 5 nicht mehr