[gelöst] Shelly2.5 settings (shedule/_rules) abfragen/ändern

Begonnen von frober, 05 April 2021, 18:53:04

Vorheriges Thema - Nächstes Thema

frober

Hallo zusammen,

ich möchte über MQTT die shedule ein-/ausschalten, bzw. die shedule_rules ändern.

Die shedule_rules müsste ich erst einmal abfragen, um die aktuelle Konfiguration zu sichern, bzw. anzupassen.

Wenn ich das halbwegs verstanden habe, müsste ich es so in etwa pulblishen!?
shellies/shellyswitch25-<deviceid>/settings/roller/{index}

Als Index dann shedule_rules?
Was mir auch nicht klar ist, wo gebe ich die Anfrage ein?

Es handeln sich um Shelly 2.5 als roller konfiguriert und mit MQTT2_Server angebunden.

Danke und Gruß
Bernd

Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Otto123

#1
Hallo Bernd,

meines Wissen sind das HTTP API Befehle / Settings und die sind nicht per MQTT verfügbar.
https://shelly-api-docs.shelly.cloud/#shelly2-5-mqtt

https://shelly-api-docs.shelly.cloud/#shelly2-5-settings-relay-index

Da musst Du Dir wahrscheinlich etwas per HTTP (HTTPMOD) basteln. Ich hatte da mal was für den shellyplug s gebaut. Hilft vielleicht als Vorlage:
defmod shellyplug_s_h HTTPMOD none 0
attr shellyplug_s_h userattr get01Name get01URL get02Name get02URL get03Name get03URL set01IMap set01Name set01TextArg:0,1 set01URL set02Name set02TextArg:0,1 set02URL set03Name set03TextArg:0,1 set03URL set04Name set04TextArg:0,1 set04URL set05Name set05TextArg:0,1 set05URL set06Name set06TextArg:0,1 set06URL set07Name set07TextArg:0,1 set07URL set10Name set10TextArg:0,1 set10URL set11Name set11TextArg:0,1 set11URL set12Name set12TextArg:0,1 set12URL set15Name set15TextArg:0,1 set15URL set16Name set16URL set17Name set18URL
attr shellyplug_s_h eventMap /switch on:on/switch off:off/switch toggle:toggle
attr shellyplug_s_h extractAllJSON 1
attr shellyplug_s_h get01Name settings
attr shellyplug_s_h get01URL http://shellyplug-s-040E41/settings
attr shellyplug_s_h get02Name status
attr shellyplug_s_h get02URL http://shellyplug-s-040E41/status
attr shellyplug_s_h get03Name settings_relay_0
attr shellyplug_s_h get03URL http://shellyplug-s-040E41/settings/relay/0
attr shellyplug_s_h room HTTPMOD_Device
attr shellyplug_s_h set01Name mqtt_max_qos
attr shellyplug_s_h set01URL http://shellyplug-s-040E41/settings/?mqtt_max_qos=$val
attr shellyplug_s_h set02Name mqtt_retain
attr shellyplug_s_h set02TextArg 1
attr shellyplug_s_h set02URL http://shellyplug-s-040E41/settings/?mqtt_retain=$val
attr shellyplug_s_h set03Name mqtt_update_period
attr shellyplug_s_h set03URL http://shellyplug-s-040E41/settings/?mqtt_update_period=$val
attr shellyplug_s_h set04Name settings_relay_0_default_state
attr shellyplug_s_h set04TextArg 1
attr shellyplug_s_h set04URL http://shellyplug-s-040E41/settings/relay/0/?default_state=$val
attr shellyplug_s_h set05Name settings_relay_0_btn_type
attr shellyplug_s_h set05TextArg 1
attr shellyplug_s_h set05URL http://shellyplug-s-040E41/settings/relay/0/?btn_type=$val
attr shellyplug_s_h set06Name settings_relay_0_auto_on
attr shellyplug_s_h set06URL http://shellyplug-s-040E41/settings/relay/0/?auto_on=$val
attr shellyplug_s_h set07Name settings_relay_0_auto_off
attr shellyplug_s_h set07URL http://shellyplug-s-040E41/settings/relay/0/?auto_off=$val
attr shellyplug_s_h set10Name led_status_disable
attr shellyplug_s_h set10TextArg 1
attr shellyplug_s_h set10URL http://shellyplug-s-040E41/settings/?max_power=$val
attr shellyplug_s_h set11Name led_status_disable
attr shellyplug_s_h set11TextArg 1
attr shellyplug_s_h set11URL http://shellyplug-s-040E41/settings/?led_status_disable=$val
attr shellyplug_s_h set12Name led_power_disable
attr shellyplug_s_h set12TextArg 1
attr shellyplug_s_h set12URL http://shellyplug-s-040E41/settings/?led_power_disable=$val
attr shellyplug_s_h set15Name switch
attr shellyplug_s_h set15TextArg 1
attr shellyplug_s_h set15URL http://shellyplug-s-040E41/relay/0/?turn=$val
attr shellyplug_s_h set16Name timeron
attr shellyplug_s_h set16URL http://shellyplug-s-040E41/relay/0/?timer=$val&turn=on
attr shellyplug_s_h set17Name timeroff
attr shellyplug_s_h set18URL http://shellyplug-s-040E41/relay/0/?timer=$val&turn=off


Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

