andFHEM und gcmsend

Begonnen von Chaos, 31 Juli 2013, 20:26:00

Vorheriges Thema - Nächstes Thema

LaSto

Zitat von: Matthias schrieb am So, 25 August 2013 11:16Hi Lars,

ich habe mal eben einen StateRegexp eingebaut. Die neueste Version gibt es jetzt im contrib Ordner von FHEM: http://svn.code.sf.net/p/fhem/code/trunk/fhem/contrib/99_gcmsend.pm

Matthias

Hi Matthias,

vielen Dank für die schnelle Änderung.
Die Logs sind weniger geworden, allerdings habe ich jetzt Log mit "?" als Aussage, die ich vorher nicht hatte.
2013.08.25 14:21:33 3: ?
2013.08.25 14:21:38 3: ?
2013.08.25 14:21:51 3: ?
2013.08.25 14:22:06 3: FS20 set Lampe on
2013.08.25 14:22:38 3: FS20 set Lampe off
2013.08.25 14:22:40 3: ?
2013.08.25 14:22:44 3: ?


Das mit dem StateRegexp verstehe ich noch nicht ganz. Hab mal im Modul nachgeschaut und das gefunden was du geändert hast:
<li><a name="gcmsend_stateFilter"><code>attr &lt;name&gt; stateFilter &lt;string&gt;</code></a>
                <br />Send a GCM message only if the attribute matches the attribute filter regexp</li>


Wie benutze ich denn stateFilter?

Bei der neuen Version ist der State von gcm "Initialized" vorher war er "OK".
Momentan bekomme ich nichts mehr gepusht. Wenn ich es richtig verstehe muss ich jetzt mit stateFilter jedes Gerät angeben was gepusht werden soll?

Gruß
Lars

FS20, 3x S300TH, 1x CUL868, FritzBox 7390

Matthias

Hi,

sorry, das waren noch ein paar Debug-Meldungen die ich vergessen hatte zu entfernen. Die Meldungen sollten jetzt auch weg sein.
Der stateFilter filtert keine Gerätenamen, sondern die Zustandswerte (z.B. on, off usw.). Du kannst z.B. "(on|off)" angeben, dann werden auch nur on und off als Zustände gesendet.

Matthias

LaSto

ZitatBei der neuen Version ist der State von gcm "Initialized" vorher war er "OK".

Das ist richtig so?

Mit der neuen Version bekomme ich nichts gepusht!
Pusht das Modul alles wenn ich keinen Filter eingestellt hab, oder muss ich einen einstellen?

Die Logs sind jetzt sauber. Super!

Und nochmal vielen Dank...
FS20, 3x S300TH, 1x CUL868, FritzBox 7390

Matthias

Hi,

wenn kein StateFilter eingestellt ist müsste alles durchgehen. Das OK solle auch wieder auftauchen.

Matthias

LaSto

Hi Matthias,
also ich bekomme die neue Version nicht zum laufen.

Mein State bleibt immer bei "Initialized" und zwar, weil er nie die Sub gcmsend_message aufruft. Dies liegt daran, dass "if ($count > 0)" nie erfüllt wird.

Habe testweise das "if ($count > 0)" mal rausgenommen, dann bekomme ich natürlich auch wieder ein "OK".
Gepusht hat er trotzdem nichts.

Gehe ich zurück auf die alte Version pusht er sofort.

Weiter kann ich es leider nicht nachvollziehen, dafür ist mein Verständnis für Perl einfach zu schlecht.

Gruß
Lars
FS20, 3x S300TH, 1x CUL868, FritzBox 7390

Matthias

Hi,

wo auch immer heute Vormittag meine Gedanken waren - sicher nicht bei der Sache. Jetzt sollte es gehen ... sorry.

Matthias

LaSto

Super! Jetzt funzt es.
Hab aber noch nen Fehler entdeckt ;-)
Sei mir bitte nicht böse, falls ich nerve... Seh mich einfach als Betatester der die Bugs aufzeigt :-)

StateFilter hab ich getestet, das funktioniert astrein!

Wenn allerdings kein StateFilter gesetzt ist, werden die S300TH so angezeigt wie im Anhang zu sehen.

Gruß und Danke nochmal
Lars
FS20, 3x S300TH, 1x CUL868, FritzBox 7390

Matthias

