NEWS
VIS - light für SmartWatch es bis Wear OS
-
@schnup89 Das hatte ich vorher schon gemacht und jetzt nocheinmal, aber gleiches Ergebnis. Diesen JSON Wert gib ich schon da ein wo bei iobroker unter Objekte "Wert" steht und nicht bei dem Stift Symbol unter OBEJCTDATEN?
Unter OBJECTDATEN kommt das rein wie in deiner Beschreibung oder das was er selbständig angelegt hat? -
Bei dem roten Pfeil Doppelklick und dort reinkopieren.
Er formatiert dann selbst die Daten beim klick auf "Wert setzen" -
so habe ich es gemacht. Hab eben nocheinmal dein Beispiel dorr rein kopiert dann waren plötzlich die Daten auf der Uhr aber ohne Symbole. Nach erneutem öffnen der App kommt wieder der Fehler. Jetzt wieder Daten da aber Symbole mit Fragezeichen.
-
Hab jetzt meine WZ Lampe mal eingefügt und sie ist dann auch nach mehrmaligen drücken angegangen und irgendwann wieder aus.
Es kommt alles mit ca. 15 Sekunden Verzögerung.
Jetzt kommen auch die Bilder zeitweise und die Aussentemperatur zeigt es auch schon an. -
@ritter
Das ist komisch, bei meiner Uhr läuft alles sehr flüssig.
Schick mir nochmal das aktuelle json File zum drüber schauenEdit:
Wichtig! Das json nicht mehr direkt im iobroker Editor bearbeiten. Immer rauskopieren in den online json Editor, dort bearbeiten und "remove whitespaces". Dann den text wieder in den iobroker kopiere. -
Die Verzögerungen sind jetzt schon weniger. Das mit dem JSON Editor hab ich jetzt auch immer so gemacht, weil wenn man es bei objecten nur ändert eine Fehlermeldung kommt. Zwei Lampen und die Temperaturanzeige funktionieren schon. So eine APP habe ich schon lange gesucht, vielen Dank für deine Arbeit und Bereitstellung. Ich teste weiter.
-
@ritter super, danke dir für deine Rückmeldung.
Wenn sich noch ein paar Nutzer finden die die App gebrauchen nutzen werden, werde ich diese auch bzgl. Fehlermeldungen und usability Weiterentwickeln. -
Jetz hab ich nochmal alle deine Beispiele herausgenommen und nur meine Geräte eingefügt dann kommt auch alles ohne Verzögerung. Die APP funktioniert aber nur wenn die Uhr direkt im WLAN ist und nicht wenn sie über Bluetooth mit dem Handy verbunden ist das auch im WLAN ist?
-
@ritter
OK, ja ist eine standalone App für die SmartWatch, die funktioniert ausschließlich im wlan uns benötigt kein Handy. -
@schnup89 Hi Schnup89, ich habe Deine App nun auch auf meiner Fossil Gen5 installiert. Leider funktioniert die App nur, wenn ich Bluetooth expliziet ausschalte. Kann man dagegen etwas machen?
Ich habe einen ganzen Haufen Dimmer im Einsatz, hattest Du das in der App schon bedacht? Oder ist es geplant?Grundsätzlich finde ich die App "GENIAL", dass würde einiges vereinfachen.
Danke und Gruß Robert
-
@rookie50 Servus Robert,
ich weiß nicht wie die Uhr funktioniert, aber meine APP nutzt ausschließlich die direkte Datenübertragung über WLAN.
Ich könnte mir vorstellen dass es eine Option in der Uhr gibt welche nur WLAN oder nur Bluetooth zulässt, nicht aber beide gleichzeitig.
Ehrlich gesagt bin ich dahingehend jedoch überfragt.Ich bin gerade dabei die APP zu überarbeiten und die Kommunikation mit ioBroker auf Socket.IO umzubauen um so die Daten immer aktuell zu haben.
Dabei soll die Definition der angezeigten States in der Liste einfacher über Aufzählungen(enums) verwaltet werden können als über das JSON-"gebastel" wie es aktuell ist.Da ich mit der Socket.IO Umstellung den Code Grundlegend ändern muss, setze ich auf Android-Compose (https://developer.android.com/training/wearables/compose) um die UI attraktiver gestalten zu können.
Aktuell kämpfe ich mich da durch den Code und berücksichtige deinen Wunsch für einen Dimmer-Input -
@schnup89 ja super, dann drücke ich Dir die Daumen, dass es mit der Umstellung nicht so schwierig wird. Ich schaue mal, ob man das mit WLAN und Bluetooth irgendwie unter Wearos 2 einstellen kann. Wobei ich da wenig Hoffnung habe...
Gruß Robert
-
@schnup89
Hi nochmal, ich habe ein bisschen bezüglich WEAR OS und Netzwerk/Bluetooth rumgesucht und bin mir fast sicher, dass es an WearOS auf dem Telefon liegt. Wenn Bluetooth aktiviert ist, werden die Datenpakete über eine Proxy-Verbindung an das Telefon gesendet. Die Frage ist nun, wie leitet das Telefon dies weiter.Ich war gerade etwas überrascht als ich einen TCP dump auf meiner Firewall gemacht habe und sah, dass mein Telefon DNS anfragen an 8.8.4.4 sendet. Ich habe 2 Pi-Holes laufen und mein DHCP gibt diese an die Clients. Das Telefon hat eh schon statische IP Einstellungen für mein WLAN. Warum sehe ich dennoch Anfragen an den Google-DNS? Also habe ich nun erstmal alle DNS Anfragen meiner Clients an externe DNS-Server blockiert (ausgenommen der Pi-Holes).
Ich werde gleich mal das Android logging bemühen.
Aber bei meiner Suche bin ich auf folgende Seite gestoßen:
https://developer.android.com/training/wearables/data/network-access#javaDaraus geht hervor, dass man im Code einer App den zu nutzenden Weg (LTE/WIFI/BT) festlegen kann. Wenn Du etwas Zeit hast, kannst Du Dir das ja mal anschauen. Vielleicht kann man damit einigen Problemen aufgrund von vielfältiger Hard und Software aus dem Weg gehen.
Gruß
Robert
-
@rookie50
Nun, ich programmiere Android nur Hobbymäßig von daher bin ich auch nicht 100% Sattelfest.
Ich konnte auch nachvollziehen dass die App mit deaktiviertem WLAN über Bluetooth funktioniert. Hier wird die Anfrage wirklich über das Smartphone geleitet.Das funktioniert bei mir auch ohne Probleme, kannst du Mal prüfen ob du von deinem Handy aus den IObroker erreichst?
Alternativ mit der IP Adresse anstatt mit dem Dns Namen in der App hinterlegen.Die DNS Anfragen an die Google DNS kann ich mir nicht erklären, ich Stelle nur per volley-library die http Anfrage an die konfigurierte IP Adresse bzw. den Hostname.
Evtl. versucht das die Volley library eigenständig wenn der DNS Name nicht aufgelöst werden kann.Gruß
Tobi -
@schnup89 said in VIS - light für SmartWatch es bis Wear OS:
Evtl. versucht das die Volley library eigenständig wenn der DNS Name nicht aufgelöst werden kann.
Hi Toby,
ich glaube ich habe mich etwas unverständlich ausgedrückt. Ich meinte nicht, dass die DNS Anfrage von Deiner App kommt. Es tauchte halt auf und wird bestimmt von einer anderen APP auf meinem Handy kommen. Ich war halt nur überrascht einen DNS request an einen Google DNS zu sehen. Den ioBroker erreicht mein Handy aber auch mit DNS Namen.
Ich habe den Server eh mit der IP in deine App eingetragen. Daran wird es nicht liegen. Wie gesagt, ich versuche mal es mit etwas logging herauszfinden was da passiert.
Gruß
Robert -
Die neue App macht große Fortschritte
Die Datenpunkte werden jetzt aus einem "Raum" (Unter Aufzählungen) ausgelesen und die Eigenschaft wie z.B Read-Only, Typ (Schalter, Anzeige) oder das Icon werden aus dem Objekt gezogen:
Noch ein paar kleinere Tests und die Implementierung von:
- Verbindungskonfiguration
- Setzen von States
dann könnte man Anfangen die neue Version zu testen.
-
@schnup89 Das sieht schon gut aus. Ich bin leider noch nicht mit dem WIFI Problem weiter gekommen. Aber ich nehme an, dass es am Bluetooth Proxy auf dem Telefon liegt. Ich finde keinen Traffic ins LAN, wenn die BT Verbindung steht. Es scheint, dass die Mobile Schnittstelle von Wear OS benutzt wird.
-
@schnup89 Das sieht mal richtig toll aus!
-
@rookie50
Hey, ich bin gerade dabei einen Slider zu implementieren und hätte eine frage bzgl. des Dimmer-Objects im ioBroker:Wie legst du die Min und Max Werte fest?
Hast du dafür ein Attribute im Object genutzt oder machst du das mit einem separaten Script? -
@schnup89
Hi, für die HM-LC-Dim1TPBU-FM und HmIP-BDT (Unterputz Markenschalter) sind die Werte für min. 0% and max. 100% definiert.Hier ein Beispiel für HM-LC-Dim1TPBU-FM
"type": "state", "common": { "name": "Licht Bad Erdgeschoss:1.LEVEL", "def": 0, "type": "number", "read": true, "write": true, "min": 0, "max": 100, "unit": "%", "role": "level.dimmer", "workingID": "WORKING" }, "native": { "CONTROL": "DIMMER.LEVEL", "DEFAULT": 0, "FLAGS": 1, "ID": "LEVEL", "MAX": 1, "MIN": 0, "OPERATIONS": 7, "TAB_ORDER": 0, "TYPE": "FLOAT", "UNIT": "100%" }, "from": "system.adapter.hm-rega.0", "user": "system.user.admin", "ts": 1637327408189, "_id": "hm-rpc.0.MEQXXXXXXX.1.LEVEL", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }