Modul weekprofile + FHEMWEB widget

Begonnen von Risiko, 23 Dezember 2015, 20:16:54

Vorheriges Thema - Nächstes Thema

Risiko

Hallo.

Auf Basis dieser
http://forum.fhem.de/index.php/topic,32390.0.html
ersten Umsetzung speziell für MAX Geräte habe ich nun daraus ein Modul zum verwalten von Wochenprofilen + ein Widget für FHEMWEB gebaut.
Das Modul soll natürlich nicht nur MAX-Thermostate unterstützen. Aktuell sollten noch die Homatic Modelle HM-CC-RT-DN, HM-CC-TC und HM-TC-IT-WM-W-EU funktionieren.
Da ich selbst keine Homatic Geräte besitze, benötige ich da Zuarbeit. Besten Dank an Thorsten Pferdekaemper und arne.dien.
Das Modul ist noch nicht fertig, aber evtl. als Weihnachtsgeschenk der aktuelle Stand  zum spielen ;)
Ab morgen ist es aus per update verfügbar.
Ich denke es ist alles soweit alles in der commandref beschrieben (aktuell leider nur in de).

Kurzbeschreibung:
Anlegen einer Instanz mit  define name weekprofile [master gerät]
Das 'Master-Gerät' kann eines der oben genannten Thermostate sein. Es wird dann automatisch das Profil 'master' entsprechend dem Wochenprofil vom Gerät angelegt.
Dieses kann dank des Widgets über FHEMWEB bearbeitet werden. Beim Speichern wird dieses automatisch an das 'Master-Gerät' übertragen. Credit und damit verbundene Probleme werden aktuell nicht berücksichtigt.
Wird kein 'Master-Gerät' angegeben, wird ein 'Default'-Profil angelegt.
Es können dann mehrere Profile bspw. für Urlaub, Sommer, Winter, etc. durch kopieren angelegt werden.
Das Senden eines Profils an ein anders nicht 'Master-Gerät' ist ebenfalls möglich.

Ich bin über euer Feedback gespannt.

Beschreibung im Wiki: http://www.fhemwiki.de/wiki/Weekprofile

JoeALLb

Danke vielmals, dass es hier weiter geht!!

Spannende Sache, aber den Homematic - Workflow,den es bei mehr als einem Gerät braucht, trifft es noch nicht ganz. Dazu sollte die Homematic - Profildatei, die hminfo verwaltet, bearbeitet werden können. Das aktualisieren der Thermostate geht dann mit
Set DEVICE tempListTmpl restore

wie wäre es, wenn es direkt aus dem hminfo Device die temlatedatei (ist eine normale Textdatei am Filesystem) ausliest und die darin enthaltenen Profile zum editieren anbietet?


FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

Risiko

Hallo JoeALLb,

das Ganze soll nicht speziell für Homatic sein. MAX bspw. kann selbst nur ein Profil verwalten und es gibt auch noch andere Thermostate.
Könnte mir evtl. einen In- und Export von HMInfo bzw. der Datei vorstellen. Brauche dazu aber mehr Infos (habe kein Homatic).

rvideobaer

Hallo,

habe das Modul gerade gefunden, bin schon mal beeindruckt. Bei den Homematic Geräten muß beim Definieren aber das Gerät mit Kanal (Clima bzw. Climate) angegeben werden.
Vielleicht kann das zukünftig gleich mit im Modul eingetragen werden?

Aber erst einmal vielen Dank und ein Frohes Fest Rolf
Raspberry Pi 2, HM-Uart,1x HM-LC-Sw1PBU-FM, 1x HM-RC-2-PBU-FM,1x HM-LC-SW4-DR,1x HM-LC-Sw1-Pl-DN-R1,1x HM-TC-IT-WM-W-EU, 5x HM-CC-RT-DN und noch mehr

Thorsten Pferdekaemper

