FHEM Wdget (iOS)

Begonnen von HaPeRiebmann, 07 Dezember 2015, 21:46:23

Vorheriges Thema - Nächstes Thema

Jamo

#735
Hallo Michael,
ja das habe ich, ich habe schon 3-4 Stunden (mit den ganzen iPhone re-boots, weil das Widget nicht gesynced wird) damit verbracht, verschiedene Sachen auszuprobieren.

Dein Vorschlag funktionert nicht, weil wie geschrieben, mit "controlled_attribute": "state", der state auf '"state on'' gesetzt wird, anstatt einfach auf 'on'. Also im Reading state steht dann "state on" anstatt 'on', und der Schalter schaltet dann nicht.
Das reading 'state' wird ja in FHEM anders als die anderen readings behandelt. Z.B. wenn man ein regexp hat muss man ja nicht auf Schalter:state:.* triggern, sondern auf Schalter:.*, wogegen bei jedem anderen reading (z.B.Power) Schalter:power:.* das reading explizit angegeben werden muss.

Oder kannst Du das vielleicht mal bei Dir in deiner FHEM installation ausprobieren? Einfach einen Dummy Schalter, wo Du irgendeinen String mit attr Stateformat dazumachst, und dann hier mal posten? Ich habs auf jedenfall nicht geschafft.

Ja, FHEM WEB ist die standard Weboberfläche, und die benutze ich weil ich die von jedem Browser aufrufen kann. Ausserdem will man ja manche readings auch formatieren, e.g. den Temperatur Wert mit Celsius oder die Power Zahl mit Watt, also die Einheiten dazuschreiben.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Jamo

#736
Hallo Michael,
hast Du Zeiit gehabt, das vorherige Problem mal mit einem Dummy nachzustellen?

Ausserdem habe ich das FHEMWidget2 jetzt auch auf dem iPad installiert, da kommt im iOS Widget im Grid View auf dem Homescreen aber immer ein "Unable to Load", die verschiedene Kacheln tauchen kurz vollständig auf, bevor alles verschwindet und dann "Unable to Load" kommt.
Auf dem iPhone mit den gleichen Settings und dem gleichen iOS 13.3.1 läufts. Ich habe schon mehrfach ein reboot gemacht, die FHEMWidget 2 App neu installiert, aber es geht einfach nicht.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

HaPeRiebmann

Hi,

ich bin jetzt am Wochenende mal dazu gekommen ein paar Sachen auszuprobieren.
Was ich gemacht habe ist, dass ich die Stati, die ich im Widget anzeigen will, in ein Reading gespiegelt habe. Das habe ich einmal über ein notify und auch über externes Schreiben gemacht. Damit ist der State im Widget bei mir zumindest abgebildet. Ich habe aber damit auch das stateFormat aus dem Widget rausgenommen und umgehe diese Probleme damit.

Beim Schalten bin ich über keine Probleme gestolpert.

Das mit deinem iPad ist sehr komisch. Kann ich mal auf deine Konfig direkt von außen drauf? Dann schau ich im Simulator wo es crasht. Dann können wir auch in den Schalter reinschauen.

Raspberry Pi | Homematic Komponenten | Brennenstuhl Funksteckdosen | homebridge
http://fhemwidget.de.tasior.de
Slack: fhemwidget.slack.com
https://itunes.apple.com/us/app/fhem-widget-2/id1169530472?l=de&ls=1&mt=8

Jamo

#738
Hallo Michael,
Zitat...Stati, die ich im Widget anzeigen will, in ein Reading gespiegelt habe
Ja gut, klar kann man das machen, aber das ist zu kompliziert, eine iOS App oder ein Widget lebt ja von einer einfachen Benutzung. Das mit dem attr "fhem_widget_channels", wie Du das gemacht hast, ist ja prima gelöst. Aber existierende Devices zu spiegeln, weil die App 'attr stateFormat' nicht unterstützt (bzw das Widget den Internal STATE anschaut, und nicht das reading state), dann noch ein zusätzliches notify, kann ja nicht der Sinn der Sache sein.

Das mit dem "Unable to Load" auf dem iPad habe ich gefunden: Wegen der grauen Schrift auf grauem Grund, was man nicht lesen kann, hattest Du in einem der vorherigen Beiträge empfohlen, doch einen weissen Hintergrund als Kachel im FHEM Grid für das iPhone Widget zu laden. Ich habe mir eine Hintergrund-Kachel .png in Weiss mit Inkscape erstellt, diese Weisse Kachel hatte 12kB Filesize.
Ich habe die Flesize des .png jetzt verkleinert, auf 2kB, jetzt funktionierts. Die Ladezeit des hintergrundes hat wohl zu lange gedauert. Warum es auf dem iPhone funktioniert, und auf dem iPad nicht, kann ich Dir nicht sagen.

Aufgefallen ist es, als ich die weisse Hintergrund Kachel für einen Schalter entfernt hatte, da gings auf einmal auf dem iPad, dann habe ich ene kleinere Filesize probiert jetzt gehts auf jeden Fall.

Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

HaPeRiebmann

Hi,

ZitatJa gut, klar kann man das machen, aber das ist zu kompliziert, eine iOS App oder ein Widget lebt ja von einer einfachen Benutzung.
Da hast du recht, das Problem ist aber, dass in FHEM relativ viele Sonderlocken für irgendwelche Devices eingebaut worden sind und die API, speziell jsonlist2 auch nicht immer konsistent ist.
Hier muss ich also einen Kompromiss finden zwischen a) alles unterstützen was es in FHEM gibt und b) einem möglichst generischen Ansatz.

Nachdem ich selbst nicht alle möglichen FHEM Devices habe kann ich auch nicht alle unterstützen, deswegen gehe ich mehr in Richtung b). Damit erreiche ich dass zwar die Einrichtung nicht immer extrem einfach ist, was aber eigentlich bei einem Backend wie FHEM nicht erwartet werden darf, und die App dafür sehr generisch ist und an alle Gegebenheiten angepasst werden kann. Der Nebeneffekt ist halt, dass ich stateFormat nicht unterstützen kann, da die App kein html-Rendering in den Kacheln unterstützt.

Daher erscheint mir die Lösung mit einem Notify, das ein Reading befüllt nicht als zu komplexe Lösung. Simpler wäre es allerdings über ein userReading.
Raspberry Pi | Homematic Komponenten | Brennenstuhl Funksteckdosen | homebridge
http://fhemwidget.de.tasior.de
Slack: fhemwidget.slack.com
https://itunes.apple.com/us/app/fhem-widget-2/id1169530472?l=de&ls=1&mt=8

Depechem

#740
Eine Frage zum Statuswidget.
Dieses nutze ich schon eine ganze Weile.

Mir viel nun auf das die Schrift vor dem "background_image" schwarz ist und somit sehr schwer zu erkennen ist. Ich dachte eigentlich das diese schon mal weiß war.

Nun die Frage: kann man die Schriftfarbe im Statuswidget ändern? wenn ja wie?

fhem_widget_channels

[{"suffix":"-","color":"#FF6666","alias":"🚥 STATUS","order":7,"prefix":"-","allowed_values":[],"locations":["WGRID","WSTAT"],"group":"Hoftor"},{"suffix":" Status","color":"#FF6499","alias":"STATUS ","order":8,"allowed_values":[],"background_image":"\/images\/default\/Hoftor.png","locations":["WSTAT"],"controlled_attribute":"Name"}]


Gruß Thomas

p.s. noch hinzuzufügen wäre, das die Schrift im "hell IOS" Modus die Schrift schwarz ist und im "dunkel IOS" Modus weiße Schrift ist
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

HaPeRiebmann

Hi,

ja das ist bekannt. Das ist wieder mal ein Problem mit dem Dark Mode. Der Fix ist auch in der nächsten Version drin, ich komm nur derzeit arbeitsbedingt nicht zu viel, sorry.

Die Farbe kann man nicht einstellen, das wird sehr schnell unübersichtlich mit den Kanälen. Deswegen auch der Ansatz mit dem vollflächigen Hintergrund.

Viele Grüße
Michael
Raspberry Pi | Homematic Komponenten | Brennenstuhl Funksteckdosen | homebridge
http://fhemwidget.de.tasior.de
Slack: fhemwidget.slack.com
https://itunes.apple.com/us/app/fhem-widget-2/id1169530472?l=de&ls=1&mt=8

Klinki

Moin,

Kann es sein, dass für die Übertragung der Background-Images keine SSL-verschlüsselte Verbindung verwendet wird?
Ich verwende in den Einstellungen die URL: https://fhem.xxx.xxx:8087/extWEB
Port: 8087
Mit Basic Authentifizierung und privaten SSL Zertifikaten.

Wenn ich im Wizard dann ein Image auswählen will, erscheinen in der Auswahl nur weiße Kästchen mit einem roten Kreuz.
Über einen tcpdump ließ sich erkennen, dass die Verbindung nicht mehr SSL-verschlüsselt ist.

Gruß
klinki


yvl

Hallo,

ich versuche Gerde die ersten Schritte mit der FHEM Widget 2 App... leider ohne Erfolg.

Welche URL muss den initial funktionieren ?
Damit ich einen Schritt weiter komme ...

Gruß
Yves.
Gruß
Yves

HaPeRiebmann

Hi Yves,

ich vermute in deinen URLs vergisst du den CSRF token. Du kannst für die ersten Schritten in deinem WHEMWEB Device das Attribut csrfToken auf none setzen, dann bekommst du die Responses die du brauchst.

Die grundlegende URL die funktionieren sollte ist dann:
http://192.168.44.1:8083/fhem?cmd=jsonlist2&XHR=1

VG
Raspberry Pi | Homematic Komponenten | Brennenstuhl Funksteckdosen | homebridge
http://fhemwidget.de.tasior.de
Slack: fhemwidget.slack.com
https://itunes.apple.com/us/app/fhem-widget-2/id1169530472?l=de&ls=1&mt=8

dmq

Hi,

leider funktioniert der Zugriff per Apple Watch bei mir seit ein paar Wochen nicht mehr. Ich weiß nicht, ob ich das Problem mit einem Update der Watch / des iPhones verbinden kann.

watchOS: 6.1.3
iOS: 13.3.1
fhem Widget 2: 2.11

Unter dem iPhone funktioniert der Zugriff. Ich habe die watchOS App nun schon ein paar Mal neuinstalliert. Ich sehe die watch nicht im Log auf dem iPhone.

Hat jemand die aktuellen Versionen ebenfalls im Einsatz? Wonach kann ich noch gucken?

Danke vorab

HaPeRiebmann

Hi,

Welche Watch Version hast du denn? Und hast du der App alle Zugriffsrechte gegeben die sie braucht?

Die Watch kannst du generell nicht auf Deviceebene loggen, sie nutzt den identischen Code wie die iOS App. Wenn es also da geht dann sollte es auch auf der watch gehen. Was du allerdings im Log siehst ist eine Fehlermeldung wenn die Kommunikation mit der Watch nicht klappt.
Und was ist genau das Symptom dass die Watch App nicht geht?

Viele Grüße
Michael
Raspberry Pi | Homematic Komponenten | Brennenstuhl Funksteckdosen | homebridge
http://fhemwidget.de.tasior.de
Slack: fhemwidget.slack.com
https://itunes.apple.com/us/app/fhem-widget-2/id1169530472?l=de&ls=1&mt=8

dmq

#747
Danke Dir für die schnelle Antwort.

Apple Watch 3.

Symptom:
Ich sehe keine Fehlermeldung. Nach der Bestätigung von "Speichern und Update" landen auch die entsprechenden Devices auf der Watch. Dort zeigen sie allerdings weder den Status an, noch kann ich diesen per Auswahl ändern. Innerhalb des iPhones sehe ich ja auch im Log, wenn ich einen Zustand ändere - wenn ich auf der Watch etwas betätige landet nichts im Log.

Berechtigungen:
Welche Berechtigungen auf welche Ebene meinst Du denn? Die iPhone App darf iOS-seitig "Mitteilungen",  "Hintegrundaktualisierung" und "Mobile Daten". Hier sehe ich zumindest keinen Zusammenhang. Die watchApp kann ich berechtigungsseitig doch nicht weiter einschränken? Innerhalb eines fhem-devices habe ich folgende Berechtigungen:

{"allowed_values":["off","on"],"locations":["APP","WIDGET","WATCH"]}

Danke Dir und schönen Abend

HaPeRiebmann

Das hört sich so an als ob deine Watch keinen Netzwerkzugriff hätte. Zumindest die App. Hast du mal versucht beide Apps, also auch die vom iPhone, zu löschen und neu zu installieren? Das hilft manchmal wenn die Kommunikation der Watch mit ihrer Fon App gestört ist.
Raspberry Pi | Homematic Komponenten | Brennenstuhl Funksteckdosen | homebridge
http://fhemwidget.de.tasior.de
Slack: fhemwidget.slack.com
https://itunes.apple.com/us/app/fhem-widget-2/id1169530472?l=de&ls=1&mt=8

dmq

Nein, beides habe ich noch nicht neuinstalliert. Werde ich dann wohl mal umsetzen. Melde mich dann nochmal. Danke!