FHEM Wdget (iOS)

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

Vorheriges Thema - Nächstes Thema

HaPeRiebmann

Dein FHEM verweigert den Zugang. Ist der Port 8083 bei dir offen?
Versuch mal die erste URL die im Log steht manuell zu öffnen.
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

Fhemschorsch

Also bei mir am Rechner (dasselbe Netz):

-die http://192.168.178.24:8083/fhem?cmd=jsonlist2&XHR=1 funktioniert bei mir im Browser einwandfrei
-die https://tasior.info:42333/fhem?op=sufl gibt bei mir die Antwort "nope" zurück, also im Inhaltsfenster

auf dem Raspberry Pi habe ich keinen Browser.

ZitatIst der Port 8083 bei dir offen?

Was meinst Du damit? Ich kann bei mir im Netz darauf zugreifen (ist mein ganz normales Web-Interface). Einen Port in meiner Router-Firewall habe ich natürlich nicht geöffnet...

HaPeRiebmann

Dass du nicht auf meinen Server kommst liegt daran dass du nicht die richtige Verschlüsselung und Authentifizierung nutzt. Das passt also.

Dein FHEM liefert einen 400er zurück, das heißt dass da irgendwas nicht stimmt.
Musst du dich bei deinem Webfrontend mit User und Passwort anmelden? Die nimmt der Sync-Client derzeit nicht mit. In dem Falle müsstest du einen weiteren Port ohne Passwortschutz öffnen.
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

Fhemschorsch

Das war es! Ich hab das Webfrontend mit Name/Passwort abgesichert. Nun gehts, dankeschön!

HaPeRiebmann

Ich hab den Client nochmal angepasst. Jetzt sollte es klarer sein.
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

ChiliApple

Hallo,

ich verwende auch 2 Keymatic, zusätzlich zu deinem Widget noch Homebridge.
Jetzt ist es so das Homekit den das Auf und Zusperren als Push Nachricht versendet, dass funktioniert aber nur wenn ich kein eventMap mit "lock:locked unlock:unlocked" setze.
Setze ich das eventMap erkennt Homekit die Keymatic nicht mehr.
Lasse ich das eventMap weg und verwende "lock und unlock" dann stimmt in deinem Widget der Status nicht.
Bei jedem Öffnen des Widget ist der Status "aus"/"unlocked"

gibt es hier eine andere Lösung?

Vielen Dank und Grüße Udo

Zitat von: Moeti am 02 März 2016, 09:22:50
Hallo!

Da ich hier keine Attribute verändern muss, weiß ich nicht, was ich mit "controlles_attribute" anstellen sollte.

Falls zwei "allowed_values" eingetragen sind und im Widget daher ein Schalter angezeigt wird, so schicked dein Widget offenbar immer den anderen Wert mit "set" an FHEM, falls er betätigt wird.

In meinem Fall habe ich für mein Keymatic fhem_widget_command {"allowed_values":["locked","unlocked"]} eingetragen. Betätige ich im Zustand "locked" den Schalter, so setzte das Widget den Befehl "set DEVICE unlocked" ab (und umgekehrt). Dieses Kommando kennt das Device aber nicht, es müsste "unlock" heißen. D.h. die Bezeichnung des Device-Staus ist nicht ident mit dem entsprechenden Kommando.

Mit dem von dir vorgeschlagenen Workaround mit "notify" bin ich nicht weitergekommen, aber ich habe es dann mit dem Attribut "eventMap" geschafft, sodass die ungültigen Befehle in gültige umgesetzt werden.

Daher sieht meine Definition für die Keymatic folgendermaßen aus:
define SH_Tuerschloss CUL_HM XXXXXX
attr SH_Tuerschloss fhem_widget_command {"allowed_values":["locked","unlocked"]}
attr SH_Tuerschloss eventMap lock:locked unlock:unlocked


Damit zeigt das Widget den aktuellen Status richtig an und lässt sich auch entsprechend schalten.
Ob ich allerdings alle Zustände mit "uncertain" abgedeckt habe, weiß ich noch nicht.

lG
Michael
:: FHEM last Version
:: Raspberry 3 mit Stretch
:: HWLAN
:: MAX
:: 3xSCC  Fw by björnh :: PiFace Digital 1

HaPeRiebmann

Hi,

Ich kann das leider bei mir nicht nachstellen. Ich würde dir aber als Ausweg den Dummy empfehlen, der das Verhalten deiner Keymatik übersetzt und diesen mittels Notify and das Keymatik anbinden. Das hab ich zumindest zum Laufen bekommen.

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

ChiliApple

danke, aber dann bekomme ich von Homematic ja keine Pushmeldung wenn das Schloss geöffnet oder geschlossen wird ... (nein, ich will das nicht über extra Push lösen)

