[ AMAD2 - obsolete] 74_AMAD.pm zur Steuerung eines Androidgerätes

Begonnen von CoolTux, 02 März 2016, 11:14:41

Vorheriges Thema - Nächstes Thema

CoolTux

Es wäre wirklich seltsam wenn gerade die Akkukapazität nicht aktualisiert wird. Das sollte auf jeden Fall gehen.
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.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

visionsurfer

@CoolTux
Ich brauch bitte kurz mal deine Hilfe.

Wie arbeite ich dynamisch mit dem Wecker. Ich habe ja im Tablet in FHEM die folgenden Readings:

nextAlarmDay
nextAlarmTime

Kann man sich damit, mit FHEM Boardmittel ohne wildes Pearl schreiben zu müssen, dynamische Ereignisse starten lassen. Zum Beispiel mit einem DOIF. Also ich will quasi die Weckzeit als "Platzhalter" verwenden. Ich will in ein DOIF nicht starr 07:00 reinschreiben, sondern einfach das Reading. Mach ich das dann mit [meintabletdevice:nextAlarmTime]. Würde er das dann auf z.B. 07:00 ausfüllen, wenn ich vorher den Wecker auf 07:00 gestellt habe ?

Und auch am nächsten Tag dann auf z.B. 7:20, wenn ich die Zeit auf 7:20 gestellt habe ?

Ich will dann mein DOIF weiter ausbauen, das dann z.B. 10 Minuten später irgendwas passiert. In meinem Fall will ich mich mal vorsichtig rantasten und z.B. erst mal 5 Minuten nach Weckzeit meinen Sonnenaufgang Dimmer starten und mein Türschloss entriegeln lassen. Na ja, vielleicht fang ich erst mal nur mit einem an :)

Sind meine Gedanken da richtig ? Ist der Weg richtig ? Also wenn ich das Reading verwende, wartet er dann bis 7 Uhr und mein DOIF beginnt ?

Grüße,
Visionsurfer

CoolTux

#1142

MotoGNadin:nextAlarmTime.* {
                                if( $EVTPART1 eq "off" ) {

                                    if( ReadingsVal( "rr_Nadin_wakeuptimer1", "running", 1 ) == 1 ) {

                                        fhem "set rr_Nadin:FILTER=STATE!=home home; set rr_Nadin_wakeuptimer1:FILTER=nextRun!=OFF nextRun OFF";
                                    }

                                    elsif ( ReadingsVal( "rr_Nadin_wakeuptimer1", "running", 1 ) == 0 ) {

                                        fhem "set rr_Nadin_wakeuptimer1:FILTER=nextRun!=OFF nextRun OFF";
                                    }
                                }

                                elsif( $EVTPART1 =~ /[0-2][0-9]:[0-5][0-9]/ ) {

                                    fhem "set rr_Nadin_wakeuptimer1:FILTER=nextRun=OFF nextRun $EVTPART1; set rr_Nadin:FILTER=STATE!=asleep asleep" if( ReadingsAge( "rr_Nadin_wakeuptimer1", "running", "1970-01-01 12:00:00" ) > 3600 );
                                }
                           }


So habe ich das bei meiner Freundin gelöst. Für Dich interessant ist nur der elsif Teil. Kommt also irgendwas was einer Uhrzeit ähnelt und der aktuelle Status des Weckers ist OFF dann stelle den Wecker auf die ausgelesene Zeit. Das if dahinter ist unwichtig.

Ich mache das aber nicht über DOIF sondern über das Residents Modul und seinen wakeuptimer. Zusammen mit den Skripten dafür ist das Mega flexibel.
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.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

AmunRe

Zitatdefine test_doif DOIF ([[tabletflur:nextAlarmTime]])(set dummy on)

So könnte man doch aber mit direkt auf die Weckzeit zurückgreifen und die als Bedingung für weiteres nutzen. In diesem Fall dummy on.
4 x Echo Dot, HMLAN Gateway, und diverse HM Komponenten, Philips Hue + OSRAM Plugs

visionsurfer

Hi,

ja genau, das war meine Frage.

Also würde das normal so gehen, oder ?

Wobei ich mir auch mal das Residents Modul anschauen muss. Ich hab schon mehrfach gelesen, dass man damit sehr viel Möglichkeiten hat und auch sehr flexibel sein soll ?

Grüße,
Visionsurfer

hillbicks

Ich habs bei mir  per DOIF geloest

([([6P:nextAlarmTime] - int(5400))]) (set wz_heizung_desired_temp 21, set bad_heizung_desired_temp 21)

visionsurfer

Moin,

ok. Danke für die Info. Das werde ich ausprobieren.

@CoolTux

Noch mal kurze Frage zum Wecker. Wenn ich den Wecker stelle, dann würde ja auch das Tablet klingeln, bzw. wecken. Mein Tablet steht aber nicht direkt neben dem Bett. Kann man irgendwie einstellen, das der Wecker dann nach 10 Sekunden automatisch aufhört ? Weil sonst muss ich extra aufstehen und den Wecker ausstellen. Oder halt per "OK Google...." versuchen. Aber ich glaub mein Tablet ist zu weit weg vom Bett.

Kann man das irgendwie einstellen ?

Grüße,
Visionsurfer

CoolTux

Das kommt auf die WeckerApp an. Kann ich Dir so nicht sagen. Sorry
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.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

visionsurfer

Hmmm, ok schade. Weil wenn ich den Wecker z.B. per Sprache mit "Ok Google, stelle den Wecker morgen auf 7 Uhr stelle", dann ist ja der interne Wecker vom Tablet gestellt.
Zeitgleich verändert sich das Reading in AMAD und ich sehe die Weckzeit für morgen 7 Uhr. Das ist schon mal sehr gut.

Aber somit klingelt ja definitiv morgen früh um 7 Uhr das Tablet. Um das dann abzuschalten muss ich das Tablet drücken. Leider vom Bett aus nicht greifbar.
Daher dachte ich man könnte über FHEM sagen, das der Wecker nur 10 Sekunden klingeln soll und dann automatisch auf "ruhe" geht.

Grüße,
Visionsurfer

AmunRe

#1149
Zitat von: visionsurfer am 08 November 2016, 10:36:55
Hmmm, ok schade. Weil wenn ich den Wecker z.B. per Sprache mit "Ok Google, stelle den Wecker morgen auf 7 Uhr stelle", dann ist ja der interne Wecker vom Tablet gestellt.
Zeitgleich verändert sich das Reading in AMAD und ich sehe die Weckzeit für morgen 7 Uhr. Das ist schon mal sehr gut.

Aber somit klingelt ja definitiv morgen früh um 7 Uhr das Tablet. Um das dann abzuschalten muss ich das Tablet drücken. Leider vom Bett aus nicht greifbar.
Daher dachte ich man könnte über FHEM sagen, das der Wecker nur 10 Sekunden klingeln soll und dann automatisch auf "ruhe" geht.

Grüße,
Visionsurfer
Wo ist dein Problem? Wenn das nicht vom Bett aus geht, musst du aufstehen, ist doch der Sinn vom Wecker? ;p

Geht das nicht mit Autmagic? Theoretisch müsste man doch nur den passenden Intent abfangen und dann stumm schalten?


Gesendet von iPhone mit Tapatalk
4 x Echo Dot, HMLAN Gateway, und diverse HM Komponenten, Philips Hue + OSRAM Plugs

visionsurfer

Hi,

ja gute Frage. Keine Ahnung, ob es damit geht. Damit kenne ich mich leider nicht aus. Ja klar muss man aufstehen, aber vielleicht nicht sofort :)

Grüße,
Visionsurfer

Ma_Bo

Kannst du mit "OK Google lösche den Wecker" den Wecker auch wieder löschen...?

Wenn ja, dann sagst du zuerst "ok google stelle den Wecker für 7 Uhr", dann ändert sich das Reading für AMAD, das fängst du ab, schreibst es z.B. in einen Dummy und sagst dann ca. 5 Sekunden später "ok google lösche den wecker"

Sollte so machbar sein, ist zwar doof, erst den Wecker stellen zu lassen und ihn dann wieder zu löschen, aber das wäre eine möglichkeit.

Grüße Marcel
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

visionsurfer

Ja man kann ihn per Sprache auch wieder löschen. Das hab ich schon probiert. Ist natürlich nicht so schick.

Wie übernimmt man ein Reading in ein Dummy ? Weil wenn ich per Sprache den Wecker wieder lösche, ist ja das Reading danach auch wieder leer. Voher muss es ja dann irgendwo übernommen werden (ja in den dummy) damit z.B. meine 7 Uhr stehen bleibt und ich damit später arbeiten kann.

Grüße,
Visionsurfer

CoolTux

Ich habe soeben Version 2.6.6 in SVN hochgeladen. Morgen Früh ab 8 Uhr per update auf Eurem FHEM.
Neu ist das im define die APSSID nicht mehr mit angegeben werden muß. Bitte entfernt sie bei Gelegenheit. Ausserdem gibt es zwei neue Attribute.

  • setAPSSID um die Access Point SSID mit an zu geben. Das wird nur benötigt wer sich gegen WLAN Sleeps absichern will.Ich habe ja damals da so eine Routine programmiert für
  • setTtsMsgLang um eine Sprache für die Sprachausgabe aus zu wählen. Default ist de. Man kann zwischen de - Deutsch und en - Englisch wählen. Wird kein Attribut gesetzt wird automatisch Deutsch genommen
    Sollte es mal gebraucht werden und ich Lust zu haben kann man da auch andere Sprachen hinzufügen


Viel Spaß mit der neuen Version.





Euer
Leon
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.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Zitat von: visionsurfer am 08 November 2016, 12:01:16
Ja man kann ihn per Sprache auch wieder löschen. Das hab ich schon probiert. Ist natürlich nicht so schick.

Wie übernimmt man ein Reading in ein Dummy ? Weil wenn ich per Sprache den Wecker wieder lösche, ist ja das Reading danach auch wieder leer. Voher muss es ja dann irgendwo übernommen werden (ja in den dummy) damit z.B. meine 7 Uhr stehen bleibt und ich damit später arbeiten kann.

Grüße,
Visionsurfer

Das Reading sollte nicht leer sein sondern da sollte wenn dann off stehen.
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.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net