frober

#2
Zitat von: Otto123 am 05 April 2021, 19:55:48
Hallo Bernd,

meines Wissen sind das HTTP API Befehle / Settings und die sind nicht per MQTT verfügbar.
https://shelly-api-docs.shelly.cloud/#shelly2-5-mqtt

https://shelly-api-docs.shelly.cloud/#shelly2-5-settings-relay-index

Da musst Du Dir wahrscheinlich etwas per HTTP (HTTPMOD) basteln. Ich hatte da mal was für den shellyplug s gebaut. Hilft vielleicht als Vorlage:
defmod shellyplug_s_h HTTPMOD none 0
attr shellyplug_s_h userattr get01Name get01URL get02Name get02URL get03Name get03URL set01IMap set01Name set01TextArg:0,1 set01URL set02Name set02TextArg:0,1 set02URL set03Name set03TextArg:0,1 set03URL set04Name set04TextArg:0,1 set04URL set05Name set05TextArg:0,1 set05URL set06Name set06TextArg:0,1 set06URL set07Name set07TextArg:0,1 set07URL set10Name set10TextArg:0,1 set10URL set11Name set11TextArg:0,1 set11URL set12Name set12TextArg:0,1 set12URL set15Name set15TextArg:0,1 set15URL set16Name set16URL set17Name set18URL
attr shellyplug_s_h eventMap /switch on:on/switch off:off/switch toggle:toggle
attr shellyplug_s_h extractAllJSON 1
attr shellyplug_s_h get01Name settings
attr shellyplug_s_h get01URL http://shellyplug-s-040E41/settings
attr shellyplug_s_h get02Name status
attr shellyplug_s_h get02URL http://shellyplug-s-040E41/status
attr shellyplug_s_h get03Name settings_relay_0
attr shellyplug_s_h get03URL http://shellyplug-s-040E41/settings/relay/0
attr shellyplug_s_h room HTTPMOD_Device
attr shellyplug_s_h set01Name mqtt_max_qos
attr shellyplug_s_h set01URL http://shellyplug-s-040E41/settings/?mqtt_max_qos=$val
attr shellyplug_s_h set02Name mqtt_retain
attr shellyplug_s_h set02TextArg 1
attr shellyplug_s_h set02URL http://shellyplug-s-040E41/settings/?mqtt_retain=$val
attr shellyplug_s_h set03Name mqtt_update_period
attr shellyplug_s_h set03URL http://shellyplug-s-040E41/settings/?mqtt_update_period=$val
attr shellyplug_s_h set04Name settings_relay_0_default_state
attr shellyplug_s_h set04TextArg 1
attr shellyplug_s_h set04URL http://shellyplug-s-040E41/settings/relay/0/?default_state=$val
attr shellyplug_s_h set05Name settings_relay_0_btn_type
attr shellyplug_s_h set05TextArg 1
attr shellyplug_s_h set05URL http://shellyplug-s-040E41/settings/relay/0/?btn_type=$val
attr shellyplug_s_h set06Name settings_relay_0_auto_on
attr shellyplug_s_h set06URL http://shellyplug-s-040E41/settings/relay/0/?auto_on=$val
attr shellyplug_s_h set07Name settings_relay_0_auto_off
attr shellyplug_s_h set07URL http://shellyplug-s-040E41/settings/relay/0/?auto_off=$val
attr shellyplug_s_h set10Name led_status_disable
attr shellyplug_s_h set10TextArg 1
attr shellyplug_s_h set10URL http://shellyplug-s-040E41/settings/?max_power=$val
attr shellyplug_s_h set11Name led_status_disable
attr shellyplug_s_h set11TextArg 1
attr shellyplug_s_h set11URL http://shellyplug-s-040E41/settings/?led_status_disable=$val
attr shellyplug_s_h set12Name led_power_disable
attr shellyplug_s_h set12TextArg 1
attr shellyplug_s_h set12URL http://shellyplug-s-040E41/settings/?led_power_disable=$val
attr shellyplug_s_h set15Name switch
attr shellyplug_s_h set15TextArg 1
attr shellyplug_s_h set15URL http://shellyplug-s-040E41/relay/0/?turn=$val
attr shellyplug_s_h set16Name timeron
attr shellyplug_s_h set16URL http://shellyplug-s-040E41/relay/0/?timer=$val&turn=on
attr shellyplug_s_h set17Name timeroff
attr shellyplug_s_h set18URL http://shellyplug-s-040E41/relay/0/?timer=$val&turn=off


