Autor Thema: Neues Modul: Pebble SmartWatch  (Gelesen 8684 mal)

Offline _Markus_

  • New Member
  • *
  • Beiträge: 30
Neues Modul: Pebble SmartWatch
« am: 25 September 2015, 22:10:52 »
Hallo zusammen,

ich habe den Code von http://forum.fhem.de/index.php/topic,36860.msg326009.html#msg326009 geforked (und dann nahezu neu geschrieben), um eine Pebble App nach meinen Vorstellungen zu schreiben. Ich eröffne einen neuen Post, da der Code ggf. stark auseinander läuft.

Die App basiert auf Pebble.js und ermöglicht die komplette Steuerung von FHEM via Pebble Watch. Dazu bedarf es eines Pebble-Modules (98_Pebble.pm) und einer Pebble-Javascript-Anwendung (app.js). Die Anwendung kann via CouldPebble installiert werden.

Ich habe vorerst keine Konfigurationsseite eingefügt, diese kann aber leicht entsprechend des ursprünglichen Posts (s.o.) hinzugefügt werden.

Konfiguriert wird die App aktuell noch in der app.js in den ersten Zeilen:

var scheme = 'http';
var auth   = 'user:password@';
var host1   = '192.168.192.42';
var host2   = '192.168.192.42';
var port   = '8084';

var rooms = "Haus|Licht|System|Residents|Rollos";

Wenn host1 nicht erreichbar ist, wird host2 versucht. Auf die Art kann man sowohl lokal als auch remote verbinden. Die auth Variable ermöglich die Nutzung von Basic-Auth. Wenn kein Login konfiguriert ist, kann die Variable einfach geleert werden. Die Variable rooms enthält alle Räume durch "|" getrennt, die in der Uhr angezeigt werden sollen.

Die App unterstützt (aber erzwingt nicht) folgende user attributes an den Devices:
attr global userattr pebbleCmd pebbleOrder pebbleReadOnly pebbleHide
  • Mit pebbleCmd können die auf der Uhr verfügbaren Kommandos pro Device konfiguriert werden. Wenn die Variable nicht gesetzt ist, wird webCmd genutzt.
  • Mit pebbleOrder können die Devices in den Gruppen sortiert werden. Hier werden Zahlen erwartet.
  • Mit pebbleReadOnly kann ein Device auf "nur-lesend" gesetzt werden. Dieses Device kann nicht geschaltet werden mit der Uhr.
  • mit pebbleHide kann ein Device auf der Uhr versteckt werden. (noch nicht implementiert)

Zur Installation muss die 98_Pebble.pm in das FHEM Verzeichnis kopiert werden. Außerdem muss die app.js in CloudPebble kompiliert und auf die Uhr geschoben werden.

Bedienung:
Die Devices werden nach Raum sortiert. Die Räume enthalten die nach Gruppen sortierten Devices. Ein Klick auf ein Device schaltet zum nächsten Zustand. Es werden alle webCmd oder pebbleCmd Kommands nacheinander geschaltet (pro Klick eines). Klickt man lange auf ein Device, wird die Liste der möglichen Kommandos angezeigt, die direkt einzeln geschaltet werden können.

Der Stand ist aktuell Beta, funktioniert bei mir aber schon recht gut.

Wenn Bedarf besteht, würde ich die App weiter ausbauen (Icons, etc) und in den Pebble Store schieben.

Freue mich über Feedback! : )
« Letzte Änderung: 25 September 2015, 22:16:54 von _Markus_ »
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline marcus42

  • Full Member
  • ***
  • Beiträge: 114
Antw:Neues Modul: Pebble SmartWatch
« Antwort #1 am: 26 September 2015, 11:06:05 »
Ist ja genial! Werde ich in nächster Zeit mal ausprobieren

Offline juergen012

  • Full Member
  • ***
  • Beiträge: 164
Antw:Neues Modul: Pebble SmartWatch
« Antwort #2 am: 26 September 2015, 12:51:49 »
Ja HALLO!! Super, wird sofort getestet.
Gruß
Jürgen

Offline weihnachtsmann

  • New Member
  • *
  • Beiträge: 7
Antw:Neues Modul: Pebble SmartWatch
« Antwort #3 am: 26 September 2015, 16:29:46 »
Spitze! Very Nice! Wird getestet, sobal das Logging meiner Sensoren wieder funzt.

Offline marcus42

  • Full Member
  • ***
  • Beiträge: 114
Antw:Neues Modul: Pebble SmartWatch
« Antwort #4 am: 26 September 2015, 22:21:34 »
Hallo Markus,

habe Deine Implementierung installiert und es funktioniert ganz prima.

Eine Frage habe ich aber:

Ich arbeite häufiger mit setList. Zum Beispiel beim anwesenheitStatus Dummy.
Hier verweise ich in webCmd nur auf state.
Unter setList sind dann die möglichen Status angegeben.

setList state:anwesend,abwesend,schlafen
webCmd state

Könnte man dies noch in Deinem Modul berücksichtigen?

Ansonsten kann ich nur "Danke" für Dein Modul sagen !!

VG
Marcus

Offline juergen012

  • Full Member
  • ***
  • Beiträge: 164
Antw:Neues Modul: Pebble SmartWatch
« Antwort #5 am: 27 September 2015, 10:50:50 »
Hallo, habe die App schon ein wenig getestet. Milight funzt schon ganz gut. Aber "Schalter" wie FS20 oder IT lassen sich nicht schalten. Es wird der Zustand angezeigt und beim betätigen der Taste stürzt die App  ab..
Gruß Jürgen 