Zitat von: rvideobaer am 24 Dezember 2015, 10:26:21habe das Modul gerade gefunden, bin schon mal beeindruckt. Bei den Homematic Geräten muß beim Definieren aber das Gerät mit Kanal (Clima bzw. Climate) angegeben werden.
Vielleicht kann das zukünftig gleich mit im Modul eingetragen werden?
Hier muss man etwas aufpassen. Du weißt ja nicht, wie der Kanal jeweils heißt. Bei mir heißen die Dinger z.B. "Op" am Ende und nicht Clima(te).
Gruß,
   Thorsten
FUIP

fruit

#5
Looks very useful,  thanks - but before I try it I need an 'en' translation :(

Here's a very quick and dirty attempt - I may need to look at it again later if google got too many bits wrong
=pod

=begin html

<a name="weekprofile"></a>
<h3>weekprofile</h3>
<ul>
  <b>ToDo: Übersetzung</b><br>
 
  The 'weekprofile' module enables managing of multiple weekprofiles that can be modified and transferred to different devices. Currently, the following hardware is supported:
  <li>all MAX Thermostats</li>
  <li>Homatic HM-CC-RT-DN </li>
  <li>Homatic HM-CC-TC    </li>
  <li>Homatic HM-TC-IT-WM-W-EU</li>
 
  In the standard case, the module is associated with a device = 'master device',
  the weekprofile of the device is edited from the web interface and sets other profiles on the device.
  <br>
  <b>Attention:</b> Transferring weekprofiles uses a lot of credits. This is not taken into account by the module. It may be that the weekprofile in the module does not immediately match the weekprofile of the device after setting\updating.
  <br><br>
  <a name="weekprofiledefine"></a>
  <b>Define</b>
  <ul>
    <code>define &lt;name&gt; weekprofile [master device]</code><br>
    <br>
    Enables the module. When specifying a 'master device' a 'master device' weekprofile is created.
    Special treatment of the 'master' profile:
    <li>Can not be deleted</li>
    <li>When changing\setting the Profile it is automatically sent to the 'master device'</li>
    <li>It will come with abgespeicht</li>
    <br>
    If no 'master device' is set then a 'default' profile is created.
  </ul>
 
  <a name="weekprofileset"></a>
  <b>Set</b>
  <ul>
    <li>profile_data<br>
       <code>set &lt;name&gt; profile_data &lt;profilname&gt; &lt;json data&gt; </code><br>
       Change the profile to 'profilname'. The profile data must be passed in JSON format.
    </li>
    <li>send_to_device<br>
      <code>set &lt;name&gt; send_to_device &lt;profilname&gt; [device] </code><br>
      profilname is transmitted to a device. If no device is specified, the 'master device' is used.
    </li>
    <li>copy_profile<br>
      <code>set &lt;name&gt; copy_profile &lt;source&gt; &lt;target&gt; </code><br>
      Copies the profile from 'source' to 'target'. 'target' is overwritten or recreated.
    </li>
    <li>remove_profile<br>
      <code>set &lt;name&gt; remove_profile &lt;profilname&gt; </code><br>
      The profile 'profilname' is deleted.
    </li>
  </ul>
 
  <a name="weekprofileget"></a>
  <b>Get</b>
  <ul>
    <li>profile_data<br>
       <code>get &lt;name&gt; profile_data &lt;profilname&gt; </code><br>
       Returns the profile of 'profilname' in JSON format
    </li>
    <li>profile_names<br>
      <code>set &lt;name&gt; profile_names</code><br>
      Provides a list of the profile_names separated by ',''
    </li>
  </ul>
 
  <a name="weekprofileattr"></a>
  <b>Attribute</b>
  <ul>
    <li>widgetWeekdays<br>
      List of weekdays separated by ',' which are displayed in the widget.
      Beginning on Monday. z.B.
      <code>attr name widgetWeekdays Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday</code>
    </li>
     <li>configFile<br>
      Path and file name where the profiles are stored.
      Default: ./log/weekprofile-<name>.cfg
    </li>
    <li>icon<br>
      The icon used for the edit widget
      Default: edit_settings
    </li>
  </ul>
 
</ul>
=end html

=cut

Edited
Feel free to follow up in German if you prefer

rippi46

Hallo Risiko,

hatte dein Modul schon vor dieser Änderung getestet.
Kann man die Bezeichnungen für die Tage auf deutsche Tage umstellen oder ist das jetzt fest auf englische Tage codiert?

Gruß Rippi

und Frohe Weihnachten
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

Risiko

Zitat von: Thorsten Pferdekaemper am 24 Dezember 2015, 10:32:18
Hier muss man etwas aufpassen. Du weißt ja nicht, wie der Kanal jeweils heißt. Bei mir heißen die Dinger z.B. "Op" am Ende und nicht Clima(te).
Gruß,
   Thorsten
Das verstehe ich leider nicht. Dachte das die Syntax bei allen HM gleich ist, nur die Namen der Readings nicht. Naja wird sich schon noch ergeben  ;D

Risiko

Zitat von: rippi46 am 24 Dezember 2015, 10:40:39
Hallo Risiko,

Kann man die Bezeichnungen für die Tage auf deutsche Tage umstellen oder ist das jetzt fest auf englische Tage codiert?

Gruß Rippi

und Frohe Weihnachten
Dafür ist das Attribut widgetWeekdays da

locodriver

Danke für die "Aufnahme" als offizielles Modul. Tolle Arbeit bis hier her.

Schöne Feiertage an alle!

Uwe
fhem 6.0 auf Rpi3 Bookworm
HM-LAN-CFG (FW 0.965), HM-MOD-UART, 2x HM-TC-IT-WM-W-EU, 4x HM-Sec-RHS und 3x HM-CC-RT-DN, 6x HM-LC-Bl1-FM mit je 1x Somfy-Motor,
2x HM-LC-SW2-FM für Licht und Lüfter, 2x HM-PB-6-WM55, Alexa, Jeelinkcross, CUL, CUNO2, IR-Blaster

Afterburner

Coole Sachen, vielen Dank :)