Gruß Otto

Erstmal danke Otto.

Ich dachte auch, dass es nur mit Http geht. Laut API aktuell scheint es nun auch per MQTT zu gehen.
https://shelly-api-docs.shelly.cloud/#shelly2-settings-roller-index

Grundlegend kann ich im MQTT2_Server ein publish absetzen, nur wo bekomme ich die Antwort? Wie üblich als Popup o.ä.?
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Otto123

#3
Da ist bei Dir Wunschlesemodus aktiv  ;D - meine Links waren schon fast richtig. Du bist jetzt bei dem 2 er und nicht 2.5 er
Und Dein link ist HTTP API - MQTT ist weiter oben.

https://shelly-api-docs.shelly.cloud/#shelly2-5-settings-roller-index

Publishen kannst Du viel - aber ob das Einen interessiert?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

frober

#4
Zitat von: Otto123 am 05 April 2021, 20:26:42
Da ist bei Dir Wunschlesemodus aktiv  ;D - meine Links waren schon fast richtig. Du bist jetzt bei dem 2 er und nicht 2.5 er
Und Dein link ist HTTP API - MQTT ist weiter oben.

https://shelly-api-docs.shelly.cloud/#shelly2-5-settings-roller-index

Publishen kannst Du viel - aber ob das Einen interessiert?

Der Shelly2 war ein Versehen.
Dann sind nur die "wenigen" Befehle für MQTT und unter ColoT ist alles Http!?

Irgendwie ist die Seite jedes mal verwirrend :o

Dann setze ich mal auf gelöst.
Danke nochmal für das Bsp.

P.S. deine Links hatte ich überlesen, sorry.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Otto123

Zitat von: frober am 05 April 2021, 20:46:33
Irgendwie ist die Seite jedes mal verwirrend :o
Da stimme ich zu ;) bin ich auch schon dem wunschlesen erlegen
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

frober

Jetzt habe ich doch noch eine Frage:

Ich habe meinen Shelly definiert, innerhalb HTTPMOD funktioniert alles. Ich kann die shedule_rules setzen wie ich sie benötige.

Was muss ich einstellen, dass das auch über die Befehlszeile, bzw. ein notify funktioniert?

Ein set shedule_Rollo_Schlafzimmer Urlaub funktioniert nicht  :(

Im Eventmonitor kommt:
2021-05-04 17:23:16 HTTPMOD shedule_Rollo_Schlafzimmer Urlaub
Das passt, HTTPMOD zeigt aber keine Reaktion :o
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Otto123

Hi,

da ich das nicht habe kann ich nicht mal raten. Mach mal bitte ein list von dem shedule_Rollo_Schlafzimmer.

Aber normal ist der set Befehl der gleiche wie der den Du in der Oberfläche klickst ;)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

frober

Zitat von: Otto123 am 04 Mai 2021, 18:14:07
Hi,

da ich das nicht habe kann ich nicht mal raten. Mach mal bitte ein list von dem shedule_Rollo_Schlafzimmer.

