Wlan Erkennung ob ich Zuhause bin + MAX Steuerung

Begonnen von ChrisW, 18 Dezember 2012, 10:20:57

Vorheriges Thema - Nächstes Thema

ChrisW

                                                     

Hallo,
es passiert mir immer öfter das ich per MAX! Eco Schalter auf ECO Schalte,
aber vergesse wenn ich nach Hause komme wieder auf AUTO zu stellen.
Das bedeutet morgends alles zimlich Kalt.

Ich habe öfters mal gelesen das es eine Erkennung gibt über die Fritzbox ob
WLAN geräte eingebucht sind.
Habe eine Fhem5.3 Neu Installation.

Hat jemand eine Aktuelle Anleitung wie ich vorgehen muss?
Der Wiki eintrag ist zimlich alt und stimmt sicher mit der 3.5 nicht mehr
überein ?

Ich habe Fhem NICHT auf der Fritzbox sondern auf einem WIn7 64Bit Notebook.
Aber eine Fritzbox im Hause angeschlossen für WLAN.

Anschließend würde ich gern wenn 2 Geräte eingebucht sind das MAX sich auf
AUTO setzt.



--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry PI3 mit allem möglichen.

Guest

Originally posted by: <email address deleted>

Ich kann dir mal das Beispiel meiner Weihnachtslichter in der Wohnung
geben, läuft auf einem Linux-Server...

--- user_anwesenheit.cfg ---
# Anwesenheit von Tino, HTC Sensation XE

define Anwesenheit_Tino dummy
attr Anwesenheit_Tino loglevel 6
attr Anwesenheit_Tino room Anwesenheit
attr Anwesenheit_Tino setList on off

define Anwesenheit_Tino_FileLog FileLog ./log/Anwesenheit_Tino.log
Anwesenheit_Tino
attr Anwesenheit_Tino_FileLog logtype text
attr Anwesenheit_Tino_FileLog room Logfiles

define Job_AnwesendTino at +*00:01:00 { \
  use Net::Ping;; \
  my $ip = "sensation";; \
  my $p = Net::Ping->new("tcp", 1, 64);; \
  if ($p->ping($ip)) { \
    if ( Value("Anwesenheit_Tino") eq "off" ) { \
      fhem("set Anwesenheit_Tino on");; \
    } \
  } \
  else { \
    if ( Value("Anwesenheit_Tino") eq "on" ) { \
      fhem("set Anwesenheit_Tino off");; \
    } \
  } \
}

Hier wird jede Minute ein TCP-Ping (nicht ICMP, da FHEM keine root-Rechte
hat) auf mein Smartphone abgefeuert und der dummy *Anwesenheit_Tino*gesetzt, wenn er vorher nicht schon den gleichen Status hatte. Dieses
"Zwischen-if" benötige ich, damit ein *notify* nicht jede Minute ausgelöst
wird.

--- user_beleuchtung.cfg ---
# zwischen Sonnenuntergang und 22 Uhr einschalten, falls jemand kommt

define Job_Wohnzimmer_Weihnachtslicht_Abends1 notify
(Anwesenheit_Nicole:on|Anwesenheit_Tino:on) { \
  my ($sec,$min,$hour,$heutetag,$heutemonat,$heutejahr,$wday,$yday,$isdst)
= localtime(time);; \
  if ( !(isday()) && $hour<22 && $hour>15 ) { \
    if ( Value("Wohnzimmer_FunkSteckdose1") eq "off" ) { \
      fhem("set Wohnzimmer_FunkSteckdose1 on");; \
    } \
    if ( Value("Wohnzimmer_FunkSteckdose2") eq "off" ) { \
      fhem("set Wohnzimmer_FunkSteckdose2 on");; \
    } \
    if ( Value("Wohnzimmer_FunkSteckdose3") eq "off" ) { \
      fhem("set Wohnzimmer_FunkSteckdose3 on");; \
    } \
  } \
}
attr Job_Wohnzimmer_Weihnachtslicht_Abends1 room Wohnzimmer

Hier werden drei Funksteckdosen eingeschaltet, wenn ich Nachmittags/Abend
nach Hause komme.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Kleiner Nachtrag:

Solltest du einen Windows 7 Rechner prüfen wollen, musst du einen freien,
offenen Port finden und das Skript um eine Zeile erweitern:

  my $p = Net::Ping->new("tcp", 1, 64);; \
  $p->port_number("139");; \

Hier geht´s auf Port 139, welchen z.B. die Windows-Dateifreigabe verwendet.
Die lokale Firewall muss diese im lokalen Netz natürlich verfügbar machen.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

ChrisW

                                                     

Hm es läuft nicht so recht. Datei wird per include geladen stehen auch
keine Fehler aber es läuft wohl nicht durch Dummys musste ich manuell
anlegen aner es passiert nichts im Log steht nur das es geladen wurde aber
kein Fejler nichts :(
Im Dummy steht nur ??? drin

Am Dienstag, 18. Dezember 2012 11:15:16 UTC+1 schrieb kossmann:
>
> Kleiner Nachtrag:
>
> Solltest du einen Windows 7 Rechner prüfen wollen, musst du einen freien,
> offenen Port finden und das Skript um eine Zeile erweitern:
>
>   my $p = Net::Ping->new("tcp", 1, 64);; \
>   $p->port_number("139");; \
>
> Hier geht´s auf Port 139, welchen z.B. die Windows-Dateifreigabe
> verwendet. Die lokale Firewall muss diese im lokalen Netz natürlich
> verfügbar machen.
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry PI3 mit allem möglichen.

Guest

Originally posted by: <email address deleted>

Im Dummy steht so lange "???" bis, er erstmalig gefüllt wird. Hier liegt
ein Fehler in meinem Skript!!! Dieses geht davon aus, dass "on" oder "off"
gesetzt ist und ändert dies dann. Dies habe ich nachträglich eingebaut, da
sonst das *notify* jede Minute aktiv geworden wäre und ich die Lichter
niemals über die Fernbedienung ausschalten hätte können, ohne dass sie
spätestens 60 Sekunden später wieder an gewesen wären. Da muss ich mal
nachbessern.

Dir hilft bis dahin erst mal ein *set Anwesenheit_Chris off* - eine Minute
später wird das dann geprüft und ggf. korrigiert.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

ChrisW

                                                     

Er hatte die cfg komplett den inhalt gelöscht darum auch keine Logs !!

2012.12.18 12:47:40 1: configfile: Unknown command attr, try help
Valid value for verbose are 0,1,2,3,4,5
Anwesenheit_Chris already defined, delete it first
Anwesenheit_Tanja already defined, delete it first



Am Dienstag, 18. Dezember 2012 12:43:34 UTC+1 schrieb Chris:
>
> Hm es läuft nicht so recht. Datei wird per include geladen stehen auch
> keine Fehler aber es läuft wohl nicht durch Dummys musste ich manuell
> anlegen aner es passiert nichts im Log steht nur das es geladen wurde aber
> kein Fejler nichts :(
> Im Dummy steht nur ??? drin
>
> Am Dienstag, 18. Dezember 2012 11:15:16 UTC+1 schrieb kossmann:
>>
>> Kleiner Nachtrag:
>>
>> Solltest du einen Windows 7 Rechner prüfen wollen, musst du einen freien,
>> offenen Port finden und das Skript um eine Zeile erweitern:
>>
>>   my $p = Net::Ping->new("tcp", 1, 64);; \
>>   $p->port_number("139");; \
>>
>> Hier geht´s auf Port 139, welchen z.B. die Windows-Dateifreigabe
>> verwendet. Die lokale Firewall muss diese im lokalen Netz natürlich
>> verfügbar machen.
>>
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry PI3 mit allem möglichen.

Guest

Originally posted by: <email address deleted>

Aus dem Grund habe ich meine Konfiguration in Einzeldateien gesetzt und
FHEM nur Leserechte darauf erteilt. FHEM selbst kann mit der fhem.cfg
machen was es will, die kann ich immer wieder auf meinen gewünschten Inhalt
zurück drehen (globale Attribute und include Zeilen).

Den "save" Befehl in der Weboberfläche verfluche ich mittlerweile ;-) Mal
gucken, ob man den ausblenden kann...

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

ChrisW

                                                     

Cool es funktioniert nach dem einmaligen setzen hat er es gerafft ;)
Ja nur Leserechte ist eine GUTE IDEE

