Autor Thema: Verknüpfung von TabletUI und Homematic  (Gelesen 446 mal)

Offline matrois

  • Jr. Member
  • **
  • Beiträge: 51
Verknüpfung von TabletUI und Homematic
« am: 09 September 2018, 17:38:01 »
Wie der Titel schon sagt berührt meine Fragestellung auch TabletUI (https://wiki.fhem.de/wiki/FHEM_Tablet_UI) in Verbindung mit Homematic, speziell den Temperaturprofilen von dem Modul Homematicinfo (https://wiki.fhem.de/wiki/HomeMatic_HMInfo). Ich habe in TabletUI ein Widget Homestatus erstellt (https://wiki.fhem.de/wiki/FTUI_Widget_Homestatus).  Das Widget hat die fünf unterschiedlichen Möglichkeiten "Winter","Sommer","Party","UrlaubIn" und "UrlaubOut". Über data-get-on / data-set-on wird der Status eines zusätlich angelegten Dummys entsprechend auf "tempWinter.cfg","tempSommer.cfg","tempUrlaubIn.cfg","tempUrlaubOut.cfg" oder "tempParty.cfg" gesetzt.

Es existieren Dateien mit den Namen "tempWinter.cfg","tempSommer.cfg","tempUrlaubIn.cfg","tempUrlaubOut.cfg" und "tempParty.cfg" die entpsrechende Temperaturprofile enthalten. Durch manuelles Eingreifen kann ich die Temperaturprofile im Modul Homematic-Info zuweisen. Bsp:
attr homematic_info configTempFile tempWinter.cfg
Ich möchte allerdings, dass eine automatische Umstellung / Einstellung des Attributes "configTempFile" in Abhängigkeit des in TabletUI gewählten Homestatus erfolgt. Ich habe dazu bereits u.a. so etwas wie
attr homematic_info configTempFile {ReadingsVal("status_heizung","state","")} probiert. Das funktioniert allerdings scheinbar nicht. Ich habe auch verschiedene Kombinationen von data-set im TabletUI Widget probiert. Ich bin gerade mit meinem Latein am Ende und bedanke mich für jeden Denkanstoß im voraus.

Zu dem oben angeführten Befehl als Attribut configTempFile
{ReadingsVal("status_heizung","state","")}Wenn ich diesen Befehl direkt eingebe bekomme ich das zurückgeliefert was ich erwarte. Als Attribut aufgeführt steht dort (natürlich) der Befehl. Wird das denn dann ausgewertet oder läuft das in den von mir oben erwarteten Fehler?

Ich hoffe, dass mein Beitrag unter Automatisierung richtig ist (statt direkt zum Homematic_info Modul), da ich davon ausgehe, dass die Handhabung bei allen Attributen von Geräten gleich ist (entweder wird Code in geschweiften Klammern innerhalb von Attributen ausgeführt oder nicht).
« Letzte Änderung: 09 September 2018, 17:48:10 von matrois »
FHEM: 5.8@raspberry pi III | 5.8@raspberry pi III
IO: HMLAN | HMUART | Jeelink | MySensors
CUL_HM: CC-RT-DN | SEC-SCo | Sen-DB-PCB | TC-WM-W-EU
weitere Module: configdb | FHEMWEB | FRITZBOX | FileLog | HMinfo | IPCAM

Offline matrois

  • Jr. Member
  • **
  • Beiträge: 51
Antw:Verknüpfung von TabletUI und Homematic
« Antwort #1 am: 18 September 2018, 09:40:40 »
Keiner eine Idee? Falls es andere Möglichkeiten gibt die Heizprofile umzuschalten (also z.B. von "Zuhause" auf "Urlaub" oder "Sommer"), dann lasst es mich bitte auch wissen...
FHEM: 5.8@raspberry pi III | 5.8@raspberry pi III
IO: HMLAN | HMUART | Jeelink | MySensors
CUL_HM: CC-RT-DN | SEC-SCo | Sen-DB-PCB | TC-WM-W-EU
weitere Module: configdb | FHEMWEB | FRITZBOX | FileLog | HMinfo | IPCAM

Offline rabehd

  • Sr. Member
  • ****
  • Beiträge: 581
Antw:Verknüpfung von TabletUI und Homematic
« Antwort #2 am: 18 September 2018, 10:27:50 »
TabletUI visualisiert Zustände aus FHEM und setzt Zustände in FHEM.
Die Änderung eines Zustandes in FHEM löst etwas aus.

Du hast in FHEM einem Zustand (Dummy) und dessen Änderung führt zu den von Dir gewünschten Ereignissen/Tätigkeiten?
Wenn das klappt, dann käme TableltUI ins Spiel.

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17124
Antw:Verknüpfung von TabletUI und Homematic
« Antwort #3 am: 18 September 2018, 10:42:00 »
Ich habe einen Dummy, den setze ich entsprechend. Sommer Winter und und. Genau wie Du. Darauf reagierte bis vor kurzem ein DOIF welches dann genau die von Dir geschilderten Umstellungen der Attribute und so weiter durchführte.
Ich habe das ganze nun in eine myUtils ausgelagert.

Dummy
Internals:
   CFGFN     
   NAME       setTemperaturTemplateDummy
   NR         95
   STATE      Sommer
   TYPE       dummy
   READINGS:
     2018-05-12 07:42:54   state           Sommer
Attributes:
   alias      Temperatur Profile für Automodus
   devStateIcon WinterFROST:weather_winter Winter:weather_snow_light  Sommer:weather_cloudy_light Dummy:message_attention Urlaub:user_available UrlaubAbwesend:user_ext_away
   group      Heizungssteuerung
   icon       sani_heating_calendar
   readingList state
   room       Heizung
   setList    state:Winter,Urlaub,UrlaubAbwesend,Sommer,HeizungAUS,Neutral,WinterFROST
   sortby     1
   webCmd     state

Notify
Internals:
   CFGFN     
   DEF        setTemperaturTemplateDummy:(Winter|Urlaub|UrlaubAbwesend|Sommer|HeizungAUS|WinterFROST) { setTempList($EVENT) }
   NAME       notifySetTemperaturTemplate
   NR         529
   NTFY_ORDER 50-notifySetTemperaturTemplate
   REGEXP     setTemperaturTemplateDummy:(Winter|Urlaub|UrlaubAbwesend|Sommer|HeizungAUS|WinterFROST)
   STATE      active
   TYPE       notify
   READINGS:
     2018-09-14 07:56:45   state           active
Attributes:
   comment    Subroutine liegt in der Datei 99_myUtils_HeatingControl.pm


99_myUtils
sub setTempList($) {

    my $tempList    = shift;
   
   
    if( $tempList eq 'Winter' or $tempList eq 'Urlaub' ) {
        CommandAttr(undef,'HomeMatic configTempFile Winter.cfg,UrlaubIn.cfg,UrlaubOut.cfg,WinterFROST.cfg') if( $tempList eq 'Winter' );
        CommandAttr(undef,'HomeMatic configTempFile UrlaubIn.cfg,Winter.cfg,UrlaubOut.cfg,WinterFROST.cfg') if( $tempList eq 'Urlaub' );

        fhem('sleep 1; set HomeMatic tempListG restore; sleep 1;
            set structureHeizungsSystemWohnung [FILTER=controlMode!=auto] controlMode auto; sleep 1;
            set structureHeizungsSystemWohnung [FILTER=desired-temp!=6.0:FILTER=desired-temp!=19.0:FILTER=desired-temp!=17.0] desired-temp 19.0');
           
    } elsif( $tempList eq 'UrlaubAbwesend' ) {
        fhem('attr HomeMatic configTempFile UrlaubOut.cfg,UrlaubIn.cfg,Winter.cfg,WinterFROST.cfg; sleep 1;
            set HomeMatic tempListG restore; sleep 1;
            set structureHeizungsSystemWohnung [FILTER=controlMode!=auto] controlMode manual; sleep 1;
            set structureHeizungsSystemWohnung [FILTER=desired-temp!=6.0:FILTER=desired-temp!=15.0] desired-temp 15.0');
           
    } elsif( $tempList eq 'WinterFROST' ) {
        fhem('attr HomeMatic configTempFile WinterFROST.cfg,UrlaubOut.cfg,UrlaubIn.cfg,Winter.cfg; sleep 1;
            set HomeMatic tempListG restore; sleep 1;
            set structureHeizungsSystemWohnung [FILTER=controlMode!=auto] controlMode auto; sleep 1;
            set set structureHeizungsSystemWohnung [FILTER=desired-temp!=6.0:FILTER=desired-temp!=19.0:FILTER=desired-temp!=17.0] desired-temp 20.0');
           
    } elsif( $tempList eq 'Sommer' or $tempList eq 'HeizungAUS' ) {
        CommandSet(undef,'structureHeizungsSystemWohnung controlManu on') if( $tempList eq 'Sommer' );
        CommandSet(undef,'structureHeizungsSystemWohnung [FILTER=desired-temp!=6.0] controlManu 6.0') if( $tempList eq 'HeizungAUS' );
    }
}
HomeMatic ist mein Homematicinfo Device

Vielleicht hilft es ja.
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 Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6080
Antw:Verknüpfung von TabletUI und Homematic
« Antwort #4 am: 19 September 2018, 02:13:26 »
Geht mit Astro (für Jahreszeiten) und YAAHM (für Status und Modi vom Haus) auch ohne Dummy.

LG

pah

Offline matrois

  • Jr. Member
  • **
  • Beiträge: 51
Antw:Verknüpfung von TabletUI und Homematic
« Antwort #5 am: 25 September 2018, 12:05:27 »
@rabehd: Vollkommen richtig. Ich habe es offensichtlich verkompliziert. TabletUI hätte ich gar nicht in die Fragestellung reinbringen sollen. In meinem Beispiel fehlt ein DoIF oder Notify.

@CoolTux: Danke für die umfangreichen Ausführungen. Ich denke da sind einige Ansätze für mein fehlendes DoIF dabei. Allerdings brauche ich dafür eine ruhige Minute...

@Prof.Dr. Peter Henning: Vielen Dank für den Tipp mit Astro und YAAHM. Jetzt brauche ich schon mehrere ruhige Minuten.  ;)

FHEM: 5.8@raspberry pi III | 5.8@raspberry pi III
IO: HMLAN | HMUART | Jeelink | MySensors
CUL_HM: CC-RT-DN | SEC-SCo | Sen-DB-PCB | TC-WM-W-EU
weitere Module: configdb | FHEMWEB | FRITZBOX | FileLog | HMinfo | IPCAM

 

decade-submarginal