btw falls noch jemand sucht wie man die Profile bearbeitet, dazu muss man auf die 3 Zahnräder klicken ^^
CUL 868 --> Dirks Universalsensor - ESA200 Strommesser
HM USB --> HM Klingelsensor - HM Zwischenstecker
MAXLAN --> 5 x Thermostat - 4 x Fensterkontakt - ECO Taster - Cube
Arduino Nano V3.0 CC1101 433 MHz --> für Revolt Strommesser
bestellt: JeeLink 868 --> für TX 29 DT-HT Außensender

fruit

#11
$hash->{AttrList} = "widgetWeekdays configFile".$readingFnAttributes;
should be
$hash->{AttrList} = "widgetWeekdays configFile ".$readingFnAttributes;
space before ".

Edit:
Otherwise I see
attr myWeekProfile configFileevent-on-change-reading
or similar
Feel free to follow up in German if you prefer

Afterburner

Ich weiß nicht ob es mit dem Fehler von fruit zu tu hat aber wenn ich ein Profil kopiere, dann dort die Temperatur ändere, dann die Änderungen speichere, dann die FHEM Config speichere, dann die Profile wieder aufrufe, dann das eben erstellte auswähle dann steht da nur noch MON bzw Montag, will man es dann noch bearbeiten mit einem Klick auf die Zahnräder dann erscheint keine Eingabemaske mehr.
CUL 868 --> Dirks Universalsensor - ESA200 Strommesser
HM USB --> HM Klingelsensor - HM Zwischenstecker
MAXLAN --> 5 x Thermostat - 4 x Fensterkontakt - ECO Taster - Cube
Arduino Nano V3.0 CC1101 433 MHz --> für Revolt Strommesser
bestellt: JeeLink 868 --> für TX 29 DT-HT Außensender

fruit

Saving fhem config is OK here, profile following save is as edited so OK too

My suggestion above (now edited to explain the effect) affects setting the configFile atrr - perhaps it affects the save path too if not changed?
Feel free to follow up in German if you prefer

Thorsten Pferdekaemper

Zitat von: Risiko am 24 Dezember 2015, 11:37:31
Das verstehe ich leider nicht. Dachte das die Syntax bei allen HM gleich ist, nur die Namen der Readings nicht. Naja wird sich schon noch ergeben  ;D
Du kannst Deine Devices und Kanäle so nennen, wie Du willst. Das geht einfach mit "rename".
FUIP