So jetzt benötige ich nurnoch eine möglichkeit wie er folgenden Befehl
abschickt:
set MAX_Bad desiredTemperature auto


Ich möchte genau wie bei deinem LICHT verhindern das ich nicht mehr gewollt
eine ECO / Bestimmte Temeratur am Regler einstellen kann.

*Der Fall ist also ( Haus wird Verlassen ) :*
*Anwesenheit_Chris off*
UND
*Anwesenheit_Tanja off*
( Wenn möglich für mehr als 15 Minuten )

Dann EINMALIG:
set MAX_Bad desiredTemperature ECO

Sobald:
*Anwesenheit_Chris on*
*ODER*
*Anwesenheit_Tanja ON**
*
*
*
*Einmalig:*
set MAX_Bad desiredTemperature AUTO*
*

(Somit ist der ECO Falschter zwar "Nutzlos" aber egal.. )

Ich möchte jedoch verhindern bei Handy Neustart oder kein WLAN ( gerade im
Keller/Garten kurz ) Das er immer hin und her wechselt.





Am Dienstag, 18. Dezember 2012 12:52:10 UTC+1 schrieb kossmann:
>
> Aus dem Grund habe ich meine Konfiguration in Einzeldateien gesetzt und
> FHEM nur Leserechte darauf erteilt. FHEM selbst kann mit der fhem.cfg
> machen was es will, die kann ich immer wieder auf meinen gewünschten Inhalt
> zurück drehen (globale Attribute und include Zeilen).
>
> Den "save" Befehl in der Weboberfläche verfluche ich mittlerweile ;-) Mal
> gucken, ob man den ausblenden kann...
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry PI3 mit allem möglichen.

Guest

Originally posted by: <email address deleted>

... und da bin ich momentan auch noch überfragt - zumindest, wenn es keine
Bastellösung mit mehreren minütlich ablaufenden Checks werden soll.

Man kann natürlich einen Dummy definieren, in dem Zeit gezählt wird. So
einen haben ich auch, allerdings um die Onlinezeit eines Gerätes zu
überwachen - hier muss ich zwangsläufig jede Minute prüfen, ob das Ding an
ist (in diesem Fall mit einem *Anwesenheit_Vaio*, müsste eigentlich *
Online_Vaio* heißen - dies ist übrigens das angesprochene Win7-Gerät ;-) ).

define Kinderzimmer_Laufzeit_Vaio dummy
attr Kinderzimmer_Laufzeit_Vaio room Kinderzimmer
attr Kinderzimmer_Laufzeit_Vaio loglevel 6

define Job_Kinderzimmer_Laufzeit_Vaio_Null at *00:00 set
Kinderzimmer_Laufzeit_Vaio 0
attr Job_Kinderzimmer_Laufzeit_Vaio_Null room Kinderzimmer

define Job_Kinderzimmer_Laufzeit_Vaio_Count notify Anwesenheit_Tim:on { \
  my $count = Value("Kinderzimmer_Laufzeit_Vaio");; \
  $count++;; \
  fhem("set Kinderzimmer_Laufzeit_Vaio " . $count);; \
}
attr Job_Kinderzimmer_Laufzeit_Vaio_Count room Kinderzimmer

Um 00:00 Uhr wird der Dummy auf 0 gestellt und anschließend bei jedem *
notify* um 1 nach oben gezählt. Mit dem Wert kann man dann machen, was man
möchte, z.B. bei 240 Minuten eine Lichtorgel loslassen, die Feuerwehr rufen
o.ä. ;-)

Man kann in einem solchen Dummy natürlich auf eure Offlinezeiten zählen und
ab 15 dann in den ECO-Mode schalten.

Ich weiß allerdings nicht, ob FHEM von sich aus eine wesentlich elegantere
Variante bietet.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

ChrisW

                                                     

Ui okay das übersteigt meine Kenntnisse dann doch etwas ;)  Hab gedacht man
könnte es mit dem Log auswerten.
Wenn man z.b jetzt die Zeit Zwischen den Log einträgen ausrechnen lässt ?
Im Log steht ja Datum udn Zeit wann der Status gesetzt wird. Wenn man nun
immer die 2 werte miteinander vergleicht ob die mehr als 15 Minuten sind ?

Am Dienstag, 18. Dezember 2012 13:23:21 UTC+1 schrieb kossmann:
>
> ... und da bin ich momentan auch noch überfragt - zumindest, wenn es keine
> Bastellösung mit mehreren minütlich ablaufenden Checks werden soll.
>
> Man kann natürlich einen Dummy definieren, in dem Zeit gezählt wird. So
> einen haben ich auch, allerdings um die Onlinezeit eines Gerätes zu
> überwachen - hier muss ich zwangsläufig jede Minute prüfen, ob das Ding an
> ist (in diesem Fall mit einem *Anwesenheit_Vaio*, müsste eigentlich *
> Online_Vaio* heißen - dies ist übrigens das angesprochene Win7-Gerät ;-)
> ).
>
> define Kinderzimmer_Laufzeit_Vaio dummy
> attr Kinderzimmer_Laufzeit_Vaio room Kinderzimmer
> attr Kinderzimmer_Laufzeit_Vaio loglevel 6
>
> define Job_Kinderzimmer_Laufzeit_Vaio_Null at *00:00 set
> Kinderzimmer_Laufzeit_Vaio 0
> attr Job_Kinderzimmer_Laufzeit_Vaio_Null room Kinderzimmer
>
> define Job_Kinderzimmer_Laufzeit_Vaio_Count notify Anwesenheit_Tim:on { \
>   my $count = Value("Kinderzimmer_Laufzeit_Vaio");; \
>   $count++;; \
>   fhem("set Kinderzimmer_Laufzeit_Vaio " . $count);; \
> }
> attr Job_Kinderzimmer_Laufzeit_Vaio_Count room Kinderzimmer
>
> Um 00:00 Uhr wird der Dummy auf 0 gestellt und anschließend bei jedem *
> notify* um 1 nach oben gezählt. Mit dem Wert kann man dann machen, was
> man möchte, z.B. bei 240 Minuten eine Lichtorgel loslassen, die Feuerwehr
> rufen o.ä. ;-)
>
> Man kann in einem solchen Dummy natürlich auf eure Offlinezeiten zählen
> und ab 15 dann in den ECO-Mode schalten.
>
> Ich weiß allerdings nicht, ob FHEM von sich aus eine wesentlich elegantere
> Variante bietet.
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry PI3 mit allem möglichen.

Guest

Originally posted by: <email address deleted>

FHEM kann mit Sicherheit auch in die eigenen Logdateien gucken und parsen,
was darin steht. Ob dies dann allerdings einfacher wird, ist fraglich -
hier wird man sicher auch mit Perl-Code heran gehen müssen...

Soweit bin ich aber auch noch nicht ;-)

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Wie du es (wenn auch auf nicht elegante Weise) hin bekommen kannst, steht
ja alles schon in meinen Beispielen. Die Anwesenheit minütlich (oder alle 5
Minuten) prüfen lassen und bei einem *notify ... on* das *set* Kommando
absetzen. Parallel dazu könntest du auch die Zeit zählen (sowohl on-, als
auf offline) um eine Aktion erst nach 15 konstanter An- oder Abwesenheit zu
schalten. Das ganze kann man wahrscheinlich auch in einem Dummy machen,
indem man den Online/Offline-Status direkt als Zahl setzt und erst bei >15
eine Aktion durchführt.

In den Definitionen musst du natürlich mit Perl programmieren. Da sind
UND/ODER-Verknüpfungen in IF-Abfragen schon Pflichtprogramm. Hier solltest
du entsprechende Grundlagen mitbringen oder dir erst (unabhängig von FHEM)
aneignen - die Dinge, die man hier benötigt, sollte man sich in 1-2 Stunden
problemlos aneignen können, wenn man in irgendeiner Programmiersprache
schon mal mit Variablen und IF-Abfragen gearbeitet hat.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

ChrisW

                                                     