Offline marcus42

  • Full Member
  • ***
  • Beiträge: 114
Antw:Neues Modul: Pebble SmartWatch
« Antwort #6 am: 28 September 2015, 17:26:23 »
Hallo,

habe gerade diese Warnings im Logfile gefunden:

2015.09.28 17:17:01 1: PERL WARNING: "my" variable @sorted_devices masks earlier declaration in same scope at ./FHEM/98_Pebble.pm line 124.
2015.09.28 17:17:01 1: PERL WARNING: Use of uninitialized value in string comparison (cmp) at ./FHEM/98_Pebble.pm line 142.
2015.09.28 17:17:01 1: PERL WARNING: Use of uninitialized value in string comparison (cmp) at ./FHEM/98_Pebble.pm line 142.

VG
Marcus

Offline _Markus_

  • New Member
  • *
  • Beiträge: 30
Antw:Neues Modul: Pebble SmartWatch
« Antwort #7 am: 28 September 2015, 21:07:13 »
Hi,

@Marcus: Du kannst einfach mit attr Device pebbleCmd anwesend:abwesend:schlafen den webCmd für deine Pebble überschreiben. Die Warnings schaue ich mir die Woche noch an - offensichtlich ein my zuviel : )

@Jürgen: Bei mir funktionieren auch die IT Schalter. Kannst du mal bei Cloudpebble in das Log schauen und ggf. hier posten?

VG
Markus


Offline marcus42

  • Full Member
  • ***
  • Beiträge: 114
Antw:Neues Modul: Pebble SmartWatch
« Antwort #8 am: 28 September 2015, 21:19:54 »
Hallo Markus,

danke für den Tipp mit pebbleCmd!

Hatte ich einen Tag vorher zwar gelesen,
mich beim Testen aber nicht mehr dran erinnert.

Es klappt! Danke!

VG
Marcus

Offline marcus42

  • Full Member
  • ***
  • Beiträge: 114
Neues Modul: Pebble SmartWatch
« Antwort #9 am: 28 September 2015, 22:12:42 »
Die Idee mit der Vibration als haptisches Feedback zu Ausführung des Befehls ist übrigens super :-)

Offline marcus42

  • Full Member
  • ***
  • Beiträge: 114
Antw:Neues Modul: Pebble SmartWatch
« Antwort #10 am: 29 September 2015, 18:58:11 »
Hallo,

ich habe in Zeile 118 von 98_Pebble.pm

$d{subtitle} = 'Status: ' . $d{state} if($d{state});
ersetzt durch

$d{subtitle} = $d{state} if($d{state});
um mehr Platz für benutzerdefinierte Status zu bekommen.

Offline juergen012

  • Full Member
  • ***
  • Beiträge: 164
Antw:Neues Modul: Pebble SmartWatch
« Antwort #11 am: 30 September 2015, 18:07:00 »
Hallo, jetzt läuft es. Habe pebbleCmd gesetzt...
Gruß
Jürgen

Offline fhemhurz

  • New Member
  • *
  • Beiträge: 9
Antw:Neues Modul: Pebble SmartWatch
« Antwort #12 am: 03 Oktober 2015, 16:25:47 »
Hallo,

ich habe in Zeile 118 von 98_Pebble.pm

$d{subtitle} = 'Status: ' . $d{state} if($d{state});
ersetzt durch

$d{subtitle} = $d{state} if($d{state});
um mehr Platz für benutzerdefinierte Status zu bekommen.

Ergänzend hierzu habe ich in app.js in den Zeilen 143 und 180 den 'Status: '-Text ebenfalls entfernt, da sonst der Text nach einem Schaltvorgang wieder auf der Pebble erscheint.

Ansonsten funktioniert das Modul einwandfrei. Vielen Dank an _Markus_ dafür!

Offline Stappsen

  • New Member
  • *
  • Beiträge: 3
Antw:Neues Modul: Pebble SmartWatch
« Antwort #13 am: 20 Oktober 2015, 01:00:58 »
Hallo,

ich bin nach der Anleitung vorgegangen, allerdings bekomme ich einen Verbindungsfehler auf der Pebble angezeigt. Anschliessend sind alle drei FHEM-Webinterfaces nicht mehr erreichbar und ich muss den RPi neustarten.

FHEM ist auf dem aktuellen Stand.

Hat noch jemand diesen Fehler?


NACHTRAG: Das hätte ich vielleicht auch erwähnen sollen. Ich habe den Fehler mit einer Pebble Time.


Grüße,
Stappsen
« Letzte Änderung: 20 Oktober 2015, 19:15:27 von Stappsen »

Offline dieda

  • Full Member
  • ***
  • Beiträge: 482
Antw:Neues Modul: Pebble SmartWatch
« Antwort #14 am: 20 Oktober 2015, 18:36:45 »
Nur mal so eine Verständnisfrage. Funktioniert dein Modul auch mit der Pebble Time? Ich weiß, dass Tasker im Moment nicht funktioniert.
Komponenten:
Sensoren und Aktoren: FS20, Max!, LaCrosse, EMT7110
IODev: Jeelink, Cul1101, MaxLan, BLE, ZWAVE
Router: KD-Fritte (6360)
Sonstiges: Raspberries,  1x LMD,1 FHEM, 1 x zum Testen,  Logitech-Clients, DECT200, G-Data, zWave, IT, Onkyo, SamsungTV, Squeezebox, TabletUI

 

decade-submarginal