Autor Thema: [73_AutoShuttersControl.pm] Neues Modul zum automatisierten steuern von Rolläden  (Gelesen 24121 mal)

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17802
Dann muß ich das mal testen.
Was bekommst Du denn wenn Du
CommandSet(undef,'dummy'.AttrVal($calDev,'alias',undef).' tomorrow '.$value);
entsprechend aus führst.

Bei meinem Urlaub und auch bei den Schulferien meiner Kinder hat das super geklappt.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline dk3572

  • Full Member
  • ***
  • Beiträge: 352
Dann muß ich das mal testen.
Was bekommst Du denn wenn Du
CommandSet(undef,'dummy'.AttrVal($calDev,'alias',undef).' tomorrow '.$value);
entsprechend aus führst.

Bei meinem Urlaub und auch bei den Schulferien meiner Kinder hat das super geklappt.

das müsstest du mir jetzt genauer erklären  ???
Wo soll ich das ausführen?

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17802
das müsstest du mir jetzt genauer erklären  ???
Wo soll ich das ausführen?
Sorry mein Fehler. Falsche Zeile.

CommandGet(undef,$calDev.' events filter:mode=="upcoming"')

Wäre in FHEM Kommando

get Kalendername events filter:mode=="upcoming"

Die Ausgabe bräuchte ich für Deinen Test 4.
4. Mehrtägiger Termin bis heute (11.) = state 1, tomorrow 1
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline dk3572

  • Full Member
  • ***
  • Beiträge: 352
Sorry mein Fehler. Falsche Zeile.

CommandGet(undef,$calDev.' events filter:mode=="upcoming"')

Wäre in FHEM Kommando

get Kalendername events filter:mode=="upcoming"

Die Ausgabe bräuchte ich für Deinen Test 4.
4. Mehrtägiger Termin bis heute (11.) = state 1, tomorrow 1

Das habe ich jetzt in meinem Kalender Modul bei get Googlekalender events filter:mode=="upcoming" eingetragen.

Da passiert nichts.
Ohne den Filter bekomme ich alle Termine angezeigt.

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17802
Hast Du das Attribut hideLaterThan auf 1d bei dem Kalenderdevice gesetzt?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline dk3572

  • Full Member
  • ***
  • Beiträge: 352
Hast Du das Attribut hideLaterThan auf 1d bei dem Kalenderdevice gesetzt?

Jep.
Nach mehrfacher Prüfung würde ich behaupten, 1:1 umgesetzt.

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17802
sub calendarEvents($) {
    my $calDev  = shift;
    my $value = 0;
    my $start = CommandGet(undef,$calDev.' events filter:mode=="start"');
    my $upcoming = CommandGet(undef,$calDev.' events filter:mode=="upcoming"');

    CommandSet(undef,'dummy'.AttrVal($calDev,'alias',undef).' '.(length($start) > 0 ? 1 : 0) );

    $value = 1 if ( ($start =~ m#(\d+)h# and $1 > 24) or ($start =~ m#(\d+)d# and $1 > 1) or length($upcoming) > 0 );
    CommandSet(undef,'dummy'.AttrVal($calDev,'alias',undef).' tomorrow '.$value);
}

Also das ist meine aktuelle Sub. Alles weitere muß ich bei Gelegenheit noch mal testen.
Kannst du mir ein Beispiel für ein Kalender geben. Also wann wo wie lange welcher Termin.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline dk3572

  • Full Member
  • ***
  • Beiträge: 352
sub calendarEvents($) {
    my $calDev  = shift;
    my $value = 0;
    my $start = CommandGet(undef,$calDev.' events filter:mode=="start"');
    my $upcoming = CommandGet(undef,$calDev.' events filter:mode=="upcoming"');

    CommandSet(undef,'dummy'.AttrVal($calDev,'alias',undef).' '.(length($start) > 0 ? 1 : 0) );

    $value = 1 if ( ($start =~ m#(\d+)h# and $1 > 24) or ($start =~ m#(\d+)d# and $1 > 1) or length($upcoming) > 0 );
    CommandSet(undef,'dummy'.AttrVal($calDev,'alias',undef).' tomorrow '.$value);
}

Also das ist meine aktuelle Sub. Alles weitere muß ich bei Gelegenheit noch mal testen.
Kannst du mir ein Beispiel für ein Kalender geben. Also wann wo wie lange welcher Termin.

Habe die sub eingefügt. Gleiches Verhalten.
Was für ein Beispiel?
Ich habe es mit den oben besagten 4 Varianten getestet.

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17802
Beim 4. Beispiel ist es nicht sauber?
Und da hast Du für den heutigen Tag keinen Termin, auch keinen der über heute hinausgeht und auch kein Termin für Tomorrow?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline dk3572

  • Full Member
  • ***
  • Beiträge: 352
Der Fehler tritt erst auf, wenn ich bis einschließlich heute, einen mehrtägigen Termin erstelle. Morgen stehen keine Termine drin.
Wenn ich nur heute einen ganztägigen Termin eintrage, ist tomorroe = 0, stimmt also.
Eben extra nochmals getestet.

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17802
OK ich schaue mir das mal an.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline C0mmanda

  • Full Member
  • ***
  • Beiträge: 359
Ok Sorry mein Fehler. Ich brauche nur das verbose 5 vom ASC Device. Tut mir leid.

Kein Problem, reiche ich schnellstmöglich ein :)

Gruß

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5114
  • Maintainer: mqtt2.template, httpmod.template
Hallo zusammen,
da ich grade einen template-Vorschlag erhalten habe für den shelly2 im roller-Modus: Wie sollten denn die Befehle optimalerweise sein?
Im Moment wäre es "set <device> pos <%-Wert>". Paßt das, oder wäre pct besser? (100 scheint offen zu sein, 0 geschlossen).
Server: HP-T5740 mit Debian stretch (i386) + aktuellem FHEM | ConfigDB | CUL_HM: div. Hardware mit VCCU | MySensors seriell (2.3.1@RS485, daran div. Sensoren usw., u.a. DS18B20) | Milight@ESP-GW@MQTT2 | zigbee2mqtt@MQTT2 | SIGNALduino | MapleCUN

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17802
Hallo zusammen,
da ich grade einen template-Vorschlag erhalten habe für den shelly2 im roller-Modus: Wie sollten denn die Befehle optimalerweise sein?
Im Moment wäre es "set <device> pos <%-Wert>". Paßt das, oder wäre pct besser? (100 scheint offen zu sein, 0 geschlossen).
Da die Konfiguration sehr flexibel ist passt Dein pos wunderbar. Kann ich dann auch gleich so im Modul zu den unterstützten Befehlen eintragen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5114
  • Maintainer: mqtt2.template, httpmod.template
...hätte eher auf pct getippt, aber dann lasse ich es wie vorgeschlagen.

Das ist ein MQTT2_DEVICE-Gerät; wer die templates nutzt, hat als model-Attribut "A_11b_shelly2_roller", das ist aber noch nicht in Stein gemeißelt und wer es "händisch" macht, hat das ggf. gar nicht gesetzt. Vielleicht kürzt du das bei Bedarf auf "enthält" shelly2_roller, wenn sowas überhaupt benötigt wird?
Server: HP-T5740 mit Debian stretch (i386) + aktuellem FHEM | ConfigDB | CUL_HM: div. Hardware mit VCCU | MySensors seriell (2.3.1@RS485, daran div. Sensoren usw., u.a. DS18B20) | Milight@ESP-GW@MQTT2 | zigbee2mqtt@MQTT2 | SIGNALduino | MapleCUN