Hm okay ich versuch mal kann ich da snicht einfach so machen ?
define Job_ANWESENHEIT_Chis_MAX_AUTO notify Anwesenheit_Chris:on { \
 
  fhem("set MAX_Bad desiredTemperature auto "  \
}

Wobei so ja die Auto jedes mal gesetzt wird :P

Am Dienstag, 18. Dezember 2012 14:02:45 UTC+1 schrieb kossmann:
>
> Wie du es (wenn auch auf nicht elegante Weise) hin bekommen kannst, steht
> ja alles schon in meinen Beispielen. Die Anwesenheit minütlich (oder alle 5
> Minuten) prüfen lassen und bei einem *notify ... on* das *set* Kommando
> absetzen. Parallel dazu könntest du auch die Zeit zählen (sowohl on-, als
> auf offline) um eine Aktion erst nach 15 konstanter An- oder Abwesenheit zu
> schalten. Das ganze kann man wahrscheinlich auch in einem Dummy machen,
> indem man den Online/Offline-Status direkt als Zahl setzt und erst bei >15
> eine Aktion durchführt.
>
> In den Definitionen musst du natürlich mit Perl programmieren. Da sind
> UND/ODER-Verknüpfungen in IF-Abfragen schon Pflichtprogramm. Hier solltest
> du entsprechende Grundlagen mitbringen oder dir erst (unabhängig von FHEM)
> aneignen - die Dinge, die man hier benötigt, sollte man sich in 1-2 Stunden
> problemlos aneignen können, wenn man in irgendeiner Programmiersprache
> schon mal mit Variablen und IF-Abfragen gearbeitet hat.
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry PI3 mit allem möglichen.

Guest

Originally posted by: <email address deleted>

In diesem Fall bräuchtest du den Perl-Code noch nicht einmal...

define Job_ANWESENHEIT_Chis_MAX_AUTO notify Anwesenheit_Chris:on set
MAX_Bad desiredTemperature auto

Ich bin aber selbst noch nicht lange dabei (2 Wochen) und kenne mich auch
nicht so gut aus. Wenn du allerdings die 15 Minuten prüfen möchstest, lass
den Code so wie er ist und baue noch das IF herum.

Du hast allerdings in deinem Beispiel allerdings das Schließen der runden
Klammer vergessen: *fhem("...")* Dies musst du zwingend nachholen. Das
fehlende "r" in deinem Namen ist vorne für FHEM egal, für dich selbst aber
vielleicht nicht ;-)

Zusätzlich würde ich mir direkt angewöhnen, hinter jedem Perl-Befehl ein
Semikolon zu setzen, in FHEM-Code an doppelt, also *fhem("...");;* Dann
kannst du problemlos eine Zeile dahinter schreiben, ohne dass das Semikolon
dann fehlt. Hier musst du es nicht, da es der letzte Befehl in einem Block *
{}* ist, aber schaden wird es auch nicht. Nach einem schließenden Block,
also hinter dem *}* muss auch kein Semikolon stehen, hier würde es auch
unübersichtlich, daher setzte ich dort auch keine.

Um nicht jede Minute das *auto* zu setzen, guck dir oben mal *
Anwesenheit_Tino* an. Hier wird nur *on* gesetzt, wenn vorher *off* war -
und nur beim Setzen eines Wertes gibt´s ein *notify*. Also nur, wenn sich
wirklich etwas ändert. Anders ist es bei *Anwesenheit_Tim* (soll ja
eigentlich *Online_Vaio* heißen) - hier benötige ich jede Minute ein *notify
* - dort fehlt die Abfrage, ob es einen Wert gibt, es wird einfach *on*oder
*off* gesetzt.


Am Dienstag, 18. Dezember 2012 14:14:16 UTC+1 schrieb Chris:
>
> Hm okay ich versuch mal kann ich da snicht einfach so machen ?
> define Job_ANWESENHEIT_Chis_MAX_AUTO notify Anwesenheit_Chris:on { \
>  
>   fhem("set MAX_Bad desiredTemperature auto "  \
> }
>
> Wobei so ja die Auto jedes mal gesetzt wird :P
>
> Am Dienstag, 18. Dezember 2012 14:02:45 UTC+1 schrieb kossmann:
>>
>> Wie du es (wenn auch auf nicht elegante Weise) hin bekommen kannst, steht
>> ja alles schon in meinen Beispielen. Die Anwesenheit minütlich (oder alle 5
>> Minuten) prüfen lassen und bei einem *notify ... on* das *set* Kommando
>> absetzen. Parallel dazu könntest du auch die Zeit zählen (sowohl on-, als
>> auf offline) um eine Aktion erst nach 15 konstanter An- oder Abwesenheit zu
>> schalten. Das ganze kann man wahrscheinlich auch in einem Dummy machen,
>> indem man den Online/Offline-Status direkt als Zahl setzt und erst bei >15
>> eine Aktion durchführt.
>>
>> In den Definitionen musst du natürlich mit Perl programmieren. Da sind
>> UND/ODER-Verknüpfungen in IF-Abfragen schon Pflichtprogramm. Hier solltest
>> du entsprechende Grundlagen mitbringen oder dir erst (unabhängig von FHEM)
>> aneignen - die Dinge, die man hier benötigt, sollte man sich in 1-2 Stunden
>> problemlos aneignen können, wenn man in irgendeiner Programmiersprache
>> schon mal mit Variablen und IF-Abfragen gearbeitet hat.
>>
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

ChrisW

                                                     

Hm okay vielleicht hat ja noch jemand eine idee.
Derzeitige Lösung wäre jetzt ohen die 15 Minuten überwachung wie würde ich
das den hingekommen ?

Am Dienstag, 18. Dezember 2012 13:49:47 UTC+1 schrieb kossmann:
>
> FHEM kann mit Sicherheit auch in die eigenen Logdateien gucken und parsen,
> was darin steht. Ob dies dann allerdings einfacher wird, ist fraglich -
> hier wird man sicher auch mit Perl-Code heran gehen müssen...
>
> Soweit bin ich aber auch noch nicht ;-)
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry PI3 mit allem möglichen.

ChrisW

                                                     

Danke. Ich versuch mich mal aber es gibt noch ein anderes Problem mit dem
Ping befehl siehe meine Logs. Habe Zeitgleich über die gesamte Zeit einen
Ping -t gemacht in Windows und die IP Ist 100% immer erreichbar gewesen !!
Trotzdem wechselt er frühlich hin und her :

2012-12-18_14:47:15 Anwesenheit_Tanja off
2012-12-18_14:48:15 Anwesenheit_Tanja on
2012-12-18_14:50:15 Anwesenheit_Tanja off
2012-12-18_14:52:15 Anwesenheit_Tanja on
2012-12-18_14:53:15 Anwesenheit_Tanja off
2012-12-18_14:54:15 Anwesenheit_Tanja on
2012-12-18_14:56:15 Anwesenheit_Tanja off
2012-12-18_14:58:15 Anwesenheit_Tanja on
2012-12-18_15:00:16 Anwesenheit_Tanja off
2012-12-18_15:02:15 Anwesenheit_Tanja on
2012-12-18_15:05:15 Anwesenheit_Tanja off
2012-12-18_15:06:15 Anwesenheit_Tanja on