Aber normal ist der set Befehl der gleiche wie der den Du in der Oberfläche klickst ;)

Gruß Otto

Hallo Otto,

das List hatte ich mir wg. der Passwörter etc. gespart, da es ja im Modul funktioniert. Habe vermutet, dass noch etwas allgemeines fehlt, um die Steuerung von Außen zu aktivieren.

Das es funktioniert wie die anderen Module hatte ich auch gedacht, bis meine Steuerung per Kalender nicht funktionierte. :(

das List:
Internals:
   BUSY       0
   DEF        none 0
   FUUID      608d804b-f33f-ff70-8483-0d3513f80f8a4dec
   Interval   0
   MainURL   
   ModuleVersion 4.1.08 - 1.4.2021
   NAME       shedule_Rollo_Schlafzimmer
   NOTIFYDEV  global
   NR         463
   NTFY_ORDER 50-shedule_Rollo_Schlafzimmer
   STATE      stop
   TYPE       HTTPMOD
   value      0
   HttpUtils:
     NAME       
     addr       http://ip:80
     auth       1
     buf       
     code       200
     compress   1
     conn       
     data       
     displayurl http://user:pw@ip/settings/roller/0?schedule_rules=0019bsr-01234-open,0019ass-0123456-close,0800-56-open
     header     
     host       ip
     httpheader HTTP/1.1 200 OK
Server: Mongoose/6.18
Connection: close
Content-Type: application/json
Content-Length: 557
     httpversion 1.0
     hu_blocking 0
     hu_filecount 1
     hu_port    80
     hu_portSfx
     ignoreredirects 1
     loglevel   4
     path       /settings/roller/0?schedule_rules=0019bsr-01234-open,0019ass-0123456-close,0800-56-open
     protocol   http
     pwd        pw
     redirects  0
     timeout    2
     url        http://user:pw@ip/settings/roller/0?schedule_rules=0019bsr-01234-open,0019ass-0123456-close,0800-56-open
     user       user
     sslargs:
   QUEUE:
   READINGS:
     2021-05-04 16:31:48   btn_reverse     0
     2021-05-04 16:31:48   button_type     momentary
     2021-05-04 16:31:48   default_state   stop
     2021-05-04 16:31:48   input_mode      openclose
     2021-05-04 16:31:48   is_valid        1
     2021-05-04 16:31:48   maxtime         20
     2021-05-04 16:31:48   maxtime_close   20
     2021-05-04 16:31:48   maxtime_open    21
     2021-05-04 16:31:48   obstacle_action stop
     2021-05-04 16:31:48   obstacle_delay  1
     2021-05-04 16:31:48   obstacle_mode   disabled
     2021-05-04 16:31:48   obstacle_power  200
     2021-05-04 16:31:48   off_power       2
     2021-05-04 16:31:48   positioning     1
     2021-05-04 16:31:48   power           0
     2021-05-04 16:31:48   safety_action   stop
     2021-05-04 16:31:48   safety_allowed_on_trigger none
     2021-05-04 16:31:48   safety_mode     while_opening
     2021-05-04 16:31:48   safety_switch   0
     2021-05-04 16:31:48   schedule        1
     2021-05-04 16:31:48   schedule_rules_0 0800-0123456-open
     2021-05-04 16:31:48   schedule_rules_1 0019ass-0123456-close
     2021-05-01 18:51:04   schedule_rules_2 0800-56-open
     2021-05-04 16:31:48   state           stop
     2021-05-04 16:31:48   swap            0
     2021-05-04 16:31:48   swap_inputs     0
   REQUEST:
     context    set
     data       
     header     
     ignoreredirects 0
     method     
     num        01
     retryCount 0
     type       set01
     url        http://user:pw@ip/settings/roller/0?schedule_rules=0019bsr-01234-open,0019ass-0123456-close,0800-56-open
     value      0
   defptr:
     readingBase:
       btn_reverse get
       button_type get
       default_state get
       input_mode get
       is_valid   get
       maxtime    get
       maxtime_close get
       maxtime_open get
       obstacle_action get
       obstacle_delay get
       obstacle_mode get
       obstacle_power get
       off_power  get
       positioning get
       power      get
       safety_action get
       safety_allowed_on_trigger get
       safety_mode get
       safety_switch get
       schedule   get
       schedule_rules_0 get
       schedule_rules_1 get
       state      get
       swap       get
       swap_inputs get
     readingNum:
       btn_reverse 01
       button_type 01
       default_state 01
       input_mode 01
       is_valid   01
       maxtime    01
       maxtime_close 01
       maxtime_open 01
       obstacle_action 01
       obstacle_delay 01
       obstacle_mode 01
       obstacle_power 01
       off_power  01
       positioning 01
       power      01
       safety_action 01
       safety_allowed_on_trigger 01
       safety_mode 01
       safety_switch 01
       schedule   01
       schedule_rules_0 01
       schedule_rules_1 01
       state      01
       swap       01
       swap_inputs 01
     readingOutdated:
     requestReadings:
       get01:
         btn_reverse get 01
         button_type get 01
         default_state get 01
         input_mode get 01
         is_valid   get 01
         maxtime    get 01
         maxtime_close get 01
         maxtime_open get 01
         obstacle_action get 01
         obstacle_delay get 01
         obstacle_mode get 01
         obstacle_power get 01
         off_power  get 01
         positioning get 01
         power      get 01
         safety_action get 01
         safety_allowed_on_trigger get 01
         safety_mode get 01
         safety_switch get 01
         schedule   get 01
         schedule_rules_0 get 01
         schedule_rules_1 get 01
         state      get 01
         swap       get 01
         swap_inputs get 01
Attributes:
   extractAllJSON 1
   get01Name  Shedule
   get01URL   http://user:pw@ip/settings/roller/0
   room       Technik->Rolladen
   set01Name  Wochentag
   set01NoArg on
   set01URL   http://user:pw@ip/settings/roller/0?schedule_rules=0019bsr-01234-open,0019ass-0123456-close,0800-56-open
   set02Name  Urlaub
   set02NoArg on
   set02URL   http://user:pw@ip/settings/roller/0?schedule_rules=0800-0123456-open,0019ass-0123456-close
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Otto123

#9
Hi,

da steht set02NoArg on  ???

Also ich habe in meiner Definition
attr shellyplug_s_h set10Name led_status_disable
attr shellyplug_s_h set10TextArg 1

Bedeutet: in der Oberfläche habe ich ein Textfeld dort trage ich je nach dem was ich will eine 0 oder 1 ein, drücke vorne auch set und es wird ausgeführt.
Wenn ich in der FHEM Kommandzeile
set device led_status_disable 1 eingebe, wird das genauso ausgeführt. Ich sehe auch keinen Grund warum ein Befehl über das Klickmenu anders funktionieren soll wie der gleiche Befehl in der Kommandzeile.

Die Doku sagt
ZitatIf a set command should not require a parameter at all, then you can specify the attribute NoArg. For example:

    attr PM set03Name On
    attr PM set03NoArg

Was Du jetzt mit Deiner Kombination erreicht hast?
Wobei die Doku doch Käse ist, hinter dem Attribute muss doch ein Wert stehen? Typischerweise wird da per default 1 reingeschrieben...

Ich bin unsicher ....
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

frober

Zitat von: Otto123 am 04 Mai 2021, 19:40:38
Hi,

da steht set02NoArg on  ???

Da ich alles in der Adresse stehen habe, habe ich das Argumentfeld ausgeschaltet.
Das sollte aber doch nicht die Steuerung von Aussen beeinflussen. Wie geschrieben, mit dem Set im Modul funktioniert alles.

Da wir hier eh im falschen Unterforum sind, mache ich im Richtigen einen neuen Thread auf.

Danke schonmal...
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Otto123

wenn ich hier im Forum suche steht da immer set02NoArg 1 und nicht on. Aber vielleicht ist das egal.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

frober

Zitat von: Otto123 am 04 Mai 2021, 20:28:07
wenn ich hier im Forum suche steht da immer set02NoArg 1 und nicht on. Aber vielleicht ist das egal.

Das wird per Drop-down-Menü gewählt.
Warum das beim Anlegen on/off war, hmm, jetzt kommt 0/1.
Hab's geändert, macht aber keinen Unterschied.

Ich habe einen neuen Thread eröffnet
https://forum.fhem.de/index.php/topic,120865.msg1154409.html#msg1154409



Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...