In einer notify If schleife Zeitverzögerung?????

Begonnen von thestealth, 15 Januar 2013, 23:53:58

Vorheriges Thema - Nächstes Thema

thestealth

LOL Okay sorry aber ich programmiere seid 10 Jahren in c#,c++, php und im Microcontroller bereich ganz so blöde bin ich nicht ich bin nur noch nicht so vertraut mit Fhem und Perl.

Jetzt nach diesem Thread habe ich begriffen das ich fhem( vor den FHEM befehlen setzen muss.

Ich beschäftige mich jetzt erst seid rund 20 Stunden mit Fhem und FS20 also 20 stunden aus den einzelnen Zeiten über die Tage verteilt und da ging eigentlich am meisten zeit bei rum die für mich benötigten FS20 Hardware raus zu suchen, zu kaufen, und zu programmieren bzw. binden.

Da ich momentan auch Zeitgleich neben dem ausbau meiner Haussteuerung Arbeite, Familie habe und an der Entwicklung einer neuer Firmware für meinen 3 Achsen Gyroskop arbeite hat man manchmal mal bei einfachsten dingen einen Knoten in den Gehirnwindungen.


Trotzdem danke für die Warnung ich werde aber das Sleep benutzen und zu dem übersichtlicher ja ist es wenn man sich das CFG über Putty anschaut da es so keinen Zeilen Umbruch giebt!!!!!!!

Und ja ich mache alles immer und am liebsten per Console da ich so egal ob am Handy , Laptop, oder Desktop egal von wo auch immer das 100 identische zus ehen bekomme und ich mit Konsole schneller arbeiten kann als mit einem Browser oder Notepad usw.


Gruß

   Dennis




Zrrronggg!

Wollte dir bestimmt nicht zu nahe treten.

ZitatJetzt nach diesem Thread habe ich begriffen das ich fhem( vor den FHEM befehlen setzen muss.

Naja, eigentlich genau NICHT, denn dafür gibt's ja Klammern.

Was du ja machst ist FHEM sagen, dass das was jetzt kommt alles perl ist
Indem du eine { Klammer aufmachst.

Und dann sagst du perl  es möge doch an FHEM eine Reihe von Befehle übergeben:
indem du fhem("Befehl 1 ;; Befehl 2 ;; Befehl 3 ") schreibts.

Jeden dieser Befehle einzeln an FHEM zu übergeben ist ... möglich.  ;-)
 

Zitat... wenn man sich das CFG über Putty anschaut da es so keinen Zeilen Umbruch giebt

Verstehe ich ehrlich gesagt trotzdem nicht, da der Code ja erheblich länger wird.

Aber das ist natürlich egal. Wenn dir das besser gefällt, dann mach es so.

Es gibt eben nur so 3-4 "Klassiker" was mit FEHM schnell mal schief gehen kann, und sleep an falscher Stelle gehört dazu.
Wenn du das im Griff hast, ist alles chic!


FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

thestealth

Ja habe alles im griff und jetzt das ganze noch verbessert jetzt reagiert Fhem endlich auf jeden tastendruck des blöden aufputz senders.

#If Bedinungen

#alle Heizungen: mode auto richtig setzen
define act_on_Wohnzimmer_Schnell_heizen notify Wohnzimmer_Schnell_heizen {\
 if ("%" ne "off") {\
   fhem("set Thermostat_Wohn mode auto desired-temp 30")\
 }\
   else {\
       FHTnominal("Thermostat_Wohn")\
 }\
}


#taster wohn if

define act_on_Taster_1_wohn notify Taster_1_wohn {\
 if ("%" ne "on") {\
    if(OldValue('TV_Steckdose_Status') eq 'Aus') {\
      fhem 'set FernsehSteckdoseAn An';;\
      fhem 'sleep 3';;\
      fhem 'setstate TV_Steckdose_Status An';;\
      fhem 'set FernsehSteckdoseAus Aus'\          
}\
else {\
      fhem 'set FernsehSteckdoseAn Aus';;\
      fhem 'sleep 3';;\
      fhem 'setstate TV_Steckdose_Status Aus';;\
      fhem 'set FernsehSteckdoseAus An'\
     }\
}\
}

define act_on_Taster_2_wohn notify Taster_2_wohn {\
 if ("%" ne "on") {\
    if(OldValue('SteckdoseSchreibtisch_Status') eq 'Aus') {\
      fhem 'set SteckdoseSchreibtisch An';;\
      fhem 'setstate SteckdoseSchreibtisch_Status An'\        
}\
else {\
      fhem 'set SteckdoseSchreibtisch Aus';;\
      fhem 'setstate SteckdoseSchreibtisch_Status Aus'\
     }\
}\
}

define act_on_Taster_3_wohn notify Taster_3_wohn {\
 if ("%" ne "on") {\
    if(OldValue('SchreibtischLicht_Status') eq 'Aus') {\
      fhem 'set SchreibtischLicht An';;\
      fhem 'setstate SchreibtischLicht_Status An'\        
}\
else {\
      fhem 'set SchreibtischLicht Aus';;\
      fhem 'setstate SchreibtischLicht_Status Aus'\
     }\
}\
}

define act_on_Taster_4_wohn notify Taster_4_wohn {\
 if ("%" ne "on") {\
    if(OldValue('SchreibtischLicht_Status') eq 'An') {\
      fhem 'set SchreibtischLicht Aus';;\
      fhem 'setstate SchreibtischLicht_Status Aus'\        
}\
    if(OldValue('SteckdoseSchreibtisch_Status') eq 'Aus') {\
      fhem 'set SteckdoseSchreibtisch An';;\
      fhem 'setstate SteckdoseSchreibtisch_Status An'\        
}\
else {\
      fhem 'set SteckdoseSchreibtisch Aus';;\
      fhem 'setstate SteckdoseSchreibtisch_Status Aus'\
     }\
    if(OldValue('TV_Steckdose_Status') eq 'Aus') {\
      fhem 'set FernsehSteckdoseAn An';;\
      fhem 'sleep 3';;\
      fhem 'setstate TV_Steckdose_Status An';;\
      fhem 'set FernsehSteckdoseAus Aus'\          
}\
else {\
      fhem 'set FernsehSteckdoseAn Aus';;\
      fhem 'sleep 3';;\
      fhem 'setstate TV_Steckdose_Status Aus';;\
      fhem 'set FernsehSteckdoseAus An'\
     }\
 }\
}



Kann mir mal einer sagen warum die blöden tasten nur toogle'n ich mein ja es giebt untoogle aber aber da kommt wieder ein modul mehr zum einsatz plus bei indirekter steuerung ein notify.

Ist ELV zu blöd eine If schleife im 6 Tasten programm des senders ein zu bauen? das der taster abwechselnd on off sendet?

zudem ist mir aufgefallen das dieser Aufputz 6 Tasten Sender wenn er direkt über eine Stromleitung die unterputz verlegt ist montiert wird nur jeden 2-3 befehl bis zum COC bringt.

Ziemlich blöd wenn man den über einen gewöhnlichen Lichtschalter montiert.


Gruß

  Dennis