Am Dienstag, 18. Dezember 2012 14:29:02 UTC+1 schrieb kossmann:
>
> In diesem Fall bräuchtest du den Perl-Code noch nicht einmal...
>
> define Job_ANWESENHEIT_Chis_MAX_AUTO notify Anwesenheit_Chris:on set
> MAX_Bad desiredTemperature auto
>
> Ich bin aber selbst noch nicht lange dabei (2 Wochen) und kenne mich auch
> nicht so gut aus. Wenn du allerdings die 15 Minuten prüfen möchstest, lass
> den Code so wie er ist und baue noch das IF herum.
>
> Du hast allerdings in deinem Beispiel allerdings das Schließen der runden
> Klammer vergessen: *fhem("...")* Dies musst du zwingend nachholen. Das
> fehlende "r" in deinem Namen ist vorne für FHEM egal, für dich selbst aber
> vielleicht nicht ;-)
>
> Zusätzlich würde ich mir direkt angewöhnen, hinter jedem Perl-Befehl ein
> Semikolon zu setzen, in FHEM-Code an doppelt, also *fhem("...");;* Dann
> kannst du problemlos eine Zeile dahinter schreiben, ohne dass das Semikolon
> dann fehlt. Hier musst du es nicht, da es der letzte Befehl in einem Block
> *{}* ist, aber schaden wird es auch nicht. Nach einem schließenden Block,
> also hinter dem *}* muss auch kein Semikolon stehen, hier würde es auch
> unübersichtlich, daher setzte ich dort auch keine.
>
> Um nicht jede Minute das *auto* zu setzen, guck dir oben mal *
> Anwesenheit_Tino* an. Hier wird nur *on* gesetzt, wenn vorher *off* war -
> und nur beim Setzen eines Wertes gibt´s ein *notify*. Also nur, wenn sich
> wirklich etwas ändert. Anders ist es bei *Anwesenheit_Tim* (soll ja
> eigentlich *Online_Vaio* heißen) - hier benötige ich jede Minute ein *
> notify* - dort fehlt die Abfrage, ob es einen Wert gibt, es wird einfach *
> on* oder *off* gesetzt.
>
>
> Am Dienstag, 18. Dezember 2012 14:14:16 UTC+1 schrieb Chris:
>>
>> Hm okay ich versuch mal kann ich da snicht einfach so machen ?
>> define Job_ANWESENHEIT_Chis_MAX_AUTO notify Anwesenheit_Chris:on { \
>>  
>>   fhem("set MAX_Bad desiredTemperature auto "  \
>> }
>>
>> Wobei so ja die Auto jedes mal gesetzt wird :P
>>
>> Am Dienstag, 18. Dezember 2012 14:02:45 UTC+1 schrieb kossmann:
>>>
>>> Wie du es (wenn auch auf nicht elegante Weise) hin bekommen kannst,
>>> steht ja alles schon in meinen Beispielen. Die Anwesenheit minütlich (oder
>>> alle 5 Minuten) prüfen lassen und bei einem *notify ... on* das *set*Kommando absetzen. Parallel dazu könntest du auch die Zeit zählen (sowohl
>>> on-, als auf offline) um eine Aktion erst nach 15 konstanter An- oder
>>> Abwesenheit zu schalten. Das ganze kann man wahrscheinlich auch in einem
>>> Dummy machen, indem man den Online/Offline-Status direkt als Zahl setzt und
>>> erst bei >15 eine Aktion durchführt.
>>>
>>> In den Definitionen musst du natürlich mit Perl programmieren. Da sind
>>> UND/ODER-Verknüpfungen in IF-Abfragen schon Pflichtprogramm. Hier solltest
>>> du entsprechende Grundlagen mitbringen oder dir erst (unabhängig von FHEM)
>>> aneignen - die Dinge, die man hier benötigt, sollte man sich in 1-2 Stunden
>>> problemlos aneignen können, wenn man in irgendeiner Programmiersprache
>>> schon mal mit Variablen und IF-Abfragen gearbeitet hat.
>>>
>>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry PI3 mit allem möglichen.

Guest

Originally posted by: <email address deleted>

Hehe - genau das gleiche ist mir auch passiert!

Kann es sein, dass du bei Copy&Paste einmal Tanja bzw. Chris nicht geändert
hast?

Falls doch, gibt mir mal den vollständigen Code...

Wobei mir sowieso wundert, warum da so unregelmäßige Lücken sind, mal eine
Minute, mal drei Minuten, mal zwei Minuten. Sollte kein Copy&Paste Fehler
vorliegen, lass es mal 3-5 Minuten laufen und vergleiche Anwesenheit_Chris
und _Tanja... verhalten sich beide komisch? Prüfst du bei Tanja auch ein
Smartphone

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

ChrisW

                                                     

Hallo,
ja Prüfe 2x ein Smartphone.
Chris ist nicht Online derzeit ;)
Aber da mein Windows Ping ja klappt ...
hier mal meine Komplette cfg datei:
# Anwesenheit von Christian, Handy

define Anwesenheit_Chris dummy
attr Anwesenheit_Chris loglevel 6
attr Anwesenheit_Chris room Anwesenheit
attr Anwesenheit_Chris setList on off

define Anwesenheit_Chris_FileLog FileLog ./log/Anwesenheit_Chris.log
Anwesenheit_Chris
attr Anwesenheit_Chris_FileLog logtype text
attr Anwesenheit_Chris_FileLog room Logfiles

define Job_AnwesendChris at +*00:01:00 { \
  use Net::Ping;; \
  my $ip = "192.168.2.21";; \
  my $p = Net::Ping->new("tcp", 1, 64);; \
  if ($p->ping($ip)) { \
    if ( Value("Anwesenheit_Chris") eq "off" ) { \
      fhem("set Anwesenheit_Chris on");; \
    } \
  } \
  else { \
    if ( Value("Anwesenheit_Chris") eq "on" ) { \
      fhem("set Anwesenheit_Chris off");; \
    } \
  } \
}


# Anwesenheit von Tanja, HANDY

define Anwesenheit_Tanja dummy
attr Anwesenheit_Tanja loglevel 6
attr Anwesenheit_Tanja room Anwesenheit
attr Anwesenheit_Tanja setList on off

define Anwesenheit_Tanja_FileLog FileLog ./log/Anwesenheit_Tanja.log
Anwesenheit_Tanja
attr Anwesenheit_Tanja_FileLog logtype text
attr Anwesenheit_Tanja_FileLog room Logfiles

define Job_AnwesendTanja at +*00:01:00 { \
  use Net::Ping;; \
  my $ip = "192.168.2.23";; \
  my $p = Net::Ping->new("tcp", 1, 64);; \
  if ($p->ping($ip)) { \
    if ( Value("Anwesenheit_Tanja") eq "off" ) { \
      fhem("set Anwesenheit_Tanja on");; \
    } \
  } \
  else { \
    if ( Value("Anwesenheit_Tanja") eq "on" ) { \
      fhem("set Anwesenheit_Tanja off");; \
    } \
  } \
}

Am Dienstag, 18. Dezember 2012 15:15:15 UTC+1 schrieb kossmann:
>
> Hehe - genau das gleiche ist mir auch passiert!
>
> Kann es sein, dass du bei Copy&Paste einmal Tanja bzw. Chris nicht
> geändert hast?
>
> Falls doch, gibt mir mal den vollständigen Code...
>
> Wobei mir sowieso wundert, warum da so unregelmäßige Lücken sind, mal eine
> Minute, mal drei Minuten, mal zwei Minuten. Sollte kein Copy&Paste Fehler
> vorliegen, lass es mal 3-5 Minuten laufen und vergleiche Anwesenheit_Chris
> und _Tanja... verhalten sich beide komisch? Prüfst du bei Tanja auch ein
> Smartphone

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry PI3 mit allem möglichen.

Guest

Originally posted by: <email address deleted>

Komisch.

Prüfe mal, ob du irgendwo sonst ein "set Anwesenheit_Tanja" hast oder ob du
auf der Weboberfläche herum gedrückt hast ;-)

Ansonsten nimm kommentiere mal die IF-Abfragen mit dem "eq" aus - und die
dazu passende, schließende, geschweifte Klammer:

define Job_AnwesendTanja at +*00:01:00 { \
  use Net::Ping;; \
  my $ip = "192.168.2.23";; \
  my $p = Net::Ping->new("tcp", 1, 64);; \
  if ($p->ping($ip)) { \
#    if ( Value("Anwesenheit_Tanja") eq "off" ) { \
      fhem("set Anwesenheit_Tanja on");; \
#    } \
  } \
  else { \
#    if ( Value("Anwesenheit_Tanja") eq "on" ) { \
      fhem("set Anwesenheit_Tanja off");; \
#   } \
  } \
}

Damit siehst du jede Minute im Logfile einen Eintrag, also auch 2
identische hintereinander. Momentan wird es so sein, dass sich der Status
in den "fehlenden Minuten" nicht geändert hat.

Lass den parallel laufenden Ping auch mal weg.

Was ist das für ein Handy? Android, iPhone, ...?

Solltest du die Rechte auf dem System haben (Windows Server???), mach aus
dem *Net::Ping->new("tcp", 1, 64);; *mal ein *Net::Ping->new("icmp", 1,
64);;*

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

ChrisW

                                                     

Ich glaube irgendetwas stimmt auch nicht. nach FHEM Neustart hab ich wieder
nur ??? drin ..
kann doch nicht die Lösung sein das jedes mal wieder Manuell zu setzen