Hm das sieht so aus, als ob der Wert der Aktualisierung leer wäre. Kannst du mal an Zeile 142

 && !($value eq "")

anhängen? Ich vermute der Fehler ist dann weg ...

Matthias

LaSto

Hat nichts verändert.
Das Problem tritt auch auf, obwohl ich auch einen Filter gesetzt habe (on|off|dim*).
Öffne ich andFHEM, hab ich so lange Werte in den Widgets stehen, bis einmal neue empfangen werden, dann steht da wieder "humidity".

Gruß
Lars
FS20, 3x S300TH, 1x CUL868, FritzBox 7390

Matthias

Hi,

danke fürs Ausprobieren. Ich habe mir gerade den Quelltext nochmal genauer angeschaut. Ich vermute der Fehler kommt in dem Moment, wenn ein Doppelpunkt im Wert vorkommt. Die bisherige Implementierung splittet einfach bei Doppelpunkten - das ist nicht ganz korrekt. Besser ist es nur anhand dem ersten Doppelpunkt zu splitten - das macht die jetzige Variante ...

Link:
http://svn.code.sf.net/p/fhem/code/trunk/fhem/contrib/98_gcmsend.pm

Vorsicht - es heißt jetzt 98_gcmsend :-)

Viele Grüße,
Matthias

LaSto

Hi Matthias,
es sieht gut aus! Läuft alles perfekt.

Vielen Dank

Gruß
Lars
FS20, 3x S300TH, 1x CUL868, FritzBox 7390

Maergsche

#26
Hallo, ich habe mal versucht das Paket auf dem Raspberry PI zu installieren.  Leider komme ich nicht weiter ...

Im Log steht folgendes:
2013.10.14 17:03:06 3: error during request: 500 Can't connect to android.googleapis.com:443
2013.10.14 17:03:08 3: error during request: 500 Can't connect to android.googleapis.com:443

Ich habe versucht mich an die Anleitung von http://andfhem.klass.li/installation gehalten, doch installiere ich das Ja auf einen Raspberry Pi. 

Mozilla::CA und LWP::Protocol::https sind Up to Date

pi@raspberrypi /usr/share/perl5/Mail $ sudo cpan -i Mozilla::CA
Going to read '/root/.cpan/Metadata'
  Database was generated on Mon, 14 Oct 2013 12:53:03 GMT
Mozilla::CA is up to date (20130114).

pi@raspberrypi /usr/share/perl5/Mail $ sudo cpan -i LWP::Protocol::https
Going to read '/root/.cpan/Metadata'
  Database was generated on Mon, 14 Oct 2013 12:53:03 GMT
LWP::Protocol::https is up to date (6.04).


Jemand eine Idee ?

Maergsche

Jetzt habe ich noch mal folgendes Installiert: 

sudo cpan -i JSON
sudo cpan -i IO::Socket::SSL

So dass ich jetzt folgende Fehlermeldung erhalte:

2013.10.15 09:27:31 3: error during request: 400 Bad Request


Gestern war ich noch einen schritt vorm Abgrund ... bin ich jetzt weiter ?  ???

urmel86

#28
Zitat von: Maergsche am 15 Oktober 2013, 09:29:17

So dass ich jetzt folgende Fehlermeldung erhalte:

2013.10.15 09:27:31 3: error during request: 400 Bad Request


Die selbe Meldung erhalte ich leider auch...
Gruß Marco

EDIT:  Jetzt über Nacht konnte ich das Android Device Pairen. Nun kommt

2013.10.16 03:51:56 3: error during request: 500 Can't connect to android.googleapis.com:443

urmel86

Jetzt läuft es! War aber nicht einfach. Wiebei Maergsche auch die selben Meldungen. Module waren installiert. Daran lag es auch nicht. Woran genau es jetzt lag weis ich auch nicht.
Ich glaube dass es letztendlich das letzte save in der FHEM Commandozeile war.

Also wie in der Anleitung beschrieben vorgehen bis das Gerät gepairt ist. Überprüfen kann man das ja wenn man das Device gmc anklickt. Wenn erfolgreich gepairt wurde müsste ja das attr regID hinzugefügt worden sein.
Jetzt ein save in der Commandozeile brachte bei mir den Erfolg. Vielleicht wird es ja so auch bei den anderen...

Gruß Marco