schade, so muss ich immer die Keymatic zusperren und kann sie dann erst öffnen, da der Schalter beim öffnen des Widget immer auf off steht.
:: FHEM last Version
:: Raspberry 3 mit Stretch
:: HWLAN
:: MAX
:: 3xSCC  Fw by björnh :: PiFace Digital 1

HaPeRiebmann

Hi,

das mit Push verstehe ich nicht. Du veränderst ja am Device selbst nichts und FHEM Widget empfängt ja derzeit keine Pushes. Du baust dir eigentlich nur einen Adapter der deinen Keymatic für FHEMWidget übersetzt und die Befehle dann weiter leitet.

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

Moeti

Die Nutzung des FHEM-Attributs eventMap ist zwar ein brauchbarer Workaround, aber wünschenswert wäre, wenn man für das Widget die zu verwendenden Befehle angeben könnte. Mir würde da zB folgende Konfiguration einfallen:
attr SH_Tuerschloss fhem_widget_command {"allowed_values":["locked","unlocked"],"allowed_commands":["unlock","lock"]}
Dann müsste das Widget immer das entsprechende Command absetzen.
Wäre das oder ähnliches umsetzbar?
RaspberryPi 2, FHEM, Homematic, CUL, HMLAN, homebridge, Sonoff/Tasmota, Shelly, mqtt2
WH1080 per pywws, RaspiCam, Kostal PIKO 5.5,
Hörmann Supramatic mit UAP1, HM-SCI-3-FM, HM-LC-SW4-BA-PCB
SmartPi, Automower, Nissan Leaf/Carwings

HaPeRiebmann

Technisch umsetzbar ist vieles. Wie sollen dann die Kommandos aussehen wenn man mit deinem Vorschlag arbeitet?

Oder wie schaltet man den Keymatic denn auf der Kommandozeile? Vielleicht kann ich daraus was bauen
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

Moeti

Hallo!

Bei einem Keymatic kann man im state "locked" mit dem command "unlock" das Schloss aufsperren (set tuerschloss unlock).
Im state "unlocked" wird mit dem command "lock" das Schloss versperrt (set tuerschloss lock).

Daher mein Vorschlag, parallel zu den "allowed_values" die entsprechenden "allowed_commands" in JSON angeben zu können. Wenn dann für ein solches Device "allowed_commands" angegeben sind, dann soll das Widget diese verwenden und nicht die Standard-Commands.

lG
Michael
RaspberryPi 2, FHEM, Homematic, CUL, HMLAN, homebridge, Sonoff/Tasmota, Shelly, mqtt2
WH1080 per pywws, RaspiCam, Kostal PIKO 5.5,
Hörmann Supramatic mit UAP1, HM-SCI-3-FM, HM-LC-SW4-BA-PCB
SmartPi, Automower, Nissan Leaf/Carwings

HaPeRiebmann

OK, eigentlich braucht ihr ein State->command mapping.

Funktionieren muss es aber mit
attr SH_Tuerschloss fhem_widget_command {"allowed_values":["unlock","lock"]}
nur dass dann nicht der richtige State dargestellt wird bzw. der Schalter immer auf "aus" ist. Optisch schöner kann man es so machen.
attr SH_Tuerschloss fhem_widget_command {"allowed_values":["unlock","--","lock"]}
Da ist zumindest der State nicht falsch. Man muss nur wissen was man will.

Ich überleg mal wie ich die Logik aufbauen muss um sowas generisch zu machen.

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

Fhemschorsch

Ich nutze das Widget nun seit Wochen glücklich und zufrieden, auch die PushSync-Funktion ist super!

Mir fällt spontan folgendes Feature ein:

Wie wäre es mit Kategorien/Ordnern, die eine Art Menüstruktur ermöglichen würden:

Also statt:
-Temperatur Wohnzimmer
-Temperatur Küche
-Status Haustür
-Status Garagentor

-Temperaturdaten
     -Temperatur Wohnzimmer
     -Temperatur Küche
-Sicherheitsdaten:
     -Status Haustür
     -Status Garagentor

Man würde erst nur Temperaturdaten sowie Sicherheitsdaten sehen und erst beim Antippen von zB dem ersten Eintrag die Temperaturen von Wohnzimmer u Küche.

Das würde  es ermöglichen, mehr Informationen unterzubringen. Wenn das überhaupt technisch geht, ich habe keine Ahnung, was Apple in der Mitteilungszentrale überhaupt erlaubt.

HaPeRiebmann

Gruppieren geht aber man muss mit der Höhe aufpassen. Wenn das Widget höher wird als der Bildschirm dann bekommt man ein Problem
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