Am Dienstag, 18. Dezember 2012 15:29:58 UTC+1 schrieb kossmann:
>
> Komisch.
>
> Prüfe mal, ob du irgendwo sonst ein "set Anwesenheit_Tanja" hast oder ob
> du auf der Weboberfläche herum gedrückt hast ;-)
>
> Ansonsten nimm kommentiere mal die IF-Abfragen mit dem "eq" aus - und die
> dazu passende, schließende, geschweifte Klammer:
>
> define Job_AnwesendTanja at +*00:01:00 { \
>   use Net::Ping;; \
>   my $ip = "192.168.2.23";; \
>   my $p = Net::Ping->new("tcp", 1, 64);; \
>   if ($p->ping($ip)) { \
> #    if ( Value("Anwesenheit_Tanja") eq "off" ) { \
>       fhem("set Anwesenheit_Tanja on");; \
> #    } \
>   } \
>   else { \
> #    if ( Value("Anwesenheit_Tanja") eq "on" ) { \
>       fhem("set Anwesenheit_Tanja off");; \
> #   } \
>   } \
> }
>
> Damit siehst du jede Minute im Logfile einen Eintrag, also auch 2
> identische hintereinander. Momentan wird es so sein, dass sich der Status
> in den "fehlenden Minuten" nicht geändert hat.
>
> Lass den parallel laufenden Ping auch mal weg.
>
> Was ist das für ein Handy? Android, iPhone, ...?
>
> Solltest du die Rechte auf dem System haben (Windows Server???), mach aus
> dem *Net::Ping->new("tcp", 1, 64);; *mal ein *Net::Ping->new("icmp", 1,
> 64);;*
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry PI3 mit allem möglichen.

Guest

Originally posted by: <email address deleted>

Den Status sollte er sich eigentlich über die *fhem.save* merken - es sei
denn, du hast das Device in der Zwischenzeit in der Konfiguration
umbenannt. Daher bin ich auch nie auf das Problem mit dem "???" gestoßen,
da die Abfrage (welche du auskommentieren solltest) nachträglich kam.

Spätestens nach einer Minute (wenn es auskommentiert ist) sollte FHEM aber
on oder off setzen.

Am Dienstag, 18. Dezember 2012 15:35:43 UTC+1 schrieb Chris:
>
> Ich glaube irgendetwas stimmt auch nicht. nach FHEM Neustart hab ich
> wieder nur ??? drin ..
> kann doch nicht die Lösung sein das jedes mal wieder Manuell zu setzen
>
> Am Dienstag, 18. Dezember 2012 15:29:58 UTC+1 schrieb kossmann:
>>
>> Komisch.
>>
>> Prüfe mal, ob du irgendwo sonst ein "set Anwesenheit_Tanja" hast oder ob
>> du auf der Weboberfläche herum gedrückt hast ;-)
>>
>> Ansonsten nimm kommentiere mal die IF-Abfragen mit dem "eq" aus - und die
>> dazu passende, schließende, geschweifte Klammer:
>>
>> define Job_AnwesendTanja at +*00:01:00 { \
>>   use Net::Ping;; \
>>   my $ip = "192.168.2.23";; \
>>   my $p = Net::Ping->new("tcp", 1, 64);; \
>>   if ($p->ping($ip)) { \
>> #    if ( Value("Anwesenheit_Tanja") eq "off" ) { \
>>       fhem("set Anwesenheit_Tanja on");; \
>> #    } \
>>   } \
>>   else { \
>> #    if ( Value("Anwesenheit_Tanja") eq "on" ) { \
>>       fhem("set Anwesenheit_Tanja off");; \
>> #   } \
>>   } \
>> }
>>
>> Damit siehst du jede Minute im Logfile einen Eintrag, also auch 2
>> identische hintereinander. Momentan wird es so sein, dass sich der Status
>> in den "fehlenden Minuten" nicht geändert hat.
>>
>> Lass den parallel laufenden Ping auch mal weg.
>>
>> Was ist das für ein Handy? Android, iPhone, ...?
>>
>> Solltest du die Rechte auf dem System haben (Windows Server???), mach aus
>> dem *Net::Ping->new("tcp", 1, 64);; *mal ein *Net::Ping->new("icmp", 1,
>> 64);;*
>>
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

ChrisW

                                                     

Und das scheint nicht zu klappen. Habs Manuell auf OFF gesetzt aber nach
dem # Code von dir macht er nun NIX mehr :(


Am Dienstag, 18. Dezember 2012 15:45:04 UTC+1 schrieb kossmann:
>
> Den Status sollte er sich eigentlich über die *fhem.save* merken - es sei
> denn, du hast das Device in der Zwischenzeit in der Konfiguration
> umbenannt. Daher bin ich auch nie auf das Problem mit dem "???" gestoßen,
> da die Abfrage (welche du auskommentieren solltest) nachträglich kam.
>
> Spätestens nach einer Minute (wenn es auskommentiert ist) sollte FHEM aber
> on oder off setzen.
>
> Am Dienstag, 18. Dezember 2012 15:35:43 UTC+1 schrieb Chris:
>>
>> Ich glaube irgendetwas stimmt auch nicht. nach FHEM Neustart hab ich
>> wieder nur ??? drin ..
>> kann doch nicht die Lösung sein das jedes mal wieder Manuell zu setzen
>>
>> Am Dienstag, 18. Dezember 2012 15:29:58 UTC+1 schrieb kossmann:
>>>
>>> Komisch.
>>>
>>> Prüfe mal, ob du irgendwo sonst ein "set Anwesenheit_Tanja" hast oder ob
>>> du auf der Weboberfläche herum gedrückt hast ;-)
>>>
>>> Ansonsten nimm kommentiere mal die IF-Abfragen mit dem "eq" aus - und
>>> die dazu passende, schließende, geschweifte Klammer:
>>>
>>> define Job_AnwesendTanja at +*00:01:00 { \
>>>   use Net::Ping;; \
>>>   my $ip = "192.168.2.23";; \
>>>   my $p = Net::Ping->new("tcp", 1, 64);; \
>>>   if ($p->ping($ip)) { \
>>> #    if ( Value("Anwesenheit_Tanja") eq "off" ) { \
>>>       fhem("set Anwesenheit_Tanja on");; \
>>> #    } \
>>>   } \
>>>   else { \
>>> #    if ( Value("Anwesenheit_Tanja") eq "on" ) { \
>>>       fhem("set Anwesenheit_Tanja off");; \
>>> #   } \
>>>   } \
>>> }
>>>
>>> Damit siehst du jede Minute im Logfile einen Eintrag, also auch 2
>>> identische hintereinander. Momentan wird es so sein, dass sich der Status
>>> in den "fehlenden Minuten" nicht geändert hat.
>>>
>>> Lass den parallel laufenden Ping auch mal weg.
>>>
>>> Was ist das für ein Handy? Android, iPhone, ...?
>>>
>>> Solltest du die Rechte auf dem System haben (Windows Server???), mach
>>> aus dem *Net::Ping->new("tcp", 1, 64);; *mal ein *Net::Ping->new("icmp",
>>> 1, 64);;*
>>>
>>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry PI3 mit allem möglichen.

Guest

Originally posted by: <email address deleted>

Dann lösche die Zeilen mal komplett, vielleicht stimmt da mit den
Zeilenumbrüchen auch etwas nicht. Steht im normalen Logfile ein Fehler?


define Job_AnwesendTanja at +*00:01:00 { \
  use Net::Ping;; \
  my $ip = "192.168.2.23";; \
  my $p = Net::Ping->new("icmp", 1, 64);; \
  if ($p->ping($ip)) { \
    fhem("set Anwesenheit_Tanja on");; \
  } \
  else { \
    fhem("set Anwesenheit_Tanja off");; \
  } \
}

Jetzt auch mit "icmp", falls die Rechte dafür vorhanden sind.

Nun sollte (wenn die Datei in der fhem.cfg auch per include eingelesen
wird, nicht das sich hier ein neuer Fehler eingeschlichen hat) jede Minute
ein Status gesetzt werden, entweder on oder off. Selbst wenn am Anfang noch
"???" gesetzt ist, sollte sich das nach einer Minute ändern.

Prüfe auch das normale Logfile auf Fehler. Wenn Fehler im Code sind,
sollten die dort aufschlagen.

Wie schon erwähnt, bei mir läuft das alles unter Linux, kann auch sein,
dass sich "Net::Ping" unter Windows anders verhält.

*(Ich muss für heute Weg, morgen gerne mehr, falls du im Laufe des Abends
nicht weiter kommst.)*

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

ChrisW

                                                     

Hm also ich hab eben oben nochmal das wa sich Kopiert habe genommen und ich
bekomme bei mir Ping 192.168.2.20 ( Windows Ping ) Alles Okay.
Aber Fhem erkennt es nicht es bleibt OFF.
Keine Fehlermeldung nichts ! auch nicht mit Log 5 ..
Auch bei deinem neuen Nichts als ob diese Zeitschleife da nicht läuft

Am Dienstag, 18. Dezember 2012 15:58:49 UTC+1 schrieb kossmann:
>
> Dann lösche die Zeilen mal komplett, vielleicht stimmt da mit den
> Zeilenumbrüchen auch etwas nicht. Steht im normalen Logfile ein Fehler?
>
>
> define Job_AnwesendTanja at +*00:01:00 { \
>   use Net::Ping;; \
>   my $ip = "192.168.2.23";; \
>   my $p = Net::Ping->new("icmp", 1, 64);; \
>   if ($p->ping($ip)) { \
>     fhem("set Anwesenheit_Tanja on");; \
>   } \
>   else { \
>     fhem("set Anwesenheit_Tanja off");; \
>   } \
> }
>
> Jetzt auch mit "icmp", falls die Rechte dafür vorhanden sind.
>
> Nun sollte (wenn die Datei in der fhem.cfg auch per include eingelesen
> wird, nicht das sich hier ein neuer Fehler eingeschlichen hat) jede Minute
> ein Status gesetzt werden, entweder on oder off. Selbst wenn am Anfang noch
> "???" gesetzt ist, sollte sich das nach einer Minute ändern.
>
> Prüfe auch das normale Logfile auf Fehler. Wenn Fehler im Code sind,
> sollten die dort aufschlagen.
>
> Wie schon erwähnt, bei mir läuft das alles unter Linux, kann auch sein,
> dass sich "Net::Ping" unter Windows anders verhält.
>
> *(Ich muss für heute Weg, morgen gerne mehr, falls du im Laufe des Abends
> nicht weiter kommst.)*
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry PI3 mit allem möglichen.

ChrisW

                                                     

SOOOO habe mal alles bereinigt und deine änderung drin derzeit stimmt jede
Minute der Status. Werde bis morgen mal beobachten wenn alles OK ist kann
man das Log ja wieder kürzen ;)

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry PI3 mit allem möglichen.

ChrisW

                                                     

Also jetzt kann ich schon erkennen das es nicht richtig klappt ab und zu
OFF obwohl Online ist ..
PING in Windows 100% alles Okay..
kann man den Ping befehl vielleicht verlängern ?

Am Dienstag, 18. Dezember 2012 20:58:41 UTC+1 schrieb Chris:
>
> SOOOO habe mal alles bereinigt und deine änderung drin derzeit stimmt jede
> Minute der Status. Werde bis morgen mal beobachten wenn alles OK ist kann
> man das Log ja wieder kürzen ;)

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry PI3 mit allem möglichen.

Guest

Originally posted by: <email address deleted>

Solltest du den Timeout meinen, wovon ich mal ausgehe, ja. Siehe hier<http://search.cpan.org/~smpeters/Net-Ping-2.36/lib/Net/Ping.pm>

Setze den zweiten Parameter mal auf 2 - sollte i.d.R. ausreichen, auch wenn
der default 5 ist. Also

my $p = Net::Ping->new("icmp", *2*, 64);;

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

ChrisW

                                                     

hmm nach der änderung und die Pings jeweils 30 Sekunden versetzt scheint es
besser zu klappen aber es kommt mittden drin trotzdem noch vor das OFFLINE
erscheint :( Windows Ping jedoch nur mal etwas langsamer war ... aber
niemald ganz weg ;/



Am Mittwoch, 19. Dezember 2012 09:22:15 UTC+1 schrieb kossmann:
>
> Solltest du den Timeout meinen, wovon ich mal ausgehe, ja. Siehe hier<http://search.cpan.org/~smpeters/Net-Ping-2.36/lib/Net/Ping.pm>
>
> Setze den zweiten Parameter mal auf 2 - sollte i.d.R. ausreichen, auch
> wenn der default 5 ist. Also
>
> my $p = Net::Ping->new("icmp", *2*, 64);;
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry PI3 mit allem möglichen.

Guest

Originally posted by: <email address deleted>

Wie "langsam" war den der Windows-Ping? Setzte den Timeout versuchsweise
noch weiter nach oben, z.B. auf 5.

Am Mittwoch, 19. Dezember 2012 10:31:00 UTC+1 schrieb Chris:
>
> hmm nach der änderung und die Pings jeweils 30 Sekunden versetzt scheint
> es besser zu klappen aber es kommt mittden drin trotzdem noch vor das
> OFFLINE erscheint :( Windows Ping jedoch nur mal etwas langsamer war ...
> aber niemald ganz weg ;/

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

kud

                                                 

Sagt mal, nur eine Verständnisfrage.
Wenn mein Handy zuhause das Wlan aktiviert und später in den Standby
schaltet, da meldet sich doch das Wlan automatisch ab?
Ergo ich bin nicht mehr zuhause obwohl ich auf den Couch liege ?
Habe ich da einen Denkfehler?
Kann jemand mit dem Schlagwort NFC was anfangen?

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Das kommt auf dein Handy an. Unter Android kannst du das (glaube ich)
einstellen. Die beiden Androids bei uns bleiben im WLAN.

Für NFC *(Near Field Communication)* benötigst du einen entsprechenden
Transmitter (heißen die Dinger so?), welcher mit FHEM in Verbindung steht -
falls du daran die Anwesenheit erkennen möchtest.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

ChrisW

                                                     

up meine 2 Android bleiben auch erreichbar :)

Also scheint nun mit dem Wert 5 gut zu laufen :D Aber abwarten. Wede jetzt
erstmal die Logs wieder was verkleinern.. und dann mal Kopf machen wie ich
MAX am besten steuer bzw die Logs auswerte

Am Mittwoch, 19. Dezember 2012 11:50:12 UTC+1 schrieb kossmann:
>
> Das kommt auf dein Handy an. Unter Android kannst du das (glaube ich)
> einstellen. Die beiden Androids bei uns bleiben im WLAN.
>
> Für NFC *(Near Field Communication)* benötigst du einen entsprechenden
> Transmitter (heißen die Dinger so?), welcher mit FHEM in Verbindung steht -
> falls du daran die Anwesenheit erkennen möchtest.
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry PI3 mit allem möglichen.

ChrisW

                                                     

hm also es ist besser geworden aber 100% ist es leider immer noch nciht.
Naja Nicht weiter Schlimm.
Man müsste beim Ping einen 2. durchlauf machen wenn das 1. mal keine
antwort bringt. Zu mindest beim 2. Ping wäre dann wieder alles OK ;)
Kann man das da einfach reinbasteln?

Am Mittwoch, 19. Dezember 2012 12:03:37 UTC+1 schrieb Chris:
>
> up meine 2 Android bleiben auch erreichbar :)
>
> Also scheint nun mit dem Wert 5 gut zu laufen :D Aber abwarten. Wede jetzt
> erstmal die Logs wieder was verkleinern.. und dann mal Kopf machen wie ich
> MAX am besten steuer bzw die Logs auswerte
>
> Am Mittwoch, 19. Dezember 2012 11:50:12 UTC+1 schrieb kossmann:
>>
>> Das kommt auf dein Handy an. Unter Android kannst du das (glaube ich)
>> einstellen. Die beiden Androids bei uns bleiben im WLAN.
>>
>> Für NFC *(Near Field Communication)* benötigst du einen entsprechenden
>> Transmitter (heißen die Dinger so?), welcher mit FHEM in Verbindung steht -
>> falls du daran die Anwesenheit erkennen möchtest.
>>
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry PI3 mit allem möglichen.

MarkusN

Ich hab das ganze mal zum testen bei mir umgesetzt. iPhones behalten offenbar nicht ständige WLAN-Verbindungen, da bei mir ständig zwischen anwesend und abwesend gewechselt wird.

Brice

Nach meiner Erfahrung halten iPhones ständig die WLan-Verbindung, wenn in iTunes das Flag "mit diesem iPhone über WLan synchronisieren" gesetzt ist. Ist das Flag nicht gesetzt, schaltet das iPhone im Standby das WLan aus.
FHEM auf RPi 4 4GB (Buster) | produktiv) CUL 868 für FS20 | S300TH | KS300 | Max!Cube als CUN 868 für TechemWZ | HM-MOD-RPI-PCB für HM | Z-Wave ZME_UZB1 | FRITZ!DECT 200 | HUE | Lightify | Echo Dot | WS3080

MarkusN

Hallo Brice,

das habe ich bei beiden iPhones so konfiguriert. Hilft scheinbar trotzdem nicht...

Grüße,

Markus

Guest

Originally posted by: <email address deleted>

Hallo,

mein iPhone (iOS 6) lässt sich zwar im Ruhezustand nicht anpingen im WLAN
angemeldet ist es aber trotzdem. Sprich meine Fritzbox kann ich über
   "ctlmgr_ctl"
danach fragen und das Gerät wird noch als "active" gemeldet.

Wolfgang

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Wie soll das gehen? Die Info in der Fritzbox ist dann einfach nicht aktuell!

Lg

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Nun, wie es genau funktioniert weiß ich auch nicht und kann nur raten: WLAN
bleibt an und eingebucht aber IP und alles drüber wird abgeschaltet. Ich
kann nur sagen dass es definitiv funktioniert, mein iPhone wird auch nach
Stunden wo es im Ruhezustand ist noch als "active" gemeldet, sobald ich den
Empfangsbereich des WLANs verlasse ist es das wenige Minuten später nicht
mehr. (Kleines Detail was aber denke ich nicht wichtig ist: das iPhone ist
am WLAN eines Linksys-Routers angemeldet, der wiederum am LAN der Fritzbox
hängt. Tut trotzdem).

Wolfgang

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

MarkusN

Interessant. Mein FHEM läuft leider nicht auf meiner Fritzbox, sondern auf
einem RaspberryPi. Gibt es einen bekannten weg wie ich trotzdem an die
Infos der fritzbox komme?

Am 21.12.2012 um 15:58 schrieb wmr72 :

Nun, wie es genau funktioniert weiß ich auch nicht und kann nur raten: WLAN
bleibt an und eingebucht aber IP und alles drüber wird abgeschaltet. Ich
kann nur sagen dass es definitiv funktioniert, mein iPhone wird auch nach
Stunden wo es im Ruhezustand ist noch als "active" gemeldet, sobald ich den
Empfangsbereich des WLANs verlasse ist es das wenige Minuten später nicht
mehr. (Kleines Detail was aber denke ich nicht wichtig ist: das iPhone ist
am WLAN eines Linksys-Routers angemeldet, der wiederum am LAN der Fritzbox
hängt. Tut trotzdem).

Wolfgang

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Dann geht das WLAN am iphone aber nicht aus.
Das kann sonst nicht funktionieren. Never ever...

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

PS.

Du kannst dann mit der Fritzbox garnicht sehen ob das iphone per wlan verbunden ist. Das sind doch 2 paar Schuhe. Sehr sehr misteriös....

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

On 21.12.12 16:40, Gandalf wrote:
> Dann geht das WLAN am iphone aber nicht aus.
> Das kann sonst nicht funktionieren. Never ever...

Naja, ich hab nicht behauptet dass WLAN ausgeht, sondern nur dass das
iPhone nicht auf ICMP ping reagiert.

Wolfgang

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

On 21.12.12 16:44, Gandalf wrote:
> PS.
>
> Du kannst dann mit der Fritzbox garnicht sehen ob das iphone per wlan verbunden ist. Das sind doch 2 paar Schuhe. Sehr sehr misteriös....

Die Fritzbox erkennt alle Geräte, die im "Heimnetz" sind, unabhängig
davon ob sie per WLAN oder LAN angebunden sind. Und das iPhone hat einen
grünen Punkt, auch wenn es stundenlang nur in der Ecke liegt.

Wolfgang

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

On 21.12.12 16:22, Markus Niemann wrote:
> Interessant. Mein FHEM läuft leider nicht auf meiner Fritzbox, sondern
> auf einem RaspberryPi. Gibt es einen bekannten weg wie ich trotzdem an
> die Infos der fritzbox komme?

root@fritz:/var/mod/root# cat /tmp/flash/mod/cgi-bin/lan.cgi
#!/bin/sh
echo -en "Content-Type: text/plain\r\n\r\n"

date
for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do
     act=`ctlmgr_ctl r landevice settings/landevice$i/active`
     if [ $act == 1 ]; then
         name=`ctlmgr_ctl r landevice settings/landevice$i/name`
         #ip=`ctlmgr_ctl r landevice settings/landevice$i/ip`
         echo "$name"
     fi
done

Das Ganze lasse ich dann vom busybox httpd ausliefern und frage es von
fhem aus per HTTP ab. Nicht elegant aber es tut.

Wolfgang



--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

MarkusN

Hallo Wolfgang,

darf ich fragen wie du die HTTP-Abfrage in FHEM realisiert hast? Da FHEM
nicht auf meiner FritzBox, sondern auf einem RaspberryPi läuft und die FB
nicht gefreezt ist komme ich an die FB Daten auf diesem weg also nicht ran.
Dafür hole ich die Daten aus dem Webinterface meines Access-Points. Darüber
kann ich also den Zustand der iPhones erfassen. Für einen kleinen Wink mit
dem Zaunpfahl bezüglich der FHEM-Integration wäre ich ganz dankbar.

Grüße,

Markus

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hi,

Ok, mit aktivierten WLAN sieht die Sache anders aus. Ein tcp Ping sollte dann aber tun. Kein icmp.

Ich frag mich nur, wiso mein WLAN sich abschaltet am iphone...

Lg Gandalf

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

On 21.12.12 19:36, Markus Niemann wrote:
> Hallo Wolfgang,
>
> darf ich fragen wie du die HTTP-Abfrage in FHEM realisiert hast? Da FHEM
> nicht auf meiner FritzBox, sondern auf einem RaspberryPi läuft und die
> FB nicht gefreezt ist komme ich an die FB Daten auf diesem weg also
> nicht ran. Dafür hole ich die Daten aus dem Webinterface meines
> Access-Points. Darüber kann ich also den Zustand der iPhones erfassen.
> Für einen kleinen Wink mit dem Zaunpfahl bezüglich der FHEM-Integration
> wäre ich ganz dankbar.

Hi Markus,

die Abfrage ist bei mir sehr simpel, da ich den Webserver ohne
Authentisierung laufen lasse. Da sieht dann so aus, verpackt ist es als
Timer, der jede Minute einmal läuft (Quotes der Übersichtlichkeit halber
mal rausgelöscht):

define check_anwesenheit timer +*00:01:00 {
         use LWP::Simple;
         my $content = get("http://fritzbox.at.home:4567/cgi-bin/lan.cgi");
         if (defined $content) {
                 if ($content =~ m/iphone/) {
                     if ( Value("anwesenheit") eq "off" ) {
                         fhem("set anwesenheit on");
                     }
                 } else {
                     if ( Value("anwesenheit") eq "on" ) {
                         fhem("set anwesenheit off");
                     }
                 }
         } else {
                 Log 3, "Fehler beim Fritzbox-Anfragen";
         }
}

Wolfgang

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

ChrisW

Muss man da einen zusätzlichen Webserver laufen lassen ? Oder funktioniert das mit jeder fritzbox?

Zitat: Anonymous schrieb am Fr, 21 Dezember 2012 20:17
----------------------------------------------------
> Originally posted by: wolfgang&#64miller-reichling.de
>
> On 21.12.12 19:36, Markus Niemann wrote:
> > Hallo Wolfgang,
> >
> > darf ich fragen wie du die HTTP-Abfrage in FHEM realisiert hast? Da FHEM
> > nicht auf meiner FritzBox, sondern auf einem RaspberryPi läuft und die
> > FB nicht gefreezt ist komme ich an die FB Daten auf diesem weg also
> > nicht ran. Dafür hole ich die Daten aus dem Webinterface meines
> > Access-Points. Darüber kann ich also den Zustand der iPhones erfassen.
> > Für einen kleinen Wink mit dem Zaunpfahl bezüglich der FHEM-Integration
> > wäre ich ganz dankbar.
>
> Hi Markus,
>
> die Abfrage ist bei mir sehr simpel, da ich den Webserver ohne
> Authentisierung laufen lasse. Da sieht dann so aus, verpackt ist es als
> Timer, der jede Minute einmal läuft (Quotes der Übersichtlichkeit halber
> mal rausgelöscht):
>
> define check_anwesenheit timer +*00:01:00 {
>          use LWP::Simple;
>          my $content = get("http://fritzbox.at.home:4567/cgi-bin/lan.cgi");
>          if (defined $content) {
>                  if ($content =~ m/iphone/) {
>                      if ( Value("anwesenheit") eq "off" (//images/smiley_icons/icon_wink.gif) {
>                          fhem("set anwesenheit on");
>                      }
>                  } else {
>                      if ( Value("anwesenheit") eq "on" (//images/smiley_icons/icon_wink.gif) {
>                          fhem("set anwesenheit off");
>                      }
>                  }
>          } else {
>                  Log 3, "Fehler beim Fritzbox-Anfragen";
>          }
> }
>
> Wolfgang
>
> --
> To unsubscribe from this group, send email to
> fhem-users+unsubscribe@googlegroups.com
----------------------------------------------------

Raspberry PI3 mit allem möglichen.

MarkusN

Hallo Wolfgang,

wunderbar, das funktioniert, danke. Ich hab das ganze jedoch in etwas
abgewandelter Form per Bash-Scripts umgesetzt, welches dann von FHEM
ausgelesen wird, da ich in perl nicht so fit bin (Passwortauthentifizierung
an der Website meines Accesspoints). Und damit kann ich auch bestätigen:
Die iPhones bleiben im WLAN, sind jedoch nach einiger Zeit nicht mehr
anpingbar. Wenn man nur den WLAN-Status aus dem AccessPoint auswertet ist
das offensichtlich ein verwertbarer Wert für die Anwesenheit.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

On 21.12.12 22:52, Chris wrote:
>
> Muss man da einen zusätzlichen Webserver laufen lassen ? Oder funktioniert das mit jeder fritzbox?

Bei mir läuft das auf einem getrennten Webserver, der mit Freetz
installiert wurde. Ob man das auch im Standard-Webserver der Fritzbox
unterkriegt bezweifle ich.

Wolfgang

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo,

Es bleibt mir ein rätsel, wie das iPhone nicht mehr anpingbar sein soll, aber dennoch im Wlan eingebucht ist. Wie sollen dann bspl. Whatsapp oder imessages Nachrichten durchkommen?

Welchen Router verwendest du denn?

Mein Speedport w921v (telekom) zeigt nach ca. 20 sekunden (wenn das iphone Display aus geht) das Device als offline an.
Mir passt das zwar gar nicht, aber es ist zumindest ein nachvollziehbares verhalten :-D
Hast du auch den iCloud Sync angeschaltet?

Viele Grüße Gandalf...

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

gagga

Das ist recht einfach: iOS fährt fast alles vom Netzwerkstack runter was
nicht unbedingt benötigt wird wie z.B. das Antworten auf ICMP Pakete für
Ping. iOS hält als einziges eine _ausgehende_ Verbindung zum APNS (Apple
Push Notification Service) und evtl. zu einem konfigurierten ActiveSync
Server. Über den APNS werden Apps wie Whatsapp und Co "geweckt".

Ciao,
gagga

Am Dienstag, 25. Dezember 2012 00:15:17 UTC+1 schrieb Gandalf:
>
> Hallo,
>
> Es bleibt mir ein rätsel, wie das iPhone nicht mehr anpingbar sein soll,
> aber dennoch im Wlan eingebucht ist. Wie sollen dann bspl. Whatsapp oder
> imessages Nachrichten durchkommen?
>
> Welchen Router verwendest du denn?
>
> Mein Speedport w921v (telekom) zeigt nach ca. 20 sekunden (wenn das iphone
> Display aus geht) das Device als offline an.
> Mir passt das zwar gar nicht, aber es ist zumindest ein nachvollziehbares
> verhalten :-D
> Hast du auch den iCloud Sync angeschaltet?
>
> Viele Grüße Gandalf...

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
fhem tagesaktuell aus SVN auf QNAP TS-419PII - 1 x CUL mit culfw1.49 - 1 x MAX! Cube - 3 x MAX! Thermostate - 2 x MAX! Fensterkontakt - 3 x HM Rauchmelder - 1 x HM Bewegungsmelder - 1 x HM Temperaturfühler - 3 x Elro-IT Steckdosen (Schrott) - 1 x FS20 WS1

Guest

Originally posted by: <email address deleted>

Nope, so einfach ist das eben leider nicht :-D

Per Wireshark über ein Linux Gateway kommt eben nichts mehr an von meinem iPhone an, wenn der Display aus geht. Nach 10 Sekunden ist Sense.
Nmap gibt mir leider auch nichts Preis...

Leider geraten wir ein wenig vom eigentlichen Thema ab. Sorry dafür. Ich muss für meinen Teil weiter nach einer Lösung suchen, da ich nur mit deaktivierten 'mobilen Daten' eine dauerhafte Wlan Verbindung auf meinem 4s erhalte, und jedesmal zu switchen ist auch nervig.

Der WLAN Wireless sync funktioniert soweit ich das beurteilen kann auch nur bei aktiver Stromversorung...

LG Gandalf

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Mr. P

Hej hej,

da mich das ganze auch schon seit längerem interessiert, hab ich schnell eine für mich recht gute Lösung gebastelt, womit ich das && beim Verlassen der Wohnung und das || beim Heimkommen (und nur bei der ersten Person) für mich gut abgebildet habe.

### cut begin ###

define comingHome notify (Person1:Home|Person2:Home) { if ( ( Value("Person1") eq "Home" && Value("Person2") eq "Away" (//images/smiley_icons/icon_wink.gif) || ( Value("Person2") eq "Home" && Value ("Person1") eq "Away" (//images/smiley_icons/icon_wink.gif) (//images/smiley_icons/icon_wink.gif) { fhem ("set irgendwas") } }
define leavingHome notify (Person1:Away|Person2:Away) { if ( Value("Person1") eq "Away" && Value("Person2") eq "Away" (//images/smiley_icons/icon_wink.gif) { fhem ("set irgendwasanderes") } }

### cut end ###

Letztendlich wäre natürlich wieder einmal ein Modul toll, welches den Status aus einer Liste von div. Geräten prüft und dann entsprechend Befehle absetzt. Denn bei meiner Variante wird der Befehl recht lange, wenn man zB vier oder gar mehr WLAN-Geräte abfrägt.
Mal sehen, vielleicht ist das für mich endlich der Grund, um mich mit Perl intensiver auseinander zu setzen. ;-)

Bei Fragen, Wünschen und/oder Vorschlägen... nur nicht schüchtern sein! (//images/smiley_icons/icon_smile.gif)

Greetz,
   Gerhard
Greetz,
   Mr. P

UliM

Hi,
der Weg über Ping o.ä. ist ja recht zeitintensiv.
Da im FB-frontent die devices ja zuverlässig als an/abwesend angezeigt werden, müsste es doch eine Möglichkeit geben, genau diese Info auszulesen, ohne die Geräte selbst anpingen zu müssen.
Kennt jemand eine Möglichkeit, auf diesem Weg abzufragen?
Oder ist das bereits in einem der im Wiki dargestellten Ansätze so gelöst?
Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

ChrisW

Naja soweit ich weiss gibt es ein WLAN Protokoll welches im Energiemodus
funktioniert. Vielleicht nutzt die fritzbox dieses ?
Das können aber nur einige Android Handys.


Wenn ich bei meinem Handy ( BESTES WLAN NUTZEN ) einschalte hab ich 100%
Online. Aber dann hält mein Handy nur einen halben Tag.

Ist es nicht möglich den Online Status meiner Fritzbox anzuzapfen ?? Oder
geht dies nur wnen FHEM auf der Fritzbox läuft ??


Am Dienstag, 18. Dezember 2012 10:20:57 UTC+1 schrieb Chris:
>
> Hallo,
> es passiert mir immer öfter das ich per MAX! Eco Schalter auf ECO Schalte,
> aber vergesse wenn ich nach Hause komme wieder auf AUTO zu stellen.
> Das bedeutet morgends alles zimlich Kalt.
>
> Ich habe öfters mal gelesen das es eine Erkennung gibt über die Fritzbox
> ob WLAN geräte eingebucht sind.
> Habe eine Fhem5.3 Neu Installation.
>
> Hat jemand eine Aktuelle Anleitung wie ich vorgehen muss?
> Der Wiki eintrag ist zimlich alt und stimmt sicher mit der 3.5 nicht mehr
> überein ?
>
> Ich habe Fhem NICHT auf der Fritzbox sondern auf einem WIn7 64Bit
> Notebook. Aber eine Fritzbox im Hause angeschlossen für WLAN.
>
> Anschließend würde ich gern wenn 2 Geräte eingebucht sind das MAX sich auf
> AUTO setzt.
>
>
>
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry PI3 mit